Advertisement
Guest User

binrev

a guest
Jan 23rd, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. (* ****** ****** *)
  2.  
  3. #define
  4. LIBATSCC2JS_targetloc
  5. "contrib/libatscc2js/ATS2-0.3.2"
  6.  
  7. (* ****** ****** *)
  8.  
  9. #include
  10. "{$LIBATSCC2JS}/staloadall.hats"
  11.  
  12. (* ****** ****** *)
  13.  
  14. staload
  15. "{$LIBATSCC2JS}/SATS/print.sats"
  16.  
  17. (* ****** ****** *)
  18.  
  19. #define ATS_MAINATSFLAG 1
  20. #define ATS_DYNLOADNAME "my_dynload"
  21.  
  22. (* ****** ****** *)
  23. //
  24. fun
  25. getbase(m: int): int =
  26. if m > 1 then 2 * getbase(m / 2) else 1
  27.  
  28. fun
  29. binrev(n: int): int =
  30. if n > 1 then (n % 2) * getbase(n) + binrev(n / 2) else n
  31. //
  32. (* ****** ****** *)
  33. //
  34. val N = 10
  35. //
  36. val () = println! ("binrev(", N, ") = ", binrev(N))
  37. //
  38. (* ****** ****** *)
  39.  
  40. %{$
  41. //
  42. ats2jspre_the_print_store_clear();
  43. my_dynload();
  44. alert(ats2jspre_the_print_store_join());
  45. //
  46. %} // end of [%{$]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement