cl::sycl Namespace Reference
Namespaces | |
access | |
codeplay | |
experimental | |
ext | |
half_precision | |
info | |
native | |
property | |
Classes | |
class | accelerator_selector |
Implementation of a device_selector that selects an accelerator device. More... | |
class | accessor |
Public facing interface class for allowing users access to buffer objects, image objects and local memory from within kernel functions and the host. More... | |
class | accessor< elemT, 0, kMode, access::target::local, access::placeholder::false_t > |
Specialization for a 0-dimensional local accessor. More... | |
class | accessor< elemT, kDims, kMode, access::target::host_buffer, access::placeholder::false_t > |
class | accessor< elemT, kDims, kMode, access::target::host_image, access::placeholder::false_t > |
Specialization for a host image accessor. More... | |
class | accessor< elemT, kDims, kMode, access::target::host_task, IsPlaceholder > |
class | accessor< elemT, kDims, kMode, access::target::image, access::placeholder::false_t > |
Specialization for an image accessor. More... | |
class | accessor< elemT, kDims, kMode, access::target::image_array, access::placeholder::false_t > |
class | accessor< elemT, kDims, kMode, access::target::local, access::placeholder::false_t > |
Specialization for a local accessor. More... | |
class | accessor< elemT, kDims, kMode, access::target::subgroup_local, access::placeholder::false_t > |
Specialization for a subgroup_local accessor. More... | |
class | accessor_error |
Represents an error regarding cl::sycl::accessor objects defined. More... | |
class | amd_selector |
Implementation of a device_selector that selects an AMD platform. More... | |
struct | atomic |
Atomic class template. More... | |
class | backend_traits |
Defines backend-specific type traits. More... | |
class | backend_traits< backend::opencl > |
Specializes backend traits for the OpenCL backend. More... | |
class | buffer |
buffer is the public interface for the buffer object implementation. More... | |
class | buffer< const T, dims, AllocatorT > |
Specialization for const buffers, that allows the creation of buffers on the device from const data. More... | |
class | compile_program_error |
Represents an error that happened during compilation. More... | |
class | context |
Interface for abstracting and interacting with an underlying cl_context object. More... | |
class | cpu_selector |
Implementation of a device_selector that selects a CPU device. More... | |
class | default_selector |
Implementation of a device_selector that selects either a CPU or a GPU, and falls back to a host mode device if none can be found. More... | |
class | device |
Interface for abstracting and interacting with an underlying cl_device_id object. More... | |
class | device_error |
Base SYCL device error group. More... | |
class | device_event |
Event for asynchronous operations on the device side. More... | |
class | device_selector |
Abstract class that can be implemented to tell the runtime how to perform device selection. More... | |
struct | device_type |
struct | elem |
Struct with values that help with accessing vector members. More... | |
class | event |
Abstraction of a cl_event object. More... | |
class | event_error |
Represents an error related to a cl::sycl::event. More... | |
class | exception |
SYCL exception class, defined Section 3.2 of the specification, for general SYCL error. More... | |
class | exception_list |
List of exceptions thrown asynchronously, contains objects of type exception_ptr_class. More... | |
class | feature_not_supported |
Represents an exception when an optional feature or extension is used in a kernel but its not available on the device the SYCL kernel is being enqueued on. More... | |
class | gpu_selector |
Implementation of a device_selector that selects a GPU device. More... | |
class | group |
The cl::sycl::group object is a container for all information about a work group. More... | |
class | h_item |
Identifies an instance of a parallel_for_work_item function object executing at each point in a local range passed to a parallel_for_work_item call. More... | |
class | handler |
A handler gives user access to command group scope functionality, such as API calls. More... | |
class | host_selector |
Implementation of a host_selector that selects the host device. More... | |
class | id |
dims-dimensional index More... | |
class | image |
struct | info_convert< cl_context *, context > |
This function converts a cl context object to a sycl context object it is used to allow get_info<cl::sycl::typename::context> to return a sycl context object. More... | |
struct | info_convert< cl_device_id *, device > |
This function converts a cl device object to a sycl device object it is used to allow get_info<cl::sycl::device::parent_device> to return a sycl device object. More... | |
struct | info_convert< cl_platform_id *, platform > |
This function converts a cl platform object to a sycl platform object it is used to allow get_info<cl::sycl::device::platform> to return a sycl platform object. More... | |
struct | info_convert< size_t *, range< 3 > > |
Specialization of info_convert for converting a pointer size_t type to a range<3> type. More... | |
class | intel_selector |
Implementation of a device_selector that selects an Intel platform. More... | |
class | invalid_object_error |
Represents an error regarding any memory object being used by a kernel. More... | |
class | invalid_parameter_error |
Represents an error related to SYCL kernel parameters. More... | |
class | item |
The cl::sycl::item object is a container for all information about a work item. More... | |
class | kernel |
SYCL Kernel interface. More... | |
class | kernel_error |
Represents an error that occurred before or while enqueuing a SYCL kernel. More... | |
class | link_program_error |
Represents an error that happened during linking. More... | |
class | memory_allocation_error |
Represents a memory allocation error. More... | |
class | multi_ptr |
multi_ptr, generic pointer class. More... | |
class | multi_ptr< const void, asp > |
Generic pointer class, specialization for const void. More... | |
class | multi_ptr< void, asp > |
Generic pointer class, specialization for void. More... | |
class | nd_item |
The cl::sycl::nd_item object is a container for all information about a work-item. More... | |
class | nd_range |
Implements the nd_range class of the SYCL specification. More... | |
class | nd_range_error |
Represents an error related to a provided nd_range. More... | |
class | opencl_selector |
Implementation of an opencl_selector that selects either a CPU or a GPU. More... | |
class | platform |
Interface for abstracting and interacting with an underlying cl_platform_id object. More... | |
class | platform_error |
Represents a platform related error. More... | |
class | precision_manipulator |
Class that encapsulates a precision stream manipulator. More... | |
class | private_memory |
This class allows private memory allocation inside a handler::parallel_for_work_group. More... | |
class | profiling_error |
Represents an issue related to profiling (can only be raised if profiling is enabled). More... | |
class | program |
Public facing program class that provides an interface for abstracting the construction and building of a cl_program object, See section 3.5.5 of the SYCL 1.2 specification. More... | |
class | property_list |
Storage class for different properties. More... | |
class | queue |
The cl::sycl::queue object is the SYCL abstraction of the OpenCL object cl_command_queue. More... | |
class | range |
dims-dimensional range More... | |
class | runtime_error |
Base SYCL runtime error group. More... | |
class | sampler |
Public sampler class. More... | |
class | stream |
Class that encapsulates a buffer that can be passed to the device and streamed to. More... | |
struct | stream_vec |
Template struct that contains a function call operator that streams a vec object to a stream object. More... | |
struct | stream_vec< 16, true, elementT, kDimensions > |
Specialization of stream_vec for kVecPart = 16 and kEnabled = true. More... | |
struct | stream_vec< 2, true, elementT, kDimensions > |
Specialization of stream_vec for kVecPart = 2 and kEnabled = true. More... | |
struct | stream_vec< 3, true, elementT, kDimensions > |
Specialization of stream_vec for kVecPart = 3 and kEnabled = true. More... | |
struct | stream_vec< 4, true, elementT, kDimensions > |
Specialization of stream_vec for kVecPart = 4 and kEnabled = true. More... | |
struct | stream_vec< 8, true, elementT, kDimensions > |
Specialization of stream_vec for kVecPart = 8 and kEnabled = true. More... | |
class | swizzled_vec |
class | vec |
Typedefs | |
using | base_t = detail::accessor_buffer_interface< elemT, kDims, kMode, kTarget, access::placeholder::true_t > |
using | atomic_int = atomic< cl_int > |
Atomic int object with default global address space. More... | |
using | atomic_uint = atomic< cl_uint > |
Atomic unsigned int object with default global address space. More... | |
using | atomic_float = atomic< cl_float > |
Atomic float object with default global address space. More... | |
template<backend Backend, typename SyclType > | |
using | backend_input_t = typename backend_traits< Backend >::template input_type< SyclType > |
Shorthand for retrieving the input_type for a specific backend. More... | |
template<backend Backend, typename SyclType > | |
using | backend_return_t = typename backend_traits< Backend >::template return_type< SyclType > |
Shorthand for retrieving the return_type for a specific backend. More... | |
using | cl_bool = bool |
Boolean interop type. More... | |
using | cl_char = signed char |
char (1 byte) interop type More... | |
using | cl_uchar = unsigned char |
unsigned char (1 byte) interop type More... | |
using | cl_short = int16_t |
short (2 bytes) interop type More... | |
using | cl_ushort = uint16_t |
unsigned short (2 bytes) interop type More... | |
using | cl_int = int |
int (4 bytes) interop type More... | |
using | cl_uint = unsigned int |
unsigned int (4 bytes) interop type More... | |
using | cl_float = float |
float interop type More... | |
using | cl_double = double |
double interop type More... | |
using | cl_long = int64_t |
long (8 bytes) interop type More... | |
using | cl_ulong = uint64_t |
unsigned long (8 bytes) interop type More... | |
using | cl_half = half |
half scalar type More... | |
using | cl_char2 = vec< cl_char, 2 > |
char vector interop type More... | |
using | cl_char3 = vec< cl_char, 3 > |
char vector interop type More... | |
using | cl_char4 = vec< cl_char, 4 > |
char vector interop type More... | |
using | cl_char8 = vec< cl_char, 8 > |
char vector interop type More... | |
using | cl_char16 = vec< cl_char, 16 > |
char vector interop type More... | |
using | cl_uchar2 = vec< cl_uchar, 2 > |
unsigned char vector interop type More... | |
using | cl_uchar3 = vec< cl_uchar, 3 > |
unsigned char vector interop type More... | |
using | cl_uchar4 = vec< cl_uchar, 4 > |
unsigned char vector interop type More... | |
using | cl_uchar8 = vec< cl_uchar, 8 > |
unsigned char vector interop type More... | |
using | cl_uchar16 = vec< cl_uchar, 16 > |
unsigned char vector interop type More... | |
using | cl_short2 = vec< cl_short, 2 > |
short vector interop type More... | |
using | cl_short3 = vec< cl_short, 3 > |
short vector interop type More... | |
using | cl_short4 = vec< cl_short, 4 > |
short vector interop type More... | |
using | cl_short8 = vec< cl_short, 8 > |
short vector interop type More... | |
using | cl_short16 = vec< cl_short, 16 > |
short vector interop type More... | |
using | cl_ushort2 = vec< cl_ushort, 2 > |
unsigned short vector interop type More... | |
using | cl_ushort3 = vec< cl_ushort, 3 > |
unsigned short vector interop type More... | |
using | cl_ushort4 = vec< cl_ushort, 4 > |
unsigned short vector interop type More... | |
using | cl_ushort8 = vec< cl_ushort, 8 > |
unsigned short vector interop type More... | |
using | cl_ushort16 = vec< cl_ushort, 16 > |
unsigned short vector interop type More... | |
using | cl_int2 = vec< cl_int, 2 > |
int vector interop type More... | |
using | cl_int3 = vec< cl_int, 3 > |
int vector interop type More... | |
using | cl_int4 = vec< cl_int, 4 > |
int vector interop type More... | |
using | cl_int8 = vec< cl_int, 8 > |
int vector interop type More... | |
using | cl_int16 = vec< cl_int, 16 > |
int vector interop type More... | |
using | cl_uint2 = vec< cl_uint, 2 > |
unsigned int vector interop type More... | |
using | cl_uint3 = vec< cl_uint, 3 > |
unsigned int vector interop type More... | |
using | cl_uint4 = vec< cl_uint, 4 > |
unsigned int vector interop type More... | |
using | cl_uint8 = vec< cl_uint, 8 > |
unsigned int vector interop type More... | |
using | cl_uint16 = vec< cl_uint, 16 > |
unsigned int vector interop type More... | |
using | cl_long2 = vec< cl_long, 2 > |
long vector interop type More... | |
using | cl_long3 = vec< cl_long, 3 > |
long vector interop type More... | |
using | cl_long4 = vec< cl_long, 4 > |
long vector interop type More... | |
using | cl_long8 = vec< cl_long, 8 > |
long vector interop type More... | |
using | cl_long16 = vec< cl_long, 16 > |
long vector interop type More... | |
using | cl_ulong2 = vec< cl_ulong, 2 > |
unsigned long vector interop type More... | |
using | cl_ulong3 = vec< cl_ulong, 3 > |
unsigned long vector interop type More... | |
using | cl_ulong4 = vec< cl_ulong, 4 > |
unsigned long vector interop type More... | |
using | cl_ulong8 = vec< cl_ulong, 8 > |
unsigned long vector interop type More... | |
using | cl_ulong16 = vec< cl_ulong, 16 > |
unsigned long vector interop type More... | |
using | cl_float2 = vec< cl_float, 2 > |
float vector interop type More... | |
using | cl_float3 = vec< cl_float, 3 > |
float vector interop type More... | |
using | cl_float4 = vec< cl_float, 4 > |
float vector interop type More... | |
using | cl_float8 = vec< cl_float, 8 > |
float vector interop type More... | |
using | cl_float16 = vec< cl_float, 16 > |
float vector interop type More... | |
using | cl_double2 = vec< cl_double, 2 > |
double vector interop type More... | |
using | cl_double3 = vec< cl_double, 3 > |
double vector interop type More... | |
using | cl_double4 = vec< cl_double, 4 > |
double vector interop type More... | |
using | cl_double8 = vec< cl_double, 8 > |
double vector interop type More... | |
using | cl_double16 = vec< cl_double, 16 > |
double vector interop type More... | |
using | cl_half2 = vec< cl_half, 2 > |
2 dimensional half vector interop type More... | |
using | cl_half3 = vec< cl_half, 3 > |
3 dimensional half vector interop type More... | |
using | cl_half4 = vec< cl_half, 4 > |
4 dimensional half vector interop type More... | |
using | cl_half8 = vec< cl_half, 8 > |
8 dimensional half vector interop type More... | |
using | cl_half16 = vec< cl_half, 16 > |
16 dimensional half vector interop type More... | |
template<typename T , typename Alloc = std::allocator<T>> | |
using | vector_class = std::vector< T, Alloc > |
using | string_class = std::string |
template<typename T > | |
using | function_class = std::function< T > |
using | mutex_class = std::mutex |
template<typename T , class D = std::default_delete<T>> | |
using | unique_ptr_class = std::unique_ptr< T, D > |
template<typename T > | |
using | shared_ptr_class = std::shared_ptr< T > |
template<typename T > | |
using | weak_ptr_class = std::weak_ptr< T > |
template<typename T > | |
using | hash_class = std::hash< T > |
template<size_t Size> | |
using | bitset_class = std::bitset< Size > |
using | byte = unsigned char |
using | exception_ptr_class = std::exception_ptr |
Class used to store exception objects and transfer them across thread, equivalent to std::exception_ptr. More... | |
using | async_handler = cl::sycl::function_class< void(exception_list)> |
async_handler type definition. More... | |
template<typename dataType > | |
using | global_ptr = multi_ptr< dataType, access::address_space::global_space > |
global_ptr pointer class definition for data pointing to the OpenCL global address space. More... | |
template<typename dataType > | |
using | local_ptr = multi_ptr< dataType, access::address_space::local_space > |
local_ptr pointer class definition for data pointing to the OpenCL local address space More... | |
template<typename dataType > | |
using | private_ptr = multi_ptr< dataType, access::address_space::private_space > |
private_ptr, pointer class definition for data pointing to the OpenCL private address space More... | |
template<typename dataType > | |
using | constant_ptr = multi_ptr< dataType, access::address_space::constant_space > |
constant_ptr, pointer class definition for data living in the OpenCL constant address space More... | |
using | float2 = vec< float, 2 > |
using | float3 = vec< float, 3 > |
using | float4 = vec< float, 4 > |
using | float8 = vec< float, 8 > |
using | float16 = vec< float, 16 > |
using | double2 = vec< double, 2 > |
using | double3 = vec< double, 3 > |
using | double4 = vec< double, 4 > |
using | double8 = vec< double, 8 > |
using | double16 = vec< double, 16 > |
using | half2 = vec< half, 2 > |
using | half3 = vec< half, 3 > |
using | half4 = vec< half, 4 > |
using | half8 = vec< half, 8 > |
using | half16 = vec< half, 16 > |
using | char2 = vec< char, 2 > |
using | char3 = vec< char, 3 > |
using | char4 = vec< char, 4 > |
using | char8 = vec< char, 8 > |
using | char16 = vec< char, 16 > |
using | schar2 = vec< signed char, 2 > |
using | schar3 = vec< signed char, 3 > |
using | schar4 = vec< signed char, 4 > |
using | schar8 = vec< signed char, 8 > |
using | schar16 = vec< signed char, 16 > |
using | uchar2 = vec< unsigned char, 2 > |
using | uchar3 = vec< unsigned char, 3 > |
using | uchar4 = vec< unsigned char, 4 > |
using | uchar8 = vec< unsigned char, 8 > |
using | uchar16 = vec< unsigned char, 16 > |
using | short2 = vec< short, 2 > |
using | short3 = vec< short, 3 > |
using | short4 = vec< short, 4 > |
using | short8 = vec< short, 8 > |
using | short16 = vec< short, 16 > |
using | ushort2 = vec< unsigned short, 2 > |
using | ushort3 = vec< unsigned short, 3 > |
using | ushort4 = vec< unsigned short, 4 > |
using | ushort8 = vec< unsigned short, 8 > |
using | ushort16 = vec< unsigned short, 16 > |
using | int2 = vec< int, 2 > |
using | int3 = vec< int, 3 > |
using | int4 = vec< int, 4 > |
using | int8 = vec< int, 8 > |
using | int16 = vec< int, 16 > |
using | uint2 = vec< unsigned int, 2 > |
using | uint3 = vec< unsigned int, 3 > |
using | uint4 = vec< unsigned int, 4 > |
using | uint8 = vec< unsigned int, 8 > |
using | uint16 = vec< unsigned int, 16 > |
using | long2 = vec< long, 2 > |
using | long3 = vec< long, 3 > |
using | long4 = vec< long, 4 > |
using | long8 = vec< long, 8 > |
using | long16 = vec< long, 16 > |
using | ulong2 = vec< unsigned long, 2 > |
using | ulong3 = vec< unsigned long, 3 > |
using | ulong4 = vec< unsigned long, 4 > |
using | ulong8 = vec< unsigned long, 8 > |
using | ulong16 = vec< unsigned long, 16 > |
using | longlong2 = vec< long long, 2 > |
using | longlong3 = vec< long long, 3 > |
using | longlong4 = vec< long long, 4 > |
using | longlong8 = vec< long long, 8 > |
using | longlong16 = vec< long long, 16 > |
using | ulonglong2 = vec< unsigned long long, 2 > |
using | ulonglong3 = vec< unsigned long long, 3 > |
using | ulonglong4 = vec< unsigned long long, 4 > |
using | ulonglong8 = vec< unsigned long long, 8 > |
using | ulonglong16 = vec< unsigned long long, 16 > |
Functions | |
template<typename elemT , int kDims, access::mode kMode, access::target kTarget, access::placeholder IsPlaceholder> | |
COMPUTECPP_SET_IGNORE_DEPRECATED_API class COMPUTECPP_ACCESSOR_WINDOWS_ALIGNMENT | COMPUTECPP_VALID_KERNEL_ARG_IF (kTarget !=access::target::host_buffer &&kTarget !=access::target::host_task, "Cannot pass host accessor to SYCL kernel") accessor |
Non-specialized accessor template that covers only global and constant buffers. More... | |
template<typename elemT , int kDims, access::mode kMode, access::target kTarget> | |
COMPUTECPP_SET_IGNORE_DEPRECATED_API class COMPUTECPP_ACCESSOR_WINDOWS_ALIGNMENT | COMPUTECPP_VALID_KERNEL_ARG_IF (kTarget !=access::target::host_buffer &&kTarget !=access::target::host_task, "Cannot pass host accessor to SYCL kernel") accessor< elemT |
A public facing accessor that can be constructed outside of a command group. More... | |
accessor (storage_mem &store, detail::access_range accessRange, const property_list &propList={}) | |
Constructs a ranged placeholder accessor. More... | |
accessor< elemT, 1, kMode, kTarget, access::placeholder::true_t > | get_accessor_with_added_offset (int addedOffset) const |
returns an accessor similar to *this, with the offset changed to this->get_offset()[0] + addedOffset. More... | |
accessor (const property_list &propList={}) | |
Constructs a default placeholder accessor without associated storage. More... | |
template<typename AllocatorT = default_allocator> | |
accessor (buffer< elemT, detail::acc_interface_dims< kDims >::value, AllocatorT > &bufferRef, const property_list &propList={}) | |
Constructs a placeholder accessor. More... | |
template<typename AllocatorT > | |
COMPUTECPP_DEPRECATED_BY_SYCL_VER (201703, "Use overload where the range comes before the offset.") accessor(buffer< elemT | |
Constructs a ranged placeholder accessor. More... | |
template<typename AllocatorT > | |
accessor (buffer< elemT, kDims, AllocatorT > &bufferRef, range< kDims > accessRange, const property_list &propList={}) | |
Constructs a ranged placeholder accessor. More... | |
template<typename AllocatorT > | |
accessor (buffer< elemT, kDims, AllocatorT > &bufferRef, range< kDims > accessRange, id< kDims > accessOffset, const property_list &propList={}) | |
Constructs a ranged placeholder accessor. More... | |
accessor (buffer< elemT, kDims > &bufferRef, range< kDims > accessRange, const property_list &propList={}) | |
Constructs a ranged placeholder accessor. More... | |
accessor (buffer< elemT, kDims > &bufferRef, range< kDims > accessRange, id< kDims > accessOffset, const property_list &propList={}) | |
Constructs a ranged placeholder accessor. More... | |
template<typename AllocatorT > | |
accessor (buffer< elemT, kDims, AllocatorT > &bufferRef, handler &commandHandler, range< kDims > accessRange, const property_list &propList={}) | |
Constructs a ranged placeholder accessor. More... | |
template<typename AllocatorT > | |
accessor (buffer< elemT, kDims, AllocatorT > &bufferRef, handler &commandHandler, range< kDims > accessRange, id< kDims > accessOffset, const property_list &propList={}) | |
Constructs a ranged placeholder accessor. More... | |
accessor (buffer< elemT, kDims > &bufferRef, handler &commandHandler, range< kDims > accessRange, const property_list &propList={}) | |
Constructs a ranged placeholder accessor. More... | |
accessor (buffer< elemT, kDims > &bufferRef, handler &commandHandler, range< kDims > accessRange, id< kDims > accessOffset, const property_list &propList={}) | |
Constructs a ranged placeholder accessor. More... | |
template<typename AllocatorT > | |
accessor (buffer< elemT, kDims, AllocatorT > &bufferRef, handler &commandHandler, const property_list &propList={}) | |
Constructs a placeholder buffer accessor. More... | |
accessor (buffer< elemT, kDims > &bufferRef, handler &commandHandler, const property_list &propList={}) | |
Constructs a placeholder buffer accessor. More... | |
template<typename AllocatorT , COMPUTECPP_ENABLE_IF(elemT,(kDims==0)) > | |
accessor (buffer< elemT, 1, AllocatorT > &bufferRef, handler &commandHandler, const property_list &propList={}) | |
Constructs a placeholder 0-dimensional buffer accessor. More... | |
accessor< elemT, kDims, kMode, kTarget, access::placeholder::false_t > | get_access (handler &commandHandler) const |
Obtains a normal accessor from the placeholder accessor. More... | |
template<COMPUTECPP_ENABLE_IF(elemT,(kDims==1)) > | |
accessor< elemT, 1, kMode, kTarget, access::placeholder::true_t > | operator+ (int rhs) const |
Creates and returns a new accessor with its offset changed by rhs. More... | |
template<COMPUTECPP_ENABLE_IF(elemT,(kDims==1)) > | |
accessor< elemT, 1, kMode, kTarget, access::placeholder::true_t > | operator- (int rhs) const |
Creates and returns a new accessor with its offset changed by rhs. More... | |
template<COMPUTECPP_ENABLE_IF(elemT,(kDims==1)) > | |
accessor< elemT, 1, kMode, kTarget, access::placeholder::true_t > & | operator+= (int rhs) |
Changes this->offset by rhs as this->get_offset()[0] + rhs. More... | |
template<COMPUTECPP_ENABLE_IF(elemT,(kDims==1)) > | |
accessor< elemT, 1, kMode, kTarget, access::placeholder::true_t > & | operator-= (int rhs) |
Changes this->offset by rhs as this->get_offset()[0] - rhs. More... | |
template<typename functorT , int dimensions> | |
COMPUTECPP_DEPRECATED_BY_SYCL_VER (201703, "Use group::parallel_for_work_item instead.") void parallel_for_work_item(group< dimensions > groupID | |
inner loop of parallel_for_work_group, the Hierarchical API. More... | |
template<typename T , access::address_space addressSpace> | |
T | atomic_load (atomic< T, addressSpace > object, memory_order mem_order=memory_order::relaxed) |
Global function atomic_load. More... | |
template<typename T , access::address_space addressSpace> | |
void | atomic_store (atomic< T, addressSpace > object, T operand, memory_order mem_order=memory_order::relaxed) |
Global function atomic_store. More... | |
template<typename T , access::address_space addressSpace> | |
T | atomic_exchange (atomic< T, addressSpace > object, T operand, memory_order mem_order=memory_order::relaxed) |
Global function atomic_exchange. More... | |
template<typename T , access::address_space addressSpace> | |
cl_bool | atomic_compare_exchange_strong (atomic< T, addressSpace > object, T &expected, T desired, memory_order success=memory_order::relaxed, memory_order fail=memory_order::relaxed) |
Global function atomic_compare_exchange. More... | |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_add (atomic< T, addressSpace > object, T operand, memory_order mem_order=memory_order::relaxed) |
Global function atomic_add. More... | |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_sub (atomic< T, addressSpace > object, T operand, memory_order mem_order=memory_order::relaxed) |
Global function atomic_sub. More... | |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_and (atomic< T, addressSpace > object, T operand, memory_order mem_order=memory_order::relaxed) |
Global function atomic_and. More... | |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_or (atomic< T, addressSpace > object, T operand, memory_order mem_order=memory_order::relaxed) |
Global function atomic_or. More... | |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_xor (atomic< T, addressSpace > object, T operand, memory_order mem_order=memory_order::relaxed) |
Global function atomic_xor. More... | |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_min (atomic< T, addressSpace > object, T operand, memory_order mem_order=memory_order::relaxed) |
Global function atomic_min. More... | |
template<typename T , access::address_space addressSpace> | |
T | atomic_fetch_max (atomic< T, addressSpace > object, T operand, memory_order mem_order=memory_order::relaxed) |
Global function atomic_max. More... | |
template<typename F1 , typename F2 , COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && std::is_same< F1, F2 >::value)||(detail::builtin::is_genfloath< F1 >::value && std::is_same< F2, half >::value)||(detail::builtin::is_genfloatf< F1 >::value && std::is_same< F2, float >::value)||(detail::builtin::is_genfloatd< F1 >::value && std::is_same< F2, double >::value)) > | |
F1 | clamp (F1 x, F2 minval, F2 maxval) noexcept |
Returns fmin(fmax(x, minval), maxval) . More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | degrees (const F x) noexcept |
Converts radians to degrees, i.e. More... | |
template<typename F1 , typename F2 , COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && std::is_same< F1, F2 >::value)||(detail::builtin::is_genfloath< F1 >::value && std::is_same< F2, half >::value)||(detail::builtin::is_genfloatf< F1 >::value && std::is_same< F2, float >::value)||(detail::builtin::is_genfloatd< F1 >::value && std::is_same< F2, double >::value)) > | |
F1 | abs (F1 x, F2 y) noexcept |
Compute absolute value of a floating-point number. More... | |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value)||(detail::builtin::is_genfloath< F1 >::value && detail::builtin::is_sgenfloat< F2, half >::value)||(detail::builtin::is_genfloatf< F1 >::value && detail::builtin::is_sgenfloat< F2, float >::value)||(detail::builtin::is_genfloatd< F1 >::value && detail::builtin::is_sgenfloat< F2, double >::value)) > | |
F | max (F1 x, F2 y) noexcept |
Returns y if x < y , otherwise it returns x. More... | |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value)||(detail::builtin::is_genfloath< F1 >::value && detail::builtin::is_sgenfloat< F2, half >::value)||(detail::builtin::is_genfloatf< F1 >::value && detail::builtin::is_sgenfloat< F2, float >::value)||(detail::builtin::is_genfloatd< F1 >::value && detail::builtin::is_sgenfloat< F2, double >::value)) > | |
F | min (F1 x, F2 y) noexcept |
Returns y if x > y , otherwise it returns x. More... | |
template<typename F1 , typename F2 , COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && std::is_same< F1, F2 >::value)||(detail::builtin::is_genfloath< F1 >::value && std::is_same< F2, half >::value)||(detail::builtin::is_genfloatf< F1 >::value && std::is_same< F2, float >::value)||(detail::builtin::is_genfloatd< F1 >::value && std::is_same< F2, double >::value)) > | |
F1 | mix (F1 x, F1 y, F2 a) noexcept |
Returns the linear blend of x&y implemented as: x + (y - x) * a. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | radians (const F x) noexcept |
Converts degrees to radians, i.e. More... | |
template<typename F1 , typename F2 , COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && std::is_same< F1, F2 >::value)||(std::is_same< F1, half >::value && detail::builtin::is_genfloath< F2 >::value)||(std::is_same< F1, float >::value && detail::builtin::is_genfloatf< F2 >::value)||(std::is_same< F1, double >::value && detail::builtin::is_genfloatd< F2 >::value)) > | |
F2 | step (F1 edge, F2 x) noexcept |
Returns 0.0 if x < edge , otherwise it returns 1.0. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | acos (F x) noexcept |
Inverse cosine function. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | acosh (F x) noexcept |
Inverse hyperbolic cosine. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | acospi (F x) noexcept |
Compute acos(x)/π More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | asin (F x) noexcept |
Inverse sine function. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | asinh (F x) noexcept |
Inverse hyperbolic sine. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | asinpi (F x) noexcept |
Compute asin(x)/π More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | atan (F y_over_x) noexcept |
Inverse tangent function. More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
F | atan2 (F y, F x) noexcept |
Compute atan(y/x) . More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | atanh (F x) noexcept |
Inverse hyperbolic tangent. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | atanpi (F x) noexcept |
Compute atan(x)/π More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
F | atan2pi (F y, F x) noexcept |
Compute atan(y/x)/π . More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | cbrt (F x) noexcept |
Compute cube-root. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | ceil (F x) noexcept |
Round to integral value using the round to positive infinity rounding mode. More... | |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value)) > | |
F | copysign (F1 x, F2 y) noexcept |
Returns x with its sign changed to match the sign of y. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | cos (F x) noexcept |
Compute cosine. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | cosh (F x) noexcept |
Compute hyperbolic cosine. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | cospi (F x) noexcept |
Compute cos(πx) More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | erfc (F x) noexcept |
Complementary error function. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | erf (F x) noexcept |
Error function encountered in integrating the normal distribution. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | exp (F x) noexcept |
Compute the base-e exponential of x. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | exp2 (F x) noexcept |
Exponential base 2 function. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | exp10 (F x) noexcept |
Exponential base 10 function. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | expm1 (F x) noexcept |
Compute exp(x) - 1.0 . More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | fabs (F x) noexcept |
Compute absolute value of a floating-point number. More... | |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value)) > | |
F | fdim (F1 x, F2 y) noexcept |
x - y if x > y , +0 if x is less than or equal to y. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | floor (F x) noexcept |
Round to integral value using the round to negative infinity rounding mode. More... | |
template<typename F1 , typename F2 , typename F3 , typename F = detail::common_return_t<F1, F2, F3>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value && detail::builtin::is_genfloat< F3 >::value)) > | |
F | fma (F1 a, F2 b, F3 c) noexcept |
Returns the correctly rounded floating-point representation of the sum of c with the infinitely precise product of a and b. More... | |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES( detail::builtin::is_genfloat< F1 >::value &&(detail::builtin::is_genfloat< F2 >::value|| detail::builtin::is_sgenfloat< F2, detail::scalar_t< F >>::value)) > | |
F | fmax (F1 x, F2 y) noexcept |
Returns y if x < y , otherwise it returns x. More... | |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES( detail::builtin::is_genfloat< F1 >::value &&(detail::builtin::is_genfloat< F2 >::value|| detail::builtin::is_sgenfloat< F2, detail::scalar_t< F >>::value)) > | |
F | fmin (F1 x, F2 y) noexcept |
Returns y if y < x, otherwise it returns x. More... | |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value)) > | |
F | fmod (F1 x, F2 y) noexcept |
Modulus. More... | |
template<typename F , access::address_space AddressSpace, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
F | fract (F x, detail::builtin_ptr< F, AddressSpace > iptr) noexcept |
Returns fmin(x - floor (x), 0x1.fffffep-1f) . More... | |
template<typename F , typename Integral , access::address_space AddressSpace, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F >::value && detail::builtin::is_genint< Integral >::value)) > | |
F | frexp (F x, detail::builtin_ptr< Integral, AddressSpace > exp) noexcept |
Extract mantissa and exponent from x. More... | |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value)) > | |
F | hypot (F1 x, F2 y) noexcept |
Compute the value of the square root of x2 + y2 without undue overflow or underflow. More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
detail::correct_int_t< F > | ilogb (F x) noexcept |
Return the exponent as an integer value. More... | |
template<typename F , typename Integral , COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F >::value && detail::builtin::is_genint< Integral >::value)) > | |
F | ldexp (F x, Integral k) noexcept |
Multiply x by 2 to the power k. More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
F | ldexp (F x, const int k) noexcept |
Multiply x by 2 to the power k. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | lgamma (F x) noexcept |
Log gamma function. More... | |
template<typename F , typename Integral , access::address_space AddressSpace, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F >::value && detail::builtin::is_genint< Integral >::value)) > | |
F | lgamma_r (F x, detail::builtin_ptr< Integral, AddressSpace > signp) noexcept |
Log gamma function. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | log (F x) noexcept |
Compute natural logarithm. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | log2 (F x) noexcept |
Compute a base 2 logarithm. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | log10 (F x) noexcept |
Compute a base 10 logarithm. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | log1p (F x) noexcept |
Compute loge(1.0 + x) . More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | logb (F x) noexcept |
Compute the exponent of x, which is the integral part of logr (|x|). More... | |
template<typename F1 , typename F2 , typename F3 , typename F = detail::common_return_t<F1, F2, F3>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value && detail::builtin::is_genfloat< F3 >::value)) > | |
F | mad (F1 a, F2 b, F3 c) noexcept |
mad approximates a * b + c . More... | |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value)) > | |
F | maxmag (F1 x, F2 y) noexcept |
Returns x if |x| > |y|, y if |y| > |x|, otherwise fmax(x, y) . More... | |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value)) > | |
F | minmag (F1 x, F2 y) noexcept |
Returns x if |x| < |y|, y if |y| < |x|, otherwise fmin(x, y) . More... | |
template<typename F , access::address_space AddressSpace, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
F | modf (F x, detail::builtin_ptr< F, AddressSpace > iptr) noexcept |
Decompose a floating-point number. More... | |
template<typename Integral , COMPUTECPP_REQUIRES( computecpp::gsl::or_< detail::builtin::is_ugenint< Integral >::value, detail::builtin::is_ugenlonginteger< Integral >::value >::value) > | |
auto | nan (Integral nancode) noexcept -> detail::matching_float_t< Integral > |
Returns x if |x| < |y|, y if |y| < |x|, otherwise fmin(x, y) . More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_ushortn< Integral >::value) > | |
detail::matching_float_t< Integral > | nan (Integral nancode) noexcept |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value)) > | |
F | nextafter (F1 x, F2 y) noexcept |
Computes the next representable single-precision floating-point value following x in the direction of y. More... | |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value)) > | |
F | pow (F1 x, F2 y) noexcept |
Compute x to the power y. More... | |
template<typename F , typename Integral , COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F >::value && detail::builtin::is_genint< Integral >::value)) > | |
F | pown (F x, Integral y) noexcept |
Compute x to the power y, where y is an integer. More... | |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value)) > | |
F | powr (F1 x, F2 y) noexcept |
Compute x to the power y, where x >= 0. More... | |
template<typename F1 , typename F2 , typename F = detail::common_return_t<F1, F2>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value)) > | |
F | remainder (F1 x, F2 y) noexcept |
Compute the value r such that r = x - n * y , where n is the integer nearest the exact value of x / y. More... | |
template<typename F , typename Integral , access::address_space AddressSpace, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F >::value && detail::builtin::is_genint< Integral >::value)) > | |
F | remquo (F x, F y, detail::builtin_ptr< Integral, AddressSpace > quo) noexcept |
The remquo function computes the value r such that r = x - k * y , where k is the integer nearest the exact value of x/y. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | rint (F x) noexcept |
Round to integral value (using round to nearest even rounding mode) in floating-point format. More... | |
template<typename F , typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value, detail::builtin::is_genint< Integral >::value) > | |
F | rootn (F x, Integral y) noexcept |
Compute x to the power 1/y. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | round (F x) noexcept |
Return the integral value nearest to x rounding halfway cases away from zero, regardless of the current rounding direction. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | rsqrt (F x) noexcept |
Compute inverse square root. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | sin (F x) noexcept |
Compute sine. More... | |
template<typename F , access::address_space AddressSpace, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
F | sincos (F x, detail::builtin_ptr< F, AddressSpace > cosval) noexcept |
Compute sine and cosine of x. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | sinh (F x) noexcept |
Compute hyperbolic sine. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | sinpi (F x) noexcept |
Compute sin(π * x) . More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | sqrt (F x) noexcept |
Compute square root. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | tan (F x) noexcept |
Compute tangent. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | tanh (F x) noexcept |
Compute hyperbolic tangent. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | tanpi (F x) noexcept |
Compute tan(π * x) . More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | tgamma (F x) noexcept |
Compute the gamma function. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | trunc (F x) noexcept |
Round to integral value using the round to zero rounding mode. More... | |
template<typename F , int N, COMPUTECPP_REQUIRES((detail::is_custom_half_type< F >::value|| std::is_same< F, float >::value|| std::is_same< F, double >::value) &&(N==3||N==4)) > | |
vec< F, N > | cross (const vec< F, N > p0, const vec< F, N > p1) noexcept |
Returns the cross product of p0.xyz and p1.xyz. More... | |
template<typename F1 , typename F2 , typename F = detail::select_float_t<detail::common_return_t<F1, F2>>, COMPUTECPP_REQUIRES((detail::builtin::is_gen_geo_anyfloat< F1 >::value && detail::builtin::is_gen_geo_anyfloat< F2 >::value)) > | |
F | dot (F1 p0, F2 p1) noexcept |
Compute dot product. More... | |
template<typename F1 , typename F2 , typename F = detail::select_float_t<detail::common_return_t<F1, F2>>, COMPUTECPP_REQUIRES((detail::builtin::is_gen_geo_anyfloat< F1 >::value && detail::builtin::is_gen_geo_anyfloat< F2 >::value)) > | |
F | distance (F1 p0, F2 p1) noexcept |
Returns the distance between p0 and p1. More... | |
template<typename F , typename return_t = detail::select_float_t<detail::collapse_swizzled_vec_t<F>>, COMPUTECPP_REQUIRES(detail::builtin::is_gen_geo_anyfloat< F >::value) > | |
return_t | length (F p) noexcept |
Return the length of vector p, i.e. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_gen_geo_anyfloat< F >::value) > | |
return_t | normalize (F p) noexcept |
Returns a vector in the same direction as p but with a length of 1. More... | |
template<typename F1 , typename F2 , typename F = detail::scalar_t<detail::common_return_t<F1, F2>>, COMPUTECPP_REQUIRES((computecpp::gsl::or_< detail::builtin::is_gengeohalf< F1 >::value, detail::builtin::is_gengeofloat< F1 >::value >::value) &&(computecpp::gsl::or_< detail::builtin::is_gengeohalf< F2 >::value, detail::builtin::is_gengeofloat< F2 >::value >::value)) > | |
F | fast_distance (F1 p0, F2 p1) noexcept |
Returns f ast length(p0 - p1) . More... | |
template<typename F , typename return_t = detail::scalar_t<detail::collapse_swizzled_vec_t<F>>, COMPUTECPP_REQUIRES( computecpp::gsl::or_< detail::builtin::is_gengeohalf< F >::value, detail::builtin::is_gengeofloat< F >::value >::value) > | |
return_t | fast_length (F p) noexcept |
Returns the length of vector p computed as: sqrt((half)(pow(p.x,2) + pow(p.y,2)+ ...)) . More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES( computecpp::gsl::or_< detail::builtin::is_gengeohalf< F >::value, detail::builtin::is_gengeofloat< F >::value >::value) > | |
return_t | fast_normalize (F p) noexcept |
Returns a vector in the same direction as p but with a length of 1. More... | |
template<typename Integral , COMPUTECPP_REQUIRES((detail::builtin::is_geninteger< Integral >::value)) > | |
auto | abs (Integral x) noexcept -> detail::make_genuint_t< Integral > |
Returns |x| More... | |
template<typename Integral , COMPUTECPP_REQUIRES((detail::builtin::is_geninteger< Integral >::value)) > | |
auto | abs_diff (Integral x, Integral y) noexcept -> detail::make_genuint_t< Integral > |
Returns |x - y| without modulo overflow. More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_geninteger< Integral >::value) > | |
Integral | add_sat (Integral x, Integral y) noexcept |
Returns x + y and saturates the result. More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_geninteger< Integral >::value) > | |
Integral | hadd (Integral x, Integral y) noexcept |
Returns (x + y) >> 1 . More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_geninteger< Integral >::value) > | |
Integral | rhadd (Integral x, Integral y) noexcept |
Returns (x + y + 1) >> 1 . More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_geninteger< Integral >::value) > | |
Integral | clamp (Integral x, Integral minval, Integral maxval) noexcept |
Returns min(max(x, minval), maxval) . More... | |
template<typename Integral , typename S , COMPUTECPP_REQUIRES((detail::builtin::is_geninteger< Integral >::value && detail::builtin::is_sgeninteger< S >::value)) > | |
Integral | clamp (Integral x, S minval, S maxval) noexcept |
Returns min(max(x, minval), maxval) . More... | |
template<typename Integral , typename return_t = detail::collapse_swizzled_vec_t<Integral>, COMPUTECPP_REQUIRES(detail::builtin::is_geninteger< Integral >::value) > | |
return_t | clz (Integral x) noexcept |
Returns the number of leading 0-bits in x , starting at the most significant bit position. More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_geninteger< Integral >::value) > | |
Integral | mad_hi (Integral a, Integral b, Integral c) noexcept |
Returns mul_hi(a, b) + c . More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_geninteger< Integral >::value) > | |
Integral | mad_sat (Integral a, Integral b, Integral c) noexcept |
Returns a * b + c and saturates the result. More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_geninteger< Integral >::value) > | |
Integral | max (Integral x, Integral y) noexcept |
Returns y if x < y , otherwise it returns x. More... | |
template<typename Integral , typename S , COMPUTECPP_REQUIRES((detail::builtin::is_geninteger< Integral >::value && detail::builtin::is_sgeninteger< S >::value)) > | |
Integral | max (Integral x, S y) noexcept |
Returns y if x < y , otherwise it returns x. More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_geninteger< Integral >::value) > | |
Integral | min (Integral x, Integral y) noexcept |
Returns y if y < x , otherwise it returns x. More... | |
template<typename Integral , typename S , COMPUTECPP_REQUIRES((detail::builtin::is_geninteger< Integral >::value && detail::builtin::is_sgeninteger< S >::value)) > | |
Integral | min (Integral x, S y) noexcept |
Returns y if y < x , otherwise it returns x. More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_geninteger< Integral >::value) > | |
Integral | mul_hi (Integral x, Integral y) noexcept |
Computes x * y and returns the high half of the product of x and y . More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_geninteger< Integral >::value) > | |
Integral | rotate (Integral v, Integral i) noexcept |
For each element in v, the bits are shifted left by the number of bits given by the corresponding element in i (subject to usual shift modulo rules described in section 6.3). More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_geninteger< Integral >::value) > | |
Integral | sub_sat (Integral x, Integral y) noexcept |
Returns x - y and saturates the result. More... | |
template<typename I1 , typename I2 , COMPUTECPP_REQUIRES( computecpp::gsl::or_< detail::builtin::is_geninteger8bit< I1 >::value && detail::builtin::is_ugeninteger8bit< I2 >::value, detail::builtin::is_geninteger16bit< I1 >::value && detail::builtin::is_ugeninteger16bit< I2 >::value, detail::builtin::is_geninteger32bit< I1 >::value && detail::builtin::is_ugeninteger32bit< I2 >::value >::value) > | |
auto | upsample (I1 hi, I2 lo) noexcept -> decltype(::cl::sycl::detail::double_width_cast(std::declval< I1 >())) |
Returns result[i] = (hi[i] << 8) | lo[i] More... | |
template<typename Integral , typename return_t = detail::collapse_swizzled_vec_t<Integral>, COMPUTECPP_REQUIRES(detail::builtin::is_geninteger< Integral >::value) > | |
return_t | popcount (Integral x) noexcept |
Returns the number of non-zero bits in x . More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_geninteger32bit< Integral >::value) > | |
Integral | mad24 (Integral x, Integral y, Integral z) noexcept |
Multipy two 24-bit integer values x and y and add the 32-bit integer result to the 32-bit integer z . More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_geninteger32bit< Integral >::value) > | |
Integral | mul24 (Integral x, Integral y) noexcept |
Multiply two 24-bit integer values x and y . More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
detail::matching_integral_t< F > | isequal (F x, F y) noexcept |
Returns the component-wise compare of x == y . More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
detail::matching_integral_t< F > | isnotequal (F x, F y) noexcept |
Returns the component-wise compare of x != y . More... | |
template<typename F1 , typename F2 , typename F = detail::matching_integral_t<detail::common_return_t<F1, F2>>, COMPUTECPP_REQUIRES((detail::builtin::is_genfloat< F1 >::value && detail::builtin::is_genfloat< F2 >::value)) > | |
F | isgreater (F1 x, F2 y) noexcept |
Returns the component-wise compare of x > y . More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
detail::matching_integral_t< F > | isgreaterequal (F x, F y) noexcept |
Returns the component-wise compare of x >= y . More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
detail::matching_integral_t< F > | isless (F x, F y) noexcept |
Returns the component-wise compare of x < y . More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
detail::matching_integral_t< F > | islessequal (F x, F y) noexcept |
Returns the component-wise compare of x <= y . More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
detail::matching_integral_t< F > | islessgreater (F x, F y) noexcept |
Returns the component-wise compare of (x < y) || (x > y) . More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
detail::matching_integral_t< F > | isfinite (F x) noexcept |
Test for finite value. More... | |
template<typename F , typename return_t = detail::matching_integral_t<detail::collapse_swizzled_vec_t<F>>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | isinf (F x) noexcept |
Test for infinity value (positive or negative). More... | |
template<typename F , typename return_t = detail::matching_integral_t<detail::collapse_swizzled_vec_t<F>>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | isnan (F x) noexcept |
Test for a NaN. More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
detail::matching_integral_t< F > | isnormal (F x) noexcept |
Test for a normal value. More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
detail::matching_integral_t< F > | isordered (F x, F y) noexcept |
Test if arguments are ordered. More... | |
template<typename F , COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
detail::matching_integral_t< F > | isunordered (F x, F y) noexcept |
Test if arguments are unordered. More... | |
template<typename F , typename return_t = detail::matching_integral_t<detail::collapse_swizzled_vec_t<F>>, COMPUTECPP_REQUIRES(detail::builtin::is_genfloat< F >::value) > | |
return_t | signbit (F x) noexcept |
Test for sign bit. More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_igeninteger< Integral >::value) > | |
int | any (Integral x) noexcept |
Returns 1 if the most significant bit in any component of x is set; otherwise returns 0. More... | |
template<typename Integral , COMPUTECPP_REQUIRES(detail::builtin::is_igeninteger< Integral >::value) > | |
int | all (Integral x) noexcept |
Returns 1 if the most significant bit in all components of x is set; otherwise returns 0. More... | |
template<typename T , COMPUTECPP_REQUIRES(detail::builtin::is_gentype< T >::value) > | |
T | bitselect (T a, T b, T c) noexcept |
Each bit of the result is the corresponding bit of a if the corresponding bit of c is 0. More... | |
template<typename T1 , typename T2 , COMPUTECPP_REQUIRES( computecpp::gsl::or_< detail::builtin::is_geninteger< T1 >::value && detail::builtin::is_igeninteger< T2 >::value, detail::builtin::is_geninteger< T1 >::value && detail::builtin::is_ugeninteger< T2 >::value, detail::builtin::is_genfloatf< T1 >::value && detail::builtin::is_genint< T2 >::value, detail::builtin::is_genfloatf< T1 >::value && detail::builtin::is_ugenint< T2 >::value, detail::builtin::is_genfloatd< T1 >::value && detail::builtin::is_igeninteger64bit< T2 >::value, detail::builtin::is_genfloatd< T1 >::value && detail::builtin::is_ugeninteger64bit< T2 >::value >::value) > | |
T1 | select (T1 a, T1 b, T2 c) noexcept |
For each component of a vector type: result[i] = (MSB of c[i] is set)? b[i] : a[i] For a scalar type: result = c ? b : a . More... | |
COMPUTECPP_GET_INFO_SPECIALIZATION_DECL (device, usm_restricted_shared_allocations) COMPUTECPP_GET_INFO_SPECIALIZATION_DECL(device | |
template<> | |
sub_group_independent_forward_progress info::param_traits< info::device, info::device::name >::return_type | device::get_info< info::device::name > () const |
Gets OpenCL information for the underlying cl_device_id. More... | |
template<> | |
info::param_traits< info::device, info::device::vendor >::return_type | device::get_info< info::device::vendor > () const |
Gets OpenCL information for the underlying cl_device_id. More... | |
template<> | |
info::param_traits< info::device, info::device::version >::return_type | device::get_info< info::device::version > () const |
Gets OpenCL information for the underlying cl_device_id. More... | |
template<> | |
COMPUTECPP_EXPORT vector_class< device > | device::create_sub_devices< info::partition_property::partition_equally > (size_t nbSubDev) const |
Template specialisation of create_sub_devices() for info::partition_property::partition_equally. More... | |
template<> | |
COMPUTECPP_EXPORT vector_class< device > | device::create_sub_devices< info::partition_property::partition_by_counts > (const vector_class< size_t > &counts) const |
Template specialisation of create_sub_devices() for info::partition_property::partition_by_counts. More... | |
template<> | |
COMPUTECPP_EXPORT vector_class< device > | device::create_sub_devices< info::partition_property::partition_by_affinity_domain > (info::partition_affinity_domain affinityDomain) const |
Template specialisation of create_sub_devices() for info::partition_property::partition_by_affinity_domain. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
std::enable_if< !std::is_same< typename multi_ptr< dataType, Space >::ptr_t, dataType * >::value, multi_ptr< dataType, Space > >::type | make_ptr (dataType *ptr) |
Create a multi_ptr object from a raw pointer. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
multi_ptr< dataType, Space > | make_ptr (typename multi_ptr< dataType, Space >::ptr_t ptr) |
template<> | |
info::param_traits< info::platform, info::platform::name >::return_type | platform::get_info< info::platform::name > () const |
Get OpenCL information for the underlying cl_platform_id. More... | |
template<> | |
info::param_traits< info::platform, info::platform::vendor >::return_type | platform::get_info< info::platform::vendor > () const |
Get OpenCL information for the underlying cl_platform_id. More... | |
precision_manipulator | setprecision (int precision) |
Inline function that constructs a precision_manipulator object, used in conjunction with stream operators. More... | |
detail::width_manipulator | setw (const int width) |
Creates a stream manipulator for setting the stream width. More... | |
COMPUTECPP_EXPORT std::ostream & | operator<< (std::ostream &out, const stream &rhs) |
Stream operator that streams a stream object to an ostream. More... | |
template<typename valueT > | |
void | append_hexidecimal (const stream &os, const valueT &value) |
Template function that appends a hexadecimal value to a stream object. More... | |
template<typename valueT > | |
int | append_integral (const stream &os, const valueT &value, bool useManipulators=true) |
Template function that appends a integral value to a stream object. More... | |
template<typename valueT > | |
void | append_floating_point (const stream &os, const valueT &value) |
Template function that appends a floating point value to a stream object. More... | |
void | append_string (const stream &os, const char *value) |
Inline function that appends a string value to a stream object. More... | |
void | append_type_string (const stream &os, char *typeStr, int numChars, int dimensions=0) |
Appends a string representation of a type to the stream. More... | |
void | append_char (const stream &os, const char &value) |
Inline function that appends a char value to the a object. More... | |
void | append_bool (const stream &os, const bool &value) |
Inline function that appends a bool value to the a object. More... | |
void | append_index_array (const stream &os, const detail::index_array &value, int numElements) |
Appends an index_array object to the stream. More... | |
template<typename pointerT > | |
const stream & | stream_value (const stream &os, pointerT *rhs) |
Template function that streams a pointer value to a stream object. More... | |
template<typename dataType , cl::sycl::access::address_space asp> | |
const stream & | stream_value (const stream &os, const multi_ptr< dataType, asp > &rhs) |
Streams a multi_ptr object into a stream. More... | |
template<class dataType , COMPUTECPP_ENABLE_IF(dataType,(std::is_integral< dataType >::value)) > | |
const stream & | stream_value (const stream &os, dataType rhs) |
Streams an integral type into a stream. More... | |
const stream & | stream_value (const stream &os, const half &rhs) |
Streams a half value to a stream object. More... | |
const stream & | stream_value (const stream &os, const float &rhs) |
Inline function that streams a float value to a stream object. More... | |
const stream & | stream_value (const stream &os, const double &rhs) |
Inline function that streams a double value to a stream object. More... | |
const stream & | stream_value (const stream &os, const bool &rhs) |
Inline function that streams a bool value to a stream object. More... | |
const stream & | stream_value (const stream &os, const char &rhs) |
Inline function that streams a const char & value to a stream object. More... | |
const stream & | stream_value (const stream &os, const char *rhs) |
Inline function that streams a const char * value to a stream object. More... | |
const stream & | stream_value (const stream &os, const stream_manipulator &rhs) |
Inline function that streams a manipulator to a stream object, applying the appropriate action. More... | |
const stream & | stream_value (const stream &os, const precision_manipulator &rhs) |
Inline function that streams a precision manipulator to a stream object, applying the precision value. More... | |
const stream & | stream_value (const stream &os, const detail::width_manipulator &rhs) |
Sets the width used for streaming data to the value specified by rhs. More... | |
template<int dimensions> | |
const stream & | stream_value (const stream &os, const id< dimensions > &rhs, char *typeStr=nullptr) |
Streams an id object into a stream object. More... | |
template<int dimensions> | |
const stream & | stream_value (const stream &os, const range< dimensions > &rhs, char *typeStr=nullptr) |
Streams a range object into a stream object. More... | |
template<int dimensions, bool with_offset> | |
const stream & | stream_value (const stream &os, const item< dimensions, with_offset > &rhs, char *typeStr=nullptr) |
Streams an item object into a stream object. More... | |
template<typename valueT > | |
const stream & | operator<< (const stream &os, valueT rhs) |
Template stream operator that streams a value to a stream object. More... | |
template<typename elementT , int kDimensions> | |
const stream & | operator<< (const stream &os, const vec< elementT, kDimensions > rhs) |
Template stream operator that streams a vec object to a stream object. More... | |
template<typename elementT , int kDimensions, int... swizzleIndexes> | |
const stream & | operator<< (const stream &os, const swizzled_vec< elementT, kDimensions, swizzleIndexes... > rhs) |
Streams a swizzled_vec object to a stream object. More... | |
Variables | |
COMPUTECPP_ACCESSOR_LINUX_ALIGNMENT | COMPUTECPP_CONVERT_ATTR |
COMPUTECPP_SET_IGNORE_DEPRECATED_API class COMPUTECPP_ACCESSOR_WINDOWS_ALIGNMENT | kDims |
COMPUTECPP_SET_IGNORE_DEPRECATED_API class COMPUTECPP_ACCESSOR_WINDOWS_ALIGNMENT | kMode |
COMPUTECPP_SET_IGNORE_DEPRECATED_API class COMPUTECPP_ACCESSOR_WINDOWS_ALIGNMENT | kTarget |
AllocatorT & | bufferRef |
AllocatorT id< kDims > | accessOffset |
AllocatorT id< kDims > range< kDims > | accessRange |
COMPUTECPP_ACCESSOR_LINUX_ALIGNMENT | COMPUTECPP_CONVERT_ATTR_PLACEHOLDER |
const functorT & | functor |
range< dimensions > | localRange |
class cl::sycl::device_event | COMPUTECPP_PRIVATE_MEMORY_ATTR |
class COMPUTECPP_EXPORT COMPUTECPP_SAMPLER_WINDOWS_ALIGNMENT cl::sycl::sampler | COMPUTECPP_CONVERT_ATTR_SAMPLER |
const stream_manipulator | scientific = stream_manipulator::scientific |
Const value defined to the scientific stream manipulator, used in conjunction with stream operators. More... | |
const stream_manipulator | dec = stream_manipulator::dec |
Stream manipulator for displaying numbers in base 10. More... | |
const stream_manipulator | hex = stream_manipulator::hex |
Const value defined to the hex stream manipulator, used in conjunction with stream operators. More... | |
const stream_manipulator | oct = stream_manipulator::oct |
Const value defined to the oct stream manipulator, used in conjunction with stream operators. More... | |
const stream_manipulator | showbase = stream_manipulator::showbase |
Const value defined to the showbase stream manipulator, used in conjunction with stream operators. More... | |
const stream_manipulator | noshowbase = stream_manipulator::noshowbase |
Stream manipulator for reverting showbase. More... | |
const stream_manipulator | showpos = stream_manipulator::showpos |
Const value defined to the showpos stream manipulator, used in conjunction with stream operators. More... | |
const stream_manipulator | noshowpos = stream_manipulator::noshowpos |
Stream manipulator for reverting showpos. More... | |
const stream_manipulator | endl = stream_manipulator::endl |
Const value defined to the endl stream manipulator, used in conjunction with stream operators. More... | |
const stream_manipulator | fixed = stream_manipulator::fixed |
Stream manipulator that forces floating point numbers to be displayed using fixed precision. More... | |
const stream_manipulator | hexfloat = stream_manipulator::hexfloat |
Stream manipulator that displays floating point numbers in base 16. More... | |
const stream_manipulator | defaultfloat = stream_manipulator::defaultfloat |
Stream manipulator that reverts the display of floating point numbers back to the default representation. More... | |
const stream_manipulator | flush = stream_manipulator::flush |
Stream manipulator that flushes the current stream buffer. More... | |
Typedef Documentation
◆ async_handler
using cl::sycl::async_handler = typedef cl::sycl::function_class<void(exception_list)> |
async_handler type definition.
This is the type expected by a device to report asynchronous errors.
Definition at line 93 of file exception_list.h.
◆ atomic_float
using cl::sycl::atomic_float = typedef atomic<cl_float> |
◆ atomic_int
using cl::sycl::atomic_int = typedef atomic<cl_int> |
◆ atomic_uint
using cl::sycl::atomic_uint = typedef atomic<cl_uint> |
◆ backend_input_t
using cl::sycl::backend_input_t = typedef typename backend_traits<Backend>::template input_type<SyclType> |
◆ backend_return_t
using cl::sycl::backend_return_t = typedef typename backend_traits<Backend>::template return_type<SyclType> |
◆ base_t
using cl::sycl::base_t = typedef detail::accessor_buffer_interface<elemT, kDims, kMode, kTarget, access::placeholder::true_t> |
Definition at line 923 of file buffer_accessor.h.
◆ bitset_class
using cl::sycl::bitset_class = typedef std::bitset<Size> |
◆ byte
using cl::sycl::byte = typedef unsigned char |
◆ char16
using cl::sycl::char16 = typedef vec<char, 16> |
Definition at line 56 of file vec_types_defines.h.
◆ char2
using cl::sycl::char2 = typedef vec<char, 2> |
Definition at line 52 of file vec_types_defines.h.
◆ char3
using cl::sycl::char3 = typedef vec<char, 3> |
Definition at line 53 of file vec_types_defines.h.
◆ char4
using cl::sycl::char4 = typedef vec<char, 4> |
Definition at line 54 of file vec_types_defines.h.
◆ char8
using cl::sycl::char8 = typedef vec<char, 8> |
Definition at line 55 of file vec_types_defines.h.
◆ cl_bool
using cl::sycl::cl_bool = typedef bool |
Boolean interop type.
Definition at line 30 of file cl_types.h.
◆ cl_char
using cl::sycl::cl_char = typedef signed char |
char (1 byte) interop type
Definition at line 32 of file cl_types.h.
◆ cl_char16
using cl::sycl::cl_char16 = typedef vec<cl_char, 16> |
char vector interop type
Definition at line 37 of file cl_vec_types.h.
◆ cl_char2
using cl::sycl::cl_char2 = typedef vec<cl_char, 2> |
char vector interop type
Definition at line 29 of file cl_vec_types.h.
◆ cl_char3
using cl::sycl::cl_char3 = typedef vec<cl_char, 3> |
char vector interop type
Definition at line 31 of file cl_vec_types.h.
◆ cl_char4
using cl::sycl::cl_char4 = typedef vec<cl_char, 4> |
char vector interop type
Definition at line 33 of file cl_vec_types.h.
◆ cl_char8
using cl::sycl::cl_char8 = typedef vec<cl_char, 8> |
char vector interop type
Definition at line 35 of file cl_vec_types.h.
◆ cl_double
using cl::sycl::cl_double = typedef double |
double interop type
Definition at line 46 of file cl_types.h.
◆ cl_double16
using cl::sycl::cl_double16 = typedef vec<cl_double, 16> |
double vector interop type
Definition at line 136 of file cl_vec_types.h.
◆ cl_double2
using cl::sycl::cl_double2 = typedef vec<cl_double, 2> |
double vector interop type
Definition at line 128 of file cl_vec_types.h.
◆ cl_double3
using cl::sycl::cl_double3 = typedef vec<cl_double, 3> |
double vector interop type
Definition at line 130 of file cl_vec_types.h.
◆ cl_double4
using cl::sycl::cl_double4 = typedef vec<cl_double, 4> |
double vector interop type
Definition at line 132 of file cl_vec_types.h.
◆ cl_double8
using cl::sycl::cl_double8 = typedef vec<cl_double, 8> |
double vector interop type
Definition at line 134 of file cl_vec_types.h.
◆ cl_float
using cl::sycl::cl_float = typedef float |
float interop type
Definition at line 44 of file cl_types.h.
◆ cl_float16
using cl::sycl::cl_float16 = typedef vec<cl_float, 16> |
float vector interop type
Definition at line 125 of file cl_vec_types.h.
◆ cl_float2
using cl::sycl::cl_float2 = typedef vec<cl_float, 2> |
float vector interop type
Definition at line 117 of file cl_vec_types.h.
◆ cl_float3
using cl::sycl::cl_float3 = typedef vec<cl_float, 3> |
float vector interop type
Definition at line 119 of file cl_vec_types.h.
◆ cl_float4
using cl::sycl::cl_float4 = typedef vec<cl_float, 4> |
float vector interop type
Definition at line 121 of file cl_vec_types.h.
◆ cl_float8
using cl::sycl::cl_float8 = typedef vec<cl_float, 8> |
float vector interop type
Definition at line 123 of file cl_vec_types.h.
◆ cl_half
using cl::sycl::cl_half = typedef half |
half scalar type
Definition at line 54 of file cl_types.h.
◆ cl_half16
using cl::sycl::cl_half16 = typedef vec<cl_half, 16> |
16 dimensional half vector interop type
Definition at line 147 of file cl_vec_types.h.
◆ cl_half2
using cl::sycl::cl_half2 = typedef vec<cl_half, 2> |
2 dimensional half vector interop type
Definition at line 139 of file cl_vec_types.h.
◆ cl_half3
using cl::sycl::cl_half3 = typedef vec<cl_half, 3> |
3 dimensional half vector interop type
Definition at line 141 of file cl_vec_types.h.
◆ cl_half4
using cl::sycl::cl_half4 = typedef vec<cl_half, 4> |
4 dimensional half vector interop type
Definition at line 143 of file cl_vec_types.h.
◆ cl_half8
using cl::sycl::cl_half8 = typedef vec<cl_half, 8> |
8 dimensional half vector interop type
Definition at line 145 of file cl_vec_types.h.
◆ cl_int
using cl::sycl::cl_int = typedef int |
int (4 bytes) interop type
Definition at line 40 of file cl_types.h.
◆ cl_int16
using cl::sycl::cl_int16 = typedef vec<cl_int, 16> |
int vector interop type
Definition at line 81 of file cl_vec_types.h.
◆ cl_int2
using cl::sycl::cl_int2 = typedef vec<cl_int, 2> |
int vector interop type
Definition at line 73 of file cl_vec_types.h.
◆ cl_int3
using cl::sycl::cl_int3 = typedef vec<cl_int, 3> |
int vector interop type
Definition at line 75 of file cl_vec_types.h.
◆ cl_int4
using cl::sycl::cl_int4 = typedef vec<cl_int, 4> |
int vector interop type
Definition at line 77 of file cl_vec_types.h.
◆ cl_int8
using cl::sycl::cl_int8 = typedef vec<cl_int, 8> |
int vector interop type
Definition at line 79 of file cl_vec_types.h.
◆ cl_long
using cl::sycl::cl_long = typedef int64_t |
long (8 bytes) interop type
Definition at line 49 of file cl_types.h.
◆ cl_long16
using cl::sycl::cl_long16 = typedef vec<cl_long, 16> |
long vector interop type
Definition at line 103 of file cl_vec_types.h.
◆ cl_long2
using cl::sycl::cl_long2 = typedef vec<cl_long, 2> |
long vector interop type
Definition at line 95 of file cl_vec_types.h.
◆ cl_long3
using cl::sycl::cl_long3 = typedef vec<cl_long, 3> |
long vector interop type
Definition at line 97 of file cl_vec_types.h.
◆ cl_long4
using cl::sycl::cl_long4 = typedef vec<cl_long, 4> |
long vector interop type
Definition at line 99 of file cl_vec_types.h.
◆ cl_long8
using cl::sycl::cl_long8 = typedef vec<cl_long, 8> |
long vector interop type
Definition at line 101 of file cl_vec_types.h.
◆ cl_short
using cl::sycl::cl_short = typedef int16_t |
short (2 bytes) interop type
Definition at line 36 of file cl_types.h.
◆ cl_short16
using cl::sycl::cl_short16 = typedef vec<cl_short, 16> |
short vector interop type
Definition at line 59 of file cl_vec_types.h.
◆ cl_short2
using cl::sycl::cl_short2 = typedef vec<cl_short, 2> |
short vector interop type
Definition at line 51 of file cl_vec_types.h.
◆ cl_short3
using cl::sycl::cl_short3 = typedef vec<cl_short, 3> |
short vector interop type
Definition at line 53 of file cl_vec_types.h.
◆ cl_short4
using cl::sycl::cl_short4 = typedef vec<cl_short, 4> |
short vector interop type
Definition at line 55 of file cl_vec_types.h.
◆ cl_short8
using cl::sycl::cl_short8 = typedef vec<cl_short, 8> |
short vector interop type
Definition at line 57 of file cl_vec_types.h.
◆ cl_uchar
using cl::sycl::cl_uchar = typedef unsigned char |
unsigned char (1 byte) interop type
Definition at line 34 of file cl_types.h.
◆ cl_uchar16
using cl::sycl::cl_uchar16 = typedef vec<cl_uchar, 16> |
unsigned char vector interop type
Definition at line 48 of file cl_vec_types.h.
◆ cl_uchar2
using cl::sycl::cl_uchar2 = typedef vec<cl_uchar, 2> |
unsigned char vector interop type
Definition at line 40 of file cl_vec_types.h.
◆ cl_uchar3
using cl::sycl::cl_uchar3 = typedef vec<cl_uchar, 3> |
unsigned char vector interop type
Definition at line 42 of file cl_vec_types.h.
◆ cl_uchar4
using cl::sycl::cl_uchar4 = typedef vec<cl_uchar, 4> |
unsigned char vector interop type
Definition at line 44 of file cl_vec_types.h.
◆ cl_uchar8
using cl::sycl::cl_uchar8 = typedef vec<cl_uchar, 8> |
unsigned char vector interop type
Definition at line 46 of file cl_vec_types.h.
◆ cl_uint
using cl::sycl::cl_uint = typedef unsigned int |
unsigned int (4 bytes) interop type
Definition at line 42 of file cl_types.h.
◆ cl_uint16
using cl::sycl::cl_uint16 = typedef vec<cl_uint, 16> |
unsigned int vector interop type
Definition at line 92 of file cl_vec_types.h.
◆ cl_uint2
using cl::sycl::cl_uint2 = typedef vec<cl_uint, 2> |
unsigned int vector interop type
Definition at line 84 of file cl_vec_types.h.
◆ cl_uint3
using cl::sycl::cl_uint3 = typedef vec<cl_uint, 3> |
unsigned int vector interop type
Definition at line 86 of file cl_vec_types.h.
◆ cl_uint4
using cl::sycl::cl_uint4 = typedef vec<cl_uint, 4> |
unsigned int vector interop type
Definition at line 88 of file cl_vec_types.h.
◆ cl_uint8
using cl::sycl::cl_uint8 = typedef vec<cl_uint, 8> |
unsigned int vector interop type
Definition at line 90 of file cl_vec_types.h.
◆ cl_ulong
using cl::sycl::cl_ulong = typedef uint64_t |
unsigned long (8 bytes) interop type
Definition at line 51 of file cl_types.h.
◆ cl_ulong16
using cl::sycl::cl_ulong16 = typedef vec<cl_ulong, 16> |
unsigned long vector interop type
Definition at line 114 of file cl_vec_types.h.
◆ cl_ulong2
using cl::sycl::cl_ulong2 = typedef vec<cl_ulong, 2> |
unsigned long vector interop type
Definition at line 106 of file cl_vec_types.h.
◆ cl_ulong3
using cl::sycl::cl_ulong3 = typedef vec<cl_ulong, 3> |
unsigned long vector interop type
Definition at line 108 of file cl_vec_types.h.
◆ cl_ulong4
using cl::sycl::cl_ulong4 = typedef vec<cl_ulong, 4> |
unsigned long vector interop type
Definition at line 110 of file cl_vec_types.h.
◆ cl_ulong8
using cl::sycl::cl_ulong8 = typedef vec<cl_ulong, 8> |
unsigned long vector interop type
Definition at line 112 of file cl_vec_types.h.
◆ cl_ushort
using cl::sycl::cl_ushort = typedef uint16_t |
unsigned short (2 bytes) interop type
Definition at line 38 of file cl_types.h.
◆ cl_ushort16
using cl::sycl::cl_ushort16 = typedef vec<cl_ushort, 16> |
unsigned short vector interop type
Definition at line 70 of file cl_vec_types.h.
◆ cl_ushort2
using cl::sycl::cl_ushort2 = typedef vec<cl_ushort, 2> |
unsigned short vector interop type
Definition at line 62 of file cl_vec_types.h.
◆ cl_ushort3
using cl::sycl::cl_ushort3 = typedef vec<cl_ushort, 3> |
unsigned short vector interop type
Definition at line 64 of file cl_vec_types.h.
◆ cl_ushort4
using cl::sycl::cl_ushort4 = typedef vec<cl_ushort, 4> |
unsigned short vector interop type
Definition at line 66 of file cl_vec_types.h.
◆ cl_ushort8
using cl::sycl::cl_ushort8 = typedef vec<cl_ushort, 8> |
unsigned short vector interop type
Definition at line 68 of file cl_vec_types.h.
◆ constant_ptr
using cl::sycl::constant_ptr = typedef multi_ptr<dataType, access::address_space::constant_space> |
constant_ptr, pointer class definition for data living in the OpenCL constant address space
- Template Parameters
-
dataType Data type the object manipulates.
Definition at line 1157 of file multi_pointer.h.
◆ double16
using cl::sycl::double16 = typedef vec<double, 16> |
Definition at line 40 of file vec_types_defines.h.
◆ double2
using cl::sycl::double2 = typedef vec<double, 2> |
Definition at line 36 of file vec_types_defines.h.
◆ double3
using cl::sycl::double3 = typedef vec<double, 3> |
Definition at line 37 of file vec_types_defines.h.
◆ double4
using cl::sycl::double4 = typedef vec<double, 4> |
Definition at line 38 of file vec_types_defines.h.
◆ double8
using cl::sycl::double8 = typedef vec<double, 8> |
Definition at line 39 of file vec_types_defines.h.
◆ exception_ptr_class
using cl::sycl::exception_ptr_class = typedef std::exception_ptr |
Class used to store exception objects and transfer them across thread, equivalent to std::exception_ptr.
Definition at line 27 of file exception_list.h.
◆ float16
using cl::sycl::float16 = typedef vec<float, 16> |
Definition at line 34 of file vec_types_defines.h.
◆ float2
using cl::sycl::float2 = typedef vec<float, 2> |
Definition at line 30 of file vec_types_defines.h.
◆ float3
using cl::sycl::float3 = typedef vec<float, 3> |
Definition at line 31 of file vec_types_defines.h.
◆ float4
using cl::sycl::float4 = typedef vec<float, 4> |
Definition at line 32 of file vec_types_defines.h.
◆ float8
using cl::sycl::float8 = typedef vec<float, 8> |
Definition at line 33 of file vec_types_defines.h.
◆ function_class
using cl::sycl::function_class = typedef std::function<T> |
◆ global_ptr
using cl::sycl::global_ptr = typedef multi_ptr<dataType, access::address_space::global_space> |
global_ptr pointer class definition for data pointing to the OpenCL global address space.
- Template Parameters
-
dataType Data type the object manipulates.
Definition at line 1136 of file multi_pointer.h.
◆ half16
using cl::sycl::half16 = typedef vec<half, 16> |
Definition at line 49 of file vec_types_defines.h.
◆ half2
using cl::sycl::half2 = typedef vec<half, 2> |
Definition at line 45 of file vec_types_defines.h.
◆ half3
using cl::sycl::half3 = typedef vec<half, 3> |
Definition at line 46 of file vec_types_defines.h.
◆ half4
using cl::sycl::half4 = typedef vec<half, 4> |
Definition at line 47 of file vec_types_defines.h.
◆ half8
using cl::sycl::half8 = typedef vec<half, 8> |
Definition at line 48 of file vec_types_defines.h.
◆ hash_class
using cl::sycl::hash_class = typedef std::hash<T> |
◆ int16
using cl::sycl::int16 = typedef vec<int, 16> |
Definition at line 86 of file vec_types_defines.h.
◆ int2
using cl::sycl::int2 = typedef vec<int, 2> |
Definition at line 82 of file vec_types_defines.h.
◆ int3
using cl::sycl::int3 = typedef vec<int, 3> |
Definition at line 83 of file vec_types_defines.h.
◆ int4
using cl::sycl::int4 = typedef vec<int, 4> |
Definition at line 84 of file vec_types_defines.h.
◆ int8
using cl::sycl::int8 = typedef vec<int, 8> |
Definition at line 85 of file vec_types_defines.h.
◆ local_ptr
using cl::sycl::local_ptr = typedef multi_ptr<dataType, access::address_space::local_space> |
local_ptr pointer class definition for data pointing to the OpenCL local address space
- Template Parameters
-
dataType Data type the object manipulates.
Definition at line 1143 of file multi_pointer.h.
◆ long16
using cl::sycl::long16 = typedef vec<long, 16> |
Definition at line 98 of file vec_types_defines.h.
◆ long2
using cl::sycl::long2 = typedef vec<long, 2> |
Definition at line 94 of file vec_types_defines.h.
◆ long3
using cl::sycl::long3 = typedef vec<long, 3> |
Definition at line 95 of file vec_types_defines.h.
◆ long4
using cl::sycl::long4 = typedef vec<long, 4> |
Definition at line 96 of file vec_types_defines.h.
◆ long8
using cl::sycl::long8 = typedef vec<long, 8> |
Definition at line 97 of file vec_types_defines.h.
◆ longlong16
using cl::sycl::longlong16 = typedef vec<long long, 16> |
Definition at line 110 of file vec_types_defines.h.
◆ longlong2
using cl::sycl::longlong2 = typedef vec<long long, 2> |
Definition at line 106 of file vec_types_defines.h.
◆ longlong3
using cl::sycl::longlong3 = typedef vec<long long, 3> |
Definition at line 107 of file vec_types_defines.h.
◆ longlong4
using cl::sycl::longlong4 = typedef vec<long long, 4> |
Definition at line 108 of file vec_types_defines.h.
◆ longlong8
using cl::sycl::longlong8 = typedef vec<long long, 8> |
Definition at line 109 of file vec_types_defines.h.
◆ mutex_class
using cl::sycl::mutex_class = typedef std::mutex |
◆ private_ptr
using cl::sycl::private_ptr = typedef multi_ptr<dataType, access::address_space::private_space> |
private_ptr, pointer class definition for data pointing to the OpenCL private address space
- Template Parameters
-
dataType Data type the object manipulates.
Definition at line 1150 of file multi_pointer.h.
◆ schar16
using cl::sycl::schar16 = typedef vec<signed char, 16> |
Definition at line 62 of file vec_types_defines.h.
◆ schar2
using cl::sycl::schar2 = typedef vec<signed char, 2> |
Definition at line 58 of file vec_types_defines.h.
◆ schar3
using cl::sycl::schar3 = typedef vec<signed char, 3> |
Definition at line 59 of file vec_types_defines.h.
◆ schar4
using cl::sycl::schar4 = typedef vec<signed char, 4> |
Definition at line 60 of file vec_types_defines.h.
◆ schar8
using cl::sycl::schar8 = typedef vec<signed char, 8> |
Definition at line 61 of file vec_types_defines.h.
◆ shared_ptr_class
using cl::sycl::shared_ptr_class = typedef std::shared_ptr<T> |
◆ short16
using cl::sycl::short16 = typedef vec<short, 16> |
Definition at line 74 of file vec_types_defines.h.
◆ short2
using cl::sycl::short2 = typedef vec<short, 2> |
Definition at line 70 of file vec_types_defines.h.
◆ short3
using cl::sycl::short3 = typedef vec<short, 3> |
Definition at line 71 of file vec_types_defines.h.
◆ short4
using cl::sycl::short4 = typedef vec<short, 4> |
Definition at line 72 of file vec_types_defines.h.
◆ short8
using cl::sycl::short8 = typedef vec<short, 8> |
Definition at line 73 of file vec_types_defines.h.
◆ string_class
using cl::sycl::string_class = typedef std::string |
◆ uchar16
using cl::sycl::uchar16 = typedef vec<unsigned char, 16> |
Definition at line 68 of file vec_types_defines.h.
◆ uchar2
using cl::sycl::uchar2 = typedef vec<unsigned char, 2> |
Definition at line 64 of file vec_types_defines.h.
◆ uchar3
using cl::sycl::uchar3 = typedef vec<unsigned char, 3> |
Definition at line 65 of file vec_types_defines.h.
◆ uchar4
using cl::sycl::uchar4 = typedef vec<unsigned char, 4> |
Definition at line 66 of file vec_types_defines.h.
◆ uchar8
using cl::sycl::uchar8 = typedef vec<unsigned char, 8> |
Definition at line 67 of file vec_types_defines.h.
◆ uint16
using cl::sycl::uint16 = typedef vec<unsigned int, 16> |
Definition at line 92 of file vec_types_defines.h.
◆ uint2
using cl::sycl::uint2 = typedef vec<unsigned int, 2> |
Definition at line 88 of file vec_types_defines.h.
◆ uint3
using cl::sycl::uint3 = typedef vec<unsigned int, 3> |
Definition at line 89 of file vec_types_defines.h.
◆ uint4
using cl::sycl::uint4 = typedef vec<unsigned int, 4> |
Definition at line 90 of file vec_types_defines.h.
◆ uint8
using cl::sycl::uint8 = typedef vec<unsigned int, 8> |
Definition at line 91 of file vec_types_defines.h.
◆ ulong16
using cl::sycl::ulong16 = typedef vec<unsigned long, 16> |
Definition at line 104 of file vec_types_defines.h.
◆ ulong2
using cl::sycl::ulong2 = typedef vec<unsigned long, 2> |
Definition at line 100 of file vec_types_defines.h.
◆ ulong3
using cl::sycl::ulong3 = typedef vec<unsigned long, 3> |
Definition at line 101 of file vec_types_defines.h.
◆ ulong4
using cl::sycl::ulong4 = typedef vec<unsigned long, 4> |
Definition at line 102 of file vec_types_defines.h.
◆ ulong8
using cl::sycl::ulong8 = typedef vec<unsigned long, 8> |
Definition at line 103 of file vec_types_defines.h.
◆ ulonglong16
using cl::sycl::ulonglong16 = typedef vec<unsigned long long, 16> |
Definition at line 116 of file vec_types_defines.h.
◆ ulonglong2
using cl::sycl::ulonglong2 = typedef vec<unsigned long long, 2> |
Definition at line 112 of file vec_types_defines.h.
◆ ulonglong3
using cl::sycl::ulonglong3 = typedef vec<unsigned long long, 3> |
Definition at line 113 of file vec_types_defines.h.
◆ ulonglong4
using cl::sycl::ulonglong4 = typedef vec<unsigned long long, 4> |
Definition at line 114 of file vec_types_defines.h.
◆ ulonglong8
using cl::sycl::ulonglong8 = typedef vec<unsigned long long, 8> |
Definition at line 115 of file vec_types_defines.h.
◆ unique_ptr_class
using cl::sycl::unique_ptr_class = typedef std::unique_ptr<T, D> |
◆ ushort16
using cl::sycl::ushort16 = typedef vec<unsigned short, 16> |
Definition at line 80 of file vec_types_defines.h.
◆ ushort2
using cl::sycl::ushort2 = typedef vec<unsigned short, 2> |
Definition at line 76 of file vec_types_defines.h.
◆ ushort3
using cl::sycl::ushort3 = typedef vec<unsigned short, 3> |
Definition at line 77 of file vec_types_defines.h.
◆ ushort4
using cl::sycl::ushort4 = typedef vec<unsigned short, 4> |
Definition at line 78 of file vec_types_defines.h.
◆ ushort8
using cl::sycl::ushort8 = typedef vec<unsigned short, 8> |
Definition at line 79 of file vec_types_defines.h.
◆ vector_class
using cl::sycl::vector_class = typedef std::vector<T, Alloc> |
◆ weak_ptr_class
using cl::sycl::weak_ptr_class = typedef std::weak_ptr<T> |
Enumeration Type Documentation
◆ addressing_mode
|
strong |
◆ aspect_impl
|
strong |
Enumerates the aspects which can be queried on a platform or device.
◆ backend
|
strong |
◆ bundle_state
|
strong |
The compilation state of a kernel bundle.
There are three possible states: input, object, and executable. These represent the online compilation and linking status of a kernel bundle. An input bundle is typically some intermediate representation such as SPIR-V. At this stage, specialization variables may be set. This can be compiled to obtain a kernel bundle in the object state. The object state can then be linked to obtain a kernel in the executable state, suitable to be invoked on device.
Any given kernel bundle is not guaranteed to be available in any particular state.
Definition at line 32 of file bundle_state.h.
◆ coordinate_normalization_mode
|
strong |
◆ filtering_mode
|
strong |
◆ image_channel_order
|
strong |
◆ image_channel_type
|
strong |
◆ memory_order
|
strong |
◆ program_state
|
strong |
◆ rounding_mode
|
strong |
Available vector rounding modes.
Enumerator | |
---|---|
automatic | |
rte | |
rtz | |
rtp | |
rtn |
Definition at line 66 of file vec_common.h.
◆ stream_manipulator
|
strong |
◆ write_back
|
strong |
Enumerator | |
---|---|
disable_write_back | |
enable_write_back |
Definition at line 40 of file storage_mem.h.
Function Documentation
◆ abs() [1/2]
|
noexcept |
Compute absolute value of a floating-point number.
Redirects to fabs(x, y)
.
- Template Parameters
-
F1 must model genfloat. F2 must model either genfloat or be the scalar equivalent of F1.
Definition at line 74 of file math_common.h.
◆ abs() [2/2]
|
noexcept |
Returns |x|
- Template Parameters
-
Integral must model geninteger.
- Parameters
-
x
- Returns
x
if0 <= x
,-x
otherwise.
Definition at line 96 of file math_integral.h.
◆ abs_diff()
|
noexcept |
Returns |x - y|
without modulo overflow.
- Template Parameters
-
Integral must model geninteger.
Definition at line 106 of file math_integral.h.
◆ accessor() [1/14]
|
protected |
Constructs a ranged placeholder accessor.
- Parameters
-
store Storage object representing the buffer/image accessRange the offset and range that this accessor can access. propList Additional properties
Definition at line 931 of file buffer_accessor.h.
◆ accessor() [2/14]
cl::sycl::accessor | ( | const property_list & | propList = {} | ) |
Constructs a default placeholder accessor without associated storage.
- Parameters
-
propList Additional properties
Definition at line 972 of file buffer_accessor.h.
◆ accessor() [3/14]
|
explicit |
Constructs a placeholder accessor.
- Template Parameters
-
AllocatorT Specifies the type of the buffer objects allocator.
- Parameters
-
bufferRef Reference to the buffer object the accessor is to access data from. propList Additional properties
Definition at line 981 of file buffer_accessor.h.
◆ accessor() [4/14]
cl::sycl::accessor | ( | buffer< elemT, kDims, AllocatorT > & | bufferRef, |
range< kDims > | accessRange, | ||
const property_list & | propList = {} |
||
) |
Constructs a ranged placeholder accessor.
- Template Parameters
-
AllocatorT Type of the buffer allocator
- Parameters
-
bufferRef Buffer object where access is being requested accessRange Range of data to access propList Additional properties
Definition at line 1010 of file buffer_accessor.h.
◆ accessor() [5/14]
cl::sycl::accessor | ( | buffer< elemT, kDims, AllocatorT > & | bufferRef, |
range< kDims > | accessRange, | ||
id< kDims > | accessOffset, | ||
const property_list & | propList = {} |
||
) |
Constructs a ranged placeholder accessor.
- Template Parameters
-
AllocatorT Specifies the type of the buffer objects allocator.
- Parameters
-
bufferRef Buffer object where access is being requested accessRange Range of data to access accessOffset Point where data access starts propList Additional properties
Definition at line 1022 of file buffer_accessor.h.
◆ accessor() [6/14]
cl::sycl::accessor | ( | buffer< elemT, kDims > & | bufferRef, |
range< kDims > | accessRange, | ||
const property_list & | propList = {} |
||
) |
Constructs a ranged placeholder accessor.
- Parameters
-
bufferRef Buffer object where access is being requested accessRange Range of data to access propList Additional properties
Definition at line 1033 of file buffer_accessor.h.
◆ accessor() [7/14]
cl::sycl::accessor | ( | buffer< elemT, kDims > & | bufferRef, |
range< kDims > | accessRange, | ||
id< kDims > | accessOffset, | ||
const property_list & | propList = {} |
||
) |
Constructs a ranged placeholder accessor.
- Parameters
-
bufferRef Buffer object where access is being requested accessRange Range of data to access accessOffset Point where data access starts propList Additional properties
Definition at line 1043 of file buffer_accessor.h.
◆ accessor() [8/14]
cl::sycl::accessor | ( | buffer< elemT, kDims, AllocatorT > & | bufferRef, |
handler & | commandHandler, | ||
range< kDims > | accessRange, | ||
const property_list & | propList = {} |
||
) |
Constructs a ranged placeholder accessor.
- Template Parameters
-
AllocatorT Type of the buffer allocator
- Parameters
-
bufferRef Buffer object where access is being requested commandHandler Command group handler accessRange Range of data to access propList Additional properties
Definition at line 1056 of file buffer_accessor.h.
◆ accessor() [9/14]
cl::sycl::accessor | ( | buffer< elemT, kDims, AllocatorT > & | bufferRef, |
handler & | commandHandler, | ||
range< kDims > | accessRange, | ||
id< kDims > | accessOffset, | ||
const property_list & | propList = {} |
||
) |
Constructs a ranged placeholder accessor.
- Template Parameters
-
AllocatorT Specifies the type of the buffer objects allocator.
- Parameters
-
bufferRef Buffer object where access is being requested commandHandler Reference to the handler object for the command group scope that the accessor is being constructed within. accessRange Range of data to access accessOffset Point where data access starts propList Additional properties
Definition at line 1071 of file buffer_accessor.h.
◆ accessor() [10/14]
cl::sycl::accessor | ( | buffer< elemT, kDims > & | bufferRef, |
handler & | commandHandler, | ||
range< kDims > | accessRange, | ||
const property_list & | propList = {} |
||
) |
Constructs a ranged placeholder accessor.
- Parameters
-
bufferRef Buffer object where access is being requested commandHandler Command group handler accessRange Range of data to access propList Additional properties
Definition at line 1083 of file buffer_accessor.h.
◆ accessor() [11/14]
cl::sycl::accessor | ( | buffer< elemT, kDims > & | bufferRef, |
handler & | commandHandler, | ||
range< kDims > | accessRange, | ||
id< kDims > | accessOffset, | ||
const property_list & | propList = {} |
||
) |
Constructs a ranged placeholder accessor.
- Parameters
-
bufferRef Buffer object where access is being requested commandHandler Reference to the handler object for the command group scope that the accessor is being constructed within. accessRange Range of data to access accessOffset Point where data access starts propList Additional properties
Definition at line 1096 of file buffer_accessor.h.
◆ accessor() [12/14]
cl::sycl::accessor | ( | buffer< elemT, kDims, AllocatorT > & | bufferRef, |
handler & | commandHandler, | ||
const property_list & | propList = {} |
||
) |
Constructs a placeholder buffer accessor.
- Template Parameters
-
AllocatorT Type of the buffer allocator
- Parameters
-
bufferRef Buffer object where access is being requested commandHandler Command group handler propList Additional properties
Definition at line 1109 of file buffer_accessor.h.
◆ accessor() [13/14]
cl::sycl::accessor | ( | buffer< elemT, kDims > & | bufferRef, |
handler & | commandHandler, | ||
const property_list & | propList = {} |
||
) |
Constructs a placeholder buffer accessor.
- Parameters
-
bufferRef Buffer object where access is being requested commandHandler Command group handler propList Additional properties
Definition at line 1118 of file buffer_accessor.h.
◆ accessor() [14/14]
cl::sycl::accessor | ( | buffer< elemT, 1, AllocatorT > & | bufferRef, |
handler & | commandHandler, | ||
const property_list & | propList = {} |
||
) |
Constructs a placeholder 0-dimensional buffer accessor.
- Template Parameters
-
AllocatorT Type of the buffer allocator COMPUTECPP_ENABLE_IF Only enabled for 0 dimensions
- Parameters
-
bufferRef Buffer object where access is being requested commandHandler Command group handler propList Additional properties
Definition at line 1130 of file buffer_accessor.h.
◆ acos()
|
noexcept |
Inverse cosine function.
- Template Parameters
-
F must model genfloat.
Definition at line 40 of file math_floating_point.h.
◆ acosh()
|
noexcept |
Inverse hyperbolic cosine.
- Template Parameters
-
F must model genfloat.
Definition at line 49 of file math_floating_point.h.
◆ acospi()
|
noexcept |
Compute acos(x)/π
- Template Parameters
-
F must model genfloat.
Definition at line 58 of file math_floating_point.h.
◆ add_sat()
|
noexcept |
Returns x + y
and saturates the result.
- Template Parameters
-
Integral must model geninteger.
Definition at line 124 of file math_integral.h.
◆ all()
|
noexcept |
Returns 1 if the most significant bit in all components of x is set; otherwise returns 0.
- Template Parameters
-
Integral must model igeninteger.
Definition at line 204 of file math_relational.h.
◆ any()
|
noexcept |
Returns 1 if the most significant bit in any component of x is set; otherwise returns 0.
- Template Parameters
-
Integral must model igeninteger.
Definition at line 194 of file math_relational.h.
◆ append_bool()
|
inline |
◆ append_char()
|
inline |
◆ append_floating_point()
|
inline |
Template function that appends a floating point value to a stream object.
- Template Parameters
-
valueT The type of the floating point value to be appended.
- Parameters
-
os The stream object to be appended to. value A floating point value to be appended to the stream object.
◆ append_hexidecimal()
void cl::sycl::append_hexidecimal | ( | const stream & | os, |
const valueT & | value | ||
) |
◆ append_index_array()
|
inline |
◆ append_integral()
|
inline |
Template function that appends a integral value to a stream object.
- Template Parameters
-
valueT The type of the integral value to be appended.
- Parameters
-
os The stream object to be appended to. value A integral value to be appended to the stream object. useManipulators Whether to apply stream manipulators when streaming
◆ append_string()
|
inline |
◆ append_type_string()
|
inline |
Appends a string representation of a type to the stream.
- Parameters
-
os Stream object to append to typeStr String representing the type name. Can contain a single percentage character that will get replaced by the value of dimensions numChars Number of characters in the provided type string dimensions Optional number of dimensions of the type
◆ asin()
|
noexcept |
Inverse sine function.
- Template Parameters
-
F must model genfloat.
Definition at line 67 of file math_floating_point.h.
◆ asinh()
|
noexcept |
Inverse hyperbolic sine.
- Template Parameters
-
F must model genfloat.
Definition at line 76 of file math_floating_point.h.
◆ asinpi()
|
noexcept |
Compute asin(x)/π
- Template Parameters
-
F must model genfloat.
Definition at line 85 of file math_floating_point.h.
◆ atan()
|
noexcept |
Inverse tangent function.
- Template Parameters
-
F must model genfloat.
Definition at line 94 of file math_floating_point.h.
◆ atan2()
|
noexcept |
Compute atan(y/x)
.
- Template Parameters
-
F must model genfloat.
Definition at line 103 of file math_floating_point.h.
◆ atan2pi()
|
noexcept |
Compute atan(y/x)/π
.
- Template Parameters
-
F must model genfloat.
Definition at line 130 of file math_floating_point.h.
◆ atanh()
|
noexcept |
Inverse hyperbolic tangent.
- Template Parameters
-
F must model genfloat.
Definition at line 112 of file math_floating_point.h.
◆ atanpi()
|
noexcept |
Compute atan(x)/π
- Template Parameters
-
F must model genfloat.
Definition at line 121 of file math_floating_point.h.
◆ atomic_compare_exchange_strong()
|
inline |
Global function atomic_compare_exchange.
Calls compare_exchange on SYCL atomic object.
- Parameters
-
object The atomic object to compare_exchange with mem_order The memory ordering to use. Only memory_order_relaxed is supported.
- Returns
- Whether comparison succeeds or fails
◆ atomic_exchange()
|
inline |
◆ atomic_fetch_add()
|
inline |
◆ atomic_fetch_and()
|
inline |
◆ atomic_fetch_max()
|
inline |
◆ atomic_fetch_min()
|
inline |
◆ atomic_fetch_or()
|
inline |
◆ atomic_fetch_sub()
|
inline |
◆ atomic_fetch_xor()
|
inline |
◆ atomic_load()
|
inline |
◆ atomic_store()
|
inline |
◆ bitselect()
|
noexcept |
Each bit of the result is the corresponding bit of a if the corresponding bit of c is 0.
Otherwise it is the corresponding bit of b.
- Template Parameters
-
T must model gentype.
Definition at line 216 of file math_relational.h.
◆ cbrt()
|
noexcept |
Compute cube-root.
- Template Parameters
-
F must model genfloat.
Definition at line 139 of file math_floating_point.h.
◆ ceil()
|
noexcept |
Round to integral value using the round to positive infinity rounding mode.
- Template Parameters
-
F must model genfloat.
Definition at line 149 of file math_floating_point.h.
◆ clamp() [1/3]
|
noexcept |
Returns fmin(fmax(x, minval), maxval)
.
Results are undefined if minval > maxval
.
- Template Parameters
-
F1 must model genfloat. F2 must model either genfloat or be the scalar equivalent of F1.
- Precondition
minval <= maxval
Definition at line 46 of file math_common.h.
◆ clamp() [2/3]
|
noexcept |
Returns min(max(x, minval), maxval)
.
Results are undefined if minval > maxval
.
- Template Parameters
-
Integral must model geninteger.
- Precondition
- minval <= maxval.
Definition at line 155 of file math_integral.h.
◆ clamp() [3/3]
|
noexcept |
Returns min(max(x, minval), maxval)
.
Results are undefined if minval > maxval
.
- Template Parameters
-
Integral must model geninteger S must model sgeninteger.
- Precondition
- minval <= maxval.
Definition at line 171 of file math_integral.h.
◆ clz()
|
noexcept |
Returns the number of leading 0-bits in x
, starting at the most significant bit position.
- Template Parameters
-
Integral must model geninteger.
Definition at line 184 of file math_integral.h.
◆ COMPUTECPP_DEPRECATED_BY_SYCL_VER() [1/2]
cl::sycl::COMPUTECPP_DEPRECATED_BY_SYCL_VER | ( | 201703 | , |
"Use overload where the range comes before the offset." | |||
) |
Constructs a ranged placeholder accessor.
- Template Parameters
-
AllocatorT Specifies the type of the buffer objects allocator.
- Parameters
-
bufferRef Buffer object where access is being requested accessOffset Point where data access starts accessRange Range of data to access
- Deprecated:
- Need to reverse the order of the access offset and range, see 4.7.6.6 Buffer accessor interface in SYCL 1.2.1
◆ COMPUTECPP_DEPRECATED_BY_SYCL_VER() [2/2]
cl::sycl::COMPUTECPP_DEPRECATED_BY_SYCL_VER | ( | 201703 | , |
"Use group::parallel_for_work_item instead." | |||
) |
inner loop of parallel_for_work_group, the Hierarchical API.
inner loop of parallel_for_work_group with a logical local range, the Hierarchical API.
- Deprecated:
- Use group::parallel_for_work_item instead
- Deprecated:
- Use group::parallel_for_work_item instead
◆ COMPUTECPP_GET_INFO_SPECIALIZATION_DECL()
cl::sycl::COMPUTECPP_GET_INFO_SPECIALIZATION_DECL | ( | device | , |
usm_restricted_shared_allocations | |||
) |
◆ COMPUTECPP_VALID_KERNEL_ARG_IF() [1/2]
COMPUTECPP_SET_IGNORE_DEPRECATED_API class COMPUTECPP_ACCESSOR_WINDOWS_ALIGNMENT cl::sycl::COMPUTECPP_VALID_KERNEL_ARG_IF | ( | kTarget ! | = access::target::host_buffer && kTarget != access::target::host_task , |
"Cannot pass host accessor to SYCL kernel" | |||
) |
Non-specialized accessor template that covers only global and constant buffers.
- Template Parameters
-
elemT Underlying data type kDims Number of accessor dimensions kMode Access mode kTarget Access target isPlaceholder Whether the accessor is a placeholder. No effect in SYCL-2020.
Constructs a buffer accessor
- Template Parameters
-
AllocatorT Specifies the type of the buffer objects allocator. COMPUTECPP_ENABLE_IF Only enabled for global and constant buffer access, atomic mode not allowed
- Parameters
-
bufferRef Buffer object where access is being requested commandHandler Command group handler propList Additional properties
Constructs an accessor of access target access::target::global_buffer or access::target::constant_buffer by taking a buffer object, a handler, an offset and a range and initialises the base_accessor with the buffer, the handler, the access target, the access mode and the element size. This constructor is for constructing a sub accessor.
- Template Parameters
-
AllocatorT Specifies the type of the buffer objects allocator. COMPUTECPP_ENABLE_IF Only allows the constructor if the accessor is global, or is constant and not atomic.
- Parameters
-
bufferRef Reference to the buffer object the accessor is to access data from. commandHandler Reference to the handler object for the command group accessOffset The offset that the sub accessor should have access from. accessRange The range that the sub accessor should have access to. scope that the accessor is being constructed within.
- Deprecated:
- Need to reverse the order of the access offset and range, see 4.7.6.6 Buffer accessor interface in SYCL 1.2.1
Constructs a ranged buffer accessor
- Template Parameters
-
AllocatorT Type of the buffer allocator COMPUTECPP_ENABLE_IF Only allowed for global and constant buffer accessors which are not 0-dimensional
- Parameters
-
bufferRef Buffer object where access is being requested commandHandler Command group handler accessRange Range of data to access propList Additional properties
Constructs a ranged buffer accessor with an offset
- Template Parameters
-
AllocatorT Type of the buffer objects allocator COMPUTECPP_ENABLE_IF Only allows the constructor if the accessor is global, or is constant and not atomic, and is not 0-dimensional
- Parameters
-
bufferRef Buffer object where access is being requested commandHandler Command group handler accessRange Range of data to access accessOffset Offset from the beginning of the buffer propList Additional properties
Constructs an accessor from a storage_mem} object. Used to create normal accessors from placeholder ones.
Constructs a ranged placeholder accessor
- Parameters
-
store Storage object representing the buffer/image accessRange the offset and range that this accessor can access. propList Additional properties
Returns an accessor similar to *this, with the offset changed to this->get_offset()[0] + addedOffset. A call to this function will fail with ACCESSOR_ARGUMENTS_ERROR if the created accessor has an offset less than 0 or if the new offset plus the current access range exceed this->get_range()[0].
Definition at line 464 of file buffer_accessor.h.
◆ COMPUTECPP_VALID_KERNEL_ARG_IF() [2/2]
COMPUTECPP_SET_IGNORE_DEPRECATED_API class COMPUTECPP_ACCESSOR_WINDOWS_ALIGNMENT cl::sycl::COMPUTECPP_VALID_KERNEL_ARG_IF | ( | kTarget ! | = access::target::host_buffer && kTarget != access::target::host_task , |
"Cannot pass host accessor to SYCL kernel" | |||
) |
A public facing accessor that can be constructed outside of a command group.
Even though it can be constructed, it cannot be accessed outside of a command group. Before it can be accessed, it has to be registered in a command group handler.
This is an extension of the SYCL specification.
The reason this is a specialization instead of using enable_if in one class is that COMPUTECPP_CONVERT_ATTR has to be placed on the regular accessor class and COMPUTECPP_CONVERT_ATTR_PLACEHOLDER on the placeholder one.
In SYCL-2020, buffer accessors accept IsPlaceholder template parameters, but the value of the parameter has no bearing on whether this accessor is a placeholder. Instead, this is determined by the constructor. Consequently, this specialization is ignored in SYCL-2020 onwards.
- Template Parameters
-
elemT Underlying data type kDims Number of accessor dimensions kMode Access mode kTarget Access target
◆ copysign()
|
noexcept |
Returns x with its sign changed to match the sign of y.
- Template Parameters
-
F must model genfloat.
Definition at line 161 of file math_floating_point.h.
◆ cos()
|
noexcept |
Compute cosine.
- Template Parameters
-
F must model genfloat.
Definition at line 170 of file math_floating_point.h.
◆ cosh()
|
noexcept |
Compute hyperbolic cosine.
- Template Parameters
-
F must model genfloat.
Definition at line 179 of file math_floating_point.h.
◆ cospi()
|
noexcept |
Compute cos(πx)
- Template Parameters
-
F must model genfloat.
Definition at line 188 of file math_floating_point.h.
◆ cross()
|
noexcept |
Returns the cross product of p0.xyz and p1.xyz.
The w component of float4 result returned will be 0.0.
- Template Parameters
-
F must be half, float, or double. N N == 3 or N == 4
Definition at line 44 of file math_geometric.h.
◆ degrees()
|
noexcept |
Converts radians to degrees, i.e.
(180 / π) * x
.
- Template Parameters
-
F must model genfloat.
Definition at line 56 of file math_common.h.
◆ device::create_sub_devices< info::partition_property::partition_by_affinity_domain >()
COMPUTECPP_EXPORT vector_class<device> cl::sycl::device::create_sub_devices< info::partition_property::partition_by_affinity_domain > | ( | info::partition_affinity_domain | affinityDomain | ) | const |
Template specialisation of create_sub_devices() for info::partition_property::partition_by_affinity_domain.
◆ device::create_sub_devices< info::partition_property::partition_by_counts >()
COMPUTECPP_EXPORT vector_class<device> cl::sycl::device::create_sub_devices< info::partition_property::partition_by_counts > | ( | const vector_class< size_t > & | counts | ) | const |
Template specialisation of create_sub_devices() for info::partition_property::partition_by_counts.
◆ device::create_sub_devices< info::partition_property::partition_equally >()
COMPUTECPP_EXPORT vector_class<device> cl::sycl::device::create_sub_devices< info::partition_property::partition_equally > | ( | size_t | nbSubDev | ) | const |
Template specialisation of create_sub_devices() for info::partition_property::partition_equally.
◆ device::get_info< info::device::name >()
|
inline |
◆ device::get_info< info::device::vendor >()
|
inline |
◆ device::get_info< info::device::version >()
|
inline |
◆ distance()
|
noexcept |
Returns the distance between p0 and p1.
This is calculated as length(p0 - p1)
.
- Template Parameters
-
F must model gengeohalf, gengeofloat, gengeodouble.
Definition at line 79 of file math_geometric.h.
◆ dot()
|
noexcept |
Compute dot product.
- Template Parameters
-
F must model gengeohalf, gengeofloat, gengeodouble.
Definition at line 65 of file math_geometric.h.
◆ erf()
|
noexcept |
Error function encountered in integrating the normal distribution.
- Template Parameters
-
F must model genfloat.
Definition at line 206 of file math_floating_point.h.
◆ erfc()
|
noexcept |
Complementary error function.
- Template Parameters
-
F must model genfloat.
Definition at line 197 of file math_floating_point.h.
◆ exp()
|
noexcept |
Compute the base-e exponential of x.
- Template Parameters
-
F must model genfloat.
Definition at line 215 of file math_floating_point.h.
◆ exp10()
|
noexcept |
Exponential base 10 function.
- Template Parameters
-
F must model genfloat.
Definition at line 233 of file math_floating_point.h.
◆ exp2()
|
noexcept |
Exponential base 2 function.
- Template Parameters
-
F must model genfloat.
Definition at line 224 of file math_floating_point.h.
◆ expm1()
|
noexcept |
Compute exp(x) - 1.0
.
- Template Parameters
-
F must model genfloat.
Definition at line 242 of file math_floating_point.h.
◆ fabs()
|
noexcept |
Compute absolute value of a floating-point number.
- Template Parameters
-
F must model genfloat.
Definition at line 251 of file math_floating_point.h.
◆ fast_distance()
|
noexcept |
Returns f ast length(p0 - p1)
.
- Template Parameters
-
F must model gengeofloat.
Definition at line 116 of file math_geometric.h.
◆ fast_length()
|
noexcept |
Returns the length of vector p computed as: sqrt((half)(pow(p.x,2) + pow(p.y,2)+ ...))
.
- Template Parameters
-
F must model gengeofloat.
Definition at line 130 of file math_geometric.h.
◆ fast_normalize()
|
noexcept |
Returns a vector in the same direction as p but with a length of 1.
fast_normalize is computed as: p * rsqrt((half)(pow(p.x, 2) + pow(p.y, 2) + ...))
.
The result shall be within 8192 ulps error from the infinitely precise result of
if (all (p == 0.0f)) result = p;else
with the following exceptions:
- If the sum of squares is greater than FLT_MAX then the value of the floating-point values in the result vector are undefined.
- If the sum of squares is less than FLT_MIN then the implementation may return back p.
- If the device is in "denorms are flushed to zero" mode, individual operand elements with magnitude less than sqrt(FLT_MIN) may be flushed to zero before proceeding with the calculation.
- Template Parameters
-
F must model gengeofloat.
Definition at line 164 of file math_geometric.h.
◆ fdim()
|
noexcept |
x - y
if x > y
, +0 if x is less than or equal to y.
- Template Parameters
-
F must model genfloat.
Definition at line 263 of file math_floating_point.h.
◆ floor()
|
noexcept |
Round to integral value using the round to negative infinity rounding mode.
- Template Parameters
-
F must model genfloat.
Definition at line 273 of file math_floating_point.h.
◆ fma()
|
noexcept |
Returns the correctly rounded floating-point representation of the sum of c with the infinitely precise product of a and b.
Rounding of intermediate products shall not occur. Edge case behavior is per the IEEE 754-2008 standard.
- Template Parameters
-
F must model genfloat.
Definition at line 289 of file math_floating_point.h.
◆ fmax()
|
noexcept |
Returns y if x < y
, otherwise it returns x.
If one argument is a NaN, fmax() returns the other argument. If both arguments are NaNs, fmax() returns a NaN.
- Template Parameters
-
F must model genfloat.
Definition at line 305 of file math_floating_point.h.
◆ fmin()
|
noexcept |
Returns y if y < x, otherwise it returns x.
If one argument is a NaN, fmin() returns the other argument. If both arguments are NaNs, fmin() returns a NaN.
- Template Parameters
-
F must model genfloat.
Definition at line 321 of file math_floating_point.h.
◆ fmod()
|
noexcept |
Modulus.
Returns x * y ∗ trunc(x/y)
.
- Template Parameters
-
F must model genfloat.
Definition at line 333 of file math_floating_point.h.
◆ fract()
|
noexcept |
Returns fmin(x - floor (x), 0x1.fffffep-1f)
.
floor(x)
is returned in iptr.
- Template Parameters
-
F must model genfloat. AddressSpace The address space for which the pointer may address. Cannot be constant_space.
Definition at line 359 of file math_floating_point.h.
◆ frexp()
|
noexcept |
Extract mantissa and exponent from x.
For each component the mantissa returned is a float with magnitude in the interval [1/2, 1) or 0. Each component of x equals mantissa returned * 2exp.
- Template Parameters
-
F must model genfloat. AddressSpace The address space for which the pointer may address. Cannot be constant_space.
Definition at line 374 of file math_floating_point.h.
◆ get_access()
accessor<elemT, kDims, kMode, kTarget, access::placeholder::false_t> cl::sycl::get_access | ( | handler & | commandHandler | ) | const |
Obtains a normal accessor from the placeholder accessor.
- Parameters
-
commandHandler Command group handler where the accessor will be used
- Returns
- Normal accessor that does not need to be registered
Definition at line 1139 of file buffer_accessor.h.
◆ get_accessor_with_added_offset()
|
protected |
returns an accessor similar to *this, with the offset changed to this->get_offset()[0] + addedOffset.
A call to this function will fail with ACCESSOR_ARGUMENTS_ERROR if the created accessor has an offset less than 0 or if the new offset plus the current access range exceed this->get_range()[0].
Definition at line 942 of file buffer_accessor.h.
◆ hadd()
|
noexcept |
Returns (x + y) >> 1
.
The intermediate sum does not modulo overflow.
- Template Parameters
-
Integral must model geninteger.
Definition at line 134 of file math_integral.h.
◆ hypot()
|
noexcept |
Compute the value of the square root of x2 + y2
without undue overflow or underflow.
- Template Parameters
-
F must model genfloat.
Definition at line 387 of file math_floating_point.h.
◆ ilogb()
|
noexcept |
Return the exponent as an integer value.
- Template Parameters
-
F must model genfloat.
Definition at line 411 of file math_floating_point.h.
◆ isequal()
|
noexcept |
Returns the component-wise compare of x == y
.
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 37 of file math_relational.h.
◆ isfinite()
|
noexcept |
Test for finite value.
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 109 of file math_relational.h.
◆ isgreater()
|
noexcept |
Returns the component-wise compare of x > y
.
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 60 of file math_relational.h.
◆ isgreaterequal()
|
noexcept |
Returns the component-wise compare of x >= y
.
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 69 of file math_relational.h.
◆ isinf()
|
noexcept |
Test for infinity value (positive or negative).
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 121 of file math_relational.h.
◆ isless()
|
noexcept |
Returns the component-wise compare of x < y
.
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 79 of file math_relational.h.
◆ islessequal()
|
noexcept |
Returns the component-wise compare of x <= y
.
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 89 of file math_relational.h.
◆ islessgreater()
|
noexcept |
Returns the component-wise compare of (x < y) || (x > y)
.
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 99 of file math_relational.h.
◆ isnan()
|
noexcept |
Test for a NaN.
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 132 of file math_relational.h.
◆ isnormal()
|
noexcept |
Test for a normal value.
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 141 of file math_relational.h.
◆ isnotequal()
|
noexcept |
Returns the component-wise compare of x != y
.
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 47 of file math_relational.h.
◆ isordered()
|
noexcept |
Test if arguments are ordered.
isordered() takes arguments x and y, and returns the result isequal(x, x) && isequal(y, y)
.
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 154 of file math_relational.h.
◆ isunordered()
|
noexcept |
Test if arguments are unordered.
isunordered() takes arguments x and y, returning non-zero if x or y is NaN, and zero otherwise.
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 167 of file math_relational.h.
◆ ldexp() [1/2]
|
noexcept |
Multiply x by 2 to the power k.
- Template Parameters
-
F must model genfloat. Integral must model genint.
Definition at line 422 of file math_floating_point.h.
◆ ldexp() [2/2]
|
noexcept |
Multiply x by 2 to the power k.
- Template Parameters
-
F must model genfloat.
Definition at line 431 of file math_floating_point.h.
◆ length()
|
noexcept |
Return the length of vector p, i.e.
sqrt((p.x * p.x) + (p.y * p.y) + ...)
- Template Parameters
-
F must model gengeohalf, gengeofloat, gengeodouble.
Definition at line 91 of file math_geometric.h.
◆ lgamma()
|
noexcept |
Log gamma function.
Returns the natural logarithm of the absolute value of the gamma function. The sign of the gamma function is returned in the signp argument of lgamma_r.
- Template Parameters
-
F must model genfloat.
Definition at line 443 of file math_floating_point.h.
◆ lgamma_r()
|
noexcept |
Log gamma function.
Returns the natural logarithm of the absolute value of the gamma function. The sign of the gamma function is returned in the signp argument of lgamma_r.
- Template Parameters
-
F must model genfloat.
Definition at line 456 of file math_floating_point.h.
◆ log()
|
noexcept |
Compute natural logarithm.
- Template Parameters
-
F must model genfloat.
Definition at line 465 of file math_floating_point.h.
◆ log10()
|
noexcept |
Compute a base 10 logarithm.
- Template Parameters
-
F must model genfloat.
Definition at line 483 of file math_floating_point.h.
◆ log1p()
|
noexcept |
Compute loge(1.0 + x)
.
- Template Parameters
-
F must model genfloat.
Definition at line 492 of file math_floating_point.h.
◆ log2()
|
noexcept |
Compute a base 2 logarithm.
- Template Parameters
-
F must model genfloat.
Definition at line 474 of file math_floating_point.h.
◆ logb()
|
noexcept |
Compute the exponent of x, which is the integral part of logr (|x|).
- Template Parameters
-
F must model genfloat.
Definition at line 501 of file math_floating_point.h.
◆ mad()
|
noexcept |
mad approximates a * b + c
.
Whether or how the product of a * b
is rounded and how supernormal or subnormal intermediate products are handled is not defined. mad is intended to be used where speed is preferred over accuracy.
- Template Parameters
-
F must model genfloat.
Definition at line 517 of file math_floating_point.h.
◆ mad24()
|
noexcept |
Multipy two 24-bit integer values x
and y
and add the 32-bit integer result to the 32-bit integer z
.
Refer to definition of mul24
to see how the 24-bit integer multiplication is performed.
- Template Parameters
-
Integral must model geninteger32bit.
Definition at line 341 of file math_integral.h.
◆ mad_hi()
|
noexcept |
Returns mul_hi(a, b) + c
.
- Template Parameters
-
Integral must model geninteger.
Definition at line 211 of file math_integral.h.
◆ mad_sat()
|
noexcept |
Returns a * b + c
and saturates the result.
- Template Parameters
-
Integral must model geninteger.
Definition at line 220 of file math_integral.h.
◆ make_ptr() [1/2]
std::enable_if< !std::is_same<typename multi_ptr<dataType, Space>::ptr_t, dataType*>::value, multi_ptr<dataType, Space> >::type cl::sycl::make_ptr | ( | dataType * | ptr | ) |
Create a multi_ptr object from a raw pointer.
- Template Parameters
-
dataType Type of the pointed values. Space Address space in which the data live.
- Parameters
-
ptr The raw pointer from which to create the multi_ptr.
- Returns
- A multi_ptr object pointing to the same address pointed as by ptr.
Definition at line 1182 of file multi_pointer.h.
◆ make_ptr() [2/2]
multi_ptr<dataType, Space> cl::sycl::make_ptr | ( | typename multi_ptr< dataType, Space >::ptr_t | ptr | ) |
Definition at line 1187 of file multi_pointer.h.
◆ max() [1/3]
|
noexcept |
Returns y if x < y
, otherwise it returns x.
If x or y are infinite or NaN, the return values are undefined.
- Template Parameters
-
F1 must model genfloat. F2 must model either genfloat or be the scalar equivalent of F1.
Definition at line 93 of file math_common.h.
◆ max() [2/3]
|
noexcept |
Returns y if x < y
, otherwise it returns x.
- Template Parameters
-
Integral must model geninteger.
Definition at line 229 of file math_integral.h.
◆ max() [3/3]
|
noexcept |
Returns y if x < y
, otherwise it returns x.
- Template Parameters
-
Integral must model geninteger. S must model sgeninteger.
Definition at line 241 of file math_integral.h.
◆ maxmag()
|
noexcept |
Returns x if |x| > |y|, y if |y| > |x|, otherwise fmax(x, y)
.
- Template Parameters
-
F must model genfloat.
Definition at line 528 of file math_floating_point.h.
◆ min() [1/3]
|
noexcept |
Returns y if x > y
, otherwise it returns x.
If x or y are infinite or NaN, the return values are undefined.
- Template Parameters
-
F1 must model genfloat. F2 must model either genfloat or be the scalar equivalent of F1.
Definition at line 112 of file math_common.h.
◆ min() [2/3]
|
noexcept |
Returns y if y < x
, otherwise it returns x.
- Template Parameters
-
Integral must model geninteger.
Definition at line 250 of file math_integral.h.
◆ min() [3/3]
|
noexcept |
Returns y if y < x
, otherwise it returns x.
- Template Parameters
-
Integral must model geninteger. S must model sgeninteger.
Definition at line 262 of file math_integral.h.
◆ minmag()
|
noexcept |
Returns x if |x| < |y|, y if |y| < |x|, otherwise fmin(x, y)
.
- Template Parameters
-
F must model genfloat.
Definition at line 540 of file math_floating_point.h.
◆ mix()
|
noexcept |
Returns the linear blend of x&y implemented as: x + (y - x) * a.
a must be a value in the range 0.0 ... 1.0
. If a is not in the range 0.0 ... 1.0, the return values are undefined.
- Template Parameters
-
F1 must model genfloat. F2 must model either genfloat or be the scalar equivalent of T1.
- Precondition
- 0.0 <= a <= 1.0.
Definition at line 132 of file math_common.h.
◆ modf()
|
noexcept |
Decompose a floating-point number.
The modf function breaks the argument x into integral and fractional parts, each of which has the same sign as the argument. It stores the integral part in the object pointed to by iptr.
- Template Parameters
-
F must model genfloat. AddressSpace The address space for which the pointer may address. Cannot be constant_space.
Definition at line 555 of file math_floating_point.h.
◆ mul24()
|
noexcept |
Multiply two 24-bit integer values x
and y
.
x
and y
are 32-bit integers but only the low 24-bits are used to perform the multiplication.
mul24
should only be used when values in x
and y
are in the range [-223, 223 - 1] if x
and y
are signed integers and in the range [0, 224 - 1] if x
and y
are unsigned integers. If x
and y
are not in this range, the multiplication result is implementation-defined.
- Template Parameters
-
Integral must model geninteger32bit.
Definition at line 358 of file math_integral.h.
◆ mul_hi()
|
noexcept |
Computes x * y
and returns the high half of the product of x
and y
.
- Template Parameters
-
Integral must model geninteger.
Definition at line 272 of file math_integral.h.
◆ nan() [1/2]
|
noexcept |
Returns x if |x| < |y|, y if |y| < |x|, otherwise fmin(x, y)
.
- Template Parameters
-
F must model genfloatf or genfloatd. Integral If F models genfloatf, then Integral must model ugenint. If F models genfloatd, then Integral must model ugenlonginteger.
Definition at line 612 of file math_floating_point.h.
◆ nan() [2/2]
|
noexcept |
Definition at line 619 of file math_floating_point.h.
◆ nextafter()
|
noexcept |
Computes the next representable single-precision floating-point value following x in the direction of y.
Thus, if y is less than x, nextafter() returns the largest representable floating-point number less than x.
- Template Parameters
-
F must model genfloat.
Definition at line 634 of file math_floating_point.h.
◆ normalize()
|
noexcept |
Returns a vector in the same direction as p but with a length of 1.
- Template Parameters
-
F must model gengeohalf, gengeofloat, gengeodouble.
Definition at line 100 of file math_geometric.h.
◆ operator+()
accessor<elemT, 1, kMode, kTarget, access::placeholder::true_t> cl::sycl::operator+ | ( | int | rhs | ) | const |
Creates and returns a new accessor with its offset changed by rhs.
- Parameters
-
rhs the offset to add to the current accessor's offset in the new accessor
- Returns
- A new accessor with its get_offset()[0] equal to this->get_offset()[0] + rhs
Definition at line 1152 of file buffer_accessor.h.
◆ operator+=()
accessor<elemT, 1, kMode, kTarget, access::placeholder::true_t>& cl::sycl::operator+= | ( | int | rhs | ) |
Changes this->offset by rhs as this->get_offset()[0] + rhs.
- Parameters
-
rhs the offset to add to the current accessor's offset
- Returns
- This accessor
Definition at line 1174 of file buffer_accessor.h.
◆ operator-()
accessor<elemT, 1, kMode, kTarget, access::placeholder::true_t> cl::sycl::operator- | ( | int | rhs | ) | const |
Creates and returns a new accessor with its offset changed by rhs.
- Parameters
-
rhs the offset to subtract to the current accessor's offset in the new accessor
- Returns
- A new accessor with its get_offset()[0] equal to this->get_offset()[0] - rhs
Definition at line 1164 of file buffer_accessor.h.
◆ operator-=()
accessor<elemT, 1, kMode, kTarget, access::placeholder::true_t>& cl::sycl::operator-= | ( | int | rhs | ) |
Changes this->offset by rhs as this->get_offset()[0] - rhs.
- Parameters
-
rhs the offset to subtract to the current accessor's offset
- Returns
- This accessor
Definition at line 1185 of file buffer_accessor.h.
◆ operator<<() [1/4]
COMPUTECPP_EXPORT std::ostream& cl::sycl::operator<< | ( | std::ostream & | out, |
const stream & | rhs | ||
) |
Stream operator that streams a stream object to an ostream.
Friend function declaration to give global stream operator access to private members.
- Parameters
-
out The output stream. rhs The stream object to be streamed into the output.
◆ operator<<() [2/4]
◆ operator<<() [3/4]
const stream& cl::sycl::operator<< | ( | const stream & | os, |
const vec< elementT, kDimensions > | rhs | ||
) |
Template stream operator that streams a vec object to a stream object.
- Template Parameters
-
elementT The element type of the vec. kDimensions The number of dimensions of the vec.
- Parameters
-
os The stream object to be streamed to. rhs The vec object to be streamed.
◆ operator<<() [4/4]
const stream& cl::sycl::operator<< | ( | const stream & | os, |
const swizzled_vec< elementT, kDimensions, swizzleIndexes... > | rhs | ||
) |
Streams a swizzled_vec object to a stream object.
- Template Parameters
-
elementT The element type of the swizzled_vec kDimensions The number of dimensions of the swizzled_vec
- Parameters
-
os The stream object to be streamed to rhs The swizzled_vec object to be streamed
- Returns
- Original stream object
◆ platform::get_info< info::platform::name >()
|
inline |
Get OpenCL information for the underlying cl_platform_id.
- Template Parameters
-
param The info::platform descriptor parameter.
- Returns
- The retrieved information as the appropriate return type, derived via the param_traits struct, defined in param_traits.h.
Definition at line 303 of file platform.h.
◆ platform::get_info< info::platform::vendor >()
|
inline |
Get OpenCL information for the underlying cl_platform_id.
- Template Parameters
-
param The info::platform descriptor parameter.
- Returns
- The retrieved information as the appropriate return type, derived via the param_traits struct, defined in param_traits.h.
Definition at line 311 of file platform.h.
◆ popcount()
|
noexcept |
Returns the number of non-zero bits in x
.
- Template Parameters
-
Integral must model geninteger.
Definition at line 327 of file math_integral.h.
◆ pow()
|
noexcept |
Compute x to the power y.
- Template Parameters
-
F must model genfloat.
Definition at line 646 of file math_floating_point.h.
◆ pown()
|
noexcept |
Compute x to the power y, where y is an integer.
- Template Parameters
-
F must model genfloat. Integral must model genint.
Definition at line 657 of file math_floating_point.h.
◆ powr()
|
noexcept |
Compute x to the power y, where x >= 0.
- Template Parameters
-
F must model genfloat.
- Precondition
- x >= 0
Definition at line 669 of file math_floating_point.h.
◆ radians()
|
noexcept |
Converts degrees to radians, i.e.
(π / 180) * x
.
- Template Parameters
-
F must model genfloat.
Definition at line 141 of file math_common.h.
◆ remainder()
|
noexcept |
Compute the value r such that r = x - n * y
, where n is the integer nearest the exact value of x / y.
If there are two integers closest to x / y, n shall be the even one. If r is zero, it is given the same sign as x.
- Template Parameters
-
F must model genfloat.
Definition at line 686 of file math_floating_point.h.
◆ remquo()
|
noexcept |
The remquo function computes the value r such that r = x - k * y
, where k is the integer nearest the exact value of x/y.
If there are two integers closest to x/y, k shall be the even one. If r is zero, it is given the same sign as x. This is the same value that is returned by the remainder function. remquo also calculates the lower seven bits of the integral quotient x/y, and gives that value the same sign as x/y. It stores this signed value in the object pointed to by quo.
- Template Parameters
-
F must model genfloat. Integral must model genint. AddressSpace The address space for which the pointer may address. Cannot be constant_space.
Definition at line 706 of file math_floating_point.h.
◆ rhadd()
|
noexcept |
Returns (x + y + 1) >> 1
.
The intermediate sum does not modulo overflow.
- Template Parameters
-
Integral must model geninteger.
Definition at line 144 of file math_integral.h.
◆ rint()
|
noexcept |
Round to integral value (using round to nearest even rounding mode) in floating-point format.
Refer to section 7.1 of the OpenCL 1.2 specification document for description of rounding modes.
- Template Parameters
-
F must model genfloat.
Definition at line 717 of file math_floating_point.h.
◆ rootn()
|
noexcept |
Compute x to the power 1/y.
- Template Parameters
-
F must model genfloat. Integral must model genint.
Definition at line 728 of file math_floating_point.h.
◆ rotate()
|
noexcept |
For each element in v, the bits are shifted left by the number of bits given by the corresponding element in i (subject to usual shift modulo rules described in section 6.3).
Bits shifted off the left side of the element are shifted back in from the right.
- Template Parameters
-
Integral must model geninteger.
Definition at line 286 of file math_integral.h.
◆ round()
|
noexcept |
Return the integral value nearest to x rounding halfway cases away from zero, regardless of the current rounding direction.
- Template Parameters
-
F must model genfloat.
Definition at line 738 of file math_floating_point.h.
◆ rsqrt()
|
noexcept |
Compute inverse square root.
- Template Parameters
-
F must model genfloat.
Definition at line 747 of file math_floating_point.h.
◆ select()
|
noexcept |
For each component of a vector type: result[i] = (MSB of c[i] is set)? b[i] : a[i]
For a scalar type: result = c ? b : a
.
geninteger must have the same number of elements and bits as gentype.
- Template Parameters
-
T1 must model geninteger, genfloatf, or genfloatd. T2 If:
- T1 models geninteger, then T2 must model either igeninteger or ugeninteger.
- T1 models genfloatf, then T2 must model either igenint or ugenint.
- T1 models genfloatd, then T2 must model either igeninteger64bit or ugeninteger64bit.
Definition at line 248 of file math_relational.h.
◆ setprecision()
|
inline |
Inline function that constructs a precision_manipulator object, used in conjunction with stream operators.
- Parameters
-
precision The precision value to construct the precision_manipulator with.
- Returns
- The constructed precision_manipulator.
◆ setw()
|
inline |
◆ signbit()
|
noexcept |
Test for sign bit.
The scalar version of the function returns a 1 if the sign bit in the float is set else returns 0.
The vector version of the function returns the following for each component in floatn: -1 (i.e all bits set) if the sign bit in the float is set else returns 0.
- Template Parameters
-
F must model genfloatf or genfloatd.
Definition at line 184 of file math_relational.h.
◆ sin()
|
noexcept |
Compute sine.
- Template Parameters
-
F must model genfloat.
Definition at line 756 of file math_floating_point.h.
◆ sincos()
|
noexcept |
Compute sine and cosine of x.
The computed sine is the return value and computed cosine is returned in cosval.
- Template Parameters
-
F must model geninteger. AddressSpace The address space for which the pointer may address. Cannot be constant_space.
Definition at line 770 of file math_floating_point.h.
◆ sinh()
|
noexcept |
Compute hyperbolic sine.
- Template Parameters
-
F must model genfloat.
Definition at line 779 of file math_floating_point.h.
◆ sinpi()
|
noexcept |
Compute sin(π * x)
.
- Template Parameters
-
F must model genfloat.
Definition at line 788 of file math_floating_point.h.
◆ sqrt()
|
noexcept |
Compute square root.
- Template Parameters
-
F must model genfloat.
Definition at line 797 of file math_floating_point.h.
◆ step()
|
noexcept |
Returns 0.0 if x < edge
, otherwise it returns 1.0.
- Template Parameters
-
F1 must model genfloat. F2 must model either genfloat or be the scalar equivalent of T1.
Definition at line 158 of file math_common.h.
◆ stream_value() [1/15]
◆ stream_value() [2/15]
|
inline |
◆ stream_value() [3/15]
◆ stream_value() [4/15]
◆ stream_value() [5/15]
◆ stream_value() [6/15]
◆ stream_value() [7/15]
◆ stream_value() [8/15]
◆ stream_value() [9/15]
◆ stream_value() [10/15]
|
inline |
◆ stream_value() [11/15]
|
inline |
Inline function that streams a precision manipulator to a stream object, applying the precision value.
- Parameters
-
os The stream object to be streamed to. rhs The precision_manipulator be applied to the stream object.
◆ stream_value() [12/15]
◆ stream_value() [13/15]
◆ stream_value() [14/15]
◆ stream_value() [15/15]
◆ sub_sat()
|
noexcept |
Returns x - y
and saturates the result.
- Template Parameters
-
Integral must model geninteger.
Definition at line 295 of file math_integral.h.
◆ tan()
|
noexcept |
Compute tangent.
- Template Parameters
-
F must model genfloat.
Definition at line 806 of file math_floating_point.h.
◆ tanh()
|
noexcept |
Compute hyperbolic tangent.
- Template Parameters
-
F must model genfloat.
Definition at line 815 of file math_floating_point.h.
◆ tanpi()
|
noexcept |
Compute tan(π * x)
.
- Template Parameters
-
F must model genfloat.
Definition at line 824 of file math_floating_point.h.
◆ tgamma()
|
noexcept |
Compute the gamma function.
- Template Parameters
-
F must model genfloat.
Definition at line 833 of file math_floating_point.h.
◆ trunc()
|
noexcept |
Round to integral value using the round to zero rounding mode.
- Template Parameters
-
F must model genfloat.
Definition at line 842 of file math_floating_point.h.
◆ upsample()
|
noexcept |
Returns result[i] = (hi[i] << 8) | lo[i]
- Template Parameters
-
I1 must model geninteger. The integral size of I1 must be double the integral size of I2. I2 must model geninteger.
Definition at line 313 of file math_integral.h.
Variable Documentation
◆ accessOffset
Definition at line 999 of file buffer_accessor.h.
◆ accessRange
Definition at line 999 of file buffer_accessor.h.
◆ bufferRef
AllocatorT& cl::sycl::bufferRef |
Definition at line 999 of file buffer_accessor.h.
◆ COMPUTECPP_CONVERT_ATTR
cl::sycl::accessor< elemT, kDims, kMode, access::target::subgroup_local, access::placeholder::false_t > cl::sycl::COMPUTECPP_CONVERT_ATTR |
Definition at line 876 of file buffer_accessor.h.
◆ COMPUTECPP_CONVERT_ATTR_PLACEHOLDER
COMPUTECPP_ACCESSOR_LINUX_ALIGNMENT cl::sycl::COMPUTECPP_CONVERT_ATTR_PLACEHOLDER |
Definition at line 1191 of file buffer_accessor.h.
◆ COMPUTECPP_CONVERT_ATTR_SAMPLER
class COMPUTECPP_EXPORT COMPUTECPP_SAMPLER_WINDOWS_ALIGNMENT cl::sycl::sampler cl::sycl::COMPUTECPP_CONVERT_ATTR_SAMPLER |
◆ COMPUTECPP_PRIVATE_MEMORY_ATTR
cl::sycl::private_memory cl::sycl::COMPUTECPP_PRIVATE_MEMORY_ATTR |
◆ dec
const stream_manipulator cl::sycl::dec = stream_manipulator::dec |
◆ defaultfloat
const stream_manipulator cl::sycl::defaultfloat = stream_manipulator::defaultfloat |
◆ endl
const stream_manipulator cl::sycl::endl = stream_manipulator::endl |
◆ fixed
const stream_manipulator cl::sycl::fixed = stream_manipulator::fixed |
◆ flush
const stream_manipulator cl::sycl::flush = stream_manipulator::flush |
◆ functor
range< dimensions > const functorT & cl::sycl::functor |
◆ hex
const stream_manipulator cl::sycl::hex = stream_manipulator::hex |
◆ hexfloat
const stream_manipulator cl::sycl::hexfloat = stream_manipulator::hexfloat |
◆ kDims
COMPUTECPP_SET_IGNORE_DEPRECATED_API class COMPUTECPP_ACCESSOR_WINDOWS_ALIGNMENT cl::sycl::kDims |
Definition at line 913 of file buffer_accessor.h.
◆ kMode
COMPUTECPP_SET_IGNORE_DEPRECATED_API class COMPUTECPP_ACCESSOR_WINDOWS_ALIGNMENT cl::sycl::kMode |
Definition at line 913 of file buffer_accessor.h.
◆ kTarget
COMPUTECPP_SET_IGNORE_DEPRECATED_API class COMPUTECPP_ACCESSOR_WINDOWS_ALIGNMENT cl::sycl::kTarget |
Definition at line 913 of file buffer_accessor.h.
◆ localRange
◆ noshowbase
const stream_manipulator cl::sycl::noshowbase = stream_manipulator::noshowbase |
◆ noshowpos
const stream_manipulator cl::sycl::noshowpos = stream_manipulator::noshowpos |
◆ oct
const stream_manipulator cl::sycl::oct = stream_manipulator::oct |
◆ scientific
const stream_manipulator cl::sycl::scientific = stream_manipulator::scientific |
◆ showbase
const stream_manipulator cl::sycl::showbase = stream_manipulator::showbase |
◆ showpos
const stream_manipulator cl::sycl::showpos = stream_manipulator::showpos |