[latex3-commits] [git/LaTeX3-latex3-latex3] master: Make "unary not" work for tuples (see #438) (c92f0cb)
Bruno Le Floch
bruno at le-floch.fr
Sun Feb 25 04:34:46 CET 2018
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/c92f0cbadef2b36bc96b616302086a1d1971d991
>---------------------------------------------------------------
commit c92f0cbadef2b36bc96b616302086a1d1971d991
Author: Bruno Le Floch <bruno at le-floch.fr>
Date: Sat Feb 24 22:34:46 2018 -0500
Make "unary not" work for tuples (see #438)
For floating point numbers I had decided that +0 and -0 are false and
anything else is true. Consistent with this, tuples are always true.
>---------------------------------------------------------------
c92f0cbadef2b36bc96b616302086a1d1971d991
l3kernel/l3fp-logic.dtx | 5 +++--
l3kernel/testfiles/m3expl001.luatex.tlg | 1 +
l3kernel/testfiles/m3expl001.ptex.tlg | 1 +
l3kernel/testfiles/m3expl001.tlg | 1 +
l3kernel/testfiles/m3expl001.uptex.tlg | 1 +
l3kernel/testfiles/m3expl001.xetex.tlg | 1 +
l3kernel/testfiles/m3expl003.luatex.tlg | 1 +
l3kernel/testfiles/m3expl003.ptex.tlg | 1 +
l3kernel/testfiles/m3expl003.tlg | 1 +
l3kernel/testfiles/m3expl003.uptex.tlg | 1 +
l3kernel/testfiles/m3expl003.xetex.tlg | 1 +
l3kernel/testfiles/m3fp-logic002.lvt | 3 ++-
l3kernel/testfiles/m3fp-logic002.tlg | 1 +
13 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/l3kernel/l3fp-logic.dtx b/l3kernel/l3fp-logic.dtx
index 678c76c..35e0c98 100644
--- a/l3kernel/l3fp-logic.dtx
+++ b/l3kernel/l3fp-logic.dtx
@@ -511,12 +511,12 @@
%
% \subsection{Boolean operations}
%
-% \begin{macro}[EXP]{\@@_not_o:w}
+% \begin{macro}[EXP]{\@@_not_o:w, \@@_tuple_not_o:w}
% Return \texttt{true} or \texttt{false}, with two expansions, one to
% exit the conditional, and one to please \pkg{l3fp-parse}. The first
% argument is provided by \pkg{l3fp-parse} and is ignored.
% \begin{macrocode}
-\cs_new:cpn { @@_not_o:w } #1 \s_@@ \@@_chk:w #2#3; @
+\cs_new:Npn \@@_not_o:w #1 \s_@@ \@@_chk:w #2#3; @
{
\if_meaning:w 0 #2
\exp_after:wN \exp_after:wN \exp_after:wN \c_one_fp
@@ -524,6 +524,7 @@
\exp_after:wN \exp_after:wN \exp_after:wN \c_zero_fp
\fi:
}
+\cs_new:Npn \@@_tuple_not_o:w #1 @ { \exp_after:wN \c_zero_fp }
% \end{macrocode}
% \end{macro}
%
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index b80430b..3634264 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -4089,6 +4089,7 @@ Defining \__fp_minmax_auxi:ww on line ...
Defining \__fp_minmax_auxii:ww on line ...
Defining \__fp_minmax_break_o:w on line ...
Defining \__fp_not_o:w on line ...
+Defining \__fp_tuple_not_o:w on line ...
Defining \__fp_&_o:ww on line ...
Defining \__fp_|_o:ww on line ...
Defining \__fp_and_return:wNw on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index db96d11..f6fc677 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -4077,6 +4077,7 @@ Defining \__fp_minmax_auxi:ww on line ...
Defining \__fp_minmax_auxii:ww on line ...
Defining \__fp_minmax_break_o:w on line ...
Defining \__fp_not_o:w on line ...
+Defining \__fp_tuple_not_o:w on line ...
Defining \__fp_&_o:ww on line ...
Defining \__fp_|_o:ww on line ...
Defining \__fp_and_return:wNw on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index ed28c87..cefe3ab 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -4077,6 +4077,7 @@ Defining \__fp_minmax_auxi:ww on line ...
Defining \__fp_minmax_auxii:ww on line ...
Defining \__fp_minmax_break_o:w on line ...
Defining \__fp_not_o:w on line ...
+Defining \__fp_tuple_not_o:w on line ...
Defining \__fp_&_o:ww on line ...
Defining \__fp_|_o:ww on line ...
Defining \__fp_and_return:wNw on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index bb61100..1599de4 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -4077,6 +4077,7 @@ Defining \__fp_minmax_auxi:ww on line ...
Defining \__fp_minmax_auxii:ww on line ...
Defining \__fp_minmax_break_o:w on line ...
Defining \__fp_not_o:w on line ...
+Defining \__fp_tuple_not_o:w on line ...
Defining \__fp_&_o:ww on line ...
Defining \__fp_|_o:ww on line ...
Defining \__fp_and_return:wNw on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 7a5ae0c..06e222c 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -4087,6 +4087,7 @@ Defining \__fp_minmax_auxi:ww on line ...
Defining \__fp_minmax_auxii:ww on line ...
Defining \__fp_minmax_break_o:w on line ...
Defining \__fp_not_o:w on line ...
+Defining \__fp_tuple_not_o:w on line ...
Defining \__fp_&_o:ww on line ...
Defining \__fp_|_o:ww on line ...
Defining \__fp_and_return:wNw on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index b80430b..3634264 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -4089,6 +4089,7 @@ Defining \__fp_minmax_auxi:ww on line ...
Defining \__fp_minmax_auxii:ww on line ...
Defining \__fp_minmax_break_o:w on line ...
Defining \__fp_not_o:w on line ...
+Defining \__fp_tuple_not_o:w on line ...
Defining \__fp_&_o:ww on line ...
Defining \__fp_|_o:ww on line ...
Defining \__fp_and_return:wNw on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index db96d11..f6fc677 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -4077,6 +4077,7 @@ Defining \__fp_minmax_auxi:ww on line ...
Defining \__fp_minmax_auxii:ww on line ...
Defining \__fp_minmax_break_o:w on line ...
Defining \__fp_not_o:w on line ...
+Defining \__fp_tuple_not_o:w on line ...
Defining \__fp_&_o:ww on line ...
Defining \__fp_|_o:ww on line ...
Defining \__fp_and_return:wNw on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index ed28c87..cefe3ab 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -4077,6 +4077,7 @@ Defining \__fp_minmax_auxi:ww on line ...
Defining \__fp_minmax_auxii:ww on line ...
Defining \__fp_minmax_break_o:w on line ...
Defining \__fp_not_o:w on line ...
+Defining \__fp_tuple_not_o:w on line ...
Defining \__fp_&_o:ww on line ...
Defining \__fp_|_o:ww on line ...
Defining \__fp_and_return:wNw on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index bb61100..1599de4 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -4077,6 +4077,7 @@ Defining \__fp_minmax_auxi:ww on line ...
Defining \__fp_minmax_auxii:ww on line ...
Defining \__fp_minmax_break_o:w on line ...
Defining \__fp_not_o:w on line ...
+Defining \__fp_tuple_not_o:w on line ...
Defining \__fp_&_o:ww on line ...
Defining \__fp_|_o:ww on line ...
Defining \__fp_and_return:wNw on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 7a5ae0c..06e222c 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -4087,6 +4087,7 @@ Defining \__fp_minmax_auxi:ww on line ...
Defining \__fp_minmax_auxii:ww on line ...
Defining \__fp_minmax_break_o:w on line ...
Defining \__fp_not_o:w on line ...
+Defining \__fp_tuple_not_o:w on line ...
Defining \__fp_&_o:ww on line ...
Defining \__fp_|_o:ww on line ...
Defining \__fp_and_return:wNw on line ...
diff --git a/l3kernel/testfiles/m3fp-logic002.lvt b/l3kernel/testfiles/m3fp-logic002.lvt
index 66dfd83..85c979f 100644
--- a/l3kernel/testfiles/m3fp-logic002.lvt
+++ b/l3kernel/testfiles/m3fp-logic002.lvt
@@ -1,5 +1,5 @@
%
-% Copyright (C) 2013 LaTeX3 Project
+% Copyright (C) 2013,2018 LaTeX3 Project
%
\documentclass{minimal}
@@ -39,6 +39,7 @@
\fp_to_tl:n { -!-inf } \NEWLINE
\fp_to_tl:n { -!-1**0 } \NEWLINE
\fp_to_tl:n { -!-1**0.1 } \NEWLINE
+ \fp_to_tl:n { -!!-(1,2) } \NEWLINE
}
\TESTEXP { With~an~error }
{ \fp_to_tl:n { -!(-1)**0.1 } \NEWLINE }
diff --git a/l3kernel/testfiles/m3fp-logic002.tlg b/l3kernel/testfiles/m3fp-logic002.tlg
index ee00a2e..fe03493 100644
--- a/l3kernel/testfiles/m3fp-logic002.tlg
+++ b/l3kernel/testfiles/m3fp-logic002.tlg
@@ -26,6 +26,7 @@ TEST 3: Unary not, minus plus
-0
-0
-0
+-1
============================================================
============================================================
TEST 4: With an error
More information about the latex3-commits
mailing list