%description: Tests if wrong (illegal) parameter values are detected by the distributions. %activity: #define TEST_ERROR(f) \ try {ev << #f << ": "; f; ev << "no error\n";} catch (cException *e) {ev << e->message() << endl; delete e;} TEST_ERROR(gamma_d(0,1)); TEST_ERROR(gamma_d(1,0)); TEST_ERROR(gamma_d(-1,-1)); TEST_ERROR(beta(0,1)); TEST_ERROR(beta(1,0)); TEST_ERROR(beta(-1,-1)); TEST_ERROR(cauchy(-1,-1)); TEST_ERROR(cauchy(-1,0)); TEST_ERROR(cauchy(-1,1)); TEST_ERROR(cauchy(1,1)); TEST_ERROR(triang(0,0,0)); TEST_ERROR(triang(0,0,1)); TEST_ERROR(triang(0,1,1)); TEST_ERROR(triang(0,1,2)); TEST_ERROR(weibull(1,1)); TEST_ERROR(weibull(0,1)); TEST_ERROR(weibull(1,0)); /* TEST_ERROR(hypergeometric(0,1,1)); TEST_ERROR(hypergeometric(1,0,1)); TEST_ERROR(hypergeometric(2,3,6)); TEST_ERROR(hypergeometric(2,3,5)); TEST_ERROR(hypergeometric(-1,3,5)); TEST_ERROR(hypergeometric(2,-1,5)); TEST_ERROR(hypergeometric(2,3,-1)); */ %contains: stdout gamma_d(0,1): gamma(): alpha and beta params must be positive (alpha=0, beta=1) gamma_d(1,0): gamma(): alpha and beta params must be positive (alpha=1, beta=0) gamma_d(-1,-1): gamma(): alpha and beta params must be positive (alpha=-1, beta=-1) beta(0,1): beta(): alpha1 and alpha2 parameters must be positive (alpha1=0, alpha2=1) beta(1,0): beta(): alpha1 and alpha2 parameters must be positive (alpha1=1, alpha2=0) beta(-1,-1): beta(): alpha1 and alpha2 parameters must be positive (alpha1=-1, alpha2=-1) cauchy(-1,-1): cauchy(): parameters must be b>0 (a=-1, b=-1) cauchy(-1,0): cauchy(): parameters must be b>0 (a=-1, b=0) cauchy(-1,1): no error cauchy(1,1): no error triang(0,0,0): triang(): parameters must be a<=b<=c, a