type_info

class wrenfold.type_info.CustomType

A custom type describes a user-provided struct that exposes members that wrenfold can retrieve in generated code.

__eq__

Check for strict equality (identical expression trees). This is not the same as mathematical equivalence.

__hash__

Compute hash.

__init__

Construct custom type.

__new__(**kwargs)
property fields

A list of wrenfold.type_info.StructField objects.

is_identical_to

Check for strict equality (identical expression trees). This is not the same as mathematical equivalence.

property name

Name of the struct.

property python_type

Retrieve the underlying user-declared python type. May be None.

property total_size

Total number of scalar expressions in the custom type and all of its children.

class wrenfold.type_info.MatrixType

A 2D matrix-valued type.

__eq__

Check for strict equality (identical expression trees). This is not the same as mathematical equivalence.

__hash__

Compute hash.

__init__

Construct with number of rows and columns.

__new__(**kwargs)
property cols

Second dimension of the matrix.

compute_indices

Given a flat index, compute the (row, column) pair it corresponds to.

is_identical_to

Check for strict equality (identical expression trees). This is not the same as mathematical equivalence.

property rows

First dimension of the matrix.

property shape

Shape as a tuple of (rows, cols).

class wrenfold.type_info.NumericType(value)
Bool = 0
Float = 2
Integer = 1
class wrenfold.type_info.ScalarType

A scalar-valued type.

__eq__

Check for strict equality (identical expression trees). This is not the same as mathematical equivalence.

__hash__

Compute hash.

__init__

Construct with NumericType.

__new__(**kwargs)
is_identical_to

Check for strict equality (identical expression trees). This is not the same as mathematical equivalence.

property numeric_type

Access underlying NumericType enum.

class wrenfold.type_info.StructField

Describes a field on a struct. The wrenfold.type_info.CustomType contains a list of fields.

__eq__

Check for strict equality (identical expression trees). This is not the same as mathematical equivalence.

__hash__

Compute hash.

__init__(*args, **kwargs)
__new__(**kwargs)
is_identical_to

Check for strict equality (identical expression trees). This is not the same as mathematical equivalence.

property name

Name of the field.

property type

Type of the field.