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