apytypes_common.h
¶
Enums
-
enum class QuantizationMode¶
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
-
std::uint64_t rnd64_fx()¶
64-bit uniform random number generator for fixed-point stachastic quantization
-
std::uint64_t rnd64_fp()¶
-
void rst_default_rnd64_fx(std::uint64_t seed)¶
Reset the default stochastic quantization random number generators.
-
void rst_default_rnd64_fp(std::uint64_t seed)¶
-
std::uint64_t get_rnd64_fx_seed()¶
-
std::uint64_t get_rnd64_fp_seed()¶
-
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.
-
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¶
- #include <apytypes_common.h>
Base class defining the interface for context managers.
Subclassed by APyFixedAccumulatorContext, APyFixedCastContext, APyFloatAccumulatorContext, APyFloatQuantizationContext
-
class APyFloatQuantizationContext : public ContextManager¶
Public Functions
-
APyFloatQuantizationContext(const QuantizationMode &new_mode, std::optional<std::uint64_t> seed = std::nullopt)¶
-
virtual void enter_context() override¶
-
virtual void exit_context() override¶
Private Members
-
QuantizationMode prev_mode¶
-
QuantizationMode new_mode¶
-
std::uint64_t prev_seed¶
-
std::uint64_t new_seed¶
-
const std::function<std::uint64_t()> &prev_engine¶
-
std::mt19937_64 default_engine¶
-
std::function<std::uint64_t()> new_engine¶
-
APyFloatQuantizationContext(const QuantizationMode &new_mode, std::optional<std::uint64_t> 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¶
Number of exponent bits.
-
std::uint8_t man_bits¶
Number of mantissa bits.
-
std::optional<exp_t> bias¶
Exponent bias.
-
QuantizationMode quantization¶
Quantization mode.
-
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)¶