Using the Vector Libraries

The MASS libraries for Linux are a subset of the MASS libraries for AIX. On Linux, 32-bit and 64-bit objects may not be mixed in a single library, so two versions of the MASS library are provided: libmassvp4.a (32-bit) and libmassvp4_64.a (64-bit).

The single-precision and double-precision functions contained in the vector libraries are summarized in Table 28. To provide the interface declarations for the functions, include massv.include in your source files.

Table 28. MASS Vector Library Functions

Double-precision function Single-precision function Arguments Description
vrec vsrec (y,x,n) Sets y(i) to the reciprocal of x(i), for i=1,..,n
vrsqrt vsrsqrt (y,x,n) Sets y(i) to the reciprocal of the square root of x(i), for i=1,..,n
vsqrt vssqrt (y,x,n) Sets y(i) to the square root of x(i), for i=1,..,n

The following example shows interface declarations for some of the MASS double-precision vector functions:

interface
 
subroutine vsqrt (y, x, n)
  real*8 y(*), x(*)
  integer n        ! Sets y(i) to the square root of x(i), for i=1,..,n
end subroutine vsqrt 
 
subroutine vrsqrt (y, x, n)
  real*8 y(*), x(*)
  integer n        ! Sets y(i) to the reciprocal of the square root of x(i),
                   ! for i=1,..,n
end subroutine vrsqrt 
 
end interface
 

The following example shows interface declarations for some of the MASS single-precision vector functions:

interface
 
subroutine vssqrt (y, x, n)
  real*4 y(*), x(*)
  integer n       ! Sets y(i) to the square root of x(i), for i=1,..,n
end subroutine vssqrt 
 
subroutine vsrsqrt (y, x, n)
  real*4 y(*), x(*)
  integer n       ! Sets y(i) to the reciprocal of the square root of x(i),
                   ! for i=1,..,n
end subroutine vsrsqrt 
 
end interface

Consistency of MASS Vector Functions

All of the functions in the MASS vector libraries are consistent, in the sense that a given input value will always produce the same result, regardless of its position in the vector, and regardless of the vector length. IBM Copyright 2003