Matrix types in PHCv2.4.86

Below are some milestones in the development of this library.
New in the second release is the availability of multiprecision numbers,
implemented with appropriate Ada 95 concepts.
Version 2.1 has an additional package nested vectors to represent
general dimensional matrices of any numbers.
Vectors were moved to a separate directory in release v2.3.33.
New in release 2.3.49 is integer64.
In v2.3.55, double double and quad double numbers were introducted.
In v2.3.71, the solvers for integer and floating-point matrices were
moved to separate directories.

This library is organized in three parts :
1) generic packages: matrices, vecmats, and their _io.
2) instantiations:
      {standard,multprec}_{natural,integer,floating,complex}_
      {matrices,vecmats}[_{io}]
3) random generators and test programs, with prefix ts_*
The organization above is hierarchic.  Other possible views are 
classifications by numeric types (e.g., everything with standard_integer*,
*integer*, etc...) or by data types.

In v2.4.80, the test procedures were moved into test packages.
Matrices in triple, penta, octo, and deca double precision were added.

Run "gprbuild matrices.gpr" to make all test programs.
On windows, type "gprbuild matrices.gpr -Xos=windows"
at the PowerShell prompt.
The "gprclean matrices.gpr" removes all files created by gprbuild.

------------------------------------------------------------------------------
file name                          : short description
------------------------------------------------------------------------------
generic_matrices                   : matrices with coefficients in any ring
generic_matrices_io                : input/output for generic matrices
generic_vecmats                    : vectors of matrices over any ring
generic_vecmats_io                 : input/output for vectors of matrices
------------------------------------------------------------------------------
boolean_matrices                   : defines matrices of Boolean numbers
boolean_matrices_io                : input/output for Boolean matrices
standard_natural_matrices          : matrices of standard natural numbers
standard_natural_matrices_io       : generic_matrices_io(standard natural)
standard_integer_matrices          : matrices of standard integer numbers
standard_integer_matrices_io       : generic_matrices_io(standard integer)
standard_integer_vecmats           : generic_vecmats(standard integer)
standard_integer_vecmats_io        : generic_vecmats_io(standard integer)
standard_integer64_matrices        : matrices of standard integer64 numbers
standard_integer64_matrices_io     : generic_matrices_io(standard integer64)
standard_integer64_vecmats         : generic_vecmats(standard integer64)
standard_integer64_vecmats_io      : generic_vecmats_io(standard integer64)
standard_floating_matrices         : matrices of standard floating numbers
standard_floating_matrices_io      : generic_matrices_io(standard floating)
standard_floating_vecmats          : generic_vecmats(standard floating)
standard_floating_vecmats_io       : generic_vecmats_io(standard floating)
standard_complex_matrices          : matrices of standard complex numbers
standard_complex_matrices_io       : generic_matrices_io(standard complex)
standard_complex_vecmats           : generic_vecmats(standard double complex)
standard_complex_vecmats_io        : generic_vecmats_io(standard complex)
pentdobl_complex_vecmats           : generic_vecmats(penta double complex)
double_double_matrices             : matrices of double double numbers
double_double_matrices_io          : generic_matrices_io(double double)
dobldobl_complex_matrices          : matrices of double double complex numbers
dobldobl_complex_matrices_io       : generic_matrices_io(double double complex)
dobldobl_complex_vecmats           : generic_vecmats(double double complex)
dobldobl_complex_vecmats_io        : generic_vecmats_io(double double complex)
quad_double_matrices               : matrices of quad double numbers
quad_double_matrices_io            : generic_matrices_io(quad double)
quaddobl_complex_matrices          : matrices of quad double complex numbers
quaddobl_complex_matrices_io       : generic_matrices_io(quad double complex)
quaddobl_complex_vecmats           : generic_vecmats(quad double complex)
quaddobl_complex_vecmats_io        : generic_vecmats_io(quad double complex)
quaddobl_complex_matrices_cv       : convertors to other precisions
multprec_natural_matrices          : matrices of multiprecision natural numbers
multprec_natural_matrices_io       : generic_matrices_io(multprec natural)
multprec_integer_matrices          : matrices of multiprecision integer numbers
multprec_integer_matrices_io       : generic_matrices_io(multprec integer)
multprec_integer64_matrices        : multiprecision integer64 matrices
multprec_integer64_matrices_io     : generic_matrices_io(multprec integer64)
multprec_floating_matrices         : matrices of multiprecision floating 
multprec_floating_matrices_io      : generic_matrices_io(multprec floating)
multprec_floating64_matrices       : matrices of multiprecision floating 
multprec_floating64_matrices_io    : generic_matrices_io(multprec floating)
multprec_complex_vecmats           : generic_vecmats(multprec complex)
multprec_complex_vecmats_io        : generic_vecmats_io(multprec complex)
------------------------------------------------------------------------------
triple_double_matrices             : matrices of triple double numbers
triple_double_matrices_io          : i/o of matrices of triple double numbers
tripdobl_complex_matrices          : matrices of complex triple doubles
tripdobl_complex_matrices_io       : i/o matrices of complex triple doubles
tripdobl_complex_vecmats           : generic_vecmats(triple double complex)
tripdobl_complex_vecmats_io        : generic_vecmats_io(triple double complex)
penta_double_matrices              : matrices of penta double numbers
penta_double_matrices_io           : i/o of matrices of penta double numbers
pentdobl_complex_matrices          : matrices of complex penta doubles
pentdobl_complex_matrices_io       : i/o matrices of complex penta doubles
pentdobl_complex_vecmats           : generic_vecmats(penta double complex)
pentdobl_complex_vecmats_io        : generic_vecmats_io(penta double complex)
octo_double_matrices               : matrices of octo double numbers
octo_double_matrices_io            : i/o of matrices of octo double numbers
octodobl_complex_matrices          : matrices of complex octo doubles
octodobl_complex_matrices_io       : i/o matrices of complex octo doubles
octodobl_complex_vecmats           : generic_vecmats(octo double complex)
octodobl_complex_vecmats_io        : generic_vecmats_io(octo double complex)
deca_double_matrices               : matrices of deca double numbers
deca_double_matrices_io            : i/o of matrices of deca double numbers
decadobl_complex_matrices          : matrices of complex deca doubles
decadobl_complex_matrices_io       : i/o matrices of complex deca doubles
decadobl_complex_vecmats           : generic_vecmats(deca double complex)
decadobl_complex_vecmats_io        : generic_vecmats_io(deca double complex)
decadobl_complex_matrices_cv       : convert to lower precisions
hexa_double_matrices               : matrices of hexa double numbers
hexa_double_matrices_io            : i/o of matrices of hexa double numbers
hexadobl_complex_matrices          : matrices of complex hexa doubles
hexadobl_complex_matrices_io       : i/o matrices of complex hexa doubles
hexadobl_complex_vecmats           : generic_vecmats(hexa double complex)
hexadobl_complex_vecmats_io        : generic_vecmats_io(hexa double complex)
------------------------------------------------------------------------------
standard_random_matrices           : matrices of random standard numbers
dobldobl_random_matrices           : matrices of random double doubles
quaddobl_random_matrices           : matrices of random quad doubles
multprec_random_matrices           : matrices of random multiprecision numbers
tripdobl_random_matrices           : matrices of random triple doubles
pentdobl_random_matrices           : matrices of random penta doubles
octodobl_random_matrices           : matrices of random octo doubles
decadobl_random_matrices           : matrices of random deca doubles
hexadobl_random_matrices           : matrices of random hexa doubles
------------------------------------------------------------------------------
matrix_to_vecvec_conversions       : convert matrices to vectors of vectors
varbprec_matrix_conversions        : convert matrices of various precisions
random_conditioned_matrices        : random matrices with given condition
------------------------------------------------------------------------------
standard_matrix_splitters          : split real from imaginary parts
------------------------------------------------------------------------------
test_natural_matrices              : tests matrices of natural numbers
test_integer_matrices              : tests matrices of integer numbers
test_floating_matrices             : tests matrices of floating-point numbers
test_complex_matrices              : tests matrices of complex numbers
test_dobldobl_matrices             : tests matrices of double doubles
test_quaddobl_matrices             : tests matrices of quad doubles
test_tripdobl_matrices             : tests matrices of triple doubles
test_pentdobl_matrices             : tests matrices of penta doubles
test_octodobl_matrices             : tests matrices of octo doubles
test_decadobl_matrices             : tests matrices of deca doubles
test_hexadobl_matrices             : tests matrices of hexa doubles
-----------------------------------------------------------------------------
ts_natmat                          : main test on natural matrices 
ts_intmat                          : main test on integer matrices
ts_fltmat                          : main test on floating-point matrices
ts_cmpmat                          : main test on complex matrices
ts_ddmat                           : main test on double double matrices
ts_qdmat                           : main test on quad double matrices
ts_tdmat                           : main test on triple double matrices
ts_pdmat                           : main test on penta double matrices
ts_odmat                           : main test on octo double matrices
ts_damat                           : main test on deca double matrices
ts_hdmat                           : main test on hexa double matrices
------------------------------------------------------------------------------
