{run($1,$2)} function run(r,seed) { srand(seed ? seed : 1) OFS="," print seed , rand()>>"/dev/stderr" com = "cat" print "#A,B,C,Np,Prec,Recall,Pf,Score" | com while(r--) run1(com) } function run1(com, a,b,c,np, prec, recall, pf,score) { #a = any(); b = any(); c = any() np = any(100) a = b = c = 1 np = 10 prec= any() recall= any() pf= pf(np,prec,recall) if (pf <= 0.33 && pf >= 0.11) { score = score(pf,recall, prec,a,b,c) print a,b,c,np,prec,recall,pf,score | com } } function pf(np,prec,recall,tmp) { return 1/np * (1 - prec)/prec * recall } function score(pf,recall,prec,a,b,c) { return 1 - sqrt( a*(1-recall)^2 + b*(1-prec)^2 + c*pf) / sqrt(a+b+c) } function any( n) { n = n ? n : 1 return rand() * n }