Skip to content

C types and status

The C API uses explicit descriptors and scalar tags over caller-owned storage.

table_status

c
typedef enum table_status table_status_t;

Result of a table operation.

Values: TABLE_OK, TABLE_INVALID_ARGUMENT, TABLE_INVALID_STATE, TABLE_INVALID_AXIS, TABLE_INDEX_OUT_OF_RANGE, TABLE_TYPE_MISMATCH.

table_scalar_type

c
typedef enum table_scalar_type table_scalar_type_t;

Supported scalar storage representations.

Values: TABLE_SCALAR_UNSPECIFIED, TABLE_SCALAR_I8, TABLE_SCALAR_U8, TABLE_SCALAR_I16, TABLE_SCALAR_U16, TABLE_SCALAR_I32, TABLE_SCALAR_U32, TABLE_SCALAR_F32.

table_kind

c
typedef enum table_kind table_kind_t;

Table dimensionality.

Values: TABLE_KIND_UNSPECIFIED, TABLE_KIND_CURVE, TABLE_KIND_MAP.

table_scalar

c
typedef struct table_scalar table_scalar_t;

Scalar value with an explicit storage representation.

Fields: type, i8, u8, i16, u16, i32, u32, f32, value.

table_view

c
typedef struct table_view table_view_t;

Immutable view over caller-owned table arrays.

Fields: kind, x_type, y_type, cell_type, x_count, y_count, x_axis, y_axis, cells, _state.

table_mutable

c
typedef struct table_mutable table_mutable_t;

Mutable binding over caller-owned table arrays.

Fields: view, x_axis, y_axis, cells.

Released under the MIT Licence.