996
|
1 /* fiddle.h -- functions implementing intercal's operators */
|
|
2
|
|
3 /*@-exportlocal@*/ /* these are used, just in generated code */
|
|
4 extern unsigned int ick_mingle(register unsigned int r, register unsigned int s);
|
|
5 extern unsigned int ick_iselect(register unsigned int r, register unsigned int s);
|
|
6 extern unsigned int ick_and16(unsigned int n), ick_or16(unsigned int n),
|
|
7 ick_xor16(unsigned int n), ick_fin16(unsigned int n);
|
|
8 extern unsigned int ick_whirl16(unsigned int p, unsigned int n);
|
|
9 extern unsigned int ick_and32(unsigned int n), ick_or32(unsigned int n),
|
|
10 ick_xor32(unsigned int n), ick_fin32(unsigned int n);
|
|
11 extern unsigned int ick_whirl32(unsigned int p, unsigned int n);
|
|
12 /* AIS: Reversed operators */
|
|
13 extern unsigned int ick_rev_and16(unsigned int n), ick_rev_or16(unsigned int n),
|
|
14 ick_rev_xor16(unsigned int n), ick_rev_fin16(unsigned int n);
|
|
15 extern unsigned int ick_rev_whirl16(unsigned int p, unsigned int n);
|
|
16 extern unsigned int ick_rev_and32(unsigned int n), ick_rev_or32(unsigned int n),
|
|
17 ick_rev_xor32(unsigned int n), ick_rev_fin32(unsigned int n);
|
|
18 extern unsigned int ick_rev_whirl32(unsigned int p, unsigned int n);
|
|
19 /* AIS: Optimizer helper operators */
|
|
20 extern unsigned int ick_xselx(unsigned int x);
|
|
21 extern unsigned int ick_setbitcount(unsigned int x);
|
|
22 extern unsigned int ick_smudgeleft(unsigned int x);
|
|
23 extern unsigned int ick_smudgeright(unsigned int x);
|
|
24 /*@=exportlocal@*/
|
|
25 /* fiddle.h ends here */
|