/* _ctest.c 19.5.2017/SM (19.5.2017) */ #include #include #include #include #include #include #define MMAX 1001 #define PI 3.141592653589793 unsigned int n,m; char bin[MMAX]; double ee[MMAX],rr[MMAX]; int ns[MMAX]; __int64 fs[MMAX]; FILE *temp; void main(argc,argv) int argc; char *argv[]; { int i; __int64 j; double a,accuracy; if (argc==1) return; s_init(argv[1]); if (g<2) { sur_print("\nCTEST n,accuracy "); sur_print("\nscans all 2^[(n-1)/2-1] positive linear combinations"); sur_print("\nof edge lengths of a n-sided regular polygon "); sur_print("\nwith coefficients +1 or -1 "); sur_print("\nand checks that only one of them is equal to "); sur_print("\ncot((2*i+1)*pi/(2*n)), i=1,2,...,(n-1)/2. "); sur_print("\nfor a prime number n. "); WAIT; return; } n=atoi(word[1]); m=(n-1)/2; accuracy=atof(word[2]); for (i=0; i0.0) // check positive combinations for (i=0; i=0) --i; if (i<0) break; bin[i]='1'; ++i; for (; i