SLASQ3  -  check for deflation, computes a shift (TAU) and
       calls dqds


SYNOPSIS

       SUBROUTINE SLASQ3( I0, N0,  Z,  PP,  DMIN,  SIGMA,  DESIG,
                          QMAX, NFAIL, ITER, NDIV, IEEE )

           LOGICAL        IEEE

           INTEGER        I0, ITER, N0, NDIV, NFAIL, PP

           REAL           DESIG, DMIN, QMAX, SIGMA

           REAL           Z( * )


PURPOSE

       SLASQ3  checks  for  deflation, computes a shift (TAU) and
       calls dqds. In case of  failure  it  changes  shifts,  and
       tries again until output is positive.


ARGUMENTS

       I0     (input) INTEGER
              First index.

       N0     (input) INTEGER
              Last index.

       Z      (input) REAL array, dimension ( 4*N )
              Z holds the qd array.

       PP     (input) INTEGER
              PP=0 for ping, PP=1 for pong.

       DMIN   (output) REAL
              Minimum value of d.

       SIGMA  (output) REAL
              Sum of shifts used in current segment.

       DESIG  (input/output) REAL
              Lower order part of SIGMA

       QMAX   (input) REAL
              Maximum value of q.

       NFAIL  (output) INTEGER
              Number of times shift was too big.

       ITER   (output) INTEGER
              Number of iterations.

              Number of divisions.

       TTYPE  (output) INTEGER
              Shift type.

       IEEE   (input) LOGICAL
              Flag  for  IEEE  or  non IEEE arithmetic (passed to
              SLASQ5).


Man(1) output converted with man2html