⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.c

📁 该文件为c++的数学函数库!是一个非常有用的编程工具.它含有各种数学函数,为科学计算、工程应用等程序编写提供方便!
💻 C
📖 第 1 页 / 共 5 页
字号:
    gsl_test_rel(abserr,exp_abserr,1e-7,"qk41(f1) singular abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk41(f1) singular resabs") ;        gsl_test_rel(resasc,exp_resasc,1e-15,"qk41(f1) singular resasc") ;    gsl_integration_qk41 (&f, 1.0, 0.0,                                   &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,-exp_result,1e-15,"qk41(f1) reverse result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk41(f1) reverse abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk41(f1) reverse resabs") ;        gsl_test_rel(resasc,exp_resasc,1e-15,"qk41(f1) reverse resasc") ;  }  {    double result = 0, abserr = 0, resabs = 0, resasc = 0 ;    double exp_result = 2.449953612016972215E+01;    double exp_abserr = 3.967771249391228849E+01;    double exp_resabs = 2.449953612016972215E+01;    double exp_resasc = 3.967771249391228849E+01;    double alpha = -0.9 ;    gsl_function f = make_function(&f1, &alpha);    gsl_integration_qk51 (&f, 0.0, 1.0,                                   &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,exp_result,1e-15,"qk51(f1) singular result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk51(f1) singular abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk51(f1) singular resabs") ;        gsl_test_rel(resasc,exp_resasc,1e-15,"qk51(f1) singular resasc") ;    gsl_integration_qk51 (&f, 1.0, 0.0,                                   &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,-exp_result,1e-15,"qk51(f1) reverse result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk51(f1) reverse abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk51(f1) reverse resabs") ;        gsl_test_rel(resasc,exp_resasc,1e-15,"qk51(f1) reverse resasc") ;  }  {    double result = 0, abserr = 0, resabs = 0, resasc = 0 ;    double exp_result = 2.583030240976628988E+01;    double exp_abserr = 4.213750493076978643E+01;    double exp_resabs = 2.583030240976628988E+01;    double exp_resasc = 4.213750493076978643E+01;    double alpha = -0.9 ;    gsl_function f = make_function(&f1, &alpha);    gsl_integration_qk61 (&f, 0.0, 1.0,                                   &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,exp_result,1e-15,"qk61(f1) singular result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk61(f1) singular abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk61(f1) singular resabs") ;        gsl_test_rel(resasc,exp_resasc,1e-15,"qk61(f1) singular resasc") ;    gsl_integration_qk61 (&f, 1.0, 0.0,                                   &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,-exp_result,1e-15,"qk61(f1) reverse result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk61(f1) reverse abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk61(f1) reverse resabs") ;        gsl_test_rel(resasc,exp_resasc,1e-15,"qk61(f1) reverse resasc") ;  }  /* Test the basic Gauss-Kronrod rules with a smooth oscillating     function, over an unsymmetric range. This should find any     discrepancies in the abscissae. */  {    double result = 0, abserr = 0, resabs = 0, resasc = 0 ;    double exp_result =-7.238969575483799046E-01;    double exp_abserr = 8.760080200939757174E-06;    double exp_resabs = 1.165564172429140788E+00;    double exp_resasc = 9.334560307787327371E-01;    double alpha = 1.3 ;    gsl_function f = make_function(&f3, &alpha);    gsl_integration_qk15 (&f, 0.3, 2.71,                                   &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,exp_result,1e-15,"qk15(f3) oscill result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk15(f3) oscill abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk15(f3) oscill resabs") ;    gsl_test_rel(resasc,exp_resasc,1e-15,"qk15(f3) oscill resasc") ;    gsl_integration_qk15 (&f, 2.71, 0.3,                                   &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,-exp_result,1e-15,"qk15(f3) reverse result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk15(f3) reverse abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk15(f3) reverse resabs") ;    gsl_test_rel(resasc,exp_resasc,1e-15,"qk15(f3) reverse resasc") ;  }  {    double result = 0, abserr = 0, resabs = 0, resasc = 0 ;    double exp_result =-7.238969575482959717E-01;    double exp_abserr = 7.999213141433641888E-11;    double exp_resabs = 1.150829032708484023E+00;    double exp_resasc = 9.297591249133687619E-01;    double alpha = 1.3 ;    gsl_function f = make_function(&f3, &alpha);        gsl_integration_qk21 (&f, 0.3, 2.71,                                   &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,exp_result,1e-15,"qk21(f3) oscill result") ;    gsl_test_rel(abserr,exp_abserr,1e-5,"qk21(f3) oscill abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk21(f3) oscill resabs") ;    gsl_test_rel(resasc,exp_resasc,1e-15,"qk21(f3) oscill resasc") ;    gsl_integration_qk21 (&f, 2.71, 0.3,                                  &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,-exp_result,1e-15,"qk21(f3) reverse result") ;    gsl_test_rel(abserr,exp_abserr,1e-5,"qk21(f3) reverse abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk21(f3) reverse resabs") ;    gsl_test_rel(resasc,exp_resasc,1e-15,"qk21(f3) reverse resasc") ;  }  {    double result = 0, abserr = 0, resabs = 0, resasc = 0 ;    double exp_result =-7.238969575482959717E-01;    double exp_abserr = 1.285805464427459261E-14;    double exp_resabs = 1.158150602093290571E+00;    double exp_resasc = 9.277828092501518853E-01;    double alpha = 1.3 ;    gsl_function f = make_function(&f3, &alpha);    gsl_integration_qk31 (&f, 0.3, 2.71,                                   &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,exp_result,1e-15,"qk31(f3) oscill result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk31(f3) oscill abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk31(f3) oscill resabs") ;    gsl_test_rel(resasc,exp_resasc,1e-15,"qk31(f3) oscill resasc") ;    gsl_integration_qk31 (&f, 2.71, 0.3,                                   &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,-exp_result,1e-15,"qk31(f3) reverse result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk31(f3) reverse abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk31(f3) reverse resabs") ;    gsl_test_rel(resasc,exp_resasc,1e-15,"qk31(f3) reverse resasc") ;  }  {    double result = 0, abserr = 0, resabs = 0, resasc = 0 ;    double exp_result =-7.238969575482959717E-01;    double exp_abserr = 1.286535726271015626E-14;    double exp_resabs = 1.158808363486595328E+00;    double exp_resasc = 9.264382258645686985E-01;    double alpha = 1.3 ;    gsl_function f = make_function(&f3, &alpha);    gsl_integration_qk41 (&f, 0.3, 2.71,                                   &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,exp_result,1e-15,"qk41(f3) oscill result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk41(f3) oscill abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk41(f3) oscill resabs") ;    gsl_test_rel(resasc,exp_resasc,1e-15,"qk41(f3) oscill resasc") ;    gsl_integration_qk41 (&f, 2.71, 0.3,                                  &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,-exp_result,1e-15,"qk41(f3) reverse result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk41(f3) reverse abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk41(f3) reverse resabs") ;    gsl_test_rel(resasc,exp_resasc,1e-15,"qk41(f3) reverse resasc") ;  }  {    double result = 0, abserr = 0, resabs = 0, resasc = 0 ;    double exp_result =-7.238969575482961938E-01;    double exp_abserr = 1.285290995039385778E-14;    double exp_resabs = 1.157687209264406381E+00;    double exp_resasc = 9.264666884071264263E-01;    double alpha = 1.3 ;    gsl_function f = make_function(&f3, &alpha);    gsl_integration_qk51 (&f, 0.3, 2.71,                                   &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,exp_result,1e-15,"qk51(f3) oscill result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk51(f3) oscill abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk51(f3) oscill resabs") ;    gsl_test_rel(resasc,exp_resasc,1e-15,"qk51(f3) oscill resasc") ;    gsl_integration_qk51 (&f, 2.71, 0.3,                                  &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,-exp_result,1e-15,"qk51(f3) reverse result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk51(f3) reverse abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk51(f3) reverse resabs") ;    gsl_test_rel(resasc,exp_resasc,1e-15,"qk51(f3) reverse resasc") ;  }  {    double result = 0, abserr = 0, resabs = 0, resasc = 0 ;    double exp_result =-7.238969575482959717E-01;    double exp_abserr = 1.286438572027470736E-14;    double exp_resabs = 1.158720854723590099E+00;    double exp_resasc = 9.270469641771273972E-01;    double alpha = 1.3 ;    gsl_function f = make_function(&f3, &alpha);    gsl_integration_qk61 (&f, 0.3, 2.71,                                   &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,exp_result,1e-15,"qk61(f3) oscill result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk61(f3) oscill abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk61(f3) oscill resabs") ;    gsl_test_rel(resasc,exp_resasc,1e-15,"qk61(f3) oscill resasc") ;    gsl_integration_qk61 (&f, 2.71, 0.3,                                  &result, &abserr, &resabs, &resasc) ;    gsl_test_rel(result,-exp_result,1e-15,"qk61(f3) reverse result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qk61(f3) reverse abserr") ;    gsl_test_rel(resabs,exp_resabs,1e-15,"qk61(f3) reverse resabs") ;    gsl_test_rel(resasc,exp_resasc,1e-15,"qk61(f3) reverse resasc") ;  }  /* Test the non-adaptive gaussian integrator QNG */  {    int status = 0; size_t neval = 0 ;    double result = 0, abserr = 0 ;    double exp_result = 7.716049379303083211E-02;    double exp_abserr = 9.424302199601294244E-08;    int exp_neval  =  21;    int exp_ier    =   0;    double alpha = 2.6 ;    gsl_function f = make_function(&f1, &alpha);        status = gsl_integration_qng (&f, 0.0, 1.0, 1e-1, 0.0,                                  &result, &abserr, &neval) ;    gsl_test_rel(result,exp_result,1e-15,"qng(f1) smooth result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qng(f1) smooth abserr") ;    gsl_test_int((int)neval,exp_neval,"qng(f1) smooth neval") ;      gsl_test_int(status,exp_ier,"qng(f1) smooth status") ;    status = gsl_integration_qng (&f, 1.0, 0.0, 1e-1, 0.0,                                  &result, &abserr, &neval) ;    gsl_test_rel(result,-exp_result,1e-15,"qng(f1) reverse result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qng(f1) reverse abserr") ;    gsl_test_int((int)neval,exp_neval,"qng(f1) reverse neval") ;      gsl_test_int(status,exp_ier,"qng(f1) reverse status") ;  }  {    int status = 0; size_t neval = 0 ;    double result = 0, abserr = 0 ;    double exp_result = 7.716049382706505200E-02;    double exp_abserr = 2.666893044866214501E-12;    int exp_neval  =  43;    int exp_ier    =   0;    double alpha = 2.6 ;    gsl_function f = make_function(&f1, &alpha);    status = gsl_integration_qng (&f, 0.0, 1.0, 0.0, 1e-9,                                  &result, &abserr, &neval) ;    gsl_test_rel(result,exp_result,1e-15,"qng(f1) smooth 43pt result") ;    gsl_test_rel(abserr,exp_abserr,1e-5,"qng(f1) smooth 43pt abserr") ;    gsl_test_int((int)neval,exp_neval,"qng(f1) smooth 43pt neval") ;      gsl_test_int(status,exp_ier,"qng(f1) smooth 43pt status") ;    status = gsl_integration_qng (&f, 1.0, 0.0, 0.0, 1e-9,                                  &result, &abserr, &neval) ;    gsl_test_rel(result,-exp_result,1e-15,"qng(f1) reverse 43pt result") ;    gsl_test_rel(abserr,exp_abserr,1e-5,"qng(f1) reverse 43pt abserr") ;    gsl_test_int((int)neval,exp_neval,"qng(f1) reverse 43pt neval") ;      gsl_test_int(status,exp_ier,"qng(f1) reverse 43pt status") ;  }  {    int status; size_t neval = 0 ;    double result = 0, abserr = 0 ;    double exp_result =-7.238969575482961938E-01;    double exp_abserr = 1.277676889520056369E-14;    int exp_neval  =  43;    int exp_ier    =   0;    double alpha = 1.3 ;    gsl_function f = make_function(&f3, &alpha);    status = gsl_integration_qng (&f, 0.3, 2.71, 0.0, 1e-12,                                  &result, &abserr, &neval) ;    gsl_test_rel(result,exp_result,1e-15,"qnq(f3) oscill result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qng(f3) oscill abserr") ;    gsl_test_int((int)neval,exp_neval,"qng(f3) oscill neval") ;    gsl_test_int(status,exp_ier,"qng(f3) oscill status") ;    status = gsl_integration_qng (&f, 2.71, 0.3, 0.0, 1e-12,                                  &result, &abserr, &neval) ;    gsl_test_rel(result,-exp_result,1e-15,"qnq(f3) reverse result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qng(f3) reverse abserr") ;    gsl_test_int((int)neval,exp_neval,"qng(f3) reverse neval") ;    gsl_test_int(status,exp_ier,"qng(f3) reverse status") ;  }  {    int status = 0; size_t neval = 0 ;    double result = 0, abserr = 0 ;    double exp_result = 7.716049382716029525E-02;    double exp_abserr = 8.566535680046930668E-16;    int exp_neval  =  87;    int exp_ier    =   0;    double alpha = 2.6 ;    gsl_function f = make_function(&f1, &alpha);    status = gsl_integration_qng (&f, 0.0, 1.0, 0.0, 1e-13,                                  &result, &abserr, &neval) ;    gsl_test_rel(result,exp_result,1e-15,"qng(f1) 87pt smooth result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qng(f1) 87pt smooth abserr") ;    gsl_test_int((int)neval,exp_neval,"qng(f1) 87pt smooth neval") ;      gsl_test_int(status,exp_ier,"qng(f1) 87pt smooth status") ;    status = gsl_integration_qng (&f, 1.0, 0.0, 0.0, 1e-13,                                  &result, &abserr, &neval) ;    gsl_test_rel(result,-exp_result,1e-15,"qng(f1) 87pt reverse result") ;    gsl_test_rel(abserr,exp_abserr,1e-7,"qng(f1) 87pt reverse abserr") ;    gsl_test_int((int)neval,exp_neval,"qng(f1) 87pt reverse neval") ;      gsl_test_int(status,exp_ier,"qng(f1) 87pt reverse status") ;  }  {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -