Deeploy.AbstractDataTypes.FloatImmediate

class Deeploy.AbstractDataTypes.FloatImmediate(value: int | float | Immediate, ctxt: _NetworkContext | None = None)

Bases: Immediate[float | Iterable[float], Immediate]

Methods

__init__(value: int | float | Immediate, ctxt: _NetworkContext | None = None)

__init__(value[, ctxt])

checkPromotion(value[, ctxt])

Checks whether a given Python-typed or Deeploy-typed value can be represented with the Deeploy type

checkValue(value[, ctxt])

This method tries to manually cast standard python's standard immediate float precision values (64 bits) to an arbitrary FP representation and check if the new representation is close enough to the original value.

partialOrderUpcast(otherCls)

This method checks whether a data type (cls) can be used to represent any value that can be represented by another data type (otherCls).

Attributes

value

typeMin

typeMantissa

Represents the number of bits reserved for the mantissa part

typeExponent

Represents the number of bits reserved for the exponent part

typeName

The C typename of this type

typeWidth

the number of BITS to be assigned to the type

typeMantissa: int

Represents the number of bits reserved for the mantissa part

Type:

int

typeExponent: int

Represents the number of bits reserved for the exponent part

Type:

int

classmethod partialOrderUpcast(otherCls: Type[Immediate]) bool

This method checks whether a data type (cls) can be used to represent any value that can be represented by another data type (otherCls). For more information on partial order sets and type conversion, check:https://en.wikipedia.org/wiki/Partially_ordered_set https://en.wikipedia.org/wiki/Type_conversion

Parameters:

otherCls (Type[Immediate]) – The class you want to upcast an immediate of this cls to

Returns:

Returns true if this cls can be statically promoted to otherCls

Return type:

bool

classmethod checkValue(value: float | Iterable[float] | ndarray, ctxt: _NetworkContext | None = None)

This method tries to manually cast standard python’s standard immediate float precision values (64 bits) to an arbitrary FP representation and check if the new representation is close enough to the original value.

classmethod checkPromotion(value: _PythonType | Immediate, ctxt: _NetworkContext | None = None)

Checks whether a given Python-typed or Deeploy-typed value can be represented with the Deeploy type

Parameters:
  • value (Union[_PythonType, _DeeployType]) – Python-typed or Deeploy-typed value to be checked for promotion to cls

  • ctxt (Optional[_NetworkContext]) – Current NetworkContext

Returns:

Returns true if the value can be promoted to cls

Return type:

bool

typeName: str

The C typename of this type

Type:

str

typeWidth: int

the number of BITS to be assigned to the type

Type:

int