Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

dlasq6 (3p)

Name

dlasq6 - pong form. Used by sbdsqr and sstegr

Synopsis

SUBROUTINE DLASQ6( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 )


INTEGER I0, N0, PP

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

DOUBLE PRECISION Z(*)


SUBROUTINE DLASQ6_64( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2
)


INTEGER*8 I0, N0, PP

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

DOUBLE PRECISION Z(*)


F95 INTERFACE
SUBROUTINE LASQ6( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 )


INTEGER :: I0, N0, PP

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

REAL(8) :: 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(8), DIMENSION(:) :: Z

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


C INTERFACE
#include <sunperf.h>

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


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

Description

Oracle Solaris Studio Performance Library                           dlasq6(3P)



NAME
       dlasq6  -  compute  one dqd transform in ping-pong form. Used by sbdsqr
       and sstegr


SYNOPSIS
       SUBROUTINE DLASQ6( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 )


       INTEGER I0, N0, PP

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

       DOUBLE PRECISION Z(*)


       SUBROUTINE DLASQ6_64( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2
                 )


       INTEGER*8 I0, N0, PP

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

       DOUBLE PRECISION Z(*)


   F95 INTERFACE
       SUBROUTINE LASQ6( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN, DNM1, DNM2 )


       INTEGER :: I0, N0, PP

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

       REAL(8) :: 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(8), DIMENSION(:) :: Z

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


   C INTERFACE
       #include <sunperf.h>

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


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


PURPOSE
       dlasq6 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 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.


       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).




                                  7 Nov 2015                        dlasq6(3P)