#pragma version(1) #pragma rs java_package_name(foo) rs_allocation A; static void foo() { // Basic scalar and floating point types. float a = 4.0f; double d = 4.0f; float2 a2 = {4.0f, 4.0f}; float3 a3 = {4.0f, 4.0f, 4.0f}; float4 a4 = {4.0f, 4.0f, 4.0f, 4.0f}; char c = 4; uchar uc = 4; short s = 4; ushort us = 4; int i = 4; uint ui = 4; long l = 4; ulong ul = 4; rsSetElementAt(A, &a, 0, 0); rsSetElementAt(A, &d, 0, 0); rsSetElementAt(A, &a2, 0, 0); rsSetElementAt(A, &a3, 0, 0); rsSetElementAt(A, &a4, 0, 0); rsSetElementAt(A, &c, 0, 0); rsSetElementAt(A, &uc, 0, 0); rsSetElementAt(A, &s, 0, 0); rsSetElementAt(A, &us, 0, 0); rsSetElementAt(A, &i, 0, 0); rsSetElementAt(A, &ui, 0, 0); rsSetElementAt(A, &l, 0, 0); rsSetElementAt(A, &ul, 0, 0); // No warnings for complex data types struct { int A; int B; } P; rsSetElementAt(A, &P, 0, 0); // No warning for 'long long' long long LL = 4.0f; rsSetElementAt(A, &LL, 0, 0); // Unsupported vector width typedef int int5 __attribute__((ext_vector_type(5))); int5 i5 = {5, 5, 5, 5, 5}; rsSetElementAt(A, &i5, 0, 0); }