6 #include "../xs3_math_types.h"
24 #define XS3_S32_SQRT_MAX_DEPTH (31)
54 const int32_t mantissa,
176 const unsigned remove_hr);
207 const unsigned depth);
340 static inline unsigned ceil_log2(
int exponent_t
An exponent.
Definition: xs3_math_types.h:76
int16_t xs3_s16_mul(exponent_t *a_exp, const int16_t b, const int16_t c, const exponent_t b_exp, const exponent_t c_exp)
Compute the product of two 16-bit floating-point scalars.
Definition: xs3_scalar_ops.c:55
int32_t xs3_scalar_s64_to_s32(exponent_t *a_exp, const int64_t b, const exponent_t b_exp)
Convert a 64-bit floating-point scalar to a 32-bit floating-point scalar.
Definition: xs3_scalar_ops.c:20
int32_t xs3_s32_sqrt(exponent_t *a_exp, const int32_t b, const exponent_t b_exp, const unsigned depth)
Compute the square root of a 32-bit floating-point scalar.
Definition: xs3_s32_sqrt.c:36
void xs3_unpack_float_s16(int16_t *mantissa, exponent_t *exp, const float input)
Unpack an IEEE 754 single-precision float into a 16-bit mantissa and exponent.
Definition: xs3_scalar_ops.c:10
int32_t xs3_s32_mul(exponent_t *a_exp, const int32_t b, const int32_t c, const exponent_t b_exp, const exponent_t c_exp)
Compute the product of two 32-bit floating-point scalars.
Definition: xs3_scalar_ops.c:71
void xs3_unpack_float(int32_t *mantissa, exponent_t *exp, const float input)
Unpack an IEEE 754 single-precision float into a 32-bit mantissa and exponent.
Definition: xs3_util.c:25
int16_t xs3_scalar_s32_to_s16(exponent_t *a_exp, const int32_t b, const exponent_t b_exp)
Convert a 32-bit floating-point scalar to a 16-bit floating-point scalar.
Definition: xs3_scalar_ops.c:32
int16_t xs3_s16_inverse(exponent_t *a_exp, const int16_t b)
Compute the inverse of a 16-bit integer.
Definition: xs3_scalar_ops.c:87
float xs3_pack_float(const int32_t mantissa, const exponent_t exp)
Pack a floating point value into an IEEE 754 single-precision float.
Definition: xs3_util.c:16
int32_t xs3_s32_inverse(exponent_t *a_exp, const int32_t b)
Compute the inverse of a 32-bit integer.
Definition: xs3_scalar_ops.c:99
int32_t xs3_scalar_s16_to_s32(exponent_t *a_exp, const int16_t b, const exponent_t b_exp, const unsigned remove_hr)
Convert a 16-bit floating-point scalar to a 32-bit floating-point scalar.
Definition: xs3_scalar_ops.c:43