☜ | $%CPOWERDraft MDC Standard | ☞ |
CPOWER(Z,N,PREC) ; New AR,NIM,NRE,PHI,PI,R,RHO,TH,ZIM,ZRE ; Set PREC=$Get(PREC,11) Set ZRE=+Z,ZIM=+$Piece(Z,"%",2) Set NRE=+N,NIM=+$Piece(N,"%",2) If 'ZRE,'ZIM,'NRE,'NIM Set $Ecode=",M28," ; If 'ZRE,'ZIM Quit "0%0" ; Set PI=$%PI^MATH() Set R=$%SQRT^MATH(ZRE*ZRE+(ZIM*ZIM),PREC) ; If ZRE Set TH=$%ARCTAN^MATH(ZIM/ZRE,PREC) Else Set TH=$Select(ZIM>0:PI/2,1:-PI/2) ; Set RHO=$%LOG^MATH(R,PREC) Set AR=$%EXP^MATH(RHO*NRE-(TH*NIM),PREC) Set PHI=RHO*NIM+(NRE*TH) Quit AR*$%COS^MATH(PHI,PREC)_"%"_(AR*$%SIN^MATH(PHI,PREC))
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:50:06.
For comments, contact Ed de Moel (demoel@jacquardsystems.com)