* * $Id: dawson64.F,v 1.1.1.1 1996/04/01 15:02:07 mclareni Exp $ * * $Log: dawson64.F,v $ * Revision 1.1.1.1 1996/04/01 15:02:07 mclareni * Mathlib gen * * #include "gen/pilot.h" #if !defined(CERNLIB_DOUBLE) FUNCTION RDAWSN(X) #endif #if defined(CERNLIB_DOUBLE) FUNCTION DDAWSN(X) #include "gen/imp64.inc" #endif DIMENSION P1(0:8),Q1(0:8) DIMENSION A1(0:7),B1(0:6),A2(0:7),B2(0:6),A3(0:5),B3(0:4) PARAMETER (Z1 = 1, HF = Z1/2, C1 = 2+HF, C2 = 3+HF) DATA P1 1/+1.73971 38358 72305 8D+8, -2.35903 54309 49078 4D+7, 2 +7.94595 11256 26974 7D+6, -4.49408 95997 95344 8D+5, 3 +6.26435 22480 53304 3D+4, -1.64294 23044 87861 4D+3, 4 +1.10415 15859 64097 2D+2, -1.23806 01126 69044 4D+0, 5 +1.70141 56251 64813 2D-2/ DATA Q1 1/+1.73971 38358 72305 8D+8, +9.23905 68081 99581 7D+7, 2 +2.31472 94223 70433 8D+7, +3.59959 82595 90670 4D+6, 3 +3.83498 04512 71685 6D+5, +2.90022 12938 95164 3D+4, 4 +1.54480 44953 25198 3D+3, +5.42357 27435 06117 3D+1, 5 +1.00000 00000 00000 0D+0/ DATA A1 1/+5.00236 89608 86678 8D-1, -5.97678 08682 34888 6D+0, 2 +1.52644 09962 36985 9D+1, -8.89106 47974 78123 3D+0, 3 -7.57931 91808 93692 7D-2, -4.00000 89364 35497 2D+1, 4 +2.93365 74739 54485 3D+1, -1.50695 65118 71605 5D+0/ DATA A2 1/+4.99999 90270 50535 9D-1, -1.49838 04203 66907 2D+0, 2 -4.98544 80298 66076 7D+0, +5.06460 15374 22307 7D+0, 3 -1.50507 70349 66919 6D+1, -9.16804 87981 35517 1D+0, 4 -2.66167 67489 63992 8D+1, +4.76405 64527 32287 8D+0/ DATA A3 1/+5.00000 00000 87358 0D-1, -2.50000 27830 30495 0D+0, 2 -4.51057 82777 83269 5D+0, -7.82636 28103 36344 1D+0, 3 -4.05239 81738 80339 4D+1, +4.12716 33274 69802 1D+0/ DATA B1 1/+2.26064 66607 43091 6D-1, +1.15840 29255 18881 3D+2, 2 +7.29177 55641 55315 0D+1, +1.12461 66202 45754 3D+2, 3 +7.21193 21760 02290 6D+0, +1.24486 78826 22516 2D+3, 4 -6.73106 06974 48133 1D-1/ DATA B2 1/+2.50011 45961 18389 4D-1, -1.48715 81178 71947 5D+0, 2 +3.30707 72467 61143 7D+1, +1.46515 16778 31092 9D+2, 3 +7.51701 27774 40669 3D+1, +2.56105 72234 22263 5D+1, 4 +2.87776 12297 31873 6D+2/ DATA B3 1/+7.49999 99263 58122 3D-1, -2.49963 00606 78980 2D+0, 2 -6.58834 68001 31477 4D+0, -6.89636 11433 76130 9D-1, 3 +5.20416 17289 69394 6D+2/ V=ABS(X) Y=V**2 IF(V .LT. C1) THEN P=P1(8) Q=Q1(8) DO 1 I = 7,0,-1 P=Y*P+P1(I) 1 Q=Y*Q+Q1(I) H=X*P/Q ELSE IF(V .LT. C2) THEN P=Y+A1(7) DO 2 I = 6,1,-1 2 P=Y+A1(I)+B1(I)/P H=(A1(0)+B1(0)/P)/X ELSE IF(V .LT. 5) THEN P=Y+A2(7) DO 3 I = 6,1,-1 3 P=Y+A2(I)+B2(I)/P H=(A2(0)+B2(0)/P)/X ELSE P=Y+A3(5) DO 4 I = 4,1,-1 4 P=Y+A3(I)+B3(I)/P H=(HF+HF*(A3(0)+B3(0)/P)/Y)/X END IF #if !defined(CERNLIB_DOUBLE) RDAWSN=H #endif #if defined(CERNLIB_DOUBLE) DDAWSN=H #endif RETURN END