#include #include #include #include "bnc.h" #define MAX_LENGTH 1024 #define DEG 20 int main(int argc, char *argv[]) { long int i, dtimes; FILE *dcoef; CDArray cdans, cdinit; DPoly df; double dabs_eps, drel_eps; double start, endtime; /* init */ dabs_eps = 1.0e-100; drel_eps = 1.0e-7; df = init_dpoly(MAX_LENGTH); cdans = init_cdarray(DEG); cdinit = init_cdarray(DEG); /* Input coefficients */ dcoef = fopen("polycoef20.dat", "r"); fread_dpolycoef(dcoef, df, DEG); fclose(dcoef); print_dpoly(df); /* set Aberth's initial value */ ddka_init(cdinit, df); // print_cdarray(cdinit); /* DKA method */ start = get_secv(); dtimes = ddka(cdans, cdinit, df, 1000, dabs_eps, drel_eps); endtime = get_secv() - start; /* print answer */ printf("Iterative times: %d\n", dtimes); print_cdarray(cdans); /* clear */ free_dpoly(df); free_cdarray(cdans); free_cdarray(cdinit); printf("double_DKA : %f sec\n", endtime); return EXIT_SUCCESS; }