diff options
author | Karl Berry <karl@freefriends.org> | 2014-06-17 22:32:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-06-17 22:32:09 +0000 |
commit | 3c2f50b92407533aabaef1823006032eedd6ef90 (patch) | |
tree | eb67245dd952c951b95c485a5eb66f9539ac83df /Master/texmf-dist/source/latex/l3kernel/l3fp-old.dtx | |
parent | 4aa0b8110f2fdb3044d8b26d54e12cbb49a9a3dc (diff) |
l3
git-svn-id: svn://tug.org/texlive/trunk@34268 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3fp-old.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3fp-old.dtx | 288 |
1 files changed, 0 insertions, 288 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-old.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-old.dtx deleted file mode 100644 index 229840bfcf1..00000000000 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-old.dtx +++ /dev/null @@ -1,288 +0,0 @@ -% \iffalse meta-comment -% -%% File: l3fp-old.dtx Copyright (C) 2012,2014 The LaTeX3 Project -%% -%% It may be distributed and/or modified under the conditions of the -%% LaTeX Project Public License (LPPL), either version 1.3c of this -%% license or (at your option) any later version. The latest version -%% of this license is in the file -%% -%% http://www.latex-project.org/lppl.txt -%% -%% This file is part of the "l3kernel bundle" (The Work in LPPL) -%% and all files in that bundle must be distributed together. -%% -%% The released version of this bundle is available from CTAN. -%% -%% ----------------------------------------------------------------------- -%% -%% The development version of the bundle can be found at -%% -%% http://www.latex-project.org/svnroot/experimental/trunk/ -%% -%% for those people who are interested. -%% -%%%%%%%%%%% -%% NOTE: %% -%%%%%%%%%%% -%% -%% Snapshots taken from the repository represent work in progress and may -%% not work or may contain conflicting material! We therefore ask -%% people _not_ to put them into distributions, archives, etc. without -%% prior consultation with the LaTeX3 Project Team. -%% -%% ----------------------------------------------------------------------- -%% -% -%<*driver> -\documentclass[full]{l3doc} -\GetIdInfo$Id: l3fp-old.dtx 4712 2014-04-30 08:17:49Z joseph $ - {L3 Experimental floating-points (old)} -\begin{document} - \DocInput{\jobname.dtx} -\end{document} -%</driver> -% \fi -% -% \title{^^A -% The \pkg{l3fp-old} package\\ Floating-points (old)^^A -% \thanks{This file describes v\ExplFileVersion, -% last revised \ExplFileDate.}^^A -% } -% -% \author{^^A -% The \LaTeX3 Project\thanks -% {^^A -% E-mail: -% \href{mailto:latex-team@latex-project.org} -% {latex-team@latex-project.org}^^A -% }^^A -% } -% -% \date{Released \ExplFileDate} -% -% \maketitle -% -% \begin{documentation} -% -% \end{documentation} -% -% \begin{implementation} -% -% \section{\pkg{l3fp-old} implementation} -% -% \begin{macrocode} -%<*initex|package> -% \end{macrocode} -% -% \begin{macrocode} -%<@@=fp> -% \end{macrocode} -% -% \subsection{Compatibility} -% -% \begin{variable}{\c_undefined_fp} -% The old floating point number \cs{c_undefined_fp} is now implemented -% as a \texttt{nan}. -% \begin{macrocode} -\fp_const:Nn \c_undefined_fp { nan } -% \end{macrocode} -% \end{variable} -% -% \begin{macro}[pTF]{\fp_if_undefined:N} -% An old floating point is undefined if it is \texttt{inf} or -% \texttt{nan}, \emph{i.e.}, if its type is $2$ or $3$. -% \begin{macrocode} -\prg_new_conditional:Npnn \fp_if_undefined:N #1 { p , T , F , TF } - { \exp_after:wN \@@_if_undefined:w #1 } -\cs_new:Npn \@@_if_undefined:w \s_@@ \@@_chk:w #1#2; - { - \if_int_compare:w #1 > \c_one - \prg_return_true: \else: \prg_return_false: \fi: - } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}[pTF]{\fp_if_zero:N} -% An old floating point is zero if it is $\pm 0$, \emph{i.e.}, its -% type is $0$. -% \begin{macrocode} -\prg_new_conditional:Npnn \fp_if_zero:N #1 { p , T , F , TF } - { \exp_after:wN \@@_if_zero:w #1 } -\cs_new:Npn \@@_if_zero:w \s_@@ \@@_chk:w #1#2; - { \if_meaning:w #1 0 \prg_return_true: \else: \prg_return_false: \fi: } -% \end{macrocode} -% \end{macro} -% -% \begin{macro} -% { -% \fp_abs:N , \fp_abs:c , \fp_gabs:N , \fp_gabs:c , -% \fp_neg:N , \fp_neg:c , \fp_gneg:N , \fp_gneg:c , -% } -% \begin{macro}[aux]{\@@_abs:NNN} -% Simply expand the floating point variable to feed it to -% \cs{@@_abs_o:w} or \cs{@@_-_o:w}, expanded within an expanding -% token list assignment. The \cs{prg_do_nothing:} is not necessary, -% but it reminds us more clearly that \cs{@@_abs_o:w} and -% \cs{@@_-_o:w} expand after their result. -% \begin{macrocode} -\cs_new_protected_nopar:Npn \fp_abs:N { \@@_abs:NNN \tl_set:Nx \@@_abs_o:w } -\cs_new_protected_nopar:Npn \fp_gabs:N { \@@_abs:NNN \tl_gset:Nx \@@_abs_o:w } -\cs_new_protected_nopar:Npx \fp_neg:N - { - \exp_not:N \@@_abs:NNN - \exp_not:N \tl_set:Nx - \exp_not:c { @@_-_o:w } - } -\cs_new_protected_nopar:Npx \fp_gneg:N - { - \exp_not:N \@@_abs:NNN - \exp_not:N \tl_gset:Nx - \exp_not:c { @@_-_o:w } - } -\cs_new_protected:Npn \@@_abs:NNN #1#2#3 - { #1 #3 { \exp_after:wN #2 #3 \prg_do_nothing: } } -\cs_generate_variant:Nn \fp_abs:N { c } -\cs_generate_variant:Nn \fp_gabs:N { c } -\cs_generate_variant:Nn \fp_neg:N { c } -\cs_generate_variant:Nn \fp_gneg:N { c } -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro} -% { -% \fp_mul:Nn, \fp_mul:cn, \fp_gmul:Nn, \fp_gmul:cn, -% \fp_div:Nn, \fp_div:cn, \fp_gdiv:Nn, \fp_gdiv:cn, -% \fp_pow:Nn, \fp_pow:cn, \fp_gpow:Nn, \fp_gpow:cn, -% } -% \begin{macro}[aux]{\@@_mul:NNNn} -% See \cs{fp_add:Nn} for details. -% \begin{macrocode} -\cs_new_protected_nopar:Npn \fp_mul:Nn { \@@_mul:NNNn \fp_set:Nn * } -\cs_new_protected_nopar:Npn \fp_gmul:Nn { \@@_mul:NNNn \fp_gset:Nn * } -\cs_new_protected_nopar:Npn \fp_div:Nn { \@@_mul:NNNn \fp_set:Nn / } -\cs_new_protected_nopar:Npn \fp_gdiv:Nn { \@@_mul:NNNn \fp_gset:Nn / } -\cs_new_protected_nopar:Npn \fp_pow:Nn { \@@_mul:NNNn \fp_set:Nn ^ } -\cs_new_protected_nopar:Npn \fp_gpow:Nn { \@@_mul:NNNn \fp_gset:Nn ^ } -\cs_new_protected:Npn \@@_mul:NNNn #1#2#3#4 - { #1 #3 { #3 #2 \@@_parse:n {#4} } } -\cs_generate_variant:Nn \fp_mul:Nn { c } -\cs_generate_variant:Nn \fp_gmul:Nn { c } -\cs_generate_variant:Nn \fp_div:Nn { c } -\cs_generate_variant:Nn \fp_gdiv:Nn { c } -\cs_generate_variant:Nn \fp_pow:Nn { c } -\cs_generate_variant:Nn \fp_gpow:Nn { c } -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro} -% { -% \fp_exp:Nn, \fp_exp:cn, \fp_gexp:Nn, \fp_gexp:cn, -% \fp_ln:Nn , \fp_ln:cn , \fp_gln:Nn , \fp_gln:cn , -% \fp_sin:Nn, \fp_sin:cn, \fp_gsin:Nn, \fp_gsin:cn, -% \fp_cos:Nn, \fp_cos:cn, \fp_gcos:Nn, \fp_gcos:cn, -% \fp_tan:Nn, \fp_tan:cn, \fp_gtan:Nn, \fp_gtan:cn, -% } -% \begin{macro}[aux] -% {\@@_assign_to:nNNNn, \@@_assign_to_i:wNNNn, \@@_assign_to_ii:NnNNN} -% Here, an added twist is that each value computed by these expensive -% unary operations is stored as a constant floating point number. -% \begin{macrocode} -\cs_set_protected:Npn \@@_tmp:w #1#2#3#4#5 - { - \cs_new_protected_nopar:Npn #1 { #5 {#4} \tl_set_eq:NN #3 } - \cs_new_protected_nopar:Npn #2 { #5 {#4} \tl_gset_eq:NN #3 } - \cs_generate_variant:Nn #1 { c } - \cs_generate_variant:Nn #2 { c } - } -\@@_tmp:w \fp_exp:Nn \fp_gexp:Nn \@@_exp_o:w {exp} \@@_assign_to:nNNNn -\@@_tmp:w \fp_ln:Nn \fp_gln:Nn \@@_ln_o:w {ln } \@@_assign_to:nNNNn -\@@_tmp:w \fp_sin:Nn \fp_gsin:Nn \@@_sin_o:w {sin} \@@_assign_to:nNNNn -\@@_tmp:w \fp_cos:Nn \fp_gcos:Nn \@@_cos_o:w {cos} \@@_assign_to:nNNNn -\@@_tmp:w \fp_tan:Nn \fp_gtan:Nn \@@_tan_o:w {tan} \@@_assign_to:nNNNn -\cs_new_protected:Npn \@@_assign_to:nNNNn #1#2#3#4#5 - { - \exp_after:wN \@@_assign_to_i:wNNNn - \tex_romannumeral:D -`0 \@@_parse:n {#5} {#1} #2#3#4 - } -\cs_new_protected:Npn \@@_assign_to_i:wNNNn \s_@@ \@@_chk:w #1#2#3; #4 - { - \exp_args:Nc \@@_assign_to_ii:NnNNN - { c_@@_ #4 [ #1 # 2 \if_meaning:w 1 #1 #3 \fi: ] _fp } - { #1#2#3 } - } -\cs_new_protected:Npn \@@_assign_to_ii:NnNNN #1#2#3#4#5 - { - \cs_if_exist:NF #1 - { \tl_const:Nx #1 { #4 \s_@@ \@@_chk:w #2; } } - #3 #5 #1 - } -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}[TF]{\fp_compare:NNN} -% Comparisons used to be easier between floating points stored in -% variables. No more. -% \begin{macrocode} -\cs_new_protected_nopar:Npn \fp_compare:NNNTF { \fp_compare:nNnTF } -\cs_new_protected_nopar:Npn \fp_compare:NNNT { \fp_compare:nNnT } -\cs_new_protected_nopar:Npn \fp_compare:NNNF { \fp_compare:nNnF } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\fp_round_places:Nn, \fp_ground_places:Nn} -% \begin{macro}[aux]{\@@_round_places:NNn} -% Rounding to a given number of places is easy, since it is provided -% by the \pkg{l3fp-round} module. -% \begin{macrocode} -\cs_new_protected_nopar:Npn \fp_round_places:Nn - { \@@_round_places:NNn \tl_set:Nx } -\cs_new_protected_nopar:Npn \fp_ground_places:Nn - { \@@_round_places:NNn \tl_gset:Nx } -\cs_new_protected:Npn \@@_round_places:NNn #1#2#3 - { - #1 #2 - { - \exp_after:wN \exp_after:wN - \exp_after:wN \@@_round:Nwn - \exp_after:wN \exp_after:wN - \exp_after:wN \@@_round_to_nearest:NNN - \exp_after:wN #2 - \exp_after:wN { \int_use:N \__int_eval:w #3 } - } - } -\cs_generate_variant:Nn \fp_round_places:Nn { c } -\cs_generate_variant:Nn \fp_ground_places:Nn { c } -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\fp_round_figures:Nn, \fp_ground_figures:Nn} -% Rounding to a given number of figures is the same as rounding to a -% number of places, after shifting by the exponent of the argument. -% \begin{macrocode} -\cs_new_protected:Npn \fp_round_figures:Nn #1#2 - { - \@@_round_places:NNn \tl_set:Nx #1 - { #2 - \exp_after:wN \@@_exponent:w #1 } - } -\cs_new_protected:Npn \fp_ground_figures:Nn #1#2 - { - \@@_round_places:NNn \tl_gset:Nx #1 - { #2 - \exp_after:wN \@@_exponent:w #1 } - } -\cs_generate_variant:Nn \fp_round_figures:Nn { c } -\cs_generate_variant:Nn \fp_ground_figures:Nn { c } -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</initex|package> -% \end{macrocode} -% -% \end{implementation} -% -% \PrintIndex |