1#version 450
 2
 3#include "types.glsl"
 4#include "generic_unary_head.glsl"
 5
 6layout(local_size_x = 512, local_size_y = 1, local_size_z = 1) in;
 7
 8void main() {
 9    const uint idx = get_idx();
10
11    if (idx >= p.ne) {
12        return;
13    }
14
15    const FLOAT_TYPE val = FLOAT_TYPE(data_a[get_aoffset() + src0_idx(idx)]);
16    data_d[get_doffset() + dst_idx(idx)] = D_TYPE(cos(val));
17}