Doxygen Source Code Documentation
cdf_49.c File Reference
#include "cdflib.h"Go to the source code of this file.
Functions | |
| double | dt1 (double *p, double *q, double *df) |
Function Documentation
|
||||||||||||||||
|
Definition at line 2 of file cdf_49.c. References devlpl(), dinvnr(), dt1(), i, p, and q. Referenced by cdft(), and dt1().
00034 {
00035 static double coef[4][5] = {
00036 1.0e0,1.0e0,0.0e0,0.0e0,0.0e0,3.0e0,16.0e0,5.0e0,0.0e0,0.0e0,-15.0e0,17.0e0,
00037 19.0e0,3.0e0,0.0e0,-945.0e0,-1920.0e0,1482.0e0,776.0e0,79.0e0
00038 };
00039 static double denom[4] = {
00040 4.0e0,96.0e0,384.0e0,92160.0e0
00041 };
00042 static int ideg[4] = {
00043 2,3,4,5
00044 };
00045 static double dt1,denpow,sum,term,x,xp,xx;
00046 static int i;
00047 /*
00048 ..
00049 .. Executable Statements ..
00050 */
00051 x = fabs(dinvnr(p,q));
00052 xx = x*x;
00053 sum = x;
00054 denpow = 1.0e0;
00055 for(i=0; i<4; i++) {
00056 term = devlpl(&coef[i][0],&ideg[i],&xx)*x;
00057 denpow *= *df;
00058 sum += (term/(denpow*denom[i]));
00059 }
00060 if(!(*p >= 0.5e0)) goto S20;
00061 xp = sum;
00062 goto S30;
00063 S20:
00064 xp = -sum;
00065 S30:
00066 dt1 = xp;
00067 return dt1;
00068 } /* END */
|