Developer Reference for Intel® oneAPI Math Kernel Library for C
v?CopySign
Returns vector of elements of one argument with signs changed to match other argument elements.
Syntax
vhCopySign (n, a, y);
vhCopySignI(n, a, inca, b, incb, y, incy);
vmhCopySign (n, a, y, mode);
vmhCopySignI(n, a, inca, b, incb, y, incy, mode);
vsCopySign (n, a, y);
vsCopySignI(n, a, inca, b, incb, y, incy);
vmsCopySign (n, a, y, mode);
vmsCopySignI(n, a, inca, b, incb, y, incy, mode);
vdCopySign (n, a, y);
vdCopySignI(n, a, inca, b, incb, y, incy);
vmdCopySign (n, a, y, mode);
vmdCopySignI(n, a, inca, b, incb, y, incy, mode);
Include Files
- mkl.h
 
Input Parameters
Name  |  
      Type  |  
      Description  |  
     
|---|---|---|
n  |  
      const MKL_INT  |  
      Specifies the number of elements to be calculated.  |  
     
a  |  
      const _Float16* for vhCopySign const float* for vsCopySign const _Float16* for vmhCopySign const float* for vmsCopySign const double* for vdCopySign const double* for vmdCopySign  |  
      Pointer to the array containing the input vector a.  |  
     
inca, incb, incy  |  
      const MKL_INT  |  
      Specifies increments for the elements of a, b, and y.  |  
     
mode  |  
      const MKL_INT64  |  
      Overrides the global VM mode setting for this function call. See vmlSetMode for possible values and their description.  |  
     
Output Parameters
Name  |  
      Type  |  
      Description  |  
     
|---|---|---|
y  |  
      _Float16* for vhCopySign float* for vsCopySign _Float16* for vmhCopySign float* for vmsCopySign double* for vdCopySign double* for vmdCopySign  |  
      Pointer to an array containing the output vector y.  |  
     
Description
The v?CopySign function returns the first vector argument elements with the sign changed to match the sign of the second vector argument's corresponding elements.