SUBROUTINE DGR17 (Z, U, T) c Copyright (c) 1996 California Institute of Technology, Pasadena, CA. c ALL RIGHTS RESERVED. c Based on Government Sponsored Research NAS7-03001. c>> 1994-10-20 DGR17 Krogh Changes to use M77CON c>> 1994-05-10 DGR17 WVS produce SP and DP versions from same source. c>> 1993-08-04 DGR17 CLL Edited data statments for conversion to C. c>> 1993-07-21 DGR17 WVS JPL Conversion from NSWC to Math 77 c--D replaces "?": ?GR17 C ---------------------------------------------------------------------- C C ALGORITHM USING MINIMAX APPROXIMATIONS C C ---------------------------------------------------------------------- DOUBLE PRECISION Z, U, T DOUBLE PRECISION A0(5), A1(4), A2(4), A3(4), A4(3), A5(2), * A6(2), A7(2), A8(2), A9(3), A10(2) DOUBLE PRECISION B0(6), B1(6), B2(5), B3(4), B4(4), B5(4), * B6(3), B7(3), B8(2) DOUBLE PRECISION C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 C ----------------------- DATA * A0 /-.73324404807556026D-03, -.11758531313175796D-01, * -.76816029947195974D-01, -.24232172943558393D+00, * -.33333333333333333D+00/ DATA * B0 / .10555647473018528D-06, .73121701584237188D-03, * .13250270182342259D-01, .10288837674434487D+00, * .43024494247383254D+00, .97696518830675185D+00/ C ----------------------- DATA * A1 /-.16746784557475121D-03, -.16090334014223031D-02, * -.52949366601406939D-02, -.18518518518518417D-02/ DATA * B1 /.12328086517283227D-05, .98671953445602142D-03, * .15954049115266936D-01, .11439610256504704D+00, * .45195109694529839D+00, .98426579647613593D+00/ C ----------------------- DATA * A2 /.12049855113125238D-04, .13743853858711134D-03, * .15067356806896441D-02, .41335978835983393D-02/ DATA * B2 /.15927093345670077D-02, .22316881460606523D-01, * .14009848931638062D+00, .50379606871703058D+00, * .10131761625405203D+01/ C ----------------------- DATA * A3 /.46318872971699924D-05, .13012396979747783D-04, * .81804333975935872D-03, .64943415637082551D-03/ DATA * B3 /.12414068921653593D-01, .10044290377295469D+00, * .42226789458984594D+00, .90628317147366376D+00/ C ----------------------- DATA * A4 /-.37567394580525597D-05, -.82794205648271314D-04, * -.86188829773520181D-03/ DATA * B4 /.31290397554562032D-01, .16988291247058802D+00, * .57225859400072754D+00, .10057375981227881D+01/ C ----------------------- DATA * A5 /-.43263341886764011D-03, -.33679854644784478D-03/ DATA * B5 /.22714615451529335D-01, .17081504060220639D+00, * .60019022026983067D+00, .10775200414676195D+01/ C ----------------------- DATA * A6 /-.12962670089753501D-03, .53130115408837152D-03/ DATA * B6 /.65929776650152292D-01, .45957439582639129D+00, * .87058903334443855D+00/ C ----------------------- DATA * A7 /.47861364421780889D-03, .34438428473168988D-03/ DATA * B7 /.27176241899664174D+00, .78991370162247144D+00, * .12396875725833093D+01/ C ----------------------- DATA * A8 /.27086391808339115D-03, -.65256615574219131D-03/ DATA * B8 /.44207055629598579D+00, .87002402612484571D+00/ C ----------------------- DATA * A9 / .84725086921921823D-03, -.14838721516118744D-03, * -.60335050249571475D-03/ C ----------------------- DATA * A10 /-.19144384985654775D-02, .13324454494800656D-02/ C ----------------------- C C0 = ((((A0(1)*Z + A0(2))*Z + A0(3))*Z + A0(4))*Z + A0(5)) / * ((((((B0(1)*Z + B0(2))*Z + B0(3))*Z + B0(4))*Z + B0(5))*Z + * B0(6))*Z + 1.0D0) C1 = (((A1(1)*Z + A1(2))*Z + A1(3))*Z + A1(4)) / ((((((B1(1)*Z + * B1(2))*Z + B1(3))*Z + B1(4))*Z + B1(5))*Z + B1(6))*Z + * 1.0D0) C2 = (((A2(1)*Z + A2(2))*Z + A2(3))*Z + A2(4)) / (((((B2(1)*Z + * B2(2))*Z + B2(3))*Z + B2(4))*Z + B2(5))*Z + 1.0D0) C3 = (((A3(1)*Z + A3(2))*Z + A3(3))*Z + A3(4)) / ((((B3(1)*Z + * B3(2))*Z + B3(3))*Z + B3(4))*Z + 1.0D0) C4 = ((A4(1)*Z + A4(2))*Z + A4(3)) / ((((B4(1)*Z + B4(2))*Z + * B4(3))*Z + B4(4))*Z + 1.0D0) C5 = (A5(1)*Z + A5(2)) / ((((B5(1)*Z + B5(2))*Z + B5(3))*Z + * B5(4))*Z + 1.0D0) C6 = (A6(1)*Z + A6(2))/(((B6(1)*Z + B6(2))*Z + B6(3))*Z + 1.0D0) C7 = (A7(1)*Z + A7(2))/(((B7(1)*Z + B7(2))*Z + B7(3))*Z + 1.0D0) C8 = (A8(1)*Z + A8(2))/((B8(1)*Z + B8(2))*Z + 1.0D0) C9 = (A9(1)*Z + A9(2))*Z + A9(3) C10 = A10(1)*Z + A10(2) C T = (((((((((C10*U + C9)*U + C8)*U + C7)*U + C6)*U + C5)*U + * C4)*U + C3)*U + C2)*U + C1)*U + C0 C RETURN END .