cOMS/Math/Matrix/VectorInt64.h
2023-12-12 19:46:16 +00:00

186 lines
5.5 KiB
C

// Remarks: sizes for the second matrix/vector are often implied by the first parameter and the rules for matrix/vector multiplication.
/////////////////////////////////
// Multiplication
/////////////////////////////////
// Array vector multiplication
/////////////////////////////////
// mult_vec_int32(int64_t *a, size_t a, int32_t *b)
// mult_vec_int64(int64_t *a, size_t a, int64_t *b)
// mult_vec_float(int64_t *a, size_t a, float *b)
// mult_scal_int32(int64_t *a, size_t a, int32_t b)
// mult_scal_int64(int64_t *a, size_t a, int64_t b)
// mult_scal_float(int64_t *a, size_t a, float b)
// Vector 2 vector multiplication
/////////////////////////////////
// v2_mult_vec_int32(v2 *a, int32_t *b)
// v2_mult_vec_int64(v2 *a, int64_t *b)
// v2_mult_vec_float(v2 *a, float *b)
// v2_mult_vec_v2(v2 *a, v2 *b)
// v2_mult_scal_int32(v2 *a, int32_t b)
// v2_mult_scal_int64(v2 *a, int64_t b)
// v2_mult_scal_float(v2 *a, float b)
// Vector 3 vector multiplication
/////////////////////////////////
// v3_mult_vec_int32(v3 *a, int32_t *b)
// v3_mult_vec_int64(v3 *a, int64_t *b)
// v3_mult_vec_float(v3 *a, float *b)
// v3_mult_vec_v3(v3 *a, v3 *b)
// v3_mult_scal_int32(v3 *a, int32_t b)
// v3_mult_scal_int64(v3 *a, int64_t b)
// v3_mult_scal_float(v3 *a, float b)
// Vector 4 vector multiplication
/////////////////////////////////
// v4_mult_vec_int32(v4 *a, int32_t *b)
// v4_mult_vec_int64(v4 *a, int64_t *b)
// v4_mult_vec_float(v4 *a, float *b)
// v4_mult_vec_v4(v4 *a, v4 *b)
// v4_mult_scal_int32(v4 *a, int32_t b)
// v4_mult_scal_int64(v4 *a, int64_t b)
// v4_mult_scal_float(v4 *a, float b)
/////////////////////////////////
// Addition
/////////////////////////////////
// Array vector addition
/////////////////////////////////
// add_vec_int32(int64_t *a, size_t a, int32_t *b)
// add_vec_int64(int64_t *a, size_t a, int64_t *b)
// add_vec_float(int64_t *a, size_t a, float *b)
// add_scal_int32(int64_t *a, size_t a, int32_t b)
// add_scal_int64(int64_t *a, size_t a, int64_t b)
// add_scal_float(int64_t *a, size_t a, float b)
// Vector 2 vector addition
/////////////////////////////////
// v2_add_vec_int32(v2 *a, int32_t *b)
// v2_add_vec_int64(v2 *a, int64_t *b)
// v2_add_vec_float(v2 *a, float *b)
// v2_add_vec_v2(v2 *a, v2 *b)
// v2_add_scal_int32(v2 *a, int32_t b)
// v2_add_scal_int64(v2 *a, int64_t b)
// v2_add_scal_float(v2 *a, float b)
// Vector 3 vector addition
/////////////////////////////////
// v3_add_vec_int32(v3 *a, int32_t *b)
// v3_add_vec_int64(v3 *a, int64_t *b)
// v3_add_vec_float(v3 *a, float *b)
// v3_add_vec_v3(v3 *a, v3 *b)
// v3_add_scal_int32(v3 *a, int32_t b)
// v3_add_scal_int64(v3 *a, int64_t b)
// v3_add_scal_float(v3 *a, float b)
// Vector 4 vector addition
/////////////////////////////////
// v4_add_vec_int32(v4 *a, int32_t *b)
// v4_add_vec_int64(v4 *a, int64_t *b)
// v4_add_vec_float(v4 *a, float *b)
// v4_add_vec_v4(v4 *a, v4 *b)
// v4_add_scal_int32(v4 *a, int32_t b)
// v4_add_scal_int64(v4 *a, int64_t b)
// v4_add_scal_float(v4 *a, float b)
/////////////////////////////////
// Subtraction
/////////////////////////////////
// Array vector subtraction
/////////////////////////////////
// sub_vec_int32(int64_t *a, size_t a, int32_t *b)
// sub_vec_int64(int64_t *a, size_t a, int64_t *b)
// sub_vec_float(int64_t *a, size_t a, float *b)
// sub_scal_int32(int64_t *a, size_t a, int32_t b)
// sub_scal_int64(int64_t *a, size_t a, int64_t b)
// sub_scal_float(int64_t *a, size_t a, float b)
// Vector 2 vector subtraction
/////////////////////////////////
// v2_sub_vec_int32(v2 *a, int32_t *b)
// v2_sub_vec_int64(v2 *a, int64_t *b)
// v2_sub_vec_float(v2 *a, float *b)
// v2_sub_vec_v2(v2 *a, v2 *b)
// v2_sub_scal_int32(v2 *a, int32_t b)
// v2_sub_scal_int64(v2 *a, int64_t b)
// v2_sub_scal_float(v2 *a, float b)
// Vector 3 vector subtraction
/////////////////////////////////
// v3_sub_vec_int32(v3 *a, int32_t *b)
// v3_sub_vec_int64(v3 *a, int64_t *b)
// v3_sub_vec_float(v3 *a, float *b)
// v3_sub_vec_v3(v3 *a, v3 *b)
// v3_sub_scal_int32(v3 *a, int32_t b)
// v3_sub_scal_int64(v3 *a, int64_t b)
// v3_sub_scal_float(v3 *a, float b)
// Vector 4 vector subtraction
/////////////////////////////////
// v4_sub_vec_int32(v4 *a, int32_t *b)
// v4_sub_vec_int64(v4 *a, int64_t *b)
// v4_sub_vec_float(v4 *a, float *b)
// v4_sub_vec_v4(v4 *a, v4 *b)
// v4_sub_scal_int32(v4 *a, int32_t b)
// v4_sub_scal_int64(v4 *a, int64_t b)
// v4_sub_scal_float(v4 *a, float b)
/////////////////////////////////
// Other
/////////////////////////////////
// Cross product
/////////////////////////////////
// cross_int32(int64_t *a, size_t a, int32_t *b)
// cross_int64(int64_t *a, size_t a, int64_t *b)
// cross_float(int64_t *a, size_t a, float *b)
// v2_cross_v2(v2 *a, v2 *b)
// v3_cross_v3(v3 *a, v3 *b)
// v4_cross_v4(v4 *a, v4 *b)
// Dot product
/////////////////////////////////
// dot_int32(int64_t *a, size_t a, int32_t *b)
// dot_int64(int64_t *a, size_t a, int64_t *b)
// dot_float(int64_t *a, size_t a, float *b)
// v2_dot_v2(v2 *a, v2 *b)
// v3_dot_v3(v3 *a, v3 *b)
// v4_dot_v4(v4 *a, v4 *b)
// Angle
/////////////////////////////////
// angle_int32(int64_t *a, size_t a, int32_t *b)
// angle_int64(int64_t *a, size_t a, int64_t *b)
// angle_float(int64_t *a, size_t a, float *b)
// v2_angle_v2(v2 *a, v2 *b)
// v3_angle_v3(v3 *a, v3 *b)
// v4_angle_v4(v4 *a, v4 *b)
// Cosine
/////////////////////////////////
// cosine_int32(int64_t *a, size_t a, int32_t *b)
// cosine_int64(int64_t *a, size_t a, int64_t *b)
// cosine_float(int64_t *a, size_t a, float *b)
// v2_cosine_v2(v2 *a, v2 *b)
// v3_cosine_v3(v3 *a, v3 *b)
// v4_cosine_v4(v4 *a, v4 *b)