|
|
@ -0,0 +1,53 @@ |
|
|
|
/* |
|
|
|
|
|
|
|
(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 |