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__(self: wrenfold.type_info.CustomType, other: wrenfold.type_info.CustomType) bool#

Check for strict equality. This is not the same as mathematical equivalence.

__hash__(self: wrenfold.type_info.CustomType) int#

Compute hash.

__init__(self: wrenfold.type_info.CustomType, name: str, fields: List[Tuple[str, object]], python_type: type) None#

Construct custom type.

property fields#

A list of wrenfold.type_info.StructField objects.

is_identical_to(self: wrenfold.type_info.CustomType, other: wrenfold.type_info.CustomType) bool#

Check for strict equality. This is not the same as mathematical equivalence.

property name#

Name of the struct.

property python_type#

Retrieve the underlying user-declared python type.

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__(self: wrenfold.type_info.MatrixType, other: wrenfold.type_info.MatrixType) bool#

Check for strict equality. This is not the same as mathematical equivalence.

__hash__(self: wrenfold.type_info.MatrixType) int#

Compute hash.

__init__(self: wrenfold.type_info.MatrixType, rows: int, cols: int) None#

Construct with number of rows and columns.

property cols#

Second dimension of the matrix.

compute_indices(self: wrenfold.type_info.MatrixType, idx: int) Tuple[int, int]#

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

is_identical_to(self: wrenfold.type_info.MatrixType, other: wrenfold.type_info.MatrixType) bool#

Check for strict equality. 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#

Members:

Bool : Boolean value.

Integer : Signed integral value.

Float : Floating-point value.

__eq__(self: object, other: object) bool#
__hash__(self: object) int#
__index__(self: wrenfold.type_info.NumericType) int#
__init__(self: wrenfold.type_info.NumericType, value: int) None#
__int__(self: wrenfold.type_info.NumericType) int#
__ne__(self: object, other: object) bool#
__str__()#

name(self: handle) -> str

property name#
class wrenfold.type_info.ScalarType#

A scalar-valued type.

__eq__(self: wrenfold.type_info.ScalarType, other: wrenfold.type_info.ScalarType) bool#

Check for strict equality. This is not the same as mathematical equivalence.

__hash__(self: wrenfold.type_info.ScalarType) int#

Compute hash.

__init__(self: wrenfold.type_info.ScalarType, numeric_type: wrenfold.type_info.NumericType) None#

Construct with NumericType.

is_identical_to(self: wrenfold.type_info.ScalarType, other: wrenfold.type_info.ScalarType) bool#

Check for strict equality. 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__(self: wrenfold.type_info.StructField, other: wrenfold.type_info.StructField) bool#

Check for strict equality. This is not the same as mathematical equivalence.

__hash__(self: wrenfold.type_info.StructField) int#

Compute hash.

__init__(*args, **kwargs)#
is_identical_to(self: wrenfold.type_info.StructField, other: wrenfold.type_info.StructField) bool#

Check for strict equality. This is not the same as mathematical equivalence.

property name#

Name of the field.

property type#

Type of the field.