You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
861 B

6 years ago
  1. /*
  2. (module
  3. (export "get_signal_ptr" (func $get_signal_ptr))
  4. (export "solve" (func $solve))
  5. (func $get_signal_ptr (result i32)
  6. (i32.const 22)
  7. )
  8. (func $solve (result i32)
  9. (i32.const 22)
  10. )
  11. )
  12. */
  13. typedef int u32;
  14. typedef u32 u256[8];
  15. struct Signals {
  16. u256 one;
  17. u256 output1;
  18. u256 output2;
  19. u256 pubInput1;
  20. u256 pubInput2;
  21. u256 prvInput1;
  22. u256 prvInput2;
  23. u256 internal1;
  24. u256 internal2;
  25. };
  26. static Signals signals;
  27. #ifdef __cplusplus
  28. extern "C" {
  29. #endif
  30. u256 *get_signal_ptr() {
  31. return (u256 *)&signals;
  32. }
  33. int solve() {
  34. for (int i=0; i<8; i++) {
  35. signals.internal1[i] = signals.pubInput1[i];
  36. signals.internal2[i] = signals.pubInput2[i];
  37. signals.output1[i] = signals.prvInput1[i];
  38. signals.output2[i] = signals.prvInput2[i];
  39. }
  40. }
  41. #ifdef __cplusplus
  42. } // extern "C"
  43. #endif