Discussion of these changes can be found on the Mercury developers
mailing list archives from June 2018.
COPYING.LIB:
Add a special linking exception to the LGPL.
*:
Update references to COPYING.LIB.
Clean up some minor errors that have accumulated in copyright
messages.
Estimated hours taken: 1
Branches: main, release
Cleanups for the complex numbers library.
extras/complex_numbers/*.m:
extras/complex_numbers/samples/fft.m:
extras/complex_numbers/tests/complex_test.m:
Convert these modules to four-space indentation.
Conform to our current coding standard.
Estimated hours taken: 0.1
Branches: main, release
extras/complex_numbers/*.m:
extras/complex_numbers/samples/fft.m:
extras/complex_numbers/tests/complex_test.m:
Standardize the module qualifier used in this modules
to `.'.
Estimated hours taken: 0.5
Branches: main, release
extras/complex_numbers/*.m:
Remove reverse modes of arithmetic functions (as with the
reverse modes of the functions in float.m, these functions
aren't actually reversible because of rounding errors).
extras/complex_numbers/complex_numbers.m:
Add missing `:- include module' declarations for complex_float.m
and float_complex.m.
extras/complex_numbers/complex_float.m:
extras/complex_numbers/float_complex.m:
Fix some compile errors.
NEWS:
Document the changes.
Estimated hours taken: 0.75
Use sub-modules to package up the modules in extras/complex_numbers
into a single module.
extras/complex_numbers/complex_lib.m:
extras/complex_numbers/complex_numbers.m:
Rename complex_lib.m as complex_numbers.m,
and modify it to use sub-modules.
extras/complex_numbers/*.m:
extras/complex_numbers/tests/complex_test.m:
extras/complex_numbers/samples/fft.m:
Add `complex_numbers:' to all of the `:- module'
and `:- import_module' declarations.
extras/complex_numbers/Mmakefile:
extras/complex_numbers/tests/Mmakefile:
extras/complex_numbers/samples/Mmakefile:
Modify to reflect the renaming from `complex_lib' to
`complex_numbers'.
Estimated hours taken: 3
extras/complex_numbers/*:
Add an Mmakefile to build the complex number library, using the
new support for user-defined libraries.
Move the test cases into a new subdirectory `tests'.
Add a new subdirectory `samples', containing an example
module `fft.m' that uses the library.
Add a README file.
extras/complex_numbers/complex.m:
Add new functions `complex/1' (converts float to complex),
`cis' (cos + i * sin), and `conj'.
Rename `norm' as `abs2' (square of absolute value).
Estimated hours taken: 8
extras/complex_numbers/complex.m:
extras/complex_numbers/complex_float.m:
extras/complex_numbers/float_complex.m:
New modules to support complex numbers.
extras/complex_numbers/imag.m:
extras/complex_numbers/imag_complex.m:
extras/complex_numbers/complex_imag.m:
extras/complex_numbers/imag_float.m:
extras/complex_numbers/float_imag.m:
New modules to support imaginary numbers.
extras/complex_numbers/complex_test.m:
extras/complex_numbers/complex_test.exp:
Tests cases for the above-mentioned new modules.