RWalib C Array Library User Guide > Exponentiation and Logarithms > alibSqrt
  

alibSqrt
Returns the square root of each element in an array. The PV-WAVE API for this routine is the SQRT Function.
Prototypes
void alibSqrtf( wvlong n, float *p, float *r )
void alibSqrtd( wvlong n, double *p, double *r )
void alibSqrtc( wvlong n, COMPLEX *p, COMPLEX *r )
void alibSqrtz( wvlong n, DCOMPLEX *p, DCOMPLEX *r )
Parameters
n — (Input) The number of elements in the source array.
*p — (Input) The n-element source array.
*r — (Input/Output) The n-element destination array. On return, array r contains the square root of each element in array p. The operation can be done in-place, i.e., r can equal p.
Example
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "alib.h"
void main() {
    /* make up some input data for the examples */
        float    f0[4]={2,3,4,5};
    /* make an output array */
        float    f[4];
    printf( "\n\n show 4-element vector f0" );
        alibinit( NULL, NULL, NULL, NULL );
        alibPrintArrayf( 1, 1, 1, 4, f0, NULL );
    printf( "\n\n show the square root of each element in f0" );
        alibSqrtf( 4, f0, f );
        alibPrintArrayf( 1, 1, 1, 4, f, NULL );
    printf( "\n\n repeat the operation in-place;  print result as a matrix" );
        alibSqrtf( 4, f0, f0 );
        alibPrintArrayf( 1, 1, 2, 2, f0, NULL );
}
 
Output:
 
 show 4-element vector f0
 
   2.000e+00   3.000e+00   4.000e+00   5.000e+00
 
 show the square root of each element in f0
 
   1.414e+00   1.732e+00   2.000e+00   2.236e+00
 
 repeat the operation in-place;  print result as a matrix
 
   1.414e+00   1.732e+00
   2.000e+00   2.236e+00

Version 2017.0
Copyright © 2017, Rogue Wave Software, Inc. All Rights Reserved.