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)