int main() { printf("%d \n", Add1(15, 32)); printf("%d \n", Add2(15, 32)); printf("%d \n", Add3(15, 32)); return 0; }
void main() { int var=0, result; int *p; // case 1: without pointers result=Add3(var); printf("Result: %d\n", result); // case 2: with pointers p=&var; Add3_p(p); printf("var: %d\n", var); }
unsigned int Add3(unsigned int a,unsigned int b) { return a ?Add3((a&b) << 1,a^b):b; }
void MIDITOR::CtrlModeChange(SysU8 c,SysU8 v,SysF32 t) { if(t<0) t=Time-Bias; Add3(MIDICtrlModeChange|Channel,c,v,t); }
void MIDITOR::PolyAfterTouch(SysU8 n,SysU8 p,SysF32 t) { if(t<0) t=Time-Bias; Add3(MIDIPolyAfterTouch|Channel,n,p,t); }
void MIDITOR::NoteOn(SysU8 n,SysU8 v,SysF32 t) { if(t<0) t=Time; Add3(MIDINoteOn|Channel,n,v,t); }
void MIDITOR::PitchWheel(SysU8 m,SysU8 l,SysF32 t) { if(t<0) t=Time; Add3(MIDIPitchWheel|Channel,l,m,t); }