das2C
das core C utilities (v3)
Loading...
Searching...
No Matches
Macros
form_point.h File Reference

Absolute positions on a scale with an agreed origin. More...

#include <das3/form.h>
Include dependency graph for form_point.h:

Go to the source code of this file.

Macros

#define DAS_FORM_POINT   (&das_form_point_vtbl)
 A position on a scale measured from an agreed origin, calendar time being the common case.
 

Detailed Description

Absolute positions on a scale with an agreed origin.

The searchable name for these rules is an AFFINE SPACE: points and the vectors (here "intervals") that translate between them. Measurement theory calls the same idea an INTERVAL SCALE. das uses the word "interval" for the difference quantity itself, so this library says affine for the rule set.

The rules, all of them:

point - point     = interval    (linear, in the epoch's interval units)
point + interval  = point
interval + point  = point       (stated explicitly, never inferred)
point - interval  = point
point + point     = REFUSED     adding two calendar dates means nothing
interval - point  = REFUSED
point * anything  = REFUSED     scaling an origin-relative position is
                                meaningless without moving the origin

Calendar time is the canonical case – a datetime is stored as plain ticks with this formalism riding on top – but nothing here is time specific. Any zero-referenced axis fits: a position measured from a chosen origin, a pressure measured from a reference altitude.

The wire form takes no parameters, so kind= alone carries it:

<scalar semantic="datetime" units="TT2000" index="*"> <ops kind="point"> </scalar>

Macro Definition Documentation

◆ DAS_FORM_POINT

#define DAS_FORM_POINT   (&das_form_point_vtbl)

A position on a scale measured from an agreed origin, calendar time being the common case.

Two of these subtract to give an interval, but adding two calendar dates means nothing and is refused.

See also
DasForm_isKind(), DasVar_formIs().