pub const WELL_BEHAVED_ASTRONOMICAL_RANGE: Range<RataDie>;Expand description
For astronomical calendars in this module, the range in which they are expected to be well-behaved.
With astronomical calendars, for dates in the far past or far future, floating point error, algorithm inaccuracies, and other issues may cause the calendar algorithm to behave unexpectedly.
Our code has a number of debug assertions for various calendrical invariants (for example, lunar calendar months must be 29 or 30 days), but it will turn these off outside of these ranges.
Consumers of this code are encouraged to disallow such out-of-range values; or, if allowing them, not expect too much in terms of calendrical invariants. Once we have proleptic approximations of these calendars (#5778), developers will be encouraged to use them when dates are out of range.
This value is not stable and may change. It’s currently somewhat arbitrarily chosen to be approximately ±10,000 years from 0 CE.