diff options
author | Karl Berry <karl@freefriends.org> | 2014-08-26 17:33:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-08-26 17:33:09 +0000 |
commit | 6c4cd2ab2f8d1ebe3a051d700c3005d73eefe04c (patch) | |
tree | 16833d474c6532347c42dee6b34fa77aed22eca6 /Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx | |
parent | 097e7dc0afa442be238a967b292237470680626e (diff) |
l3 (26aug14)
git-svn-id: svn://tug.org/texlive/trunk@35045 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx | 72 |
1 files changed, 38 insertions, 34 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx index e90741a8d56..54ebb1db580 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx @@ -36,7 +36,7 @@ % %<*driver> \documentclass[full]{l3doc} -\GetIdInfo$Id: l3fp-aux.dtx 4712 2014-04-30 08:17:49Z joseph $ +\GetIdInfo$Id: l3fp-aux.dtx 5354 2014-08-23 01:35:39Z bruno $ {L3 Floating-point support functions} \documentclass[full]{l3doc} \begin{document} @@ -83,7 +83,7 @@ % ^^A todo: make sanitize and pack more homogeneous between modules. % % ^^A begin[todo]: move -% \section{Internal representation} +% \subsection{Internal representation} % % Internally, a floating point number \meta{X} is a % token list containing @@ -170,7 +170,7 @@ % \end{tabular} % \end{table} % -% \section{Internal storage of floating points numbers} +% \subsection{Internal storage of floating points numbers} % % A floating point number \meta{X} is stored as % \begin{quote} @@ -337,8 +337,10 @@ % In case of overflow or underflow, we have to output % a zero or infinity with a given sign. % \begin{macrocode} -\cs_new:Npn \@@_zero_fp:N #1 { \s_@@ \@@_chk:w 0 #1 \s_@@_underflow ; } -\cs_new:Npn \@@_inf_fp:N #1 { \s_@@ \@@_chk:w 2 #1 \s_@@_overflow ; } +\cs_new:Npn \@@_zero_fp:N #1 + { \s_@@ \@@_chk:w 0 #1 \s_@@_underflow ; } +\cs_new:Npn \@@_inf_fp:N #1 + { \s_@@ \@@_chk:w 2 #1 \s_@@_overflow ; } % \end{macrocode} % \end{macro} % @@ -402,9 +404,10 @@ % \begin{macrocode} \cs_new:Npn \@@_sanitize:Nw #1 #2; { - \if_case:w \if_int_compare:w #2 > \c_@@_max_exponent_int \c_one \else: - \if_int_compare:w #2 < - \c_@@_max_exponent_int \c_two \else: - \if_meaning:w 1 #1 \c_three \else: \c_zero \fi: \fi: \fi: + \if_case:w + \if_int_compare:w #2 > \c_@@_max_exponent_int \c_one \else: + \if_int_compare:w #2 < - \c_@@_max_exponent_int \c_two \else: + \if_meaning:w 1 #1 \c_three \else: \c_zero \fi: \fi: \fi: \or: \exp_after:wN \@@_overflow:w \or: \exp_after:wN \@@_underflow:w \or: \exp_after:wN \@@_sanitize_zero:w @@ -412,7 +415,8 @@ \s_@@ \@@_chk:w 1 #1 {#2} } \cs_new:Npn \@@_sanitize:wN #1; #2 { \@@_sanitize:Nw #2 #1; } -\cs_new:Npn \@@_sanitize_zero:w \s_@@ \@@_chk:w #1 #2 #3; { \c_zero_fp } +\cs_new:Npn \@@_sanitize_zero:w \s_@@ \@@_chk:w #1 #2 #3; + { \c_zero_fp } % \end{macrocode} % \end{macro} % \end{macro} @@ -641,7 +645,7 @@ % \c_@@_Bigg_middle_shift_int , % \c_@@_Bigg_leading_shift_int , % } -% This set of shifts allows for computations involving results in the +% This set of shifts allows for computations with results in the % range $[-1\cdot 10^{9}, 147483647]$; the end-point is $2^{31} - 1 - % 2\cdot 10^{9} \simeq 1.47\cdot 10^{8}$. Shifted values all have % exactly $10$ digits. @@ -752,14 +756,14 @@ % % \begin{macro}[aux, EXP] % { -% \\@@_decimate_auxi:Nnnnn, \\@@_decimate_auxii:Nnnnn, -% \\@@_decimate_auxiii:Nnnnn, \\@@_decimate_auxiv:Nnnnn, -% \\@@_decimate_auxv:Nnnnn, \\@@_decimate_auxvi:Nnnnn, -% \\@@_decimate_auxvii:Nnnnn, \\@@_decimate_auxviii:Nnnnn, -% \\@@_decimate_auxix:Nnnnn, \\@@_decimate_auxx:Nnnnn, -% \\@@_decimate_auxxi:Nnnnn, \\@@_decimate_auxxii:Nnnnn, -% \\@@_decimate_auxxiii:Nnnnn, \\@@_decimate_auxxiv:Nnnnn, -% \\@@_decimate_auxxv:Nnnnn, \\@@_decimate_auxxvi:Nnnnn +% \@@_decimate_auxi:Nnnnn, \@@_decimate_auxii:Nnnnn, +% \@@_decimate_auxiii:Nnnnn, \@@_decimate_auxiv:Nnnnn, +% \@@_decimate_auxv:Nnnnn, \@@_decimate_auxvi:Nnnnn, +% \@@_decimate_auxvii:Nnnnn, \@@_decimate_auxviii:Nnnnn, +% \@@_decimate_auxix:Nnnnn, \@@_decimate_auxx:Nnnnn, +% \@@_decimate_auxxi:Nnnnn, \@@_decimate_auxxii:Nnnnn, +% \@@_decimate_auxxiii:Nnnnn, \@@_decimate_auxxiv:Nnnnn, +% \@@_decimate_auxxv:Nnnnn, \@@_decimate_auxxvi:Nnnnn % } % \begin{syntax} % \cs{\@@_decimate_auxi:Nnnnn} \meta{f_1} \Arg{X_1} \Arg{X_2} \Arg{X_3} \Arg{X_4} @@ -790,22 +794,22 @@ \@@_decimate_pack:nnnnnnnnnnw #3 ; } } -\@@_tmp:w {i} {\use_none:nnn #50} { 0{#2}#3{#4}#5 } -\@@_tmp:w {ii} {\use_none:nn #5 } { 00{#2}#3{#4}#5 } -\@@_tmp:w {iii} {\use_none:n #5 } { 000{#2}#3{#4}#5 } -\@@_tmp:w {iv} { #5 } { {0000}#2{#3}#4 #5 } -\@@_tmp:w {v} {\use_none:nnn #4#5 } { 0{0000}#2{#3}#4 #5 } -\@@_tmp:w {vi} {\use_none:nn #4#5 } { 00{0000}#2{#3}#4 #5 } -\@@_tmp:w {vii} {\use_none:n #4#5 } { 000{0000}#2{#3}#4 #5 } -\@@_tmp:w {viii}{ #4#5 } { {0000}0000{#2}#3 #4 #5 } -\@@_tmp:w {ix} {\use_none:nnn #3#4+#5} { 0{0000}0000{#2}#3 #4 #5 } -\@@_tmp:w {x} {\use_none:nn #3#4+#5} { 00{0000}0000{#2}#3 #4 #5 } -\@@_tmp:w {xi} {\use_none:n #3#4+#5} { 000{0000}0000{#2}#3 #4 #5 } -\@@_tmp:w {xii} { #3#4+#5} { {0000}0000{0000}#2 #3 #4 #5 } -\@@_tmp:w {xiii}{\use_none:nnn#2#3+#4#5} { 0{0000}0000{0000}#2 #3 #4 #5 } -\@@_tmp:w {xiv} {\use_none:nn #2#3+#4#5} { 00{0000}0000{0000}#2 #3 #4 #5 } -\@@_tmp:w {xv} {\use_none:n #2#3+#4#5} { 000{0000}0000{0000}#2 #3 #4 #5 } -\@@_tmp:w {xvi} { #2#3+#4#5} {{0000}0000{0000}0000 #2 #3 #4 #5 } +\@@_tmp:w {i} {\use_none:nnn #50}{ 0{#2}#3{#4}#5 } +\@@_tmp:w {ii} {\use_none:nn #5 }{ 00{#2}#3{#4}#5 } +\@@_tmp:w {iii} {\use_none:n #5 }{ 000{#2}#3{#4}#5 } +\@@_tmp:w {iv} { #5 }{ {0000}#2{#3}#4 #5 } +\@@_tmp:w {v} {\use_none:nnn #4#5 }{ 0{0000}#2{#3}#4 #5 } +\@@_tmp:w {vi} {\use_none:nn #4#5 }{ 00{0000}#2{#3}#4 #5 } +\@@_tmp:w {vii} {\use_none:n #4#5 }{ 000{0000}#2{#3}#4 #5 } +\@@_tmp:w {viii}{ #4#5 }{ {0000}0000{#2}#3 #4 #5 } +\@@_tmp:w {ix} {\use_none:nnn #3#4+#5}{ 0{0000}0000{#2}#3 #4 #5 } +\@@_tmp:w {x} {\use_none:nn #3#4+#5}{ 00{0000}0000{#2}#3 #4 #5 } +\@@_tmp:w {xi} {\use_none:n #3#4+#5}{ 000{0000}0000{#2}#3 #4 #5 } +\@@_tmp:w {xii} { #3#4+#5}{ {0000}0000{0000}#2 #3 #4 #5 } +\@@_tmp:w {xiii}{\use_none:nnn#2#3+#4#5}{ 0{0000}0000{0000}#2 #3 #4 #5 } +\@@_tmp:w {xiv} {\use_none:nn #2#3+#4#5}{ 00{0000}0000{0000}#2 #3 #4 #5 } +\@@_tmp:w {xv} {\use_none:n #2#3+#4#5}{ 000{0000}0000{0000}#2 #3 #4 #5 } +\@@_tmp:w {xvi} { #2#3+#4#5}{{0000}0000{0000}0000 #2 #3 #4 #5} % \end{macrocode} % \end{macro} % |