1414#include < vector>
1515#include < cstdint>
1616
17-
17+ #define def_bridge_simple (Name ) \
18+ extern " C" bridge_tensor_t Name (bridge_tensor_t input) { \
19+ auto t_input = bridge_to_torch (input); \
20+ auto t_output = torch::Name (t_input); \
21+ return torch_to_bridge (t_output); \
22+ }
1823
1924
2025int bridge_tensor_elements (bridge_tensor_t &bt) {
@@ -54,18 +59,6 @@ torch::Tensor bridge_to_torch(bridge_tensor_t &bt) {
5459 return torch::from_blob (bt.data , shape, torch::kFloat );
5560}
5661
57-
58-
59-
60-
61-
62-
63-
64-
65-
66-
67-
68-
6962extern " C" float32_t * unsafe (const float32_t * arr) {
7063 return const_cast <float32_t *>(arr);
7164}
@@ -131,15 +124,6 @@ extern "C" bridge_tensor_t load_run_model(const uint8_t* model_path, bridge_tens
131124 return torch_to_bridge (output);
132125}
133126
134-
135-
136-
137-
138-
139-
140-
141-
142-
143127extern " C" bridge_tensor_t increment3 (bridge_tensor_t arr) {
144128 auto t = bridge_to_torch (arr);
145129 // Increment the tensor
@@ -206,6 +190,28 @@ extern "C" bridge_tensor_t max_pool2d(
206190 return torch_to_bridge (output);
207191}
208192
193+ def_bridge_simple (relu);
194+
195+ def_bridge_simple (relu6);
196+
197+ def_bridge_simple (gelu);
198+
199+ def_bridge_simple (logsigmoid);
200+
201+ def_bridge_simple (mish);
202+
203+ def_bridge_simple (selu);
204+
205+ def_bridge_simple (silu);
206+
207+ def_bridge_simple (softmax);
208+
209+ def_bridge_simple (softmin);
210+
211+ def_bridge_simple (softsign);
212+
213+ def_bridge_simple (tanhshrink);
214+
209215
210216// extern "C"
211217
@@ -306,4 +312,4 @@ extern "C" float sumArray(float* arr, int* sizes, int dim) {
306312
307313 // auto t = torch::from_blob(arr, shape, torch::kFloat);
308314 // return t.sum().item<float>();
309- }
315+ }
0 commit comments