Sha256: 8aabb3672be68115af7292eb59e38ac462cbe486e8e344c6fb81f10bb9e5d754

Contents?: true

Size: 505 Bytes

Versions: 13

Compression:

Stored size: 505 Bytes

Contents

% c_dtype = dtype_to_c_type(dtype)

__kernel void sign_<%= dtype %>(__global const <%= c_dtype %> *A, __global <%= c_dtype %> *C) {
    // Get the index of the current element to be processed
    const int id = get_global_id(0); 
    <%= c_dtype %> value = A[id];
% if floating_point?(dtype)
    if (isnan(value) || value == 0.0f) {
      C[id] = 0.0;
    } else {
      C[id] = value < 0 ? -1.0 : 1.0;
    }
% else
  if (value == 0) {
    C[id] = 0;
  } else {
    C[id] = value < 0 ? -1 : 1;
  }
% end
}

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
tensor_stream-opencl-0.3.2 lib/tensor_stream/opencl/kernels/sign.cl
tensor_stream-opencl-0.3.1 lib/tensor_stream/opencl/kernels/sign.cl
tensor_stream-opencl-0.3.0 lib/tensor_stream/opencl/kernels/sign.cl
tensor_stream-opencl-0.2.10 lib/tensor_stream/opencl/kernels/sign.cl
tensor_stream-opencl-0.2.9 lib/tensor_stream/opencl/kernels/sign.cl
tensor_stream-opencl-0.2.8 lib/tensor_stream/opencl/kernels/sign.cl
tensor_stream-opencl-0.2.6 lib/tensor_stream/opencl/kernels/sign.cl
tensor_stream-opencl-0.2.5 lib/tensor_stream/opencl/kernels/sign.cl
tensor_stream-opencl-0.2.4 lib/tensor_stream/opencl/kernels/sign.cl
tensor_stream-opencl-0.2.3 lib/tensor_stream/opencl/kernels/sign.cl
tensor_stream-opencl-0.2.2 lib/tensor_stream/opencl/kernels/sign.cl
tensor_stream-opencl-0.2.1 lib/tensor_stream/opencl/kernels/sign.cl
tensor_stream-opencl-0.2.0 lib/tensor_stream/opencl/kernels/sign.cl