25 #ifndef AIMATH_Q31_DEFAULT
26 #define AIMATH_Q31_DEFAULT
28 #define SHIFT_EQUALIZATION
1236 void aimath_q31_default_mse_loss_sum(
const aitensor_t *predicted,
const aitensor_t *target,
void *result);
1238 void aimath_q31_default_mse_loss_mean(
const aitensor_t *predicted,
const aitensor_t *target,
void *result);
Definition of the Q31 (aiq31) data-type.
void aimath_q31_default_tensor_sub_different_shift(const aitensor_t *a, const aitensor_t *b, aitensor_t *result)
Performs an element wise subtraction of Q31 tensors a and b with different shifts.
void aimath_q31_default_scalar_mul(const void *scalar, const aitensor_t *a, aitensor_t *result)
Performs a scalar multiplication (scaling) of Q31 tensor a and a scalar.
void aimath_q31_default_linear32(const aitensor_t *a, const aitensor_t *b, const aitensor_t *c, aitensor_t *result)
Performs a matrix multiplication of Q31 matrices a and b and adds a vector c to each row.
void aimath_q31_default_sigmoid(const aitensor_t *x, aitensor_t *result)
Calculates the sigmoid of each element in a Q31 tensor.
void aimath_q31_default_norm_squared(const aitensor_t *x, void *result)
Calculates the squared sum of all elements in a Q31 tensor.
void aimath_q31_default_d_leaky_relu(const aitensor_t *x, const void *alpha, aitensor_t *result)
Calculates the leaky rectifier (leaky-ReLU) derivative of each element in a Q31 tensor.
void aimath_q31_default_mat_mul(const aitensor_t *a, const aitensor_t *b, aitensor_t *result)
Performs a matrix multiplication of Q31 matrices a and b.
void aimath_q31_default_init_glorot_uniform_cdim(aitensor_t *tensor, int8_t cin_axis, int8_t cout_axis)
Fills a Q31 tensor with random numbers uniformly within given range, according to Glorot et al.
void aimath_q31_default_d_sigmoid(const aitensor_t *sigmoid_x, aitensor_t *result)
Calculates the derivative sigmoid of each element in a Q31 tensor.
void aimath_q31_default_zero_tensor(aitensor_t *tensor)
Fills a Q31 tensor with zeros.
void aimath_q31_default_multiply(const aitensor_t *a, const aitensor_t *b, aitensor_t *result)
Performs an element wise multiplication of Q31 tensors a and b (Hadamard product)
void aimath_q31_default_init_zeros(aitensor_t *tensor)
Fills a Q31 tensor with zeros.
void aimath_q31_default_tensor_add_same_shift(const aitensor_t *a, const aitensor_t *b, aitensor_t *result)
Performs an element wise addition of Q31 tensors a and b with same shifts.
void aimath_q31_default_leaky_relu(const aitensor_t *x, const void *alpha, aitensor_t *result)
Calculates the leaky rectifier (leaky ReLU) value of each element in a Q31 tensor.
void aimath_q31_default_sum_channelwise(const aitensor_t *x, int8_t channel_axis, aitensor_t *result)
Sums up all values of a channel of the Q31 tensor x.
void aimath_q31_default_d_elu(const aitensor_t *x, const void *alpha, aitensor_t *result)
Calculates the exponential rectifier (ELU) derivative of each element in a Q31 tensor.
void aimath_q31_default_init_he_uniform(aitensor_t *tensor)
Fills a Q31 tensor with random numbers uniformly within given range, according to He et al.
void aimath_q31_default_tensor_sub_same_shift(const aitensor_t *a, const aitensor_t *b, aitensor_t *result)
Performs an element wise subtraction of Q31 tensors a and b with same shifts.
void aimath_q31_default_softmax(const aitensor_t *x, aitensor_t *result)
Calculates the softmax value of each batch element (row) of a Q31 tensor.
void aimath_q31_default_transpose_vector(aitensor_t *vector)
Transposes a Q31 vector.
void aimath_q31_default_tensor_add_different_shift(const aitensor_t *a, const aitensor_t *b, aitensor_t *result)
Performs an element wise addition of Q31 tensors a and b with different shifts.
void aimath_q31_default_init_he_uniform_cdim(aitensor_t *tensor, int8_t cout_axis)
Fills a Q31 tensor with random numbers uniformly within given range, according to He et al.
void aimath_q31_default_softsign(const aitensor_t *x, aitensor_t *result)
Calculates the softsign value of each element in a Q31 tensor.
void aimath_q31_default_copy_tensor(const aitensor_t *from, aitensor_t *to)
Performs an element wise copy of Q31 tensors.
void aimath_q31_default_init_glorot_uniform(aitensor_t *tensor)
Fills a Q31 tensor with random numbers uniformly within given range, according to Glorot et al.
int64_t aimath_q31_default_sqrt(int64_t x)
Calculates square root of an int64 value.
void aimath_q31_default_d_tanh(const aitensor_t *tanh_x, aitensor_t *result)
Calculates the tanh derivative of each element in a Q31 tensor.
void aimath_q31_default_d_softsign(const aitensor_t *x, aitensor_t *result)
Calculates the softsign activation derivative of each element in a Q31 tensor.
void aimath_q31_default_relu(const aitensor_t *x, aitensor_t *result)
Calculates the rectifier (ReLU) value of each element in a Q31 tensor.
void aimath_q31_default_elu(const aitensor_t *x, const void *alpha, aitensor_t *result)
Calculates the exponential rectifier (ELU) value of each element in a Q31 tensor.
void aimath_q31_default_d_relu(const aitensor_t *x, aitensor_t *result)
Calculates the rectifier (ReLU) derivative of each element in a Q31 tensor.
void aimath_q31_default_tanh(const aitensor_t *x, aitensor_t *result)
Calculates the tanh of each element in a Q31 tensor.
void aimath_q31_default_tensor_init_uniform(aitensor_t *tensor, float from, float to)
Fills a Q31 tensor with random numbers created from a uniform distribution within given range.
void aimath_q31_default_tensor_sqrt(const aitensor_t *x, aitensor_t *result)
Calculates the element wise square root of a Q31 tensor.
A tensor in AIfES.
Definition: aifes_math.h:89