LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Andrew Parsloe <[log in to unmask]>
Wed, 23 Sep 2015 13:49:36 +1200
text/plain (36 lines)
\int_eval:n { - (1+2) }

gives a "Missing number, treated as zero" message. So does \int_eval:n { 
+ (1+2) }. But

\int_eval:n { 0 - (1+2) }

evaluates correctly. If + ( or - ( are the first members of an integer 
argument, an error results; if they are not the first members, they are 
accepted by \int_eval:n etc. I don't know that this is a bug as such but 
it certainly feels to me like an untidiness in the l3int interface. It 
means that the order in which component parts of an expression are 
presented to \int_eval:n matters, even though in an arithmetical sense, 
they evaluate to the same number.

I query too whether an expression like

\int_eval:n { 3(1+2) }

should "evaluate" to 3(1+2), rather than 9, without showing an error.

(Alternatively, I find myself wondering what would be entailed to 
harmonize the integer interface with the fp one (which has no problem 
with these expressions)? Then one could choose whether to evaluate an 
expression involving integral numerals  in l3fp or l3int without having 
to change the expression, as one does at present. For instance, if the 
expression involves an exponent, use l3fp; if not use l3int. This choice 
becomes more complicated when the expression itself needs to be changed.)

Andrew


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

ATOM RSS1 RSS2