Replace REALONE/REALZERO and complex ZERO/ONE with
type-specific named constants in the CSD test routines:
ZERO/ONE for real scalars, and CZERO/CONE for complex values.
Update {C,Z}LASET, {C,Z}GEMM, and {C,Z}HERK call sites to use
the matching constant type, and replace literal imaginary zeros
in CMPLX/DCMPLX calls with the named real ZERO constant.
No functional change intended.
Replace hard-coded floating-point constants with existing named
constants in the drvrf3 and drvrfp test drivers. This keeps the test
initialization code consistent with surrounding LAPACK test style.
TESTING/csd.in declares that the number of values of M, P, and Q
is 10, but each of the three data lines actually contains 11
entries.
Update the count to 11 so the header matches the test input data.
This is a test-data consistency fix only.
Replace hard-coded 1./1.D0 literals with the named constant ONE
in several TESTING/EIG error-exit test routines.
Add missing ONE parameter declarations where needed so the test
setup code follows the surrounding named-constant style.
The DMD test drivers use the testing ILAENV from TESTING/EIG, where
ISPEC=9 returns IPARMS(9). The drivers never initialized that entry,
so the xGESDD/xBDSDC divide-and-conquer cutoff SMLSIZ came from
undefined state.
This undefined test state can lead to invalid xLASD0 calls and a large
number of false failures. In this patch we initialize XLAENV(9,25) in
the s/c/d/z DMD test drivers so the tests start from a defined ILAENV
configuration.
The local ABS1 statement function in CLARGV and ZLARGV does not compute
the usual complex ABS1/CABS1 quantity. It returns
max(abs(real(z)), abs(aimag(z)))
and is used only as a scaling helper in the same algorithmic path as
CLARTG/ZLARTG.
Rename the helper to CABSMAX so that the name matches its actual
behavior and does not suggest CABS1 semantics.
No numerical behavior is changed.
Several LAPACK, BLAS, and CBLAS source files defined a local statement
function named ABS1 for the complex 1-norm approximation:
ABS1( X ) = ABS( REAL( X ) ) + ABS( AIMAG( X ) )
ABS1( X ) = ABS( DBLE( X ) ) + ABS( DIMAG( X ) )
The majority of the codebase already uses CABS1 for this identical
purpose. This commit renames ABS1 to CABS1 in all remaining files
(definition line, declaration line, and all call sites within the
same file) to make the naming consistent across the repository.
A small number of fixed-form lines required continuation-line splits
to stay within the 72-column limit after the rename.
No numerical change. Statement functions are file-local in Fortran,
so there is no ABI or interface impact.
This is a preparatory cleanup before inlining these statement
functions (see issue #1200).
Replace external function references to SCABS1 and DCABS1 with a local
statement function CABS1 in CAXPY and ZAXPY respectively, eliminating
the dependency on those auxiliary routines.