DLASQ5(3) computes one dqds transform in ping-pong form, one version for IEEE machines another for non IEEE machines

SYNOPSIS

SUBROUTINE DLASQ5(
I0, N0, Z, PP, TAU, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2, IEEE )

    
LOGICAL IEEE

    
INTEGER I0, N0, PP

    
DOUBLE PRECISION DMIN, DMIN1, DMIN2, DN, DNM1, DNM2, TAU

    
DOUBLE PRECISION Z( * )

PURPOSE

DLASQ5 computes one dqds transform in ping-pong form, one version for IEEE machines another for non IEEE machines.

ARGUMENTS

I0 (input) INTEGER
First index.
N0 (input) INTEGER
Last index.
Z (input) DOUBLE PRECISION array, dimension ( 4*N )
Z holds the qd array. EMIN is stored in Z(4*N0) to avoid an extra argument.
PP (input) INTEGER
PP=0 for ping, PP=1 for pong.
TAU (input) DOUBLE PRECISION
This is the shift.
DMIN (output) DOUBLE PRECISION
Minimum value of d. DMIN1 (output) DOUBLE PRECISION Minimum value of d, excluding D( N0 ). DMIN2 (output) DOUBLE PRECISION Minimum value of d, excluding D( N0 ) and D( N0-1 ).
DN (output) DOUBLE PRECISION
d(N0), the last value of d.
DNM1 (output) DOUBLE PRECISION
d(N0-1).
DNM2 (output) DOUBLE PRECISION
d(N0-2).
IEEE (input) LOGICAL
Flag for IEEE or non IEEE arithmetic.