view interps/c-intercal/src/fiddle.h @ 8897:c7b65d0fe2f2

<shachaf> ` ln -s relcome bin/\x0304w\x0308e\x0309l\x0311c\x0312o\x0313m\x0304e\x0f
author HackBot
date Thu, 04 Aug 2016 02:22:10 +0000
parents 859f9b4339e6
children
line wrap: on
line source

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