Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

dlasq5 (3p)

Name

dlasq5 - pong form. Used by sbdsqr and sstegr

Synopsis

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


LOGICAL IEEE

INTEGER I0, N0, PP

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

DOUBLE PRECISION Z(*)


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


LOGICAL*8 IEEE

INTEGER*8 I0, N0, PP

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

DOUBLE PRECISION Z(*)


F95 INTERFACE
SUBROUTINE LASQ5(I0, N0, Z, PP, TAU, SIGMA,  DMIN,  DMIN1,  DMIN2,  DN,
DNM1, DNM2, IEEE, EPS)


LOGICAL :: IEEE

INTEGER :: I0, N0, PP

REAL(8), DIMENSION(:) :: Z

REAL(8) :: TAU, SIGMA, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2, EPS


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


LOGICAL(8) :: IEEE

INTEGER(8) :: I0, N0, PP

REAL(8), DIMENSION(:) :: Z

REAL(8) :: TAU, SIGVA, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2, EPS


C INTERFACE
#include <sunperf.h>

void dlasq5 (int i0, int n0, double *z,  int  pp,  double  tau,  double
*dmin,  double  *dmin1,  double  *dmin2,  double  *dn, double
*dnm1, double *dnm2);


void dlasq5_64 (long i0, long n0, double *z, long pp, double tau,  dou-
ble  *dmin,  double *dmin1, double *dmin2, double *dn, double
*dnm1, double *dnm2);

Description

Oracle Solaris Studio Performance Library                           dlasq5(3P)



NAME
       dlasq5  -  compute one dqds transform in ping-pong form. Used by sbdsqr
       and sstegr


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


       LOGICAL IEEE

       INTEGER I0, N0, PP

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

       DOUBLE PRECISION Z(*)


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


       LOGICAL*8 IEEE

       INTEGER*8 I0, N0, PP

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

       DOUBLE PRECISION Z(*)


   F95 INTERFACE
       SUBROUTINE LASQ5(I0, N0, Z, PP, TAU, SIGMA,  DMIN,  DMIN1,  DMIN2,  DN,
                 DNM1, DNM2, IEEE, EPS)


       LOGICAL :: IEEE

       INTEGER :: I0, N0, PP

       REAL(8), DIMENSION(:) :: Z

       REAL(8) :: TAU, SIGMA, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2, EPS


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


       LOGICAL(8) :: IEEE

       INTEGER(8) :: I0, N0, PP

       REAL(8), DIMENSION(:) :: Z

       REAL(8) :: TAU, SIGVA, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2, EPS


   C INTERFACE
       #include <sunperf.h>

       void dlasq5 (int i0, int n0, double *z,  int  pp,  double  tau,  double
                 *dmin,  double  *dmin1,  double  *dmin2,  double  *dn, double
                 *dnm1, double *dnm2);


       void dlasq5_64 (long i0, long n0, double *z, long pp, double tau,  dou-
                 ble  *dmin,  double *dmin1, double *dmin2, double *dn, double
                 *dnm1, double *dnm2);


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


ARGUMENTS
       I0 (input)
                 I0 is INTEGER
                 First index.


       N0 (input)
                 N0 is INTEGER
                 Last index.


       Z (input)
                 Z is 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)
                 PP is INTEGER
                 PP=0 for ping, PP=1 for pong.


       TAU (input)
                 TAU is DOUBLE PRECISION
                 This is the shift.


       SIGMA (input)
                 SIGMA is DOUBLE PRECISION
                 This is the accumulated shift up to this step.


       DMIN (output)
                 DMIN is DOUBLE PRECISION
                 Minimum value of d.


       DMIN1 (output)
                 DMIN1 is DOUBLE PRECISION
                 Minimum value of d, excluding D(N0).


       DMIN2 (output)
                 DMIN2 is DOUBLE PRECISION
                 Minimum value of d, excluding D(N0) and D(N0-1).


       DN (output)
                 DN is DOUBLE PRECISION
                 d(N0), the last value of d.


       DNM1 (output)
                 DNM1 is DOUBLE PRECISION
                 d(N0-1).


       DNM2 (output)
                 DNM2 is DOUBLE PRECISION
                 d(N0-2).


       IEEE (input)
                 IEEE is LOGICAL
                 Flag for IEEE or non IEEE arithmetic.


       EPS (input)
                 EPS is DOUBLE PRECISION
                 This is the value of epsilon used.




                                  7 Nov 2015                        dlasq5(3P)