solprop.backends.numba_cpu.tables#

Evaluate the reference z-table representation into persistent host stage arrays.

Classes

HostTable(table)

Hold a Chebyshev table's Clenshaw work and stage output on the host.

class solprop.backends.numba_cpu.tables.HostTable(table)[source]#

Bases: object

Hold a Chebyshev table’s Clenshaw work and stage output on the host.

The operation order follows NumPy’s chebval. Only this adapter handles the general z table; the existing constant and expansion stage routes are unchanged.

Parameters:
tablePiecewiseChebyshev

Array-valued complex table sampled in translation.

Attributes:
tablePiecewiseChebyshev

The immutable translated coefficients.

worknumpy.ndarray

Three Clenshaw arrays, shape (3, *value_shape), complex128.

valuenumpy.ndarray

Evaluation result, shape value_shape, complex128.

leftnumpy.ndarray

Saved left endpoint for a difference, shape value_shape, complex128.

at(z)[source]#

Evaluate the table at one position into its reusable result array.

Parameters:
zfloat

Position in m, within the sampled span.

Returns:
numpy.ndarray

The result, overwritten by the next call.

delta(z0, z1)[source]#

Subtract two endpoint values into the reusable result array.

Parameters:
z0, z1float

Endpoint positions in m, within the sampled span.

Returns:
numpy.ndarray

Table(z1) - table(z0), overwritten by the next call.

left: ndarray#
property nbytes: int[source]#

Return the bytes of owned work arrays.

Returns:
int

Resident scratch and results in bytes, excluding immutable coefficients.

table: PiecewiseChebyshev#
value: ndarray#
work: ndarray#