summaryrefslogtreecommitdiff
path: root/examples/bitwise.fy
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-08-25 18:49:42 +0000
committerPaul Buetow <paul@buetow.org>2008-08-25 18:49:42 +0000
commit3206d602859f5572b958fcc36ba56c9596ecb292 (patch)
tree95dec964fb03b51c927dd45b5c5575244194a790 /examples/bitwise.fy
parentec9899c0399f42473d311c7d0a46769d3d933c06 (diff)
butwis
Diffstat (limited to 'examples/bitwise.fy')
-rw-r--r--examples/bitwise.fy32
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/bitwise.fy b/examples/bitwise.fy
new file mode 100644
index 0000000..03fda6c
--- /dev/null
+++ b/examples/bitwise.fy
@@ -0,0 +1,32 @@
+#*
+ * Examples of how to use bitwise operators
+ *#
+
+# Prints "01\n"
+assert 0 == (put 1 and 0);
+assert 1 == (say 1 and 1);
+
+# Prints "01\n"
+assert 0 == (put 0 or 0);
+assert 1 == (say 0 or 1);
+
+# Prints "01\n"
+assert 0 == (put 1 xor 1);
+assert 1 == (say 1 xor 0);
+
+# Prints "82\n"
+assert 8 == (put 2 :< 2);
+assert 2 == (say 8 :> 2);
+
+# A bit more complex, prints "9\n"
+assert 9 == (say 1 :< 5 :> 5 or 2 and 5 xor 8);
+
+# Same result, but with parenthesis:
+assert 9 == (say ((((1 :< 5) :> 5) or 2) and 5) xor 8);
+
+# Different parenthesis, different result: "1\n"
+assert 1 == (say 1 :< 5 :> 5 or 2 and (5 xor 8));
+
+# Prints "-1"
+assert (neg 1) == (say neg not 0);
+