math_ops.h
← Back to explorer
123456789101112131415161718192021222324252627282930313233
// Created by AG on 20-03-2026
#ifndef MATH_OPS_H
#define MATH_OPS_H
#include <stddef.h>
void compute_math_add(float *out, const float *term_a, const float *term_b, int total);
void compute_math_subtract(float *out, const float *term_a, const float *term_b, int total);
void compute_math_scale(float *data, float scalar_term, int total);
void compute_math_fill(float *data, float value, int total);
void compute_math_clear(float *data, int total);
void compute_math_copy(float *dest, const float *src, int total);
void compute_math_accumulate(float *dest, const float *src, int total);
void compute_add_bias(float *out, const float *value, const float *bias, int rows, int columns);
void compute_add_bias_gradient(float *bias_gradient, const float *upstream_gradient, int rows, int columns);
void compute_math_matrix_multiplication_nn(float *out, const float *term_a, const float *term_b, int m, int n, int k, int zero_output);
void compute_math_matrix_multiplication_nt(float *out, const float *term_a, const float *term_b, int m, int n, int k, int zero_output);
void compute_math_matrix_multiplication_tn(float *out, const float *term_a, const float *term_b, int m, int n, int k, int zero_output);
void compute_math_matrix_multiplication_tt(float *out, const float *term_a, const float *term_b, int m, int n, int k, int zero_output);
void compute_relu_forward(float *out, const float *in, int total);
void compute_relu_backward(float *input_gradient, const float *in, const float *upstream_gradient, int total);
void compute_softmax_forward(float *out, const float *in, int rows, int columns);
void compute_softmax_backward(float *input_gradient, const float *softmax_out, const float *upstream_gradient, int rows, int columns);
void compute_cross_entropy_forward(float *out, const float *predicted, const float *expected, int total);
void compute_cross_entropy_predicted(float *predicted_gradient, const float *predicted_value, const float *expected_value, const float *upstream_gradient, int total);
void compute_cross_entropy_expected(float *expected_Gradient, const float *predicted_value, const float *upstream_gradient, int total);
void compute_param_update(float *parameter, const float *gradient, float scaled_learning_rate, int total);
#endif