@@ -73,6 +73,50 @@ void bsp_destroy_array_t(bsp_array_t array) {
7373 free (array .data );
7474}
7575
76+ #define bsp_array_block (array , ptr , code_block ) \
77+ { \
78+ if (array.type == BSP_UINT8) { \
79+ uint8_t* ptr = array.data; \
80+ code_block; \
81+ } else if (array.type == BSP_UINT16) { \
82+ uint16_t* ptr = array.data; \
83+ code_block; \
84+ } else if (array.type == BSP_UINT32) { \
85+ uint32_t* ptr = array.data; \
86+ code_block; \
87+ } else if (array.type == BSP_UINT64) { \
88+ uint64_t* ptr = array.data; \
89+ code_block; \
90+ } else if (array.type == BSP_INT8) { \
91+ int8_t* ptr = array.data; \
92+ code_block; \
93+ } else if (array.type == BSP_INT16) { \
94+ int16_t* ptr = array.data; \
95+ code_block; \
96+ } else if (array.type == BSP_INT32) { \
97+ int32_t* ptr = array.data; \
98+ code_block; \
99+ } else if (array.type == BSP_INT64) { \
100+ int64_t* ptr = array.data; \
101+ code_block; \
102+ } else if (array.type == BSP_FLOAT32) { \
103+ float* ptr = array.data; \
104+ code_block; \
105+ } else if (array.type == BSP_FLOAT64) { \
106+ double* ptr = array.data; \
107+ code_block; \
108+ } else if (array.type == BSP_BINT8) { \
109+ int8_t* ptr = array.data; \
110+ code_block; \
111+ } else if (array.type == BSP_COMPLEX_FLOAT32) { \
112+ float _Complex* ptr = array.data; \
113+ code_block; \
114+ } else if (array.type == BSP_COMPLEX_FLOAT64) { \
115+ double _Complex* ptr = array.data; \
116+ code_block; \
117+ } \
118+ }
119+
76120// array[index] = value
77121#define bsp_array_write (array , index , value ) \
78122 { \
0 commit comments