IBM Support

MASS C/C++ function prototypes for AIX

Product Documentation


Abstract

This document provides C/C++ prototypes for MASS scalar and vector functions.

Content

/*************************************************************/
/* C/C++ prototypes for the scalar MASS functions.           */
/* Prototypes not already in math.h are available in mass.h. */
/*************************************************************/

/********************************************************/
/* C/C++ prototypes for the float scalar MASS functions */
/********************************************************/


float acosf (float x);
/* Returns the arccosine of x. */


float acoshf (float x);

 /* Returns the arc hyperbolic cosine of x. */

float asinf (float x);  

 /* Returns the arcsine of x. */

float asinhf (float x);

 /* Returns the arc hyperbolic sine of x. */

float atan2f (float x, float y);
/* Returns the arctangent of x/y. */


float atanf (float x);
/* Returns the arctangent of x. */


float atanhf (float x);
/* Returns the arc hyperbolic tangent of x. */

float cbrtf  (float x);

 /* Returns the cube root of x. */

float copysignf (float x, float y);
 /* Returns a value with the magnitude of x and the sign of y. */

float cosf (float x);
/* Returns the cosine of x. */

float coshf (float x);
/* Returns the hyperbolic cosine of x. */


float erff (float x);
 /* Returns the error function of x. */

float erfcf (float x);
 /* Returns 1.0 - the error function of x. */

float expf (float x);
/* Returns the exponential function of x. */

float expm1f (float x);
/* Returns (the exponential function of x)-1. */

float hypotf (float x, float y);

 /* Returns the square root of x2+ y2   . */

float lgammaf (float x);
 /* Returns the natural logarithm of the absolute value of the gamma function of x. */

float logf (float x);
/* Returns the natural logarithm of x. */

float log10f (float x);
/* Returns the base-10 logarithm of x. */

float log1pf (float x);
/* Returns the natural logarithm of (x-1). */

float powf (float x, float y);

 /* Returns the value of x raised to the power y. */

float rintf (float x);

 /* Rounds x to an integer value according to the current rounding mode.  The default rounding mode is to round to the nearest integer. */

float sinf (float x);

 /* Returns the sine of x. */

float sinhf  float x);
/* Returns the hyperbolic sine of x. */

float tanf  (float x);
/* Returns the tangent of x. */

float tanhf (float x);

 /* Returns the hyperbolic tangent of x. */

/*********************************************************/
/* C/C++ prototypes for the double scalar MASS functions */
/*********************************************************/

double acos (double x);
/* Returns the arccosine of x. */


double acosh (double x);

 /* Returns the arc hyperbolic cosine of x. */

double asin (double x);  

 /* Returns the arcsine of x. */

double asinh (double x);

 /* Returns the arc hyperbolic sine of x. */

double atan (double x);
 /* Returns the arctangent of x. */

double atan2 (double x, double y);
 /* Returns the arctangent of x/y. */


double atanh (double x);
/* Returns the arc hyperbolic tangent of x. */


double cbrt (double x);
 /* Returns the cube root of x. */

double copysign (double x, double y);
 /* Returns a value with the magnitude of x and the sign of y. */

double cos (double x);
 /* Returns the cosine of x. */

double _Complex cosisin (double x);
 /* Returns a complex number with real part the sine of x and
    imaginary part the cosine of x. */

double cosh (double x);
 /* Returns the hyperbolic cosine of x. */

double dnint (double x);
 /* Returns the nearest integer to x (as a double). */


double erf (double x);
 /* Returns the error function of x. */

double erfc (double x);
 /* Returns 1.0 - the error function of x. */

double exp (double x);
 /* Returns the exponential function of x. */

double expm1 (double x);
 /* Returns (the exponential function of x)-1. */


double hypot (double x, double y);
 /* Returns the square root of x*x + y*y. */

double lgamma (double x);
 /* Returns the natural logarithm of the absolute value of the gamma function of x. */

double log (double x);
 /* Returns the natural logarithm of x. */


double log10 (double x);
/* Returns the base-10 logarithm of x. */


double log1p (double x);
 /* Returns the natural logarithm of (x+1). */

double pow (double x, double y);
 /* Returns x raised to the power y. */


double rint (double x);
 /* Rounds x to the nearest integer. */

double rsqrt (double x);
 /* Returns the reciprocal of the square root of x. */

double sin (double x);
 /* Returns the sine of x. */

void sincos (double x, double *s, double *c);
 /* Sets *s to the sine of x and *c to the cosine of x. */

double sinh (double x);
 /* Returns the hyperbolic sine of x. */

double sqrt (double x);
 /* Returns the square root of x. */

double tan (double x);
 /* Returns the tangent of x. */

double tanh (double x);
 /* Returns the hyperbolic tangent of x. */


/***************************************************/
/* C/C++ prototypes for the vector MASS functions. */
/* These prototypes are also available in massv.h. */
/***************************************************/

/*********************************************************/
/* C/C++ prototypes for the double vector MASS functions */
/*********************************************************/

void vacos    (double y[], double x[], int *n);
 /* Sets y[i] to the arccosine of x[i], for i=0,..,n-1. */

void vacosh   (double y[], double x[], int *n);
 /* Sets y[i] to the arc hyperbolic cosine of x[i],
    for i=0,..,n-1. */

void vasin    (double y[], double x[], int *n);
 /* Sets y[i] to the arcsine of x[i], for i=0,..,n-1. */

void vasinh   (double y[], double x[], int *n);
 /* Sets y[i] to the arc hyperbolic sine of x[i],
    for i=0,..,n-1. */

void vatan2   (double z[], double x[], double y[], int *n);
 /* Sets z[i] to the arc tangent of x[i]/y[i], for i=0,..,n-1. */


void vatan   (double y[], double x[], int *n);
 /* Sets y[i] to the arc tangent of x[i],
    for i=0,..,n-1. (libmassvp7.a only) */

void vatanh   (double y[], double x[], int *n);
 /* Sets y[i] to the arc hyperbolic tangent of x[i],
    for i=0,..,n-1. */

void vcbrt    (double y[], double x[], int *n);
 /* Sets y[i] to the cube root of x[i], for i=0,..,n-1. */

void vcos     (double y[], double x[], int *n);
 /* Sets y[i] to the cosine of x[i], for i=0,..,n-1. */

void vcosh    (double y[], double x[], int *n);
 /* Sets y[i] to the hyperbolic cosine of x[i],
    for i=0,..,n-1. */

void vcosisin (double _Complex y[], double x[], int *n);
 /* Sets the real part of y[i] to the cosine of x[i] and the
    imaginary part of y[i] to the sine of x[i], for i=1,..,n. */

void vdint    (double y[], double x[], int *n);
 /* Sets y[i] to the integer truncation of x[i],
    for i=0,..,n-1. */

void vdiv     (double z[], double x[], double y[], int *n);
 /* Sets z[i] to the x[i]/y[i], for i=0,..,n-1. */

void vdnint   (double y[], double x[], int *n);
 /* Sets y[i] to the nearest integer to x[i], for i=0,..,n-1. */


void verf     (double y[], double x[], int *n);
 /* Sets y[i] to the error function of x[i],
    for i=0,..,n-1. (libmassvp7.a only) */

void verfc    (double y[], double x[], int *n);
 /* Sets y[i] to the complimentary error function of x[i],
    for i=0,..,n-1. (libmassvp7.a only) */


void vexp     (double y[], double x[], int *n);
 /* Sets y[i] to the exponential function of x[i],
    for i=0,..,n-1. */


void vexp2     (double y[], double x[], int *n);
 /* Sets y[i] to 2 raised to the power of x[i],
    for i=0,..,n-1. (libmassvp7.a only) */

void vexpm1   (double y[], double x[], int *n);
 /* Sets y[i] to (the exponential function of x[i])-1,
    for i=0,..,n-1. */


void vexp2m1  (double y[], double x[], int *n);
 /* Sets y[i] to (2 raised to the power of x[i])-1,
    for i=0,..,n-1. (libmassvp7.a only) */


void vhypot   (double z[], double x[], double y[], int *n);
 /* Sets z[i] to the square root of the sum of the squares of

     x[i] and y[i], for i=0,..,n-1. (libmassvp7.a only) */

void vlgamma  (double y[], double x[], int *n);
 /* Sets y[i] to the natural logarithm of the absolute value

     of the gamma function of x[i], for i=0,..,n-1.
     (libmassvp7.a only) */

void vlog     (double y[], double x[], int *n);
 /* Sets y[i] to the natural logarithm of x[i],
    for i=0,..,n-1. */


void vlog1p   (double y[], double x[], int *n);
 /* Sets y[i] to the natural logarithm of (x[i]-1),
    for i=0,..,n-1. */


void vlog2    (double y[], double x[], int *n);
 /* Sets y[i] to the base-2 logarithm of x[i],
    for i=0,..,n-1. */


void vlog21p   (double y[], double x[], int *n);
 /* Sets y[i] to the base-2 logarithm of (x[i]-1),
    for i=0,..,n-1. */


void vlog10   (double y[], double x[], int *n);
 /* Sets y[i] to the base-10 logarithm of x[i],
    for i=0,..,n-1. */

void vpow     (double z[], double x[], double y[], int *n);
 /* Sets z[i] to x[i] raised to the power y[i],
    for i=0,..,n-1. */

void vqdrt    (double y[], double x[], int *n);
 /* Sets y[i] to the quad root of x[i], for i=0,..,n-1. */

void vrcbrt   (double y[], double x[], int *n);
 /* Sets y[i] to the reciprocal of the cube root of x[i],
    for i=0,..,n-1. */

void vrec     (double y[], double x[], int *n);
 /* Sets y[i] to the reciprocal of x[i], for i=0,..,n-1. */

void vrqdrt   (double y[], double x[], int *n);
 /* Sets y[i] to the reciprocal of the quad root of x[i],
    for i=0,..,n-1. */

void vrsqrt   (double y[], double x[], int *n);
 /* Sets y[i] to the reciprocal of the square root of x[i],
    for i=0,..,n-1. */

void vsin     (double y[], double x[], int *n);
 /* Sets y[i] to the sine of x[i], for i=0,..,n-1. */

void vsincos  (double s[], double c[], double x[], int *n);
 /* Sets s[i] to the sine of x[i] and c[i] to the cosine of x[i],
    for i=0,..,n-1. */

void vsinh    (double y[], double x[], int *n);
 /* Sets y[i] to the hyperbolic sine of x[i], for i=0,..,n-1. */

void vsqrt    (double y[], double x[], int *n);
 /* Sets y[i] to the square root of x[i], for i=0,..,n-1. */

void vtan     (double y[], double x[], int *n);
 /* Sets y[i] to the tangent of x[i], for i=0,..,n-1. */

void vtanh    (double y[], double x[], int *n);
 /* Sets y[i] to the hyperbolic tangent of x[i],
    for i=0,..,n-1. */

/**********************************************************/
/* C/C++ prototypes for the float vector MASS functions   */
/**********************************************************/

void vsacos    (float y[], float x[], int *n);
 /* Sets y[i] to the arccosine of x[i], for i=0,..,n-1. */

void vsacosh   (float y[], float x[], int *n);
 /* Sets y[i] to the arc hyperbolic cosine of x[i],
    for i=0,..,n-1. */

void vsasin    (float y[], float x[], int *n);
 /* Sets y[i] to the arcsine of x[i], for i=0,..,n-1. */

void vsasinh   (float y[], float x[], int *n);
 /* Sets y[i] to the arc hyperbolic sine of x[i],
    for i=0,..,n-1. */


void vsatan    (float y[], float x[], int *n);
 /* Sets y[i] to the arc tangent of x[i],
    for i=0,..,n-1. (libmassvp7.a only) */

void vsatan2   (float z[], float x[], float y[], int *n);
 /* Sets z[i] to the arc tangent of x[i]/y[i], for i=0,..,n-1. */

void vsatanh   (float y[], float x[], int *n);
 /* Sets y[i] to the arc hyperbolic tangent of x[i],
    for i=0,..,n-1. */

void vscbrt    (float y[], float x[], int *n);
 /* Sets y[i] to the cube root of x[i], for i=0,..,n-1. */

void vscos     (float y[], float x[], int *n);
 /* Sets y[i] to the cosine of x[i], for i=0,..,n-1. */

void vscosisin (float _Complex y[], float x[], int *n);
 /* Sets the real part of y[i] to the cosine of x[i] and the
    imaginary part of y[i] to the sine of x[i], for i=1,..,n. */

void vscosh    (float y[], float x[], int *n);
 /* Sets y[i] to the hyperbolic cosine of x[i],
    for i=0,..,n-1. */

void vsdint    (float y[], float x[], int *n);
 /* Sets y[i] to the integer truncation of x[i],
    for i=0,..,n-1. */

void vsdiv     (float z[], float x[], float y[], int *n);
 /* Sets z[i] to the x[i]/y[i], for i=0,..,n-1. */

void vsdnint   (float y[], float x[], int *n);
 /* Sets y[i] to the nearest integer to x[i], for i=0,..,n-1. */


void vserf     (float y[], float x[], int *n);
  /* Sets y[i] to the error function of x[i],
     for i=0,..,n-1. (libmassvp7.a only) */

void vserfc    (float y[], float x[], int *n);
  /* Sets y[i] to the complimentary error function of x[i],
     for i=0,..,n-1. (libmassvp7.a only) */

void vsexp     (float y[], float x[], int *n);
 /* Sets y[i] to the exponential function of x[i],
    for i=0,..,n-1. */


void vsexp2     (float y[], float x[], int *n);
  /* Sets y[i] to 2 raised to the power of x[i],
     for i=0,..,n-1. (libmassvp7.a only) */

void vsexpm1   (float y[], float x[], int *n);
 /* Sets y[i] to (the exponential function of x[i])-1,
    for i=0,..,n-1. */


void vsexp2m1  (float y[], float x[], int *n);
  /* Sets y[i] to (2 raised to the power of x[i])-1,
     for i=0,..,n-1. (libmassvp7.a only) */

void vshypot   (float z[], float x[], float y[], int *n);
  /* Sets z[i] to the square root of the sum of the squares of
     x[i] and y[i], for i=0,..,n-1. (libmassvp7.a only) */

void vslog     (float y[], float x[], int *n);
 /* Sets y[i] to the natural logarithm of x[i],
    for i=0,..,n-1. */


void vslog1p   (float y[], float x[], int *n);
 /* Sets y[i] to the natural logarithm of (x[i]-1),
    for i=0,..,n-1. */


void vslog2    (float y[], float x[], int *n);
  /* Sets y[i] to the base-2 logarithm of x[i],
     for i=0,..,n-1. */

void vslog21p   (float y[], float x[], int *n);
  /* Sets y[i] to the base-2 logarithm of (x[i]-1),
     for i=0,..,n-1. */

void vslog10   (float y[], float x[], int *n);
 /* Sets y[i] to the base-10 logarithm of x[i],
    for i=0,..,n-1. */

void vspow     (float z[], float x[], float y[], int *n);
 /* Sets z[i] to x[i] raised to the power y[i],
    for i=0,..,n-1. */

void vsqdrt    (float y[], float x[], int *n);
 /* Sets y[i] to the quad root of x[i], for i=0,..,n-1. */

void vsrcbrt   (float y[], float x[], int *n);
 /* Sets y[i] to the reciprocal of the cube root of x[i],
    for i=0,..,n-1. */

void vsrec     (float y[], float x[], int *n);
 /* Sets y[i] to the reciprocal of x[i], for i=0,..,n-1. */

void vsrqdrt   (float y[], float x[], int *n);
 /* Sets y[i] to the reciprocal of the quad root of x[i],
    for i=0,..,n-1. */

void vsrsqrt   (float y[], float x[], int *n);
 /* Sets y[i] to the reciprocal of the square root of x[i],
    for i=0,..,n-1. */

void vssin     (float y[], float x[], int *n);
 /* Sets y[i] to the sine of x[i], for i=0,..,n-1. */

void vssincos  (float s[], float c[], float x[], int *n);
 /* Sets s[i] to the sine of x[i] and c[i] to the cosine of x[i],
    for i=0,..,n-1. */

void vssinh    (float y[], float x[], int *n);
 /* Sets y[i] to the hyperbolic sine of x[i], for i=0,..,n-1. */

void vssqrt    (float y[], float x[], int *n);
 /* Sets y[i] to the square root of x[i], for i=0,..,n-1. */

void vstan     (float y[], float x[], int *n);
 /* Sets y[i] to the tangent of x[i], for i=0,..,n-1. */

void vstanh    (float y[], float x[], int *n);
 /* Sets y[i] to the hyperbolic tangent of x[i],
    for i=0,..,n-1. */

/************************************************************/
/* C/C++ prototypes for the integer vector MASS functions   */
/************************************************************/

unsigned int vpopcnt4 (void *x, int *n);
 /* Returns the total number of 1 bits in the concatenation of
    the binary representation of x[i], for i=0,...,n-1. x is
    treated as a vector of 4-byte integers. */

unsigned int vpopcnt8 (void *x, int *n);
 /* Returns the total number of 1 bits in the concatenation of
    the binary representation of x[i], for i=0,...,n-1. x is
    treated as a vector of 8-byte integers. */

Original Publication Date

21 July 2004

[{"Product":{"code":"SSVKBV","label":"Mathematical Acceleration Subsystem"},"Business Unit":{"code":"BU050","label":"BU NOT IDENTIFIED"},"Component":"Libraries","Platform":[{"code":"PF002","label":"AIX"}],"Version":"6.0","Edition":"","Line of Business":{"code":"","label":""}},{"Product":{"code":"SSTJ5T","label":"XL C Enterprise Edition for AIX"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Component":"Not Applicable","Platform":[{"code":"PF002","label":"AIX"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}},{"Product":{"code":"SUPPORT","label":"IBM Worldwide Support"},"Business Unit":{"code":"BU051","label":"N\/A"},"Component":" ","Platform":[{"code":"PF002","label":"AIX"}],"Version":"All versions","Edition":"","Line of Business":{"code":"LOB33","label":"N\/A"}},{"Product":{"code":"SSJT9L","label":"XL C\/C++"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Component":" ","Platform":[{"code":"PF002","label":"AIX"},{"code":"","label":"AIX5L"},{"code":"","label":"AIXL"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}},{"Product":{"code":"SSB259","label":"XL Fortran Advanced Edition for Linux"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":null,"Platform":[{"code":"PF002","label":"AIX"},{"code":"","label":"AIXL"}],"Version":"All versions","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
12 October 2022

UID

swg27005376