Files
astro/planet/internal/semianalytic/lunar/default.go
T

47 lines
759 B
Go
Raw Normal View History

package lunar
import (
_ "embed"
"sync"
)
//go:embed lunar.bin
var defaultTable []byte
var (
defaultOnce sync.Once
defaultModel *Model
)
// Default 内置表,首次调用时解析 / the built-in table, parsed on first use.
func Default() *Model {
defaultOnce.Do(func() {
m, err := Parse(defaultTable)
if err != nil {
panic(err)
}
defaultModel = m
})
return defaultModel
}
//go:embed fast.bin
var fastTable []byte
var (
fastOnce sync.Once
fastModel *Model
)
// Fast 快速档表(n ≥ 0 用),首次调用时解析 / the fast-tier table used for n ≥ 0, parsed on first use.
func Fast() *Model {
fastOnce.Do(func() {
m, err := Parse(fastTable)
if err != nil {
panic(err)
}
fastModel = m
})
return fastModel
}