Mercurial > repo
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 */