Branch: refs/heads/main

Revision: 9fe66a8

Author: lydia-duncan

Link: Split the Math module into two parts, one of which is included by default by lydia-duncan · Pull Request #19849 · chapel-lang/chapel · GitHub

Log Message:

```
Merge pull request #19849 from lydia-duncan/mathSplit
```

Split the Math module into two parts, one of which is included by default

[reviewed by @bmcdonald3]

This change splits the Math module into two modules: AutoMath and Math.

The former will continue to be used by default and still contains most of the

symbols in the module. The latter will now require a use statement or import

statement in order to access the symbols within it, and at this time only

contains `log1p`

and `logBasePow2`

(AutoMath will contain a version of

them that is deprecated and calls these versions under the covers, so that

users relying on them being included by default will get a warning message

instead of just a resolution failure). There were some other symbols that

probably can also be moved, but I never got an explicit acknowledgment so

I will handle them in a separate PR in order to get explicit approval while not

holding up the other symbols.

Note that this does not add deprecation warnings in the Math module,

though qualified access of symbols that previously were in it will now fail.

This is in part due to #19813, but once that is fixed, and the final sorting of

all the Math symbols is determined, we should do so.

Resolves #18989

Relates to #18990 but does not fully address it yet.

Updates BigInteger's references to symbols that now live in AutoMath to

explicitly name it.

Updates several tests that were relying on:

- Math being the location on symbols they are accessing via explicit naming

(that now live in AutoMath): these tests now use AutoMath as the module

name - Math being included by default: these tests now have an explicit use of

the Math module in order to access the symbols that are in it.

Also updates the script used to generate the tests that live in

test/library/standard/Math/promotion so that it can handle tests that require

an explicit use and ones that don't. Commits the updated version of the

log1p test as generated by this updated script.

Adds two tests of the deprecation warning when trying to access the

moved functions without a use or import of the Math module.

Passed a full paratest with futures. Double checked the built docs.

```
Modified Files:
A modules/standard/AutoMath.chpl
```

A test/deprecated/Math/depLogBasePow2.chpl

A test/deprecated/Math/depLogBasePow2.good

A test/deprecated/Math/log1p.chpl

A test/deprecated/Math/log1p.good

A test/modules/bradc/userInsteadOfStandard/AutoMath.chpl

A test/modules/bradc/userInsteadOfStandard/AutoMath.notest

R test/modules/bradc/userInsteadOfStandard/Math.chpl

R test/modules/bradc/userInsteadOfStandard/Math.notest

M doc/rst/meta/modules/standard.rst

M modules/Makefile

M modules/internal/ChapelStandard.chpl

M modules/standard/BigInteger.chpl

M modules/standard/Math.chpl

M test/chplvis/benchmarks-hpcc/fft-vdb.chpl

M test/compflags/ferguson/print-module-resolution.good

M test/domains/marybeth/test_compare_range.good

M test/library/standard/Math/bradc/log4.chpl

M test/library/standard/Math/bradc/math32bits.chpl

M test/library/standard/Math/log-ints.chpl

M test/library/standard/Math/log1p.chpl

M test/library/standard/Math/promotion/generate_tests/make_promotion_tests.py

M test/library/standard/Math/promotion/log1p.chpl

M test/modules/bradc/printModStuff/foo.good

M test/modules/bradc/userInsteadOfStandard/foo2.chpl

M test/modules/bradc/userInsteadOfStandard/foo2.good

M test/modules/engin/pkg_module_res.chpl

M test/optimizations/deadCodeElimination/elliot/countDeadModules.good

M test/performance/compiler/bradc/fft-timecomp.chpl

M test/release/examples/benchmarks/hpcc/fft.chpl

M test/studies/comd/elegant/arrayOfStructs/util/EAM.chpl

M test/studies/comd/elegant/arrayOfStructs/util/Simulation.chpl

M test/studies/hpcc/FFT/diten/fft.chpl

M test/users/vass/div-ceil-on-more-int-types.bad

`Compare: https://github.com/chapel-lang/chapel/compare/bf9c9fd0d2bb...9fe66a80d82a`