diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/minifp/mfpextra.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/minifp/mfpextra.tex | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/Master/texmf-dist/tex/generic/minifp/mfpextra.tex b/Master/texmf-dist/tex/generic/minifp/mfpextra.tex index 7d541bd4747..2e9a6d88bf0 100644 --- a/Master/texmf-dist/tex/generic/minifp/mfpextra.tex +++ b/Master/texmf-dist/tex/generic/minifp/mfpextra.tex @@ -124,29 +124,36 @@ \ifnum\MFP@tempa=90 \MFP@Rloadz \MFP@sin@Sgn10% \else - \advance\MFP@tempb 50 - \divide\MFP@tempb 100 - \multiply\MFP@tempa 1000000 - \advance\MFP@tempb\MFP@tempa - \MFP@Rsin@prog + \advance\MFP@tempb 50 \divide\MFP@tempb 100 + \multiply\MFP@tempa 1000000 \advance\MFP@tempb\MFP@tempa + \ifnum\MFP@tempb=0 + \MFP@Rzero + \else + \MFP@Rload x10\MFP@tempb + \MFP@Rcopy xs% + \MFP@Rsq + \ifnum \MFP@z@Frc>0 + \MFP@Rcopyz t\MFP@Rsin@prog + \else + \MFP@Rcopy sx% + \fi + \MFP@Rload y11{74532925}\MFP@Rmul + \ifnum\MFP@z@Sgn=0 \else + \let\MFP@z@Sgn\MFP@sin@Sgn + \fi + \fi \fi}% \def\MFP@Rsin@prog{% - \MFP@Rload x10\MFP@tempb - \MFP@Rcopy xs% - \MFP@Rsq - \MFP@Rcopyz t% \MFP@Rcopy tx% \MFP@Rload y10{00559959}\MFP@Rsmul\MFP@com@iter{01450559}% \MFP@com@iter{01952675}\MFP@com@iter{02769249}\MFP@com@iter{04230797}% \MFP@com@iter{07252796}\MFP@com@iter{15230871}\MFP@com@iter{50769570}% - \MFP@flipz\MFP@Rcopyzx\MFP@Rcopy sy\MFP@Rsmul - \MFP@Rcopyzx\MFP@Rload y11{74532925}\MFP@Rmul - \let\MFP@z@Sgn\MFP@sin@Sgn}% + \MFP@flipz \MFP@Rcopyzx \MFP@Rcopy sy\MFP@Rsmul \MFP@Rcopyzx}% \def\MFP@flipz{% \ifnum\MFP@z@Sgn=0 \MFP@Rloadz 110% \else - \MFP@tempa\MFP@ttteight % representing 1.00000000 + \MFP@tempa\MFP@ttteight \advance\MFP@tempa-\MFP@z@Frc\relax \MFP@Rloadz{\ifcase\MFP@tempa 0\else1\fi}0\MFP@tempa \fi}% @@ -158,9 +165,9 @@ \MFP@Rzero \else\ifnum \MFP@y@Sgn=0 \MFP@Rzero - \else\ifnum\MFP@x@Int>0 % x must be 1.0 + \else\ifnum\MFP@x@Int>0 \MFP@Rcopy yz% - \else\ifnum\MFP@y@Int>0 % y must be 1.0 + \else\ifnum\MFP@y@Int>0 \MFP@Rcopy xz% \else \MFP@@Rsmul @@ -370,7 +377,7 @@ \MFP@Rexp@pos \else \def\MFP@x@Sgn{1}% - \MFP@Rexp@neg % computes e^{-x}, not e^x + \MFP@Rexp@neg \fi}% \def\MFP@Rexp@pos{% \MFP@Rload y1{18}{42068074}\MFP@Rcmp @@ -506,13 +513,13 @@ \MFP@msgbreak The fractional part will be ignored}% \fi \MFP@loopctr=\MFP@y@Int\relax - \ifnum\MFP@loopctr=0 % zero power = 1 + \ifnum\MFP@loopctr=0 \MFP@Rloadz 110% \else \ifnum\MFP@x@Sgn=0 - \ifnum\MFP@y@Sgn>0 % + powers of zero are 0 + \ifnum\MFP@y@Sgn>0 \MFP@Rloadz 000% - \else % - powers are errors + \else \MFP@badpower@err \MFP@Rloadz 1\xOverZeroInt\xOverZeroFrac \fi |