apytypes_common.h
¶
Enums
-
enum class QuantizationMode¶
Quantization modes in APyTypes.
Values:
-
enumerator TRN¶
-
enumerator TRN_INF¶
-
enumerator TRN_ZERO¶
-
enumerator TRN_AWAY¶
-
enumerator TRN_MAG¶
-
enumerator RND¶
-
enumerator RND_ZERO¶
-
enumerator RND_INF¶
-
enumerator RND_MIN_INF¶
-
enumerator RND_CONV¶
-
enumerator RND_CONV_ODD¶
-
enumerator JAM¶
-
enumerator JAM_UNBIASED¶
-
enumerator STOCH_WEIGHTED¶
-
enumerator STOCH_EQUAL¶
-
enumerator TRN¶
Functions
-
void set_float_quantization_mode(QuantizationMode mode)¶
Set the global quantization mode for APyFloat.
-
QuantizationMode get_float_quantization_mode()¶
Return the global quantization mode for APyFloat.
-
void set_float_quantization_seed(std::uint64_t)¶
Set the global seed for stochastic quantization for APyFloat.
-
std::uint64_t get_float_quantization_seed()¶
Get the global seed for stochastic quantization for APyFloat.
-
std::uint64_t random_number_float()¶
Return a random 64-bit number from the random number engine used for APyFloat.
-
APyFixedCastOption get_fixed_cast_mode()¶
Return the global cast mode for APyFixed.
-
std::optional<APyFixedAccumulatorOption> get_accumulator_mode_fixed()¶
Return the global accumulator mode for APyFixed.
-
std::optional<APyFloatAccumulatorOption> get_accumulator_mode_float()¶
Return the global accumulator mode for APyFloat.
-
class ContextManager¶
Subclassed by APyFixedAccumulatorContext, APyFixedCastContext, APyFloatAccumulatorContext, APyFloatQuantizationContext
-
class APyFloatQuantizationContext : public ContextManager¶
Public Functions
-
APyFloatQuantizationContext(const QuantizationMode &new_mode, std::optional<std::uint64_t> new_seed = std::nullopt)¶
-
virtual void enter_context() override¶
-
virtual void exit_context() override¶
Private Members
-
QuantizationMode new_mode¶
-
QuantizationMode prev_mode¶
-
std::uint64_t new_seed¶
-
std::uint64_t prev_seed¶
-
APyFloatQuantizationContext(const QuantizationMode &new_mode, std::optional<std::uint64_t> new_seed = std::nullopt)¶
-
struct APyFixedCastOption¶
Public Members
-
QuantizationMode quantization¶
-
OverflowMode overflow¶
Quantization mode to use for cast operations.
-
QuantizationMode quantization¶
-
class APyFixedCastContext : public ContextManager¶
Public Functions
-
APyFixedCastContext(std::optional<QuantizationMode> quantization = std::nullopt, std::optional<OverflowMode> overflow = std::nullopt)¶
-
virtual void enter_context() override¶
-
virtual void exit_context() override¶
-
APyFixedCastContext(std::optional<QuantizationMode> quantization = std::nullopt, std::optional<OverflowMode> overflow = std::nullopt)¶
-
struct APyFixedAccumulatorOption¶
Public Members
-
int bits¶
-
int int_bits¶
Total number of bits to use for accumulator.
-
QuantizationMode quantization¶
Number of integer bits to use for accumulator.
-
OverflowMode overflow¶
Quantization mode to use for multiplication result.
-
int bits¶
-
class APyFixedAccumulatorContext : public ContextManager¶
Public Functions
-
APyFixedAccumulatorContext(std::optional<int> int_bits = std::nullopt, std::optional<int> frac_bits = std::nullopt, std::optional<QuantizationMode> quantization = std::nullopt, std::optional<OverflowMode> overflow = std::nullopt, std::optional<int> bits = std::nullopt)¶
-
virtual void enter_context() override¶
-
virtual void exit_context() override¶
Private Members
-
std::optional<APyFixedAccumulatorOption> current_mode¶
-
std::optional<APyFixedAccumulatorOption> previous_mode¶
-
APyFixedAccumulatorContext(std::optional<int> int_bits = std::nullopt, std::optional<int> frac_bits = std::nullopt, std::optional<QuantizationMode> quantization = std::nullopt, std::optional<OverflowMode> overflow = std::nullopt, std::optional<int> bits = std::nullopt)¶
-
struct APyFloatAccumulatorOption¶
Public Functions
-
inline APyFloatSpec get_spec(exp_t backup_bias) const noexcept¶
Public Members
-
std::uint8_t exp_bits¶
-
std::uint8_t man_bits¶
-
std::optional<exp_t> bias¶
-
QuantizationMode quantization¶
-
inline APyFloatSpec get_spec(exp_t backup_bias) const noexcept¶
-
class APyFloatAccumulatorContext : public ContextManager¶
Public Functions
-
APyFloatAccumulatorContext(std::optional<int> = std::nullopt, std::optional<int> = std::nullopt, std::optional<exp_t> = std::nullopt, std::optional<QuantizationMode> quantization = std::nullopt)¶
-
virtual void enter_context() override¶
-
virtual void exit_context() override¶
Private Members
-
std::optional<APyFloatAccumulatorOption> current_mode¶
-
std::optional<APyFloatAccumulatorOption> previous_mode¶
-
APyFloatAccumulatorContext(std::optional<int> = std::nullopt, std::optional<int> = std::nullopt, std::optional<exp_t> = std::nullopt, std::optional<QuantizationMode> quantization = std::nullopt)¶