diff interps/c-intercal/inst/include/ick-0.29/fiddle.h @ 996:859f9b4339e6

<Gregor> tar xf egobot.tar.xz
author HackBot
date Sun, 09 Dec 2012 19:30:08 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/interps/c-intercal/inst/include/ick-0.29/fiddle.h	Sun Dec 09 19:30:08 2012 +0000
@@ -0,0 +1,25 @@
+/* fiddle.h -- functions implementing intercal's operators */
+
+/*@-exportlocal@*/ /* these are used, just in generated code */
+extern unsigned int ick_mingle(register unsigned int r, register unsigned int s);
+extern unsigned int ick_iselect(register unsigned int r, register unsigned int s);
+extern unsigned int ick_and16(unsigned int n), ick_or16(unsigned int n),
+                    ick_xor16(unsigned int n), ick_fin16(unsigned int n);
+extern unsigned int ick_whirl16(unsigned int p, unsigned int n);
+extern unsigned int ick_and32(unsigned int n), ick_or32(unsigned int n),
+                    ick_xor32(unsigned int n), ick_fin32(unsigned int n);
+extern unsigned int ick_whirl32(unsigned int p, unsigned int n);
+/* AIS: Reversed operators */
+extern unsigned int ick_rev_and16(unsigned int n), ick_rev_or16(unsigned int n),
+                    ick_rev_xor16(unsigned int n), ick_rev_fin16(unsigned int n);
+extern unsigned int ick_rev_whirl16(unsigned int p, unsigned int n);
+extern unsigned int ick_rev_and32(unsigned int n), ick_rev_or32(unsigned int n),
+                    ick_rev_xor32(unsigned int n), ick_rev_fin32(unsigned int n);
+extern unsigned int ick_rev_whirl32(unsigned int p, unsigned int n);
+/* AIS: Optimizer helper operators */
+extern unsigned int ick_xselx(unsigned int x);
+extern unsigned int ick_setbitcount(unsigned int x);
+extern unsigned int ick_smudgeleft(unsigned int x);
+extern unsigned int ick_smudgeright(unsigned int x);
+/*@=exportlocal@*/
+/* fiddle.h ends here */