* * $Id$ * * $Log$ * Revision 1.1.1.1 1996/04/01 15:02:06 mclareni * Mathlib gen * * #include "gen/pilot.h" #if !defined(CERNLIB_DOUBLE) FUNCTION RSININ(X) #endif #if defined(CERNLIB_DOUBLE) FUNCTION DSININ(X) #endif #include "gen/imp64.inc" CHARACTER NAME*(*) CHARACTER*80 ERRTXT #if !defined(CERNLIB_DOUBLE) PARAMETER (NAME = 'RCOSIN') #endif #if defined(CERNLIB_DOUBLE) PARAMETER (NAME = 'RCOSIN/DCOSIN') #endif DIMENSION S(0:15),C(0:15),P(0:28),Q(0:24) PARAMETER (Z1 = 1, R8 = Z1/8, R32 = Z1/32) PARAMETER (PI = 3.14159 26535 89793 24D0) PARAMETER (CE = 0.57721 56649 01532 86D0) PARAMETER (PIH = PI/2) DATA S( 0) /+1.95222 09759 53071 08D0/ DATA S( 1) /-0.68840 42321 25715 44D0/ DATA S( 2) /+0.45518 55132 25584 84D0/ DATA S( 3) /-0.18045 71236 83877 85D0/ DATA S( 4) /+0.04104 22133 75859 24D0/ DATA S( 5) /-0.00595 86169 55588 85D0/ DATA S( 6) /+0.00060 01427 41414 43D0/ DATA S( 7) /-0.00004 44708 32910 75D0/ DATA S( 8) /+0.00000 25300 78230 75D0/ DATA S( 9) /-0.00000 01141 30759 30D0/ DATA S(10) /+0.00000 00041 85783 94D0/ DATA S(11) /-0.00000 00001 27347 06D0/ DATA S(12) /+0.00000 00000 03267 36D0/ DATA S(13) /-0.00000 00000 00071 68D0/ DATA S(14) /+0.00000 00000 00001 36D0/ DATA S(15) /-0.00000 00000 00000 02D0/ DATA C( 0) /+1.94054 91464 83554 93D0/ DATA C( 1) /+0.94134 09132 86521 34D0/ DATA C( 2) /-0.57984 50342 92992 76D0/ DATA C( 3) /+0.30915 72011 15927 13D0/ DATA C( 4) /-0.09161 01792 20771 34D0/ DATA C( 5) /+0.01644 37407 51546 25D0/ DATA C( 6) /-0.00197 13091 95216 41D0/ DATA C( 7) /+0.00016 92538 85083 50D0/ DATA C( 8) /-0.00001 09393 29573 11D0/ DATA C( 9) /+0.00000 05522 38574 84D0/ DATA C(10) /-0.00000 00223 99493 31D0/ DATA C(11) /+0.00000 00007 46533 25D0/ DATA C(12) /-0.00000 00000 20818 33D0/ DATA C(13) /+0.00000 00000 00493 12D0/ DATA C(14) /-0.00000 00000 00010 05D0/ DATA C(15) /+0.00000 00000 00000 18D0/ DATA P( 0) /+0.96074 78397 52035 96D0/ DATA P( 1) /-0.03711 38962 12398 06D0/ DATA P( 2) /+0.00194 14398 88991 90D0/ DATA P( 3) /-0.00017 16598 84251 47D0/ DATA P( 4) /+0.00002 11263 77532 31D0/ DATA P( 5) /-0.00000 32716 32567 12D0/ DATA P( 6) /+0.00000 06006 92116 15D0/ DATA P( 7) /-0.00000 01258 67944 03D0/ DATA P( 8) /+0.00000 00293 25634 58D0/ DATA P( 9) /-0.00000 00074 56959 21D0/ DATA P(10) /+0.00000 00020 41054 78D0/ DATA P(11) /-0.00000 00005 95022 30D0/ DATA P(12) /+0.00000 00001 83229 67D0/ DATA P(13) /-0.00000 00000 59205 06D0/ DATA P(14) /+0.00000 00000 19965 17D0/ DATA P(15) /-0.00000 00000 06995 11D0/ DATA P(16) /+0.00000 00000 02536 86D0/ DATA P(17) /-0.00000 00000 00949 29D0/ DATA P(18) /+0.00000 00000 00365 52D0/ DATA P(19) /-0.00000 00000 00144 49D0/ DATA P(20) /+0.00000 00000 00058 51D0/ DATA P(21) /-0.00000 00000 00024 23D0/ DATA P(22) /+0.00000 00000 00010 25D0/ DATA P(23) /-0.00000 00000 00004 42D0/ DATA P(24) /+0.00000 00000 00001 94D0/ DATA P(25) /-0.00000 00000 00000 87D0/ DATA P(26) /+0.00000 00000 00000 39D0/ DATA P(27) /-0.00000 00000 00000 18D0/ DATA P(28) /+0.00000 00000 00000 08D0/ DATA Q( 0) /+0.98604 06569 62382 60D0/ DATA Q( 1) /-0.01347 17382 08295 21D0/ DATA Q( 2) /+0.00045 32928 41165 23D0/ DATA Q( 3) /-0.00003 06728 86516 55D0/ DATA Q( 4) /+0.00000 31319 91976 01D0/ DATA Q( 5) /-0.00000 04211 01964 96D0/ DATA Q( 6) /+0.00000 00690 72448 30D0/ DATA Q( 7) /-0.00000 00131 83212 90D0/ DATA Q( 8) /+0.00000 00028 36974 33D0/ DATA Q( 9) /-0.00000 00006 73292 34D0/ DATA Q(10) /+0.00000 00001 73396 87D0/ DATA Q(11) /-0.00000 00000 47869 39D0/ DATA Q(12) /+0.00000 00000 14032 35D0/ DATA Q(13) /-0.00000 00000 04334 96D0/ DATA Q(14) /+0.00000 00000 01402 73D0/ DATA Q(15) /-0.00000 00000 00473 06D0/ DATA Q(16) /+0.00000 00000 00165 58D0/ DATA Q(17) /-0.00000 00000 00059 94D0/ DATA Q(18) /+0.00000 00000 00022 37D0/ DATA Q(19) /-0.00000 00000 00008 59D0/ DATA Q(20) /+0.00000 00000 00003 38D0/ DATA Q(21) /-0.00000 00000 00001 36D0/ DATA Q(22) /+0.00000 00000 00000 56D0/ DATA Q(23) /-0.00000 00000 00000 24D0/ DATA Q(24) /+0.00000 00000 00000 10D0/ IF(ABS(X) .LE. 8) THEN Y=R8*X H=2*Y**2-1 ALFA=H+H B1=0 B2=0 DO 1 I = 15,0,-1 B0=S(I)+ALFA*B1-B2 B2=B1 1 B1=B0 H=Y*(B0-B2) ELSE R=1/X H=128*R**2-1 ALFA=H+H B1=0 B2=0 DO 2 I = 28,0,-1 B0=P(I)+ALFA*B1-B2 B2=B1 2 B1=B0 PP=B0-H*B2 B1=0 B2=0 DO 3 I = 24,0,-1 B0=Q(I)+ALFA*B1-B2 B2=B1 3 B1=B0 H=SIGN(PIH,X)-R*(R*PP*SIN(X)+(B0-H*B2)*COS(X)) END IF GO TO 9 #if !defined(CERNLIB_DOUBLE) ENTRY RCOSIN(X) #endif #if defined(CERNLIB_DOUBLE) ENTRY DCOSIN(X) #endif IF(X .EQ. 0) THEN H=0 CALL MTLPRT(NAME,'C336.1','ARGUMENT X = 0') ELSEIF(ABS(X) .LE. 8) THEN H=R32*X**2-1 ALFA=H+H B1=0 B2=0 DO 4 I = 15,0,-1 B0=C(I)+ALFA*B1-B2 B2=B1 4 B1=B0 H=CE+LOG(ABS(X))-B0+H*B2 ELSE R=1/X H=128*R**2-1 ALFA=H+H B1=0 B2=0 DO 5 I = 28,0,-1 B0=P(I)+ALFA*B1-B2 B2=B1 5 B1=B0 PP=B0-H*B2 B1=0 B2=0 DO 6 I = 24,0,-1 B0=Q(I)+ALFA*B1-B2 B2=B1 6 B1=B0 H=R*((B0-H*B2)*SIN(X)-R*PP*COS(X)) END IF #if !defined(CERNLIB_DOUBLE) 9 RSININ=H #endif #if defined(CERNLIB_DOUBLE) 9 DSININ=H #endif RETURN END