~peterpall/maxima/+git/maxima.code:rtoy-refactor-risch-specvar-3

Last commit made on 2023-02-10
Get this branch:
git clone -b rtoy-refactor-risch-specvar-3 https://git.launchpad.net/~peterpall/maxima/+git/maxima.code

Branch merges

Branch information

Name:
rtoy-refactor-risch-specvar-3
Repository:
lp:~peterpall/maxima/+git/maxima.code

Recent commits

7f476d4... by Raymond Toy <email address hidden>

Rename *exp to risch-*exp

It's used in `trigin1` and is already passed in as an arg, so rename
it to get a lexical var.

Full testsuite passes.

87e7ac8... by Raymond Toy <email address hidden>

Remove expexpflag from special declaration

`expexpflag` is already passed to all routines that need it and no
other functions access the specvar, so we can remove the special decl.

Full testsuite passes.

8c9a007... by Raymond Toy <email address hidden>

Remove degree from declare-top

Don't use `degree` anymore so we can remove the special/unspecial
declaration.

913725e... by Raymond Toy <email address hidden>

Rename degree to risch-degree

Rename `degree` to `risch-degree` so we're using a lexical var instead
of the specvar.

Full testsuite passes.

3447d3a... by Raymond Toy <email address hidden>

Add degree parameter to functions that need to pass to dilog

This requires `getfncoeff` to need a `degree` arg. Continuing this
was we end up adding a `degree` arg to many functions, and finally to
defining `degree` in `rischint`. It seems ok to initialize it to nil.

Full testsuite passes.

09a1f05... by Raymond Toy <email address hidden>

Add degree parameter to dilog

`dilog` references the specvar `degree`. Let's make it a parameter to
`dilog`.

Full testsuite passes.

39da968... by Raymond Toy <email address hidden>

Revert "Return operator from functions that set it."

This reverts commit 3d55a40576b4ad5b81a4c418588efd4075cb88ad.

Can't figure out how to rename `operator` to `risch-operator` and have
the testsuite pass. It apparently gets stuck in some kind of infinite
loop in `intset1`.

3d55a40... by Raymond Toy <email address hidden>

Return operator from functions that set it.

The functions `rischform` and `intsetup` set the value of `operator`.
Return the value of `operator`.

Update callers to use the return value.

Full testsuite passes.

85a52b4... by Raymond Toy <email address hidden>

Remove gamma from declare-top

`gamma` isn't used so it can be removed from `declare-top` `special`
and `unspecial`.

From what I can tell, it was only special so that `eval` would work in
the one place. Now that `eval` has been replaced `gamma` would have
been a local everywhere. We're leaving the name `risch-gamma` anyway.

e3cc334... by Raymond Toy <email address hidden>

Rename the specvar gamma to risch-gamma everywhere

Rename `gamma` to `risch-gamma` so as not to use a special var when
not needed.

To make this work, had to rework the call to `eval`. To fix this,
change the places that was setting `denom` to a list to be evaluated.
These were changed into `lambda` functions of no args, and `eval`
becomes `funcall`.

Full testsuite passes.