summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/minifp/mfpextra.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/minifp/mfpextra.tex')
-rw-r--r--Master/texmf-dist/tex/generic/minifp/mfpextra.tex45
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