chaotic_iak

TIS-100 specification: FIZZBUZZ

Jun 27th, 2016
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.04 KB | None | 0 0
  1. function get_name()
  2.   return "FIZZBUZZ"
  3. end
  4.  
  5. function get_description()
  6.   return {
  7.     "WRITE 1,2,...,117 TO OUT.1, OUT.2, OUT.3, BUT",
  8.     "IF MULTIPLE OF 3, REPLACE BY -1",
  9.     "IF MULTIPLE OF 5, REPLACE BY -2",
  10.     "IF BOTH, REPLACE BY -3",
  11.   }
  12. end
  13.  
  14. function get_streams()
  15.   out1 = {}
  16.   out2 = {}
  17.   out3 = {}
  18.  
  19.   for i = 1, 117 do
  20.     number = i
  21.     if i % 3 == 0 then number = -1 end
  22.     if i % 5 == 0 then number = -2 end
  23.     if i % 15 == 0 then number = -3 end
  24.     target = math.floor((i-1) / 39)
  25.     if target == 0 then out1[i    ] = number end
  26.     if target == 1 then out2[i- 39] = number end
  27.     if target == 2 then out3[i- 78] = number end
  28.   end
  29.  
  30.   return {
  31.     {STREAM_OUTPUT, "OUT.1", 0, out1},
  32.     {STREAM_OUTPUT, "OUT.2", 1, out2},
  33.     {STREAM_OUTPUT, "OUT.3", 2, out3},
  34.   }
  35. end
  36.  
  37. function get_layout()
  38.   return {
  39.     TILE_COMPUTE, TILE_COMPUTE, TILE_COMPUTE, TILE_COMPUTE,
  40.     TILE_COMPUTE, TILE_COMPUTE, TILE_COMPUTE, TILE_COMPUTE,
  41.     TILE_COMPUTE, TILE_COMPUTE, TILE_COMPUTE, TILE_COMPUTE,
  42.   }
  43. end
Add Comment
Please, Sign In to add comment