MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Vector Math Library Functions                      vrsqrt(3MVEC)



NAME
     vrsqrt, vrsqrtf - vector reciprocal square root functions

SYNOPSIS
     cc [ flag... ] file... -lmvec [ library... ]

     void vrsqrt(int *n, double * restrict x, int *stridex,
          double * restrict y, int *stridey);


     void vrsqrtf(int *n, float * restrict x, int *stridex,
          float * restrict y, int *stridey);


DESCRIPTION
     These functions evaluate the function rsqrt(x),  defined  by
     rsqrt(x)  =  1  / sqrt(x), for an entire vector of values at
     once. The first parameter specifies the number of values  to
     compute.  Subsequent  parameters  specify  the  argument and
     result vectors. Each vector is described by a pointer to the
     first  element  and a stride, which is the increment between
     successive elements.


     Specifically, vrsqrt(n, x, sx, y, sy) computes y[i * *sy] =
     rsqrt(x[i  *  *sx])  for  each  i  =  0, 1, ..., *n - 1. The
     vrsqrtf() function performs the same computation for single
     precision data.


     These functions are not guaranteed to deliver  results  that
     are  identical  to  the  results of evaluating 1.0 / sqrt(x)
     given the same arguments. Non-exceptional results,  however,
     are accurate to within a unit in the last place.

USAGE
     The element count *n must be greater than zero. The  strides
     for   the  argument  and  result  arrays  can  be  arbitrary
     integers, but the arrays themselves must not be the same  or
     overlap.  A zero stride effectively collapses an entire vec-
     tor into a single element. A negative stride causes a vector
     to be accessed in descending memory order, but note that the
     corresponding pointer must still point to the first  element
     of  the  vector  to be used; if the stride is negative, this
     will be the highest-addressed element in memory.  This  con-
     vention differs from the Level 1 BLAS, in which array param-
     eters always refer to the lowest-addressed element in memory
     even when negative increments are used.


     These functions assume  that  the  default  round-to-nearest
     rounding   direction  mode  is  in  effect.  On  x86,  these



SunOS 5.11          Last change: 14 Dec 2007                    1






Vector Math Library Functions                      vrsqrt(3MVEC)



     functions  also  assume  that  the  default  round-to-64-bit
     rounding  precision mode is in effect. The result of calling
     a vector function with a non-default rounding mode in effect
     is undefined.


     These functions handle special cases and exceptions  in  the
     spirit of IE 754. In particular,

         o    if x < 0, rsqrt(x) is NaN, and an invalid operation
              exception is raised,

         o    rsqrt(NaN) is NaN,

         o    rsqrt(]Inf) is ]0,

         o    rsqrt(]0) is ]Inf, and a division-by-zero exception
              is raised.


     An application wanting to check for exceptions  should  call
     feclearexcept(FEALEXCEPT) before calling these functions.
     On  return,  if  fetestexcept(FEINVALID    FEDIVBYZERO  
     FEOVERFLOW    FEUNDERFLOW)  is non-zero, an exception has
     been raised. The application can then examine the result  or
     argument  vectors  for exceptional values. Some vector func-
     tions can raise the inexact exception even if  all  elements
     of  the  argument  array are such that the numerical results
     are exact.

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Committed                   
    
     MT-Level                     MT-Safe                     
    


SEE ALSO
     sqrt(3M), feclearexcept(3M), fetestexcept(3M), attributes(5)








SunOS 5.11          Last change: 14 Dec 2007                    2



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™