slasq6 - pong form. Used by sbdsqr and sstegr
SUBROUTINE SLASQ6( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 ) INTEGER I0, N0, PP REAL DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 REAL Z(*) SUBROUTINE SLASQ6_64( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 ) INTEGER*8 I0, N0, PP REAL DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 REAL Z(*) F95 INTERFACE SUBROUTINE LASQ6( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 ) INTEGER :: I0, N0, PP REAL, DIMENSION(:) :: Z REAL :: DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 SUBROUTINE LASQ6_64( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 ) INTEGER(8) :: I0, N0, PP REAL, DIMENSION(:) :: Z REAL :: DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 C INTERFACE #include <sunperf.h> void slasq6 (int i0, int n0, float *z, int pp, float *dmin, float *dmin1, float *dmin2, float *dn, float *dnm1, float *dnm2); void slasq6_64 (long i0, long n0, float *z, long pp, float *dmin, float *dmin1, float *dmin2, float *dn, float *dnm1, float *dnm2);
Oracle Solaris Studio Performance Library slasq6(3P) NAME slasq6 - compute one dqd transform in ping-pong form. Used by sbdsqr and sstegr SYNOPSIS SUBROUTINE SLASQ6( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 ) INTEGER I0, N0, PP REAL DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 REAL Z(*) SUBROUTINE SLASQ6_64( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 ) INTEGER*8 I0, N0, PP REAL DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 REAL Z(*) F95 INTERFACE SUBROUTINE LASQ6( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 ) INTEGER :: I0, N0, PP REAL, DIMENSION(:) :: Z REAL :: DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 SUBROUTINE LASQ6_64( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 ) INTEGER(8) :: I0, N0, PP REAL, DIMENSION(:) :: Z REAL :: DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 C INTERFACE #include <sunperf.h> void slasq6 (int i0, int n0, float *z, int pp, float *dmin, float *dmin1, float *dmin2, float *dn, float *dnm1, float *dnm2); void slasq6_64 (long i0, long n0, float *z, long pp, float *dmin, float *dmin1, float *dmin2, float *dn, float *dnm1, float *dnm2); PURPOSE slasq6 computes one dqd (shift equal to zero) transform in ping-pong form, with protection against underflow and overflow. ARGUMENTS I0 (input) I0 is INTEGER First index. N0 (input) N0 is INTEGER Last index. Z (input) Z is REAL array, dimension ( 4*N ) Z holds the qd array. EMIN is stored in Z(4*N0) to avoid an extra argument. PP (input) PP is INTEGER PP=0 for ping, PP=1 for pong. DMIN (output) DMIN is REAL Minimum value of d. DMIN1 (output) DMIN1 is REAL Minimum value of d, excluding D( N0 ). DMIN2 (output) DMIN2 is REAL Minimum value of d, excluding D( N0 ) and D( N0-1 ). DN (output) DN is REAL d(N0), the last value of d. DNM1 (output) DNM1 is REAL d(N0-1). DNM2 (output) DNM2 is REAL d(N0-2). 7 Nov 2015 slasq6(3P)