int funcs(int i, int n) { if (i <= 1) { funca(1, 1); return 1; } else { printf("("); int d = funcs(i-1, n) + (n-i+1); printf("+%d)", d); funca(1, i); return 1; } }
int sdk_run() { funca(1, 2); funcb(1, 2); pack(); unpack(); }
int main(int argc, char *argv[]) { funca(); exit(); }
void funca(int i, int n) { if (i < n) { char sign = (i & 0x01) == 0 ? '+' : '-'; printf("sin(%d%c", i, sign); funca(i+1, n); printf(")"); } else { printf("sin(%d)", n); } }
void funca(){ int a,b; int a1[100]; int b1[100]; int c1[100]; int d1[100]; char bc; int c[300]; int c2[200]; printf(1,"func a addresses: d-%d b:%d a1-%d b1-%d c1-%d d1-%d bc-%d c-%d c2-%d \n", &a,&b,&a1,&b1,&c1,&d1,&bc,&c,&c2); funca(); }
void testOptimizations() { printf("Optimization stress test.\n\n"); printf("Press any key to start assembling.\n\n"); _getch(); StressTest a(0, 1024, 0xFF, false, false, false); StressTest b(0, 1024, 0xFF, true, true, true); void (*funca)() = a.callable(); void (*funcb)() = b.callable(); funca(); funcb(); int x = a.instructionCount(); int y = b.instructionCount(); float optimization = 100.0f * (x - y) / y; int i; for(i = 0; i < 16; i++) { if(b.z[i] != b.y[i]) { break; } if(b.z[i] != a.z[i]) { break; } if(a.z[i] != a.y[i]) { break; } } if(i == 16) { printf("Optimization stress test succesful. %f%% optimized.\n\n", optimization); } else { printf("Optimization test failed.\n\n"); } }
void funcb(int j) { struct foo { int a; int b; }; struct foo bar; bar.a = 42; bar.b = 84; funca(); return; }
void func1(void) { funca(); return; }
int Funktion::parseFunction(string func){ string::iterator it; func = clearString(func); func = multiplicationSign(func); if(func=="") return 0; if(brackets(func)==false){ return 1; } if(Funktion::validChars(func)==false){ return 2; } int brackets = 0; for(int i=0;i<2;i++){ for(it=func.end();it>=func.begin();it--){ if(*it=='(') brackets--; if(*it==')') brackets++; if(*it==binaryFunction[i].at(0) && brackets==0 && *(it-1)!='/' && *(it-1)!='*' && *(it-1)!='-' && *(it-1)!='+'){ Funktion a; Funktion b; if(it==func.begin()){ string funca(it+1,func.end()); int retVal = a.parseFunction(funca); if(retVal==0){ function->insert(function,i,""); function->insertTree(function->right,a.getFunction()); } return retVal; } else if(it==func.end()){ return 3; } else{ string funca(func.begin(),it); string funcb(it+1,func.end()); int retVal1 = a.parseFunction(funca); int retVal2 = b.parseFunction(funcb); if(retVal1==0 && retVal2==0){ function->insert(function,i,""); function->insertTree(function->left,a.getFunction()); function->insertTree(function->right,b.getFunction()); return 0; } if(retVal1==0) return retVal2; if(retVal2==0) return retVal1; return -1; } } } } for(int i=2;i<sizeof(binaryFunction)/sizeof(binaryFunction[0]);i++){ for(it=func.end();it>=func.begin();it--){ if(*it=='(') brackets--; if(*it==')') brackets++; if(*it==binaryFunction[i].at(0) && brackets==0){ Funktion a; Funktion b; if(it==func.begin()){ return 3; } else if(it==func.end()){ return 3; } else{ string funca(func.begin(),it); string funcb(it+1,func.end()); int retVal1 = a.parseFunction(funca); int retVal2 = b.parseFunction(funcb); if(retVal1==0 && retVal2==0){ function->insert(function,i,""); function->insertTree(function->left,a.getFunction()); function->insertTree(function->right,b.getFunction()); return 0; } if(retVal1==0) return retVal2; if(retVal2==0) return retVal1; return -1; } } } } it = func.begin(); for(int i=0;i<sizeof(unaryFunction)/sizeof(unaryFunction[0]);i++){ if(string(it,it+unaryFunction[i].length())==unaryFunction[i] && brackets==0){ Funktion a; string funca(func,unaryFunction[i].length()); int retVal = a.parseFunction(funca); if(retVal==0){ function->insert(function,i+sizeof(binaryFunction)/sizeof(binaryFunction[0]),""); function->insertTree(function->left,a.getFunction()); } return retVal; } } if(*it=='('){ Funktion a; string funca(func.begin()+1,func.end()-1); int retVal = a.parseFunction(funca); if(retVal==0) function->insertTree(function,a.getFunction()); return retVal; } if(*it=='x'){ function->insert(function,-4,"x"); return 0; } function->insert(function,-3,func); return 0; }
int main() { funca(); }