8a1a84f3 — Jeffrey H. Johnson 16 hours ago master
Merge branch 'svn/trunk'
610b3cd6 — Arthur C. Norman 17 hours ago
Change to autogen.sh intended to improve behaviour of ARM-based macintosh

git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk@6499 2bfe0521-f11c-4a00-b80e-6202646ff360
03ff957b — Francis Wright a day ago
Mobile Web REDUCE

Fix the load failure for the defint package by including the misc
package, which defint requires.  Also fix a typo in an error message
in "support/entry.red", which the defint problem showed up.

git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk@6498 2bfe0521-f11c-4a00-b80e-6202646ff360
3e8d2ac1 — Jeffrey H. Johnson a day ago
Merge branch 'svn/trunk'
63757777 — Rainer Schöpf a day ago
Package mrvlimit: bug fixed, but not finished

git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk@6497 2bfe0521-f11c-4a00-b80e-6202646ff360
c02a8544 — Jeffrey H. Johnson 3 days ago
Merge branch 'svn/trunk'
3d9231d0 — Arthur C. Norman 4 days ago
Try to restore compatibility with emscripten.

git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk@6496 2bfe0521-f11c-4a00-b80e-6202646ff360
47a3ecdd — Jeffrey H. Johnson 5 days ago
Merge branch 'svn/trunk'
d6ed6d21 — Arthur C. Norman 6 days ago
This commit changes printing so that (-1/2) [amd similar] gets rendered
     -1         - 1
    ----   vs  -----
     2           2
and also to try to avoid some numeric output wnding up like
      5, -6}
with a backslash and line break in a location I view as awkward. The
example "linelength 77; for i := 1:20 collect (-i^2);" is a concrete
example that triggered that behaviour. This causes quite a lot of the log
files to change and I am not installing updates to them in this checkin so
as to give a greater prospect that people look at what has changed and as
necessary complain! But log updates will follow in a day or so...

git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk@6495 2bfe0521-f11c-4a00-b80e-6202646ff360
9f46f9d0 — Jeffrey H. Johnson 6 days ago
Merge branch 'svn/trunk'
cb508ee0 — Rainer Schöpf 7 days ago
mrvlimit: progress

git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk@6494 2bfe0521-f11c-4a00-b80e-6202646ff360
f3e06cea — Rainer Schöpf 7 days ago
Taylor series expansion did not work well with "off mcd".
With this update, all the internal standard quotients are generated with mcd on.

git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk@6493 2bfe0521-f11c-4a00-b80e-6202646ff360
e635b533 — Jeffrey H. Johnson 8 days ago
Merge branch 'svn/trunk'
f3c6ef0c — Francis Wright 9 days ago
Definite integral of sqrt

The definite integral int(sqrt(x*(1-x)),x,0,1) evaluates to -pi/8 but
is obviously positive!  The substitution x = (1 + sin theta)/2
facilitates evaluation by hand to +pi/8.  REDUCE evaluates this
integral by indefinite integration to a complex-valued expression
involving logarithms, followed by substitution of the limits.  Doing
this interactively gives the result (-i log i)/4.  Noting that log is
multi-valued in the complex plane, the result can be expressed as pi/8
+ n pi/2 for any integer n, and choosing the principal branch gives
the correct result pi/8.

However, when REDUCE performs this calculation automatically, it calls
mkdint in "int/dint.red", which sets "off precise" to avoid ugly
results involving abs.  Eventually, defint11s in "defint/defintx.red"
is called, which splits out any factor of the integrand that is
independent of the integration variable.  For the integrand in
question, with "off precise", it splits out a factor of the imaginary
unit and changes the form of the integrand into a product of square
roots.  I think it is this change to the integrand that leads to the
integral having the wrong sign.

One solution would be to set "on precise": doing so and then calling
defint0 by hand gives the correct result.  However, this is likely to
lead to ugly results involving abs in similar but more complicated
cases.  So the solution I have chosen is to test whether the factor of
the integrand that is independent of the integration variable is pure
imaginary, and if so ignore the factorization and pass the whole
integrand to the integrator via defint11.

I have also modified defint11 slighlty to avoid unnecessary
simplification of the integrand before passing it to simpint,
otherwise the fix to defint11s doesn't work.

The revised code runs the test file exactly as before, but also
evaluates the integral in question correctly, which I have added to
the test and log files.

git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk@6492 2bfe0521-f11c-4a00-b80e-6202646ff360
dda1ea82 — Jeffrey H. Johnson 12 days ago
Merge branch 'svn/trunk'
b7f865ee — Arthur C. Norman 13 days ago
The economise package now has a facility for renderiing reduce numeric
values as C or C++ hexadecimal floats as in
   load_package economise; prinhexlit pi;
generates 0x1921fb54442d18p-51 with a hexadecimal mantissa and an exponent
indicating a power of 2. There are also facilities for generating the
"double-double" and "triple-double" schemes where slightly more precise
floating point values are worked with using two or three regular floats.
These may be relevant in the sort of circumstances one wants an economised
series expansion for a function of some sort...

git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk@6491 2bfe0521-f11c-4a00-b80e-6202646ff360
0d6d1d97 — Jeffrey H. Johnson 13 days ago
Merge branch 'svn/trunk'
d97d559f — Rainer Schöpf 13 days ago
More progress with mrvlimit.
The problems with OFF MCD described in r6486 turned out to be the Taylor package's fault.
With mcd off, and the rule log(ww) => -x in effect, the expansion of

 f := log(log(x) + ww^(-1))^(-1);

with respect to ww used to return

                            2     2         3     3       4       -1
        ((log(x)*ww - log(x) /2*ww  + log(x) /3*ww  + O(ww )) + x)

i.e. with single +x that should be moved into the Taylor kernel.

With this commit, the correct result is

 -1           2             2              3    2       3
x   - log(x)/x *ww + (log(x) *(x + 2))/(2*x )*ww  + O(ww )

git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk@6490 2bfe0521-f11c-4a00-b80e-6202646ff360
a4c11fd9 — Arthur C. Norman 14 days ago
CSL: Several more functions supported in arith-quad.cpp (for 128-bit
floats). These are in a state where they at least compile but they are not
tested at this stage.

git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk@6489 2bfe0521-f11c-4a00-b80e-6202646ff360
1b58ad6f — Arthur C. Norman 14 days ago
CSL: On the Macintosh m1 but certainly not on some of the other platforms
merely creating an objkect of type std::basic_random seems to incur a serious
real time delay (presumably as it accumulates entropy). That led to running
arithtest on the Mac m1 (at least) to have an extreme real-time - much longer
than its cpu time. I have also tidied up a bit of code that I hope will let
a checksum used in arithtest to be gfot correct on 32-bit systems.

git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk@6488 2bfe0521-f11c-4a00-b80e-6202646ff360