/* (module (export "get_signal_ptr" (func $get_signal_ptr)) (export "solve" (func $solve)) (func $get_signal_ptr (result i32) (i32.const 22) ) (func $solve (result i32) (i32.const 22) ) ) */ typedef int u32; typedef u32 u256[8]; struct Signals { u256 one; u256 output1; u256 output2; u256 pubInput1; u256 pubInput2; u256 prvInput1; u256 prvInput2; u256 internal1; u256 internal2; }; static Signals signals; #ifdef __cplusplus extern "C" { #endif u256 *get_signal_ptr() { return (u256 *)&signals; } int solve() { for (int i=0; i<8; i++) { signals.internal1[i] = signals.pubInput1[i]; signals.internal2[i] = signals.pubInput2[i]; signals.output1[i] = signals.prvInput1[i]; signals.output2[i] = signals.prvInput2[i]; } } #ifdef __cplusplus } // extern "C" #endif