New model implementation for the vector Basic Linear Algebra Subprograms
and the LAPACK routines xLAPY2, xLASSQ and xLARTG.  The design is
described in "Safe Scaling in the Level 1 BLAS", submitted to ACM TOMS.

The source is organized in subdirectories as follows:
   etc		Makefile include files
   src		BLAS source files
   testing	BLAS test files
   timing	BLAS timing files

The Makefile requires you to set an environment variable ARCH to the
name of your architecture and to create an include file
   etc/Makeinclude.<arch>
with the compiler names and flags to be used.  For example,
   setenv ARCH intel
includes the settings from etc/Makeinclude.intel.  Object files, module
files, library files, and output files are all created in subdirectories
called <arch> so that you can test multiple configurations without
overwriting previous tests.  Sample include files are provided for the
Gnu compiler (etc/Makeinclude.gnu), the Intel compiler
(etc/Makeinclude.intel), and the PGI compiler (etc/Makeinclude.pgi).

The new model implementation uses a constants module called
LA_CONSTANTS in 64-bit and LA_CONSTANTS32 in 32-bit.  Versions
of these module subprograms generated on an IEEE arithmetic system
are provided in src/la_constants.f90 and src/la_constants32.f90.
If it is necessary to regenerate them, use the congen target:
   make congen
You should get the same values in src/la_constants.f90 and
src/la_constants32.f90 regardless of which compiler you use.

It also uses a module LA_XISNAN which implements the generic la_isnan
function in real and double precision using one of three possible
implementations.  Compile with the flag -DUSE_IEEE_INTRINSICS if
the intrinsic function ieee_is_nan is supported, compile with the
flag -DUSE_ISNAN if the intrinsic function isnan is supported, and
compile with no flag to use the default test borrowed from LAPACK.
The PGI compiler supports -DUSE_IEEE_INTRINSICS or the default.
The Gnu compiler supports -DUSE_ISNAN or the default.
The Intel compiler supports all three options.

To compile the BLAS and run the tests, use Makefile:
   make
   make check
Examine the output files in testing/<arch>/*.out; they should
contain lines such as
   ISAMAX passed the computational tests (   768 tests run)
If desired, the test parameters and problem sizes can be changed by
modifying the input files sblas1t.in, dblas1t.in, cblas1t.in, and
zblas1t.in in the testing directory.

If desired, timing results for the new model implementation can
can be verified by following the instructions in timing/README.

Edward Anderson
August 5, 2016
