arnaucube
arnaucube/poulpyPublic Self-hosted repository
poulpy/poulpy-backend/src/cpu_spqlios/spqlios-arithmetic/spqlios/arithmetic/zn_arithmetic_plugin.h
poulpy-backend/src/cpu_spqlios/spqlios-arithmetic/spqlios/arithmetic/zn_arithmetic_plugin.hRaw
 1#ifndef SPQLIOS_ZN_ARITHMETIC_PLUGIN_H
 2#define SPQLIOS_ZN_ARITHMETIC_PLUGIN_H
 3
 4#include "zn_arithmetic.h"
 5
 6typedef typeof(i8_approxdecomp_from_tndbl) I8_APPROXDECOMP_FROM_TNDBL_F;
 7typedef typeof(i16_approxdecomp_from_tndbl) I16_APPROXDECOMP_FROM_TNDBL_F;
 8typedef typeof(i32_approxdecomp_from_tndbl) I32_APPROXDECOMP_FROM_TNDBL_F;
 9typedef typeof(bytes_of_zn32_vmp_pmat) BYTES_OF_ZN32_VMP_PMAT_F;
10typedef typeof(zn32_vmp_prepare_contiguous) ZN32_VMP_PREPARE_CONTIGUOUS_F;
11typedef typeof(zn32_vmp_prepare_dblptr) ZN32_VMP_PREPARE_DBLPTR_F;
12typedef typeof(zn32_vmp_prepare_row) ZN32_VMP_PREPARE_ROW_F;
13typedef typeof(zn32_vmp_apply_i32) ZN32_VMP_APPLY_I32_F;
14typedef typeof(zn32_vmp_apply_i16) ZN32_VMP_APPLY_I16_F;
15typedef typeof(zn32_vmp_apply_i8) ZN32_VMP_APPLY_I8_F;
16typedef typeof(dbl_to_tn32) DBL_TO_TN32_F;
17typedef typeof(tn32_to_dbl) TN32_TO_DBL_F;
18typedef typeof(dbl_round_to_i32) DBL_ROUND_TO_I32_F;
19typedef typeof(i32_to_dbl) I32_TO_DBL_F;
20typedef typeof(dbl_round_to_i64) DBL_ROUND_TO_I64_F;
21typedef typeof(i64_to_dbl) I64_TO_DBL_F;
22
23typedef struct z_module_vtable_t Z_MODULE_VTABLE;
24struct z_module_vtable_t {
25  I8_APPROXDECOMP_FROM_TNDBL_F* i8_approxdecomp_from_tndbl;
26  I16_APPROXDECOMP_FROM_TNDBL_F* i16_approxdecomp_from_tndbl;
27  I32_APPROXDECOMP_FROM_TNDBL_F* i32_approxdecomp_from_tndbl;
28  BYTES_OF_ZN32_VMP_PMAT_F* bytes_of_zn32_vmp_pmat;
29  ZN32_VMP_PREPARE_CONTIGUOUS_F* zn32_vmp_prepare_contiguous;
30  ZN32_VMP_PREPARE_DBLPTR_F* zn32_vmp_prepare_dblptr;
31  ZN32_VMP_PREPARE_ROW_F* zn32_vmp_prepare_row;
32  ZN32_VMP_APPLY_I32_F* zn32_vmp_apply_i32;
33  ZN32_VMP_APPLY_I16_F* zn32_vmp_apply_i16;
34  ZN32_VMP_APPLY_I8_F* zn32_vmp_apply_i8;
35  DBL_TO_TN32_F* dbl_to_tn32;
36  TN32_TO_DBL_F* tn32_to_dbl;
37  DBL_ROUND_TO_I32_F* dbl_round_to_i32;
38  I32_TO_DBL_F* i32_to_dbl;
39  DBL_ROUND_TO_I64_F* dbl_round_to_i64;
40  I64_TO_DBL_F* i64_to_dbl;
41};
42
43#endif  // SPQLIOS_ZN_ARITHMETIC_PLUGIN_H