round¶
Computes a value rounded to the nearest integer for each vector element.
Syntax
Buffer API:
-
void
round
(queue &exec_queue, int64_t n, buffer<T, 1> &a, buffer<T, 1> &y, uint64_t mode = mode::not_defined)¶
USM API:
-
event
round
(queue &exec_queue, int64_t n, T *a, T *y, vector_class<event> *depends, uint64_t mode = mode::not_defined)¶
round
supports the following precisions.
T |
---|
|
|
Description
The round(a) function computes a value rounded to the nearest integer for each vector element. Input elements that are halfway between two consecutive integers are always rounded away from zero regardless of the rounding mode.
Argument |
Result |
Error Code |
---|---|---|
+0 |
+0 |
|
-0 |
-0 |
|
+∞ |
+∞ |
|
-∞ |
-∞ |
|
QNAN |
QNAN |
|
SNAN |
QNAN |
The round(a) function does not generate any errors.
Input Parameters
Buffer API:
- exec_queue
The queue where the routine should be executed.
- n
Specifies the number of elements to be calculated.
- a
The buffer
a
containing input vector of sizen
.- mode
Overrides the global VM mode setting for this function call. See set_mode function for possible values and their description. This is an optional parameter. The default value is
mode::not_defined
.
USM API:
- exec_queue
The queue where the routine should be executed.
- n
Specifies the number of elements to be calculated.
- a
Pointer
a
to the input vector of sizen
.- depends
Vector of dependent events (to wait for input data to be ready).
- mode
Overrides the global VM mode setting for this function call. See the set_mode function for possible values and their description. This is an optional parameter. The default value is
mode::not_defined
.
Output Parameters
Buffer API:
- y
The buffer
y
containing the output vector of sizen
.
USM API:
- y
Pointer
y
to the output vector of sizen
.- return value (event)
Function end event.
Example
An example of how to use round can be found in the oneMKL installation directory, under:
examples/sycl/vml/vround.cpp
Parent topic: Rounding Functions