The three most significant bits in 32-bit encoding. Used throughout.
NVI
0 Invalid interval
INT
1 Interval
NV
2Not a valid date
FLO
3 Floating date
NK
4 Date not known
BoT
5 Beginning of time
CAL
6 Calendar date
EoT
7 End of time
Parameter flags and constants
For low-level developers
neg
0 Negative year (BC or -ve interval)
pos
1 Positive year (AD or +ve interval)
iNV
-9999999 In-band value from functions that return an integer where the result is loopy.
forceJulian
101 DAYo.From() force initialiser to be interpreted as a Julian day number
force32Bits
103 DAYo.From() force initialiser to be interpreted as a 32-bit integer
forceYMD
104 DAYo.From() force initialiser to be interpreted as YMD but ignoring HMS bits
forceYMDHMS
105 DAYo.From() force initialiser to be interpreted as having HMS bits as well as YMD
Conversions
DAYSINMONTH
30.4375 365.25/12
UNIXDAYSTOJULIAN
2440587 Number to add to Unix day number to get Julian day
Error codes
Persistent values 0 to 7 often incorporated into 32-bit encoding. These can cover various
issues which may need further investigation possibly using DAYo.GetWWWS().
0
No error reported
1
BADFROMFORMAT weird input to a .From...() method. Something clearly not dateish
2
BADFROMVALUE some value to a .From...() method is unsuitable. For example a month <1 or >12
What Went Wrong Strings
Sometimes there will be an explanatory message to go give more details from an error code. This is WWWS which is (a) not persistent and (b) always in English. It is intended as a developer debugging aid. The general format is [method]message.
@@@ To be documented
[FromDate()]Bad hours value
[FromYMDHMS()] No yyyy-mm-dd
[_Sanitize]: various issues
[_SetPartials] Trying to set partials on a non-Cal
[_SetPartials] Illegal PartialMask (PartialMask)
[_SetPartials] Missing YMD element. Expected Calendar-type PartialMask, got actual
[_SetPartials] Trying to set floats on a non-float
[_SetFloats] Illegal PartialMask (PartialMask)
[_SetFloats] Missing YMD element. Expected Float-type PartialMask but got actual