Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

droti (3p)

Name

droti - Apply an indexed Givens rotation.

Synopsis

SUBROUTINE DROTI(NZ, X, INDX, Y, C, S)

INTEGER NZ
INTEGER INDX(*)
DOUBLE PRECISION C, S
DOUBLE PRECISION X(*), Y(*)

SUBROUTINE DROTI_64(NZ, X, INDX, Y, C, S)

INTEGER*8 NZ
INTEGER*8 INDX(*)
DOUBLE PRECISION C, S
DOUBLE PRECISION X(*), Y(*)


F95 INTERFACE
SUBROUTINE ROTI(NZ, X, INDX, Y, C, S)

INTEGER :: NZ
INTEGER, DIMENSION(:) :: INDX
REAL(8) :: C, S
REAL(8), DIMENSION(:) :: X, Y

SUBROUTINE ROTI_64(NZ, X, INDX, Y, C, S)

INTEGER(8) :: NZ
INTEGER(8), DIMENSION(:) :: INDX
REAL(8) :: C, S
REAL(8), DIMENSION(:) :: X, Y





C INTERFACE
#include <sunperf.h>

void droti (const int nz, const double* x, const int* indx, double* y,
const double c, const double s);

void droti_64 (const long nz, const double* x, const long* indx, dou-
ble* y, const double c, const double s);

Description

Oracle Solaris Studio Performance Library                            droti(3P)



NAME
       droti -  Apply an indexed Givens rotation.

SYNOPSIS
        SUBROUTINE DROTI(NZ, X, INDX, Y, C, S)

        INTEGER NZ
        INTEGER INDX(*)
        DOUBLE PRECISION C, S
        DOUBLE PRECISION X(*), Y(*)

        SUBROUTINE DROTI_64(NZ, X, INDX, Y, C, S)

        INTEGER*8 NZ
        INTEGER*8 INDX(*)
        DOUBLE PRECISION C, S
        DOUBLE PRECISION X(*), Y(*)


   F95 INTERFACE
        SUBROUTINE ROTI(NZ, X, INDX, Y, C, S)

        INTEGER :: NZ
        INTEGER, DIMENSION(:) :: INDX
        REAL(8) :: C, S
        REAL(8), DIMENSION(:) :: X, Y

        SUBROUTINE ROTI_64(NZ, X, INDX, Y, C, S)

        INTEGER(8) :: NZ
        INTEGER(8), DIMENSION(:) :: INDX
        REAL(8) :: C, S
        REAL(8), DIMENSION(:) :: X, Y





   C INTERFACE
       #include <sunperf.h>

       void droti (const int nz, const double* x, const int* indx, double* y,
                 const double c, const double s);

       void droti_64 (const long nz, const double* x, const long* indx, dou-
                 ble* y, const double c, const double s);




PURPOSE
       DROTI - Applies a Givens rotation to a sparse vector x stored in com-
       pressed form and another vector y in full storage form

        do i = 1, n
          temp = -s * x(i) + c * y(indx(i))
          x(i) = c * x(i) + s * y(indx(i))
          y(indx(i)) = temp
        enddo


ARGUMENTS
       NZ (input) - INTEGER
               Number of elements in the compressed form.  Unchanged on exit.

       X (input)
               Vector containing the values of the compressed form.

       INDX (input) - INTEGER
               Vector containing the indices of the compressed form.  It is
               assumed that the elements in INDX are distinct and greater than
               zero.  Unchanged on exit.

       Y (input/output)
               Vector on input which contains the vector Y in full storage
               form.  On exit, only the elements corresponding to the indices
               in INDX have been modified.

       C (input)
               Scalar defining the Givens rotation

       S (input)
               Scalar defining the Givens rotation



3rd Berkeley Distribution         7 Nov 2015                         droti(3P)