Intel® C++ Compiler 16.0 User and Reference Guide

_mm512_svml_round_pd/ _mm512_mask_svml_round_pd

Rounds off to nearest integer. Vector variant of round(x) function for a float64 argument.   This intrinsic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).

Syntax

Without Mask

extern _m512d __cdecl _mm512_svml_round_pd(_m512d v1);

With Mask

extern _m512d __cdecl _mm512_mask_svml_round_pd(_m512d v1_old, __mmask8 k1, _m512d v1);

Parameters

v1 vector of float64 values
v1_old Source vector that retains old values of the destination vector; the resulting vector gets corresponding elements from v1_old for zero mask bits
k1 Writemask; only those elements of the source vector with corresponding bit set to '1' in the k1 mask are computed and stored in the result; elements in the result vector corresponding to zero bit in k1 are copied from corresponding elements of vector v1_old

Description

Rounds off the elements of vector v1 to the nearest integer value. This intrinsic rounds the halfway cases away from zero regardless of the current rounding direction, instead of to the nearest even integer like _mm512_rint_pd _mm512_mask_rint_pd intrinsic.

The masked variant has two additional arguments: v1_old and k1 . Those elements of v1 with the corresponding bit clear in vector mask k1 are not used in the computation. Instead, the corresponding element from v1_old is copied to the resulting vector.

Returns

Returns the result of the operation.