on init
  declare $i
  declare @s := "foo" & " bar"
  message(@s)

  message("4 + 3 is " & 4 + 3)
  message("10 mod 8 -> " & 10 mod 8)

  message("Relation 3 < 4 -> " & 3 < 4)
  message("Relation 3 > 4 -> " & 3 > 4)
  message("Relation 3 <= 4 -> " & 3 <= 4)
  message("Relation 3 >= 4 -> " & 3 >= 4)
  message("Relation 3 # 4 -> " & 3 # 4)
  message("Relation 3 = 4 -> " & 3 = 4)
  
  message("Logical operation 1 and 2 = " & 1 and 2)
  message("Logical operation 1 and 3 = " & 1 and 3)
  message("Logical operation 1 and 0 = " & 1 and 0)
  message("Logical operation 1 or 2 = " & 1 or 2)
  message("Logical operation 1 or 1 = " & 1 or 1)
  message("Logical operation 1 or 0 = " & 1 or 0)
  message("Logical operation 0 or 0 = " & 0 or 0)

  message("Logical operation not 1 = " & not 1)
  message("Logical operation not 2 = " & not 2)
  message("Logical operation not 0 = " & not 0)
  
  message("Bitwise operation 1 .and. 2 = " & 1 .and. 2)
  message("Bitwise operation 1 .and. 3 = " & 1 .and. 3)
  message("Bitwise operation 1 .and. 0 = " & 1 .and. 0)
  message("Bitwise operation 1 .or. 2 = " & 1 .or. 2)
  message("Bitwise operation 1 .or. 1 = " & 1 .or. 1)
  message("Bitwise operation 1 .or. 0 = " & 1 .or. 0)
  message("Bitwise operation 0 .or. 0 = " & 0 .or. 0)

  message("Bitwise operation .not. 1 = " & .not. 1)
  message("Bitwise operation .not. 2 = " & .not. 2)
  message("Bitwise operation .not. 0 = " & .not. 0)
  message("Bitwise operation .not. -1 = " & .not. -1)

  message("sh_left(1,0) = " & sh_left(1,0))
  message("sh_left(1,1) = " & sh_left(1,1))
  message("sh_left(1,2) = " & sh_left(1,2))
  message("sh_left(1,3) = " & sh_left(1,3))
  message("sh_left(1,4) = " & sh_left(1,4))

  message("sh_right(128,0) = " & sh_right(128,0))
  message("sh_right(128,1) = " & sh_right(128,1))
  message("sh_right(128,2) = " & sh_right(128,2))
  message("sh_right(128,3) = " & sh_right(128,3))

  message("abs(-3) = " & abs(-3))

  message("min(2,3) = " & min(2,3))
  message("min(1,11) = " & min(1,11))
  message("min(-30,4) = " & min(-30,4))

  message("max(2,3) = " & max(2,3))
  message("max(1,11) = " & max(1,11))
  message("max(-30,4) = " & max(-30,4))

  message("inc(" & $i & ") = " & inc($i))
  message("inc(" & $i & ") = " & inc($i))
  message("inc(" & $i & ") = " & inc($i))
  message("dec(" & $i & ") = " & dec($i))
  message("dec(" & $i & ") = " & dec($i))
  message("dec(" & $i & ") = " & dec($i))

  message("in_range(1,4,9) = " & in_range(1,4,9))
  message("in_range(5,4,9) = " & in_range(5,4,9))
  message("in_range(9,4,9) = " & in_range(9,4,9))
  message("in_range(10,4,9) = " & in_range(10,4,9))

  message("random(-5,5) = " & random(-5,5))
  message("random(-5,5) = " & random(-5,5))
  message("random(-5,5) = " & random(-5,5))

end on 
