30 #define DATUM_BUF_SZ 32
67 typedef struct datum_t {
68 ubyte bytes[DATUM_BUF_SZ];
88 #define das_datum_valid(p) ((p)->vsize > 0)
90 ptrdiff_t das_datum_shape0(
const das_datum* pThis);
175 const das_datum* pThis,
char* sStr,
size_t uLen,
int nFracDigits
184 const das_datum* pThis,
char* sStr,
size_t uLen,
int nFracDigits
220 #define das_datum_asStr(dm) *((char**)&dm)
const char * das_units
Handle SI and other units, with accommodations for Epoch systems, from units.h.
Definition: units.h:139
das_val_type
Enumeration of types stored in Das Array (DasAry) objects from value.h.
Definition: value.h:64
An atomic data processing unit, and it's units.
Definition: datum.h:67
DAS_API bool das_datum_byteSeq(das_datum *pThis, das_byteseq seq, das_units units)
Wrap an external unknown type pointer as a datum.
DAS_API bool das_datum_fromStr(das_datum *pThis, const char *sStr)
Initialize a numeric datum from a value and units string.
DAS_API char * das_datum_toStr(const das_datum *pThis, char *sStr, size_t uLen, int nFracDigits)
Write a UTF-8 string representation of a datum to a buffer.
DAS_API double das_datum_toDbl(const das_datum *pThis)
Get a datum value as a double.
DAS_API char * das_datum_toStrValOnly(const das_datum *pThis, char *sStr, size_t uLen, int nFracDigits)
Same as das_datum_toStr, but never print the units.
DAS_API bool das_datum_wrapStr(das_datum *pTHis, const char *sStr, das_units units)
Wrap an external string as a datum.
DAS_API bool das_datum_fromDbl(das_datum *pThis, double value, das_units units)
Create a datum from a double value and units.
DAS_API bool das_datum_toEpoch(const das_datum *pThis, das_units epoch, double *pResult)
Get a time datum value as a double at a given epoch an scale.
Defines units used for items in the stream, most notably time units that reference an epoch and a ste...
A generic value type for use in arrays, datums and variables.