Support user-defined fp functions.

This commit does not provide ways to define new 'words'
such as 'sin' or 'exp', but to define control sequences
which behave the same as those words.  See test file
l3kernel/testfiles/m3fp-func001.lvt for some examples.
The feature may be removed if it turns out that it does
not fit.


git-svn-id: http://www.latex-project.org/svnroot/experimental/trunk@4618 de43f980-851b-0410-b2f7-c40aca1f87e0
Implement square root with correct rounding as sqrt.

We cannot always guarantee correct rounding (i.e., what would
be obtained by rounding the exact result to a representable
number) when raising a floating point number to the power of
another such as x^0.5.  For the specific case of square roots,
this can be done, and is required by IEEE-754.


git-svn-id: http://www.latex-project.org/svnroot/experimental/trunk@4619 de43f980-851b-0410-b2f7-c40aca1f87e0
Test files for sqrt.


git-svn-id: http://www.latex-project.org/svnroot/experimental/trunk@4620 de43f980-851b-0410-b2f7-c40aca1f87e0
Correct parsing of multiple comparisons in a row

Previously, (3 > 2 > 1) was parsed as ((3 > 2) > 1), which
is 'false'.  Now it is parsed as (3 > 2) && (2 > 1), which
is 'true'.  The new behaviour is consistent with the
integer function int_compare:nTF and others.  However, lazy
evaluation is not supported, i.e., even if an inequality
evaluates to 'false', all further calculations will be
performed before returning 'false'.


git-svn-id: http://www.latex-project.org/svnroot/experimental/trunk@4621 de43f980-851b-0410-b2f7-c40aca1f87e0
Rename round0, round-, round+ to trunc, floor, ceil.

Also allow the 'precision' argument to be an arbitrary
integer, and even infinite.

The old names round0, round-, round+ are kept for now.
How do I deprecate them?


git-svn-id: http://www.latex-project.org/svnroot/experimental/trunk@4622 de43f980-851b-0410-b2f7-c40aca1f87e0