☜ | $%TANDraft MDC Standard | ☞ |
TAN(X,PREC) ; New L,LIM,K,S,SIGN,VALUE ; ; The official description does not mention that ; the function may also be called with the first ; parameter in degrees, minutes and seconds. Set:X[":" X=$%DMSDEC^MATH(X) ; Set PREC=$Get(PREC,11) Set X=X#(2*$%PI^MATH()) Set (VALUE,L)=X,SIGN=–1 Set LIM=$Select((PREC+3)'>11:PREC+3,1:11),@("LIM=1E-"_LIM) For K=3:2 Do Quit:($Translate(L,"-")<LIM) Set SIGN=SIGN*–1 . Set L=L/(K–1)*X/K*X,VALUE=VALUE+(SIGN*L) . Quit Set S=VALUE Set X=X#(2*$%PI^MATH()) Set (VALUE,L)=1,SIGN=–1 Set LIM=$Select((PREC+3)'>11:PREC+3,1:11),@("LIM=1E-"_LIM) For K=2:2 Do Quit:($Translate(L,"-")<LIM) Set SIGN=SIGN*–1 . Set L=L*X*X/(K–1*K),VALUE=VALUE+(SIGN*L) . Quit If 'VALUE Quit "INFINITE" Quit S/VALUE
Copyright © Standard Documents; 1977-2024 MUMPS Development Committee;
Copyright © Examples: 1995-2024 Ed de Moel;
Copyright © Annotations: 2003-2008 Jacquard Systems Research
Copyright © Annotations: 2008-2024 Ed de Moel.
Some specifications are "approved for inclusion in a future standard". Note that the MUMPS Development Committee cannot guarantee that such future standards will indeed be published.
This page most recently updated on 16-Nov-2023, 16:54:18.
For comments, contact Ed de Moel (demoel@jacquardsystems.com)