• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#pragma version(1)
2#pragma rs java_package_name(foo)
3
4rs_allocation A;
5static void foo() {
6    // Basic scalar and floating point types.
7    float a = 4.0f;
8    double d = 4.0f;
9    float2 a2 = {4.0f, 4.0f};
10    float3 a3 = {4.0f, 4.0f, 4.0f};
11    float4 a4 = {4.0f, 4.0f, 4.0f, 4.0f};
12    char c = 4;
13    uchar uc = 4;
14    short s = 4;
15    ushort us = 4;
16    int i = 4;
17    uint ui = 4;
18    long l = 4;
19    ulong ul = 4;
20
21    rsSetElementAt(A, &a, 0, 0);
22    rsSetElementAt(A, &d, 0, 0);
23    rsSetElementAt(A, &a2, 0, 0);
24    rsSetElementAt(A, &a3, 0, 0);
25    rsSetElementAt(A, &a4, 0, 0);
26    rsSetElementAt(A, &c, 0, 0);
27    rsSetElementAt(A, &uc, 0, 0);
28    rsSetElementAt(A, &s, 0, 0);
29    rsSetElementAt(A, &us, 0, 0);
30    rsSetElementAt(A, &i, 0, 0);
31    rsSetElementAt(A, &ui, 0, 0);
32    rsSetElementAt(A, &l, 0, 0);
33    rsSetElementAt(A, &ul, 0, 0);
34
35    // No warnings for complex data types
36    struct {
37        int A;
38        int B;
39    } P;
40    rsSetElementAt(A, &P, 0, 0);
41
42    // No warning for 'long long'
43    long long LL = 4.0f;
44    rsSetElementAt(A, &LL, 0, 0);
45
46    // Unsupported vector width
47    typedef int int5 __attribute__((ext_vector_type(5)));
48    int5 i5 = {5, 5, 5, 5, 5};
49
50    rsSetElementAt(A, &i5, 0, 0);
51}
52
53