Enable more advanced CTS tests.

Add the possibility to make the generated random values for one argument
be dependent on another one.  Add the possibility to add precision limits.
Change the way precision of results is verified.

This is a redo of the mess that's CL 84333 and 84332

Change-Id: I6c59ee4588627540b5bf1952adaf70b061ccc025
diff --git a/api/gen_runtime.cpp b/api/gen_runtime.cpp
index f7ee3c3..589556f 100644
--- a/api/gen_runtime.cpp
+++ b/api/gen_runtime.cpp
@@ -40,18 +40,16 @@
  * - ParameterDefinition: A definition of a parameter of a concrete function.
  */
 
-// TODO Rename runtime.spec to rs_core_math.spec.
-// TODO Handle NaN, +Inf, -Inf correctly.
-// TODO Add range(,) as an option for test values.
-
+#include <math.h>
+#include <stdio.h>
 #include <cctype>
 #include <cstdlib>
-#include <stdio.h>
+#include <fstream>
 #include <functional>
+#include <iomanip>
 #include <list>
 #include <map>
 #include <set>
-#include <fstream>
 #include <sstream>
 #include <string>
 #include <vector>
@@ -83,6 +81,7 @@
 class Function;
 class Specification;
 class Permutation;
+struct Type;
 
 /* Information about a parameter to a function.  The values of all the fields should only be set by
  * parseParameterDefinition.
@@ -115,7 +114,11 @@
      */
     string smallerParameter;
 
-    bool isOutParameter;  // True if this parameter returns data from the script.
+    bool isOutParameter;       // True if this parameter returns data from the script.
+    bool undefinedIfOutIsNan;  // If true, we don't validate if 'out' is NaN.
+
+    int typeIndex;            // Index in the TYPES array.
+    int compatibleTypeIndex;  // Index in TYPES for which the test data must also fit.
 
     /* Parse the parameter definition found in the spec file.  It will generate a name if none
      * are present in the file.  One of the two counts will be incremented, and potentially
@@ -206,7 +209,8 @@
      * convert.
      */
     string mCleanName;
-    string mTest;  // How to test.  One of "scalar", "vector", "noverify", and "none".
+    string mTest;  // How to test.  One of "scalar", "vector", "noverify", "limited", and "none".
+    string mPrecisionLimit;  // Maximum precision required when checking output of this function.
 
     vector<vector<string> > mReplaceables;
 
@@ -249,6 +253,7 @@
         return expandStringVector(mParam, i1, i2, i3, i4, params);
     }
     string getTest() const { return mTest; }
+    string getPrecisionLimit() const { return mPrecisionLimit; }
     string getCleanName() const { return mCleanName; }
 
     void writeFiles(ofstream& headerFile, ofstream& rsFile, ofstream& javaFile, Function* function,
@@ -270,7 +275,8 @@
     // These are the expanded version of those found on Specification
     string mName;
     string mCleanName;
-    string mTest;  // How to test.  One of "scalar", "vector", "noverify", and "none".
+    string mTest;  // How to test.  One of "scalar", "vector", "noverify", "limited", and "none".
+    string mPrecisionLimit;  // Maximum precision required when checking output of this function.
     vector<string> mInline;
     vector<string> mComment;
 
@@ -305,20 +311,30 @@
                                             const ParameterDefinition& param) const;
     void writeJavaOutputAllocationDefinition(ofstream& file, const string& indent,
                                              const ParameterDefinition& param) const;
+    // Write code to create a random allocation for which the data must be compatible for two types.
+    void writeJavaRandomCompatibleFloatAllocation(ofstream& file, const string& dataType,
+                                                  const string& seed, char vectorSize,
+                                                  const Type& compatibleType,
+                                                  const Type& generatedType) const;
+    void writeJavaRandomCompatibleIntegerAllocation(ofstream& file, const string& dataType,
+                                                    const string& seed, char vectorSize,
+                                                    const Type& compatibleType,
+                                                    const Type& generatedType) const;
     void writeJavaCallToRs(ofstream& file, bool relaxed, bool generateCallToVerify) const;
 
-    void writeJavaTestOneValue(ofstream& file, int indent, const string& rsBaseType,
-                               const string& expected, const string& actual) const;
-    void writeJavaAppendOutputToMessage(ofstream& file, int indent, const string& rsBaseType,
-                                        const string& name, const string& expected,
-                                        const string& actual) const;
+    void writeJavaTestAndSetValid(ofstream& file, int indent, const ParameterDefinition& p,
+                                  const string& argsIndex, const string& actualIndex) const;
+    void writeJavaTestOneValue(ofstream& file, int indent, const ParameterDefinition& p,
+                               const string& argsIndex, const string& actualIndex) const;
+    void writeJavaAppendOutputToMessage(ofstream& file, int indent, const ParameterDefinition& p,
+                                        const string& argsIndex, const string& actualIndex) const;
     void writeJavaAppendInputToMessage(ofstream& file, int indent, const string& rsBaseType,
                                        const string& name, const string& actual) const;
-    void writeJavaComputeNeededUlf(ofstream& file, int indent, const string& expected,
-                                   const string& actual) const;
     void writeJavaAppendNewLineToMessage(ofstream& file, int indent) const;
     void writeJavaAppendVariableToMessage(ofstream& file, int indent, const string& rsBaseType,
-                                          const string& legend, const string& value) const;
+                                          const string& value) const;
+    void writeJavaAppendFloatyVariableToMessage(ofstream& file, int indent,
+                                                const string& value) const;
     void writeJavaVectorComparison(ofstream& file, int indent, const ParameterDefinition& p) const;
     void writeJavaAppendVectorInputToMessage(ofstream& file, int indent,
                                              const ParameterDefinition& p) const;
@@ -336,27 +352,45 @@
 
 // Table of type equivalences
 // TODO: We should just be pulling this from a shared header. Slang does exactly the same thing.
+
+enum NumberKind { SIGNED_INTEGER, UNSIGNED_INTEGER, FLOATING_POINT };
+
 struct Type {
     const char* specType;  // Name found in the .spec file
     string rsDataType;     // RS data type
     string cType;          // Type in a C file
     const char* javaType;  // Type in a Java file
+    NumberKind kind;
+    /* For integers, number of bits of the number, excluding the sign bit.
+     * For floats, number of bits of the exponent.
+     */
+    int significantBits;
 };
 
-const Type TYPES[] = {{"f16", "FLOAT_16", "half", "half"},
-                      {"f32", "FLOAT_32", "float", "float"},
-                      {"f64", "FLOAT_64", "double", "double"},
-                      {"i8", "SIGNED_8", "char", "byte"},
-                      {"u8", "UNSIGNED_8", "uchar", "byte"},
-                      {"i16", "SIGNED_16", "short", "short"},
-                      {"u16", "UNSIGNED_16", "ushort", "short"},
-                      {"i32", "SIGNED_32", "int", "int"},
-                      {"u32", "UNSIGNED_32", "uint", "int"},
-                      {"i64", "SIGNED_64", "long", "long"},
-                      {"u64", "UNSIGNED_64", "ulong", "long"}};
+const Type TYPES[] = {{"f16", "FLOAT_16", "half", "half", FLOATING_POINT, 5},
+                      {"f32", "FLOAT_32", "float", "float", FLOATING_POINT, 8},
+                      {"f64", "FLOAT_64", "double", "double", FLOATING_POINT, 11},
+                      {"i8", "SIGNED_8", "char", "byte", SIGNED_INTEGER, 7},
+                      {"u8", "UNSIGNED_8", "uchar", "byte", UNSIGNED_INTEGER, 8},
+                      {"i16", "SIGNED_16", "short", "short", SIGNED_INTEGER, 15},
+                      {"u16", "UNSIGNED_16", "ushort", "short", UNSIGNED_INTEGER, 16},
+                      {"i32", "SIGNED_32", "int", "int", SIGNED_INTEGER, 31},
+                      {"u32", "UNSIGNED_32", "uint", "int", UNSIGNED_INTEGER, 32},
+                      {"i64", "SIGNED_64", "long", "long", SIGNED_INTEGER, 63},
+                      {"u64", "UNSIGNED_64", "ulong", "long", UNSIGNED_INTEGER, 64}};
 
 const int NUM_TYPES = sizeof(TYPES) / sizeof(TYPES[0]);
 
+// Returns the index in TYPES for the provided cType
+int FindCType(const string& cType) {
+    for (int i = 0; i < NUM_TYPES; i++) {
+        if (cType == TYPES[i].cType) {
+            return i;
+        }
+    }
+    return -1;
+}
+
 // Capitalizes and removes underscores.  E.g. converts "native_log" to NativeLog.
 string capitalize(const string& source) {
     int length = source.length();
@@ -377,12 +411,15 @@
 
 string tab(int n) { return string(n * 4, ' '); }
 
-long hashString(const string& s) {
+// Returns a string that's an hexadecimal constant fo the hash of the string.
+string hashString(const string& s) {
     long hash = 0;
     for (size_t i = 0; i < s.length(); i++) {
         hash = hash * 43 + s[i];
     }
-    return hash;
+    stringstream stream;
+    stream << "0x" << std::hex << hash << "l";
+    return stream.str();
 }
 
 // Removes the character from present. Returns true if the string contained the character.
@@ -566,6 +603,8 @@
     javaArrayName = "array" + capitalize(javaAllocName);
 
     // Process the option.
+    undefinedIfOutIsNan = false;
+    compatibleTypeIndex = -1;
     if (!option.empty()) {
         if (option.compare(0, 6, "range(") == 0) {
             size_t pComma = option.find(',');
@@ -583,16 +622,26 @@
             } else {
                 smallerParameter = option.substr(6, pParen - 6);
             }
+        } else if (option.compare(0, 11, "compatible(") == 0) {
+            size_t pParen = option.find(')');
+            if (pParen == string::npos) {
+                printf("Incorrect option %s\n", option.c_str());
+            } else {
+                compatibleTypeIndex = FindCType(option.substr(11, pParen - 11));
+            }
+        } else if (option.compare(0, 11, "conditional") == 0) {
+            undefinedIfOutIsNan = true;
         } else {
             printf("Unrecognized option %s\n", option.c_str());
         }
     }
 
-    for (int i = 0; i < NUM_TYPES; i++) {
-        if (rsBaseType == TYPES[i].cType) {
-            javaBaseType = TYPES[i].javaType;
-            break;
-        }
+    typeIndex = FindCType(rsBaseType);
+    if (typeIndex < 0) {
+        // TODO set a global flag when we encounter an error & abort
+        printf("Error, could not find %s\n", rsBaseType.c_str());
+    } else {
+        javaBaseType = TYPES[typeIndex].javaType;
     }
 }
 
@@ -880,8 +929,18 @@
             trim(&s, 5);
             if (s == "scalar" || s == "vector" || s == "noverify" || s == "none") {
                 spec->mTest = s;
+            } else if (s.compare(0, 7, "limited") == 0) {
+                spec->mTest = "limited";
+                if (s.compare(7, 1, "(") == 0) {
+                    size_t pParen = s.find(')');
+                    if (pParen == string::npos) {
+                        printf("Incorrect test %s\n", s.c_str());
+                    } else {
+                        spec->mPrecisionLimit = s.substr(8, pParen - 8);
+                    }
+                }
             } else {
-                printf("Unrecognized test option: %s\n", s.c_str());
+                printf("Error: Unrecognized test option: %s\n", s.c_str());
                 success = false;
             }
             continue;
@@ -1021,6 +1080,7 @@
     mName = spec->getName(i1, i2, i3, i4);
     mCleanName = spec->getCleanName();
     mTest = spec->getTest();
+    mPrecisionLimit = spec->getPrecisionLimit();
     spec->getInlines(i1, i2, i3, i4, &mInline);
     spec->getComments(i1, i2, i3, i4, &mComment);
 
@@ -1303,7 +1363,7 @@
 
 void Permutation::writeJavaSection(ofstream& file) const {
     // By default, we test the results using item by item comparison.
-    if (mTest == "scalar") {
+    if (mTest == "scalar" || mTest == "limited") {
         writeJavaArgumentClass(file, true);
         writeJavaCheckMethod(file, true);
         writeJavaVerifyScalarMethod(file);
@@ -1330,15 +1390,17 @@
     s += tab(1) + "public class " + name + " {\n";
     for (size_t i = 0; i < mParams.size(); i++) {
         const ParameterDefinition& p = *mParams[i];
-        s += tab(2) + "public " + p.javaBaseType;
+        s += tab(2) + "public ";
+        if (p.isOutParameter && p.javaBaseType == "float") {
+            s += "Floaty";
+        } else {
+            s += p.javaBaseType;
+        }
         if (!scalar && p.mVectorSize != "1") {
             s += "[]";
         }
         s += " " + p.variableName + ";\n";
     }
-    s += "\n";
-    s += tab(2) + "public int ulf;\n";
-    s += tab(2) + "public int ulfRelaxed;\n";
     s += tab(1) + "}\n\n";
 
     mFunction->writeJavaArgumentClassDefinition(name, s);
@@ -1372,16 +1434,81 @@
     string dataType;
     char vectorSize;
     convertToRsType(param.rsType, &dataType, &vectorSize);
-    long seed = hashString(mJavaCheckMethodName + param.javaAllocName);
-    file << indent << "Allocation " << param.javaAllocName
-         << " = createRandomAllocation(mRS, Element.DataType." << dataType << ", " << vectorSize
-         << ", 0x" << std::hex << seed << "l";
-    if (!param.minValue.empty()) {
-        file << ", " << param.minValue << ", " << param.maxValue;
+
+    string seed = hashString(mJavaCheckMethodName + param.javaAllocName);
+    file << indent << "Allocation " << param.javaAllocName << " = ";
+    if (param.compatibleTypeIndex >= 0) {
+        if (TYPES[param.typeIndex].kind == FLOATING_POINT) {
+            writeJavaRandomCompatibleFloatAllocation(file, dataType, seed, vectorSize,
+                                                     TYPES[param.compatibleTypeIndex],
+                                                     TYPES[param.typeIndex]);
+        } else {
+            writeJavaRandomCompatibleIntegerAllocation(file, dataType, seed, vectorSize,
+                                                       TYPES[param.compatibleTypeIndex],
+                                                       TYPES[param.typeIndex]);
+        }
+    } else if (!param.minValue.empty()) {
+        if (TYPES[param.typeIndex].kind != FLOATING_POINT) {
+            printf("range(,) is only supported for floating point\n");
+        } else {
+            file << "createRandomFloatAllocation(mRS, Element.DataType." << dataType << ", "
+                 << vectorSize << ", " << seed << ", " << param.minValue << ", " << param.maxValue
+                 << ")";
+        }
     } else {
-        file << ", false";  // TODO set to false only for native
+        file << "createRandomAllocation(mRS, Element.DataType." << dataType << ", " << vectorSize
+             << ", " << seed << ", false)";  // TODO set to false only for native
     }
-    file << ");\n";
+    file << ";\n";
+}
+
+void Permutation::writeJavaRandomCompatibleFloatAllocation(ofstream& file, const string& dataType,
+                                                           const string& seed, char vectorSize,
+                                                           const Type& compatibleType,
+                                                           const Type& generatedType) const {
+    file << "createRandomFloatAllocation"
+         << "(mRS, Element.DataType." << dataType << ", " << vectorSize << ", " << seed << ", ";
+    file << scientific << std::setprecision(10);
+    switch (compatibleType.kind) {
+        case FLOATING_POINT: {
+            // We're generating floating point values.  We just have to worry about the
+            // exponent.  Subtract 1 for the sign.
+            int bits = min(compatibleType.significantBits, generatedType.significantBits) - 1;
+            double maxValue = ldexp(0.95, (1 << bits) - 1);
+            file << -maxValue << ", " << maxValue;
+            break;
+        }
+        case UNSIGNED_INTEGER:
+            file << "0, " << ldexp(1, compatibleType.significantBits);
+            break;
+        case SIGNED_INTEGER: {
+            double max = ldexp(1, compatibleType.significantBits);
+            file << -max << ", " << (max - 1);
+            break;
+        }
+    }
+    file.unsetf(ios_base::floatfield);
+    file << ")";
+}
+
+void Permutation::writeJavaRandomCompatibleIntegerAllocation(ofstream& file, const string& dataType,
+                                                             const string& seed, char vectorSize,
+                                                             const Type& compatibleType,
+                                                             const Type& generatedType) const {
+    file << "createRandomIntegerAllocation"
+         << "(mRS, Element.DataType." << dataType << ", " << vectorSize << ", " << seed << ", ";
+
+    if (compatibleType.kind == FLOATING_POINT) {
+        // Currently, all floating points can take any number we generate.
+        bool isSigned = generatedType.kind == SIGNED_INTEGER;
+        file << (isSigned ? "true" : "false") << ", " << generatedType.significantBits;
+    } else {
+        bool isSigned =
+                    compatibleType.kind == SIGNED_INTEGER && generatedType.kind == SIGNED_INTEGER;
+        file << (isSigned ? "true" : "false") << ", "
+             << min(compatibleType.significantBits, generatedType.significantBits);
+    }
+    file << ")";
 }
 
 void Permutation::writeJavaOutputAllocationDefinition(ofstream& file, const string& indent,
@@ -1447,17 +1574,15 @@
     }
 
     file << tab(4) << "// Figure out what the outputs should have been.\n";
+    file << tab(4) << "Floaty.setRelaxed(relaxed);\n";
     file << tab(4) << "CoreMathVerifier." << mJavaVerifierComputeMethodName << "(args);\n";
-    file << tab(4) << "int ulf = relaxed ? args.ulfRelaxed : args.ulf;\n";
 
     file << tab(4) << "// Figure out what the outputs should have been.\n";
     file << tab(4) << "boolean valid = true;\n";
-    file << tab(4) << "int neededUlf = 0;\n";
     for (size_t i = 0; i < mParams.size(); i++) {
         const ParameterDefinition& p = *mParams[i];
         if (p.isOutParameter) {
-            writeJavaTestOneValue(file, 4, p.rsBaseType, "args." + p.variableName,
-                                  p.javaArrayName + "[i * " + p.vectorWidth + " + j]");
+            writeJavaTestAndSetValid(file, 4, p, "", "[i * " + p.vectorWidth + " + j]");
         }
     }
 
@@ -1466,9 +1591,7 @@
     for (size_t i = 0; i < mParams.size(); i++) {
         const ParameterDefinition& p = *mParams[i];
         if (p.isOutParameter) {
-            writeJavaAppendOutputToMessage(file, 5, p.rsBaseType, p.variableName,
-                                           "args." + p.variableName,
-                                           p.javaArrayName + "[i * " + p.vectorWidth + " + j]");
+            writeJavaAppendOutputToMessage(file, 5, p, "", "[i * " + p.vectorWidth + " + j]");
         } else {
             writeJavaAppendInputToMessage(file, 5, p.rsBaseType, p.variableName,
                                           "args." + p.variableName);
@@ -1492,86 +1615,94 @@
     file << "boolean relaxed) {\n";
 }
 
-void Permutation::writeJavaTestOneValue(ofstream& file, int indent, const string& rsBaseType,
-                                        const string& expected, const string& actual) const {
-    if (rsBaseType[0] == 'f') {
-        writeJavaComputeNeededUlf(file, indent, expected, actual);
-        file << tab(indent) << "if (neededUlf > ulf) {\n";
-        file << tab(indent + 1) << "valid = false;\n";
-        file << tab(indent) << "}\n";
+void Permutation::writeJavaTestAndSetValid(ofstream& file, int indent, const ParameterDefinition& p,
+                                           const string& argsIndex,
+                                           const string& actualIndex) const {
+    writeJavaTestOneValue(file, indent, p, argsIndex, actualIndex);
+    file << tab(indent + 1) << "valid = false;\n";
+    file << tab(indent) << "}\n";
+}
+
+void Permutation::writeJavaTestOneValue(ofstream& file, int indent, const ParameterDefinition& p,
+                                        const string& argsIndex, const string& actualIndex) const {
+    file << tab(indent) << "if (";
+    if (p.rsBaseType[0] == 'f') {
+        file << "!args." << p.variableName << argsIndex << ".couldBe(" << p.javaArrayName
+             << actualIndex;
+        if (!mPrecisionLimit.empty()) {
+            file << ", " << mPrecisionLimit;
+        }
+        file << ")";
     } else {
-        file << tab(indent) << "if (" + expected + " != " + actual + ") {\n";
-        file << tab(indent + 1) << "valid = false;\n";
-        file << tab(indent) << "}\n";
+        file << "args." << p.variableName << argsIndex << " != " << p.javaArrayName << actualIndex;
     }
+    if (p.undefinedIfOutIsNan && mReturnIndex >= 0) {
+        file << " && args." << mParams[mReturnIndex]->variableName << argsIndex << ".isNaN()";
+    }
+    file << ") {\n";
 }
 
 void Permutation::writeJavaAppendOutputToMessage(ofstream& file, int indent,
-                                                 const string& rsBaseType, const string& name,
-                                                 const string& expected,
-                                                 const string& actual) const {
-    writeJavaAppendVariableToMessage(file, indent, rsBaseType, "Expected output " + name, expected);
-    writeJavaAppendNewLineToMessage(file, indent);
-    writeJavaAppendVariableToMessage(file, indent, rsBaseType, "Actual   output " + name, actual);
-    if (rsBaseType[0] == 'f') {
-        writeJavaComputeNeededUlf(file, indent, expected, actual);
-        file << tab(indent) << "if (neededUlf > ulf) {\n";
-        file << tab(indent + 1) << "message.append(String.format(\" FAILED, ulf needed %d, "
-                                   "specified %d\", neededUlf, ulf));\n";
-        file << tab(indent) << "}\n";
+                                                 const ParameterDefinition& p,
+                                                 const string& argsIndex,
+                                                 const string& actualIndex) const {
+    const string expected = "args." + p.variableName + argsIndex;
+    const string actual = p.javaArrayName + actualIndex;
+    file << tab(indent) << "message.append(\"Expected output " + p.variableName + ": \");\n";
+    if (p.rsBaseType[0] == 'f') {
+        writeJavaAppendFloatyVariableToMessage(file, indent, expected);
     } else {
-        file << tab(indent) << "if (" + expected + " != " + actual + ") {\n";
-        file << tab(indent + 1) << "message.append(\" FAIL\");\n";
-        file << tab(indent) << "}\n";
+        writeJavaAppendVariableToMessage(file, indent, p.rsBaseType, expected);
     }
     writeJavaAppendNewLineToMessage(file, indent);
+    file << tab(indent) << "message.append(\"Actual   output " + p.variableName + ": \");\n";
+    writeJavaAppendVariableToMessage(file, indent, p.rsBaseType, actual);
+
+    writeJavaTestOneValue(file, indent, p, argsIndex, actualIndex);
+    file << tab(indent + 1) << "message.append(\" FAIL\");\n";
+    file << tab(indent) << "}\n";
+    writeJavaAppendNewLineToMessage(file, indent);
 }
 
 void Permutation::writeJavaAppendInputToMessage(ofstream& file, int indent,
                                                 const string& rsBaseType, const string& name,
                                                 const string& actual) const {
-    writeJavaAppendVariableToMessage(file, indent, rsBaseType, "Input " + name, actual);
+    file << tab(indent) << "message.append(\"Input " + name + ": \");\n";
+    writeJavaAppendVariableToMessage(file, indent, rsBaseType, actual);
     writeJavaAppendNewLineToMessage(file, indent);
 }
 
-void Permutation::writeJavaComputeNeededUlf(ofstream& file, int indent, const string& expected,
-                                            const string& actual) const {
-    file << tab(indent) << "neededUlf = (int) (Math.abs(" << expected << " - " << actual
-         << ") / Math.ulp(" << expected << ") + 0.5);\n";
-}
-
 void Permutation::writeJavaAppendNewLineToMessage(ofstream& file, int indent) const {
     file << tab(indent) << "message.append(\"\\n\");\n";
 }
 
 void Permutation::writeJavaAppendVariableToMessage(ofstream& file, int indent,
-                                                   const string& rsBaseType, const string& legend,
+                                                   const string& rsBaseType,
                                                    const string& value) const {
-    file << tab(indent) << "message.append(String.format(\"" + legend + ": ";
     if (rsBaseType[0] == 'f') {
-        file << "%14.8g %8x %15a\",\n";
+        file << tab(indent) << "message.append(String.format(\"%14.8g %8x %15a\",\n";
         file << tab(indent + 2) << value << ", "
-             << "Float.floatToRawIntBits(" << value << "), " << value;
+             << "Float.floatToRawIntBits(" << value << "), " << value << "));\n";
     } else if (rsBaseType[0] == 'u') {
-        file << "0x%x\",\n";
-        file << tab(indent + 2) << value;
+        file << tab(indent) << "message.append(String.format(\"0x%x\", " << value << "));\n";
     } else {
-        file << "%d\",\n";
-        file << tab(indent + 2) << value;
+        file << tab(indent) << "message.append(String.format(\"%d\", " << value << "));\n";
     }
-    file << "));\n";
+}
+
+void Permutation::writeJavaAppendFloatyVariableToMessage(ofstream& file, int indent,
+                                                         const string& value) const {
+    file << tab(indent) << "message.append(" << value << ".toString());\n";
 }
 
 void Permutation::writeJavaVectorComparison(ofstream& file, int indent,
                                             const ParameterDefinition& p) const {
     if (p.mVectorSize == "1") {
-        writeJavaTestOneValue(file, indent, p.javaBaseType, "args." + p.variableName,
-                              p.javaArrayName + "[i]");
+        writeJavaTestAndSetValid(file, indent, p, "", "[i]");
 
     } else {
         file << tab(indent) << "for (int j = 0; j < " << p.mVectorSize << " ; j++) {\n";
-        writeJavaTestOneValue(file, indent + 1, p.rsBaseType, "args." + p.variableName + "[j]",
-                              p.javaArrayName + "[i * " + p.vectorWidth + " + j]");
+        writeJavaTestAndSetValid(file, indent + 1, p, "[j]", "[i * " + p.vectorWidth + " + j]");
         file << tab(indent) << "}\n";
     }
 }
@@ -1592,14 +1723,12 @@
 void Permutation::writeJavaAppendVectorOutputToMessage(ofstream& file, int indent,
                                                        const ParameterDefinition& p) const {
     if (p.mVectorSize == "1") {
-        writeJavaAppendOutputToMessage(file, indent, p.rsBaseType, p.variableName,
-                                       "args." + p.variableName, p.javaArrayName + "[i]");
+        writeJavaAppendOutputToMessage(file, indent, p, "", "[i]");
 
     } else {
         file << tab(indent) << "for (int j = 0; j < " << p.mVectorSize << " ; j++) {\n";
-        writeJavaAppendOutputToMessage(file, indent + 1, p.rsBaseType, p.variableName,
-                                       "args." + p.variableName + "[j]",
-                                       p.javaArrayName + "[i * " + p.vectorWidth + " + j]");
+        writeJavaAppendOutputToMessage(file, indent + 1, p, "[j]",
+                                       "[i * " + p.vectorWidth + " + j]");
         file << tab(indent) << "}\n";
     }
 }
@@ -1618,8 +1747,12 @@
     for (size_t i = 0; i < mParams.size(); i++) {
         const ParameterDefinition& p = *mParams[i];
         if (p.mVectorSize != "1") {
-            file << tab(3) << "args." << p.variableName << " = new " << p.javaBaseType << "["
-                 << p.mVectorSize << "];\n";
+            string type = p.javaBaseType;
+            if (p.isOutParameter && type == "float") {
+                type = "Floaty";
+            }
+            file << tab(3) << "args." << p.variableName << " = new " << type << "[" << p.mVectorSize
+                 << "];\n";
         }
     }
 
@@ -1639,12 +1772,11 @@
             }
         }
     }
+    file << tab(3) << "Floaty.setRelaxed(relaxed);\n";
     file << tab(3) << "CoreMathVerifier." << mJavaVerifierComputeMethodName << "(args);\n\n";
-    file << tab(3) << "int ulf = relaxed ? args.ulfRelaxed : args.ulf;\n";
 
     file << tab(3) << "// Compare the expected outputs to the actual values returned by RS.\n";
     file << tab(3) << "boolean valid = true;\n";
-    file << tab(3) << "int neededUlf;\n";
     for (size_t i = 0; i < mParams.size(); i++) {
         const ParameterDefinition& p = *mParams[i];
         if (p.isOutParameter) {
diff --git a/api/generate.sh b/api/generate.sh
new file mode 100644
index 0000000..4aa933c
--- /dev/null
+++ b/api/generate.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+# Copyright (C) 2014 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+set -e
+g++ gen_runtime.cpp -Wall -o gen_runtime
+./gen_runtime -v 19 rs_core_math.spec
+mv Test*.java ../../../cts/tests/tests/renderscript/src/android/renderscript/cts/
+mv Test*.rs ../../../cts/tests/src/android/renderscript/cts/
+mv rs_core_math.rsh ../scriptc/
+rm ./gen_runtime
diff --git a/api/rs_core_math.spec b/api/rs_core_math.spec
index 251cd4c..d83b0d9 100644
--- a/api/rs_core_math.spec
+++ b/api/rs_core_math.spec
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2013 The Android Open Source Project
+# Copyright (C) 2014 The Android Open Source Project
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -19,12 +19,11 @@
 t: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64
 t: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64
 name: convert_#3#1
-arg: #2#1
+arg: #2#1 v compatible(#3)
 ret: #3#1
 comment:
  Component wise conversion from #2#1 to #3#1
 version: 9
-test: noverify
 end:
 
 start:
@@ -32,7 +31,7 @@
 t: f32
 name: acos
 ret: #2#1
-arg: #2#1
+arg: #2#1 v range(-1,1)
 comment:
  acos
 version: 9
@@ -54,7 +53,7 @@
 t: f32
 name: acospi
 ret: #2#1
-arg: #2#1
+arg: #2#1 v range(-1,1)
 comment:
  acospi
 version: 9
@@ -65,7 +64,7 @@
 t: f32
 name: asin
 ret: #2#1
-arg: #2#1
+arg: #2#1 v range(-1,1)
 comment:
  asin
 version: 9
@@ -87,7 +86,7 @@
 t: f32
 name: asinpi
 ret: #2#1
-arg: #2#1
+arg: #2#1 v range(-1,1)
 comment:
  Return the inverse sine divided by PI.
 version: 9
@@ -98,7 +97,7 @@
 t: f32
 name: atan
 ret: #2#1
-arg: #2#1
+arg: #2#1 v range(-1,1)
 comment:
  Return the inverse tangent.
 version: 9
@@ -132,7 +131,7 @@
 t: f32
 name: atanpi
 ret: #2#1
-arg: #2#1
+arg: #2#1 v range(-1,1)
 comment:
  Return the inverse tangent divided by PI.
 version: 9
@@ -226,8 +225,6 @@
 comment:
  Return the complementary error function.
 version: 9
-# TODO Test to be implemented
-test: noverify
 end:
 
 start:
@@ -239,8 +236,6 @@
 comment:
  Return the error function.
 version: 9
-# TODO Test to be implemented
-test: noverify
 end:
 
 start:
@@ -274,8 +269,6 @@
 comment:
  Return 10 ^ value.
 version: 9
-#TODO
-test: noverify
 end:
 
 start:
@@ -339,6 +332,7 @@
 start:
 w: 1, 2, 3, 4
 t: f32
+# TODO What is the difference between this and max?  Same for min.
 name: fmax
 ret: #2#1
 arg: #2#1 x
@@ -436,8 +430,6 @@
 
  @param v Supports float, float2, float3, float4.
 version: 9
-# TODO Test to be implemented
-test: noverify
 end:
 
 start:
@@ -461,8 +453,6 @@
 comment:
  Return the integer exponent of a value
 version: 9
-#TODO
-test: noverify
 end:
 
 start:
@@ -502,8 +492,6 @@
 comment:
  Return the log gamma and sign
 version: 9
-# TODO Test to be implemented
-test: noverify
 end:
 
 start:
@@ -516,8 +504,6 @@
 comment:
  Return the log gamma and sign
 version: 9
-# TODO Test to be implemented
-test: noverify
 end:
 
 start:
@@ -573,8 +559,6 @@
 comment:
  Compute the exponent of the value.
 version: 9
-#TODO
-test: noverify
 end:
 
 start:
@@ -615,7 +599,6 @@
 comment:
  generate a nan
 version: 9
-test: noverify
 end:
 
 start:
@@ -652,8 +635,6 @@
 comment:
  Return x ^ y.
 version: 9
-#TODO
-test: noverify
 end:
 
 start:
@@ -661,7 +642,7 @@
 t: f32
 name: powr
 ret: #2#1
-arg: #2#1 x range(0,200)
+arg: #2#1 x range(0,3000)
 arg: #2#1 y
 comment:
  Return x ^ y.
@@ -688,12 +669,10 @@
 ret: #2#1
 arg: #2#1 b
 arg: #2#1 c
-arg: int#1 *d
+arg: int#1 *d conditional
 comment:
  Return the quotient and the remainder of b/c
 version: 9
-#TODO
-test: noverify
 end:
 
 start:
@@ -717,6 +696,8 @@
 comment:
  Compute the Nth root of a value.
 version: 9
+# TODO re-enable once how to handle zero is decided
+test: noverify
 end:
 
 start:
@@ -843,8 +824,6 @@
 comment:
  Compute the gamma function of a value.
 version: 9
-# TODO Test to be implemented
-test: noverify
 end:
 
 start:
@@ -1252,8 +1231,7 @@
 comment:
  Compute the cross product of two vectors.
 version: 9
-# TODO test: vector
-test: noverify
+test: vector
 end:
 
 start:
@@ -1266,8 +1244,7 @@
 comment:
  Compute the dot product of two vectors.
 version: 9
-# TODO test: vector
-test: noverify
+test: vector
 end:
 
 start:
@@ -1279,8 +1256,7 @@
 comment:
  Compute the length of a vector.
 version: 9
-# TODO test: vector
-test: noverify
+test: vector
 end:
 
 start:
@@ -1293,8 +1269,7 @@
 comment:
  Compute the distance between two points.
 version: 9
-# TODO test: vector
-test: noverify
+test: vector
 end:
 
 start:
@@ -1306,8 +1281,7 @@
 comment:
  Normalize a vector.
 version: 9
-# TODO test: vector
-test: noverify
+test: vector
 end:
 
 start:
@@ -1319,7 +1293,7 @@
 comment:
  Return the approximate reciprocal of a value.
 version: 17
-# TODO fix & implement
+# TODO enable once precision is improved
 test: noverify
 end:
 
@@ -1354,8 +1328,7 @@
 comment:
  Compute the approximate length of a vector.
 version: 17
-# TODO test: vector
-test: noverify
+test: vector
 end:
 
 start:
@@ -1368,8 +1341,7 @@
 comment:
  Compute the approximate distance between two points.
 version: 17
-# TODO test: vector
-test: noverify
+test: vector
 end:
 
 start:
@@ -1381,8 +1353,7 @@
 comment:
  Approximately normalize a vector.
 version: 17
-# TODO test: vector
-test: noverify
+test: vector
 end:
 
 start:
@@ -1396,8 +1367,7 @@
  valid for inputs -86.f to 86.f
  Max 8192 ulps of error
 version: 18
-# TODO Fix precision issue & verify
-test: noverify
+test: limited
 end:
 
 start:
@@ -1411,8 +1381,7 @@
  valid for inputs -125.f to 125.f
  Max 8192 ulps of error
 version: 18
-# TODO Fix precision issue & verify
-test: noverify
+test: limited
 end:
 
 start:
@@ -1426,8 +1395,7 @@
  valid for inputs -37.f to 37.f
  Max 8192 ulps of error
 version: 18
-# TODO Fix precision issue & verify
-test: noverify
+test: limited
 end:
 
 start:
@@ -1435,12 +1403,12 @@
 t: f32
 name: native_log
 ret: #2#1
-arg: #2#1 v
+arg: #2#1 v range(10e-10,10e10)
 comment:
  Fast approximate log
 version: 18
-# TODO Fix precision issue & verify
-test: noverify
+# TODO Is this the precision we want?
+test: limited(0.0002)
 end:
 
 start:
@@ -1448,12 +1416,12 @@
 t: f32
 name: native_log2
 ret: #2#1
-arg: #2#1 v
+arg: #2#1 v range(10e-10,10e10)
 comment:
  Fast approximate log2
 version: 18
-# TODO Fix precision issue & verify
-test: noverify
+# TODO Is this the precision we want?
+test: limited(0.0002)
 end:
 
 start:
@@ -1461,12 +1429,12 @@
 t: f32
 name: native_log10
 ret: #2#1
-arg: #2#1 v
+arg: #2#1 v range(10e-10,10e10)
 comment:
  Fast approximate log10
 version: 18
-# TODO Fix precision issue & verify
-test: noverify
+# TODO Is this the precision we want?
+test: limited(0.00005)
 end:
 
 start:
@@ -1474,12 +1442,14 @@
 t: f32
 name: native_powr
 ret: #2#1
-arg: #2#1 v
-arg: #2#1 y
+arg: #2#1 v range(0,256)
+arg: #2#1 y range(-15,15)
 comment:
  Fast approximate v ^ y
+ v must be between 0.f and 256.f
+ y must be between -15.f and 15.f
 version: 18
-# TODO Fix precision issue & verify
+# TODO enable once 0 ^ x is handled better
+# test: limited
 test: noverify
 end:
-
diff --git a/driver/runtime/rs_cl.c b/driver/runtime/rs_cl.c
index 3a9252a..d054bcf 100644
--- a/driver/runtime/rs_cl.c
+++ b/driver/runtime/rs_cl.c
@@ -515,9 +515,10 @@
 extern float __attribute__((overloadable)) pown(float v, int p) {
     /* The mantissa of a float has fewer bits than an int (24 effective vs. 31).
      * For very large ints, we'll lose whether the exponent is even or odd, making
-     * the selection of a correct sign incorrect.  We correct this.
+     * the selection of a correct sign incorrect.  We correct this.  Use copysign
+     * to handle the negative zero case.
      */
-    float sign = (v < 0.0f && (p & 0x1)) ? -1.0 : 1.0;
+    float sign = (p & 0x1) ? copysign(1.f, v) : 1.f;
     float f = pow(v, (float)p);
     return copysign(f, sign);
 }
diff --git a/scriptc/rs_core_math.rsh b/scriptc/rs_core_math.rsh
index 8724fcf..80a8798 100644
--- a/scriptc/rs_core_math.rsh
+++ b/scriptc/rs_core_math.rsh
@@ -132,7 +132,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))acos(float);
+extern float __attribute__((const, overloadable))acos(float v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -141,7 +141,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))acos(float2);
+extern float2 __attribute__((const, overloadable))acos(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -150,7 +150,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))acos(float3);
+extern float3 __attribute__((const, overloadable))acos(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -159,7 +159,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))acos(float4);
+extern float4 __attribute__((const, overloadable))acos(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -204,7 +204,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))acospi(float);
+extern float __attribute__((const, overloadable))acospi(float v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -213,7 +213,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))acospi(float2);
+extern float2 __attribute__((const, overloadable))acospi(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -222,7 +222,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))acospi(float3);
+extern float3 __attribute__((const, overloadable))acospi(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -231,7 +231,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))acospi(float4);
+extern float4 __attribute__((const, overloadable))acospi(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -240,7 +240,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))asin(float);
+extern float __attribute__((const, overloadable))asin(float v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -249,7 +249,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))asin(float2);
+extern float2 __attribute__((const, overloadable))asin(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -258,7 +258,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))asin(float3);
+extern float3 __attribute__((const, overloadable))asin(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -267,7 +267,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))asin(float4);
+extern float4 __attribute__((const, overloadable))asin(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -312,7 +312,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))asinpi(float);
+extern float __attribute__((const, overloadable))asinpi(float v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -321,7 +321,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))asinpi(float2);
+extern float2 __attribute__((const, overloadable))asinpi(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -330,7 +330,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))asinpi(float3);
+extern float3 __attribute__((const, overloadable))asinpi(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -339,7 +339,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))asinpi(float4);
+extern float4 __attribute__((const, overloadable))asinpi(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -348,7 +348,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))atan(float);
+extern float __attribute__((const, overloadable))atan(float v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -357,7 +357,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))atan(float2);
+extern float2 __attribute__((const, overloadable))atan(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -366,7 +366,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))atan(float3);
+extern float3 __attribute__((const, overloadable))atan(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -375,7 +375,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))atan(float4);
+extern float4 __attribute__((const, overloadable))atan(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -492,7 +492,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))atanpi(float);
+extern float __attribute__((const, overloadable))atanpi(float v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -501,7 +501,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))atanpi(float2);
+extern float2 __attribute__((const, overloadable))atanpi(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -510,7 +510,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))atanpi(float3);
+extern float3 __attribute__((const, overloadable))atanpi(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -519,7 +519,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))atanpi(float4);
+extern float4 __attribute__((const, overloadable))atanpi(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1635,7 +1635,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))convert_float2(float2);
+extern float2 __attribute__((const, overloadable))convert_float2(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1644,7 +1644,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))convert_float3(float3);
+extern float3 __attribute__((const, overloadable))convert_float3(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1653,7 +1653,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))convert_float4(float4);
+extern float4 __attribute__((const, overloadable))convert_float4(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1662,7 +1662,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))convert_float2(double2);
+extern float2 __attribute__((const, overloadable))convert_float2(double2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1671,7 +1671,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))convert_float3(double3);
+extern float3 __attribute__((const, overloadable))convert_float3(double3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1680,7 +1680,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))convert_float4(double4);
+extern float4 __attribute__((const, overloadable))convert_float4(double4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1689,7 +1689,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))convert_float2(char2);
+extern float2 __attribute__((const, overloadable))convert_float2(char2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1698,7 +1698,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))convert_float3(char3);
+extern float3 __attribute__((const, overloadable))convert_float3(char3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1707,7 +1707,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))convert_float4(char4);
+extern float4 __attribute__((const, overloadable))convert_float4(char4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1716,7 +1716,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))convert_float2(uchar2);
+extern float2 __attribute__((const, overloadable))convert_float2(uchar2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1725,7 +1725,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))convert_float3(uchar3);
+extern float3 __attribute__((const, overloadable))convert_float3(uchar3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1734,7 +1734,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))convert_float4(uchar4);
+extern float4 __attribute__((const, overloadable))convert_float4(uchar4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1743,7 +1743,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))convert_float2(short2);
+extern float2 __attribute__((const, overloadable))convert_float2(short2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1752,7 +1752,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))convert_float3(short3);
+extern float3 __attribute__((const, overloadable))convert_float3(short3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1761,7 +1761,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))convert_float4(short4);
+extern float4 __attribute__((const, overloadable))convert_float4(short4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1770,7 +1770,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))convert_float2(ushort2);
+extern float2 __attribute__((const, overloadable))convert_float2(ushort2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1779,7 +1779,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))convert_float3(ushort3);
+extern float3 __attribute__((const, overloadable))convert_float3(ushort3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1788,7 +1788,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))convert_float4(ushort4);
+extern float4 __attribute__((const, overloadable))convert_float4(ushort4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1797,7 +1797,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))convert_float2(int2);
+extern float2 __attribute__((const, overloadable))convert_float2(int2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1806,7 +1806,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))convert_float3(int3);
+extern float3 __attribute__((const, overloadable))convert_float3(int3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1815,7 +1815,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))convert_float4(int4);
+extern float4 __attribute__((const, overloadable))convert_float4(int4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1824,7 +1824,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))convert_float2(uint2);
+extern float2 __attribute__((const, overloadable))convert_float2(uint2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1833,7 +1833,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))convert_float3(uint3);
+extern float3 __attribute__((const, overloadable))convert_float3(uint3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1842,7 +1842,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))convert_float4(uint4);
+extern float4 __attribute__((const, overloadable))convert_float4(uint4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1851,7 +1851,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))convert_float2(long2);
+extern float2 __attribute__((const, overloadable))convert_float2(long2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1860,7 +1860,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))convert_float3(long3);
+extern float3 __attribute__((const, overloadable))convert_float3(long3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1869,7 +1869,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))convert_float4(long4);
+extern float4 __attribute__((const, overloadable))convert_float4(long4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1878,7 +1878,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))convert_float2(ulong2);
+extern float2 __attribute__((const, overloadable))convert_float2(ulong2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1887,7 +1887,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))convert_float3(ulong3);
+extern float3 __attribute__((const, overloadable))convert_float3(ulong3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1896,7 +1896,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))convert_float4(ulong4);
+extern float4 __attribute__((const, overloadable))convert_float4(ulong4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1905,7 +1905,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double2 __attribute__((const, overloadable))convert_double2(float2);
+extern double2 __attribute__((const, overloadable))convert_double2(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1914,7 +1914,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double3 __attribute__((const, overloadable))convert_double3(float3);
+extern double3 __attribute__((const, overloadable))convert_double3(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1923,7 +1923,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double4 __attribute__((const, overloadable))convert_double4(float4);
+extern double4 __attribute__((const, overloadable))convert_double4(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1932,7 +1932,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double2 __attribute__((const, overloadable))convert_double2(double2);
+extern double2 __attribute__((const, overloadable))convert_double2(double2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1941,7 +1941,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double3 __attribute__((const, overloadable))convert_double3(double3);
+extern double3 __attribute__((const, overloadable))convert_double3(double3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1950,7 +1950,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double4 __attribute__((const, overloadable))convert_double4(double4);
+extern double4 __attribute__((const, overloadable))convert_double4(double4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1959,7 +1959,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double2 __attribute__((const, overloadable))convert_double2(char2);
+extern double2 __attribute__((const, overloadable))convert_double2(char2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1968,7 +1968,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double3 __attribute__((const, overloadable))convert_double3(char3);
+extern double3 __attribute__((const, overloadable))convert_double3(char3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1977,7 +1977,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double4 __attribute__((const, overloadable))convert_double4(char4);
+extern double4 __attribute__((const, overloadable))convert_double4(char4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1986,7 +1986,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double2 __attribute__((const, overloadable))convert_double2(uchar2);
+extern double2 __attribute__((const, overloadable))convert_double2(uchar2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -1995,7 +1995,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double3 __attribute__((const, overloadable))convert_double3(uchar3);
+extern double3 __attribute__((const, overloadable))convert_double3(uchar3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2004,7 +2004,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double4 __attribute__((const, overloadable))convert_double4(uchar4);
+extern double4 __attribute__((const, overloadable))convert_double4(uchar4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2013,7 +2013,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double2 __attribute__((const, overloadable))convert_double2(short2);
+extern double2 __attribute__((const, overloadable))convert_double2(short2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2022,7 +2022,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double3 __attribute__((const, overloadable))convert_double3(short3);
+extern double3 __attribute__((const, overloadable))convert_double3(short3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2031,7 +2031,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double4 __attribute__((const, overloadable))convert_double4(short4);
+extern double4 __attribute__((const, overloadable))convert_double4(short4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2040,7 +2040,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double2 __attribute__((const, overloadable))convert_double2(ushort2);
+extern double2 __attribute__((const, overloadable))convert_double2(ushort2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2049,7 +2049,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double3 __attribute__((const, overloadable))convert_double3(ushort3);
+extern double3 __attribute__((const, overloadable))convert_double3(ushort3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2058,7 +2058,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double4 __attribute__((const, overloadable))convert_double4(ushort4);
+extern double4 __attribute__((const, overloadable))convert_double4(ushort4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2067,7 +2067,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double2 __attribute__((const, overloadable))convert_double2(int2);
+extern double2 __attribute__((const, overloadable))convert_double2(int2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2076,7 +2076,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double3 __attribute__((const, overloadable))convert_double3(int3);
+extern double3 __attribute__((const, overloadable))convert_double3(int3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2085,7 +2085,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double4 __attribute__((const, overloadable))convert_double4(int4);
+extern double4 __attribute__((const, overloadable))convert_double4(int4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2094,7 +2094,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double2 __attribute__((const, overloadable))convert_double2(uint2);
+extern double2 __attribute__((const, overloadable))convert_double2(uint2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2103,7 +2103,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double3 __attribute__((const, overloadable))convert_double3(uint3);
+extern double3 __attribute__((const, overloadable))convert_double3(uint3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2112,7 +2112,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double4 __attribute__((const, overloadable))convert_double4(uint4);
+extern double4 __attribute__((const, overloadable))convert_double4(uint4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2121,7 +2121,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double2 __attribute__((const, overloadable))convert_double2(long2);
+extern double2 __attribute__((const, overloadable))convert_double2(long2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2130,7 +2130,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double3 __attribute__((const, overloadable))convert_double3(long3);
+extern double3 __attribute__((const, overloadable))convert_double3(long3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2139,7 +2139,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double4 __attribute__((const, overloadable))convert_double4(long4);
+extern double4 __attribute__((const, overloadable))convert_double4(long4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2148,7 +2148,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double2 __attribute__((const, overloadable))convert_double2(ulong2);
+extern double2 __attribute__((const, overloadable))convert_double2(ulong2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2157,7 +2157,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double3 __attribute__((const, overloadable))convert_double3(ulong3);
+extern double3 __attribute__((const, overloadable))convert_double3(ulong3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2166,7 +2166,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern double4 __attribute__((const, overloadable))convert_double4(ulong4);
+extern double4 __attribute__((const, overloadable))convert_double4(ulong4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2175,7 +2175,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char2 __attribute__((const, overloadable))convert_char2(float2);
+extern char2 __attribute__((const, overloadable))convert_char2(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2184,7 +2184,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char3 __attribute__((const, overloadable))convert_char3(float3);
+extern char3 __attribute__((const, overloadable))convert_char3(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2193,7 +2193,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char4 __attribute__((const, overloadable))convert_char4(float4);
+extern char4 __attribute__((const, overloadable))convert_char4(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2202,7 +2202,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char2 __attribute__((const, overloadable))convert_char2(double2);
+extern char2 __attribute__((const, overloadable))convert_char2(double2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2211,7 +2211,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char3 __attribute__((const, overloadable))convert_char3(double3);
+extern char3 __attribute__((const, overloadable))convert_char3(double3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2220,7 +2220,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char4 __attribute__((const, overloadable))convert_char4(double4);
+extern char4 __attribute__((const, overloadable))convert_char4(double4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2229,7 +2229,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char2 __attribute__((const, overloadable))convert_char2(char2);
+extern char2 __attribute__((const, overloadable))convert_char2(char2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2238,7 +2238,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char3 __attribute__((const, overloadable))convert_char3(char3);
+extern char3 __attribute__((const, overloadable))convert_char3(char3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2247,7 +2247,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char4 __attribute__((const, overloadable))convert_char4(char4);
+extern char4 __attribute__((const, overloadable))convert_char4(char4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2256,7 +2256,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char2 __attribute__((const, overloadable))convert_char2(uchar2);
+extern char2 __attribute__((const, overloadable))convert_char2(uchar2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2265,7 +2265,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char3 __attribute__((const, overloadable))convert_char3(uchar3);
+extern char3 __attribute__((const, overloadable))convert_char3(uchar3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2274,7 +2274,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char4 __attribute__((const, overloadable))convert_char4(uchar4);
+extern char4 __attribute__((const, overloadable))convert_char4(uchar4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2283,7 +2283,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char2 __attribute__((const, overloadable))convert_char2(short2);
+extern char2 __attribute__((const, overloadable))convert_char2(short2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2292,7 +2292,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char3 __attribute__((const, overloadable))convert_char3(short3);
+extern char3 __attribute__((const, overloadable))convert_char3(short3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2301,7 +2301,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char4 __attribute__((const, overloadable))convert_char4(short4);
+extern char4 __attribute__((const, overloadable))convert_char4(short4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2310,7 +2310,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char2 __attribute__((const, overloadable))convert_char2(ushort2);
+extern char2 __attribute__((const, overloadable))convert_char2(ushort2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2319,7 +2319,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char3 __attribute__((const, overloadable))convert_char3(ushort3);
+extern char3 __attribute__((const, overloadable))convert_char3(ushort3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2328,7 +2328,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char4 __attribute__((const, overloadable))convert_char4(ushort4);
+extern char4 __attribute__((const, overloadable))convert_char4(ushort4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2337,7 +2337,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char2 __attribute__((const, overloadable))convert_char2(int2);
+extern char2 __attribute__((const, overloadable))convert_char2(int2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2346,7 +2346,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char3 __attribute__((const, overloadable))convert_char3(int3);
+extern char3 __attribute__((const, overloadable))convert_char3(int3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2355,7 +2355,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char4 __attribute__((const, overloadable))convert_char4(int4);
+extern char4 __attribute__((const, overloadable))convert_char4(int4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2364,7 +2364,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char2 __attribute__((const, overloadable))convert_char2(uint2);
+extern char2 __attribute__((const, overloadable))convert_char2(uint2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2373,7 +2373,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char3 __attribute__((const, overloadable))convert_char3(uint3);
+extern char3 __attribute__((const, overloadable))convert_char3(uint3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2382,7 +2382,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char4 __attribute__((const, overloadable))convert_char4(uint4);
+extern char4 __attribute__((const, overloadable))convert_char4(uint4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2391,7 +2391,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char2 __attribute__((const, overloadable))convert_char2(long2);
+extern char2 __attribute__((const, overloadable))convert_char2(long2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2400,7 +2400,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char3 __attribute__((const, overloadable))convert_char3(long3);
+extern char3 __attribute__((const, overloadable))convert_char3(long3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2409,7 +2409,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char4 __attribute__((const, overloadable))convert_char4(long4);
+extern char4 __attribute__((const, overloadable))convert_char4(long4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2418,7 +2418,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char2 __attribute__((const, overloadable))convert_char2(ulong2);
+extern char2 __attribute__((const, overloadable))convert_char2(ulong2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2427,7 +2427,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char3 __attribute__((const, overloadable))convert_char3(ulong3);
+extern char3 __attribute__((const, overloadable))convert_char3(ulong3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2436,7 +2436,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern char4 __attribute__((const, overloadable))convert_char4(ulong4);
+extern char4 __attribute__((const, overloadable))convert_char4(ulong4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2445,7 +2445,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar2 __attribute__((const, overloadable))convert_uchar2(float2);
+extern uchar2 __attribute__((const, overloadable))convert_uchar2(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2454,7 +2454,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar3 __attribute__((const, overloadable))convert_uchar3(float3);
+extern uchar3 __attribute__((const, overloadable))convert_uchar3(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2463,7 +2463,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar4 __attribute__((const, overloadable))convert_uchar4(float4);
+extern uchar4 __attribute__((const, overloadable))convert_uchar4(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2472,7 +2472,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar2 __attribute__((const, overloadable))convert_uchar2(double2);
+extern uchar2 __attribute__((const, overloadable))convert_uchar2(double2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2481,7 +2481,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar3 __attribute__((const, overloadable))convert_uchar3(double3);
+extern uchar3 __attribute__((const, overloadable))convert_uchar3(double3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2490,7 +2490,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar4 __attribute__((const, overloadable))convert_uchar4(double4);
+extern uchar4 __attribute__((const, overloadable))convert_uchar4(double4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2499,7 +2499,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar2 __attribute__((const, overloadable))convert_uchar2(char2);
+extern uchar2 __attribute__((const, overloadable))convert_uchar2(char2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2508,7 +2508,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar3 __attribute__((const, overloadable))convert_uchar3(char3);
+extern uchar3 __attribute__((const, overloadable))convert_uchar3(char3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2517,7 +2517,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar4 __attribute__((const, overloadable))convert_uchar4(char4);
+extern uchar4 __attribute__((const, overloadable))convert_uchar4(char4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2526,7 +2526,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar2 __attribute__((const, overloadable))convert_uchar2(uchar2);
+extern uchar2 __attribute__((const, overloadable))convert_uchar2(uchar2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2535,7 +2535,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar3 __attribute__((const, overloadable))convert_uchar3(uchar3);
+extern uchar3 __attribute__((const, overloadable))convert_uchar3(uchar3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2544,7 +2544,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar4 __attribute__((const, overloadable))convert_uchar4(uchar4);
+extern uchar4 __attribute__((const, overloadable))convert_uchar4(uchar4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2553,7 +2553,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar2 __attribute__((const, overloadable))convert_uchar2(short2);
+extern uchar2 __attribute__((const, overloadable))convert_uchar2(short2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2562,7 +2562,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar3 __attribute__((const, overloadable))convert_uchar3(short3);
+extern uchar3 __attribute__((const, overloadable))convert_uchar3(short3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2571,7 +2571,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar4 __attribute__((const, overloadable))convert_uchar4(short4);
+extern uchar4 __attribute__((const, overloadable))convert_uchar4(short4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2580,7 +2580,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar2 __attribute__((const, overloadable))convert_uchar2(ushort2);
+extern uchar2 __attribute__((const, overloadable))convert_uchar2(ushort2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2589,7 +2589,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar3 __attribute__((const, overloadable))convert_uchar3(ushort3);
+extern uchar3 __attribute__((const, overloadable))convert_uchar3(ushort3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2598,7 +2598,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar4 __attribute__((const, overloadable))convert_uchar4(ushort4);
+extern uchar4 __attribute__((const, overloadable))convert_uchar4(ushort4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2607,7 +2607,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar2 __attribute__((const, overloadable))convert_uchar2(int2);
+extern uchar2 __attribute__((const, overloadable))convert_uchar2(int2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2616,7 +2616,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar3 __attribute__((const, overloadable))convert_uchar3(int3);
+extern uchar3 __attribute__((const, overloadable))convert_uchar3(int3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2625,7 +2625,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar4 __attribute__((const, overloadable))convert_uchar4(int4);
+extern uchar4 __attribute__((const, overloadable))convert_uchar4(int4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2634,7 +2634,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar2 __attribute__((const, overloadable))convert_uchar2(uint2);
+extern uchar2 __attribute__((const, overloadable))convert_uchar2(uint2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2643,7 +2643,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar3 __attribute__((const, overloadable))convert_uchar3(uint3);
+extern uchar3 __attribute__((const, overloadable))convert_uchar3(uint3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2652,7 +2652,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar4 __attribute__((const, overloadable))convert_uchar4(uint4);
+extern uchar4 __attribute__((const, overloadable))convert_uchar4(uint4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2661,7 +2661,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar2 __attribute__((const, overloadable))convert_uchar2(long2);
+extern uchar2 __attribute__((const, overloadable))convert_uchar2(long2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2670,7 +2670,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar3 __attribute__((const, overloadable))convert_uchar3(long3);
+extern uchar3 __attribute__((const, overloadable))convert_uchar3(long3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2679,7 +2679,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar4 __attribute__((const, overloadable))convert_uchar4(long4);
+extern uchar4 __attribute__((const, overloadable))convert_uchar4(long4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2688,7 +2688,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar2 __attribute__((const, overloadable))convert_uchar2(ulong2);
+extern uchar2 __attribute__((const, overloadable))convert_uchar2(ulong2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2697,7 +2697,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar3 __attribute__((const, overloadable))convert_uchar3(ulong3);
+extern uchar3 __attribute__((const, overloadable))convert_uchar3(ulong3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2706,7 +2706,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar4 __attribute__((const, overloadable))convert_uchar4(ulong4);
+extern uchar4 __attribute__((const, overloadable))convert_uchar4(ulong4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2715,7 +2715,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short2 __attribute__((const, overloadable))convert_short2(float2);
+extern short2 __attribute__((const, overloadable))convert_short2(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2724,7 +2724,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short3 __attribute__((const, overloadable))convert_short3(float3);
+extern short3 __attribute__((const, overloadable))convert_short3(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2733,7 +2733,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short4 __attribute__((const, overloadable))convert_short4(float4);
+extern short4 __attribute__((const, overloadable))convert_short4(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2742,7 +2742,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short2 __attribute__((const, overloadable))convert_short2(double2);
+extern short2 __attribute__((const, overloadable))convert_short2(double2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2751,7 +2751,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short3 __attribute__((const, overloadable))convert_short3(double3);
+extern short3 __attribute__((const, overloadable))convert_short3(double3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2760,7 +2760,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short4 __attribute__((const, overloadable))convert_short4(double4);
+extern short4 __attribute__((const, overloadable))convert_short4(double4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2769,7 +2769,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short2 __attribute__((const, overloadable))convert_short2(char2);
+extern short2 __attribute__((const, overloadable))convert_short2(char2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2778,7 +2778,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short3 __attribute__((const, overloadable))convert_short3(char3);
+extern short3 __attribute__((const, overloadable))convert_short3(char3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2787,7 +2787,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short4 __attribute__((const, overloadable))convert_short4(char4);
+extern short4 __attribute__((const, overloadable))convert_short4(char4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2796,7 +2796,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short2 __attribute__((const, overloadable))convert_short2(uchar2);
+extern short2 __attribute__((const, overloadable))convert_short2(uchar2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2805,7 +2805,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short3 __attribute__((const, overloadable))convert_short3(uchar3);
+extern short3 __attribute__((const, overloadable))convert_short3(uchar3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2814,7 +2814,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short4 __attribute__((const, overloadable))convert_short4(uchar4);
+extern short4 __attribute__((const, overloadable))convert_short4(uchar4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2823,7 +2823,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short2 __attribute__((const, overloadable))convert_short2(short2);
+extern short2 __attribute__((const, overloadable))convert_short2(short2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2832,7 +2832,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short3 __attribute__((const, overloadable))convert_short3(short3);
+extern short3 __attribute__((const, overloadable))convert_short3(short3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2841,7 +2841,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short4 __attribute__((const, overloadable))convert_short4(short4);
+extern short4 __attribute__((const, overloadable))convert_short4(short4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2850,7 +2850,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short2 __attribute__((const, overloadable))convert_short2(ushort2);
+extern short2 __attribute__((const, overloadable))convert_short2(ushort2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2859,7 +2859,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short3 __attribute__((const, overloadable))convert_short3(ushort3);
+extern short3 __attribute__((const, overloadable))convert_short3(ushort3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2868,7 +2868,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short4 __attribute__((const, overloadable))convert_short4(ushort4);
+extern short4 __attribute__((const, overloadable))convert_short4(ushort4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2877,7 +2877,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short2 __attribute__((const, overloadable))convert_short2(int2);
+extern short2 __attribute__((const, overloadable))convert_short2(int2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2886,7 +2886,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short3 __attribute__((const, overloadable))convert_short3(int3);
+extern short3 __attribute__((const, overloadable))convert_short3(int3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2895,7 +2895,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short4 __attribute__((const, overloadable))convert_short4(int4);
+extern short4 __attribute__((const, overloadable))convert_short4(int4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2904,7 +2904,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short2 __attribute__((const, overloadable))convert_short2(uint2);
+extern short2 __attribute__((const, overloadable))convert_short2(uint2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2913,7 +2913,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short3 __attribute__((const, overloadable))convert_short3(uint3);
+extern short3 __attribute__((const, overloadable))convert_short3(uint3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2922,7 +2922,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short4 __attribute__((const, overloadable))convert_short4(uint4);
+extern short4 __attribute__((const, overloadable))convert_short4(uint4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2931,7 +2931,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short2 __attribute__((const, overloadable))convert_short2(long2);
+extern short2 __attribute__((const, overloadable))convert_short2(long2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2940,7 +2940,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short3 __attribute__((const, overloadable))convert_short3(long3);
+extern short3 __attribute__((const, overloadable))convert_short3(long3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2949,7 +2949,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short4 __attribute__((const, overloadable))convert_short4(long4);
+extern short4 __attribute__((const, overloadable))convert_short4(long4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2958,7 +2958,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short2 __attribute__((const, overloadable))convert_short2(ulong2);
+extern short2 __attribute__((const, overloadable))convert_short2(ulong2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2967,7 +2967,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short3 __attribute__((const, overloadable))convert_short3(ulong3);
+extern short3 __attribute__((const, overloadable))convert_short3(ulong3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2976,7 +2976,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern short4 __attribute__((const, overloadable))convert_short4(ulong4);
+extern short4 __attribute__((const, overloadable))convert_short4(ulong4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2985,7 +2985,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort2 __attribute__((const, overloadable))convert_ushort2(float2);
+extern ushort2 __attribute__((const, overloadable))convert_ushort2(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -2994,7 +2994,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort3 __attribute__((const, overloadable))convert_ushort3(float3);
+extern ushort3 __attribute__((const, overloadable))convert_ushort3(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3003,7 +3003,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort4 __attribute__((const, overloadable))convert_ushort4(float4);
+extern ushort4 __attribute__((const, overloadable))convert_ushort4(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3012,7 +3012,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort2 __attribute__((const, overloadable))convert_ushort2(double2);
+extern ushort2 __attribute__((const, overloadable))convert_ushort2(double2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3021,7 +3021,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort3 __attribute__((const, overloadable))convert_ushort3(double3);
+extern ushort3 __attribute__((const, overloadable))convert_ushort3(double3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3030,7 +3030,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort4 __attribute__((const, overloadable))convert_ushort4(double4);
+extern ushort4 __attribute__((const, overloadable))convert_ushort4(double4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3039,7 +3039,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort2 __attribute__((const, overloadable))convert_ushort2(char2);
+extern ushort2 __attribute__((const, overloadable))convert_ushort2(char2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3048,7 +3048,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort3 __attribute__((const, overloadable))convert_ushort3(char3);
+extern ushort3 __attribute__((const, overloadable))convert_ushort3(char3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3057,7 +3057,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort4 __attribute__((const, overloadable))convert_ushort4(char4);
+extern ushort4 __attribute__((const, overloadable))convert_ushort4(char4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3066,7 +3066,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort2 __attribute__((const, overloadable))convert_ushort2(uchar2);
+extern ushort2 __attribute__((const, overloadable))convert_ushort2(uchar2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3075,7 +3075,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort3 __attribute__((const, overloadable))convert_ushort3(uchar3);
+extern ushort3 __attribute__((const, overloadable))convert_ushort3(uchar3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3084,7 +3084,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort4 __attribute__((const, overloadable))convert_ushort4(uchar4);
+extern ushort4 __attribute__((const, overloadable))convert_ushort4(uchar4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3093,7 +3093,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort2 __attribute__((const, overloadable))convert_ushort2(short2);
+extern ushort2 __attribute__((const, overloadable))convert_ushort2(short2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3102,7 +3102,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort3 __attribute__((const, overloadable))convert_ushort3(short3);
+extern ushort3 __attribute__((const, overloadable))convert_ushort3(short3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3111,7 +3111,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort4 __attribute__((const, overloadable))convert_ushort4(short4);
+extern ushort4 __attribute__((const, overloadable))convert_ushort4(short4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3120,7 +3120,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort2 __attribute__((const, overloadable))convert_ushort2(ushort2);
+extern ushort2 __attribute__((const, overloadable))convert_ushort2(ushort2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3129,7 +3129,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort3 __attribute__((const, overloadable))convert_ushort3(ushort3);
+extern ushort3 __attribute__((const, overloadable))convert_ushort3(ushort3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3138,7 +3138,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort4 __attribute__((const, overloadable))convert_ushort4(ushort4);
+extern ushort4 __attribute__((const, overloadable))convert_ushort4(ushort4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3147,7 +3147,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort2 __attribute__((const, overloadable))convert_ushort2(int2);
+extern ushort2 __attribute__((const, overloadable))convert_ushort2(int2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3156,7 +3156,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort3 __attribute__((const, overloadable))convert_ushort3(int3);
+extern ushort3 __attribute__((const, overloadable))convert_ushort3(int3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3165,7 +3165,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort4 __attribute__((const, overloadable))convert_ushort4(int4);
+extern ushort4 __attribute__((const, overloadable))convert_ushort4(int4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3174,7 +3174,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort2 __attribute__((const, overloadable))convert_ushort2(uint2);
+extern ushort2 __attribute__((const, overloadable))convert_ushort2(uint2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3183,7 +3183,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort3 __attribute__((const, overloadable))convert_ushort3(uint3);
+extern ushort3 __attribute__((const, overloadable))convert_ushort3(uint3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3192,7 +3192,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort4 __attribute__((const, overloadable))convert_ushort4(uint4);
+extern ushort4 __attribute__((const, overloadable))convert_ushort4(uint4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3201,7 +3201,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort2 __attribute__((const, overloadable))convert_ushort2(long2);
+extern ushort2 __attribute__((const, overloadable))convert_ushort2(long2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3210,7 +3210,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort3 __attribute__((const, overloadable))convert_ushort3(long3);
+extern ushort3 __attribute__((const, overloadable))convert_ushort3(long3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3219,7 +3219,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort4 __attribute__((const, overloadable))convert_ushort4(long4);
+extern ushort4 __attribute__((const, overloadable))convert_ushort4(long4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3228,7 +3228,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort2 __attribute__((const, overloadable))convert_ushort2(ulong2);
+extern ushort2 __attribute__((const, overloadable))convert_ushort2(ulong2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3237,7 +3237,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort3 __attribute__((const, overloadable))convert_ushort3(ulong3);
+extern ushort3 __attribute__((const, overloadable))convert_ushort3(ulong3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3246,7 +3246,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort4 __attribute__((const, overloadable))convert_ushort4(ulong4);
+extern ushort4 __attribute__((const, overloadable))convert_ushort4(ulong4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3255,7 +3255,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int2 __attribute__((const, overloadable))convert_int2(float2);
+extern int2 __attribute__((const, overloadable))convert_int2(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3264,7 +3264,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int3 __attribute__((const, overloadable))convert_int3(float3);
+extern int3 __attribute__((const, overloadable))convert_int3(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3273,7 +3273,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int4 __attribute__((const, overloadable))convert_int4(float4);
+extern int4 __attribute__((const, overloadable))convert_int4(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3282,7 +3282,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int2 __attribute__((const, overloadable))convert_int2(double2);
+extern int2 __attribute__((const, overloadable))convert_int2(double2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3291,7 +3291,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int3 __attribute__((const, overloadable))convert_int3(double3);
+extern int3 __attribute__((const, overloadable))convert_int3(double3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3300,7 +3300,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int4 __attribute__((const, overloadable))convert_int4(double4);
+extern int4 __attribute__((const, overloadable))convert_int4(double4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3309,7 +3309,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int2 __attribute__((const, overloadable))convert_int2(char2);
+extern int2 __attribute__((const, overloadable))convert_int2(char2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3318,7 +3318,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int3 __attribute__((const, overloadable))convert_int3(char3);
+extern int3 __attribute__((const, overloadable))convert_int3(char3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3327,7 +3327,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int4 __attribute__((const, overloadable))convert_int4(char4);
+extern int4 __attribute__((const, overloadable))convert_int4(char4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3336,7 +3336,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int2 __attribute__((const, overloadable))convert_int2(uchar2);
+extern int2 __attribute__((const, overloadable))convert_int2(uchar2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3345,7 +3345,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int3 __attribute__((const, overloadable))convert_int3(uchar3);
+extern int3 __attribute__((const, overloadable))convert_int3(uchar3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3354,7 +3354,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int4 __attribute__((const, overloadable))convert_int4(uchar4);
+extern int4 __attribute__((const, overloadable))convert_int4(uchar4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3363,7 +3363,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int2 __attribute__((const, overloadable))convert_int2(short2);
+extern int2 __attribute__((const, overloadable))convert_int2(short2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3372,7 +3372,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int3 __attribute__((const, overloadable))convert_int3(short3);
+extern int3 __attribute__((const, overloadable))convert_int3(short3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3381,7 +3381,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int4 __attribute__((const, overloadable))convert_int4(short4);
+extern int4 __attribute__((const, overloadable))convert_int4(short4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3390,7 +3390,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int2 __attribute__((const, overloadable))convert_int2(ushort2);
+extern int2 __attribute__((const, overloadable))convert_int2(ushort2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3399,7 +3399,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int3 __attribute__((const, overloadable))convert_int3(ushort3);
+extern int3 __attribute__((const, overloadable))convert_int3(ushort3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3408,7 +3408,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int4 __attribute__((const, overloadable))convert_int4(ushort4);
+extern int4 __attribute__((const, overloadable))convert_int4(ushort4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3417,7 +3417,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int2 __attribute__((const, overloadable))convert_int2(int2);
+extern int2 __attribute__((const, overloadable))convert_int2(int2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3426,7 +3426,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int3 __attribute__((const, overloadable))convert_int3(int3);
+extern int3 __attribute__((const, overloadable))convert_int3(int3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3435,7 +3435,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int4 __attribute__((const, overloadable))convert_int4(int4);
+extern int4 __attribute__((const, overloadable))convert_int4(int4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3444,7 +3444,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int2 __attribute__((const, overloadable))convert_int2(uint2);
+extern int2 __attribute__((const, overloadable))convert_int2(uint2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3453,7 +3453,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int3 __attribute__((const, overloadable))convert_int3(uint3);
+extern int3 __attribute__((const, overloadable))convert_int3(uint3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3462,7 +3462,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int4 __attribute__((const, overloadable))convert_int4(uint4);
+extern int4 __attribute__((const, overloadable))convert_int4(uint4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3471,7 +3471,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int2 __attribute__((const, overloadable))convert_int2(long2);
+extern int2 __attribute__((const, overloadable))convert_int2(long2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3480,7 +3480,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int3 __attribute__((const, overloadable))convert_int3(long3);
+extern int3 __attribute__((const, overloadable))convert_int3(long3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3489,7 +3489,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int4 __attribute__((const, overloadable))convert_int4(long4);
+extern int4 __attribute__((const, overloadable))convert_int4(long4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3498,7 +3498,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int2 __attribute__((const, overloadable))convert_int2(ulong2);
+extern int2 __attribute__((const, overloadable))convert_int2(ulong2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3507,7 +3507,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int3 __attribute__((const, overloadable))convert_int3(ulong3);
+extern int3 __attribute__((const, overloadable))convert_int3(ulong3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3516,7 +3516,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern int4 __attribute__((const, overloadable))convert_int4(ulong4);
+extern int4 __attribute__((const, overloadable))convert_int4(ulong4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3525,7 +3525,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint2 __attribute__((const, overloadable))convert_uint2(float2);
+extern uint2 __attribute__((const, overloadable))convert_uint2(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3534,7 +3534,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint3 __attribute__((const, overloadable))convert_uint3(float3);
+extern uint3 __attribute__((const, overloadable))convert_uint3(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3543,7 +3543,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint4 __attribute__((const, overloadable))convert_uint4(float4);
+extern uint4 __attribute__((const, overloadable))convert_uint4(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3552,7 +3552,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint2 __attribute__((const, overloadable))convert_uint2(double2);
+extern uint2 __attribute__((const, overloadable))convert_uint2(double2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3561,7 +3561,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint3 __attribute__((const, overloadable))convert_uint3(double3);
+extern uint3 __attribute__((const, overloadable))convert_uint3(double3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3570,7 +3570,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint4 __attribute__((const, overloadable))convert_uint4(double4);
+extern uint4 __attribute__((const, overloadable))convert_uint4(double4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3579,7 +3579,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint2 __attribute__((const, overloadable))convert_uint2(char2);
+extern uint2 __attribute__((const, overloadable))convert_uint2(char2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3588,7 +3588,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint3 __attribute__((const, overloadable))convert_uint3(char3);
+extern uint3 __attribute__((const, overloadable))convert_uint3(char3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3597,7 +3597,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint4 __attribute__((const, overloadable))convert_uint4(char4);
+extern uint4 __attribute__((const, overloadable))convert_uint4(char4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3606,7 +3606,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint2 __attribute__((const, overloadable))convert_uint2(uchar2);
+extern uint2 __attribute__((const, overloadable))convert_uint2(uchar2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3615,7 +3615,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint3 __attribute__((const, overloadable))convert_uint3(uchar3);
+extern uint3 __attribute__((const, overloadable))convert_uint3(uchar3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3624,7 +3624,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint4 __attribute__((const, overloadable))convert_uint4(uchar4);
+extern uint4 __attribute__((const, overloadable))convert_uint4(uchar4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3633,7 +3633,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint2 __attribute__((const, overloadable))convert_uint2(short2);
+extern uint2 __attribute__((const, overloadable))convert_uint2(short2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3642,7 +3642,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint3 __attribute__((const, overloadable))convert_uint3(short3);
+extern uint3 __attribute__((const, overloadable))convert_uint3(short3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3651,7 +3651,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint4 __attribute__((const, overloadable))convert_uint4(short4);
+extern uint4 __attribute__((const, overloadable))convert_uint4(short4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3660,7 +3660,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint2 __attribute__((const, overloadable))convert_uint2(ushort2);
+extern uint2 __attribute__((const, overloadable))convert_uint2(ushort2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3669,7 +3669,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint3 __attribute__((const, overloadable))convert_uint3(ushort3);
+extern uint3 __attribute__((const, overloadable))convert_uint3(ushort3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3678,7 +3678,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint4 __attribute__((const, overloadable))convert_uint4(ushort4);
+extern uint4 __attribute__((const, overloadable))convert_uint4(ushort4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3687,7 +3687,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint2 __attribute__((const, overloadable))convert_uint2(int2);
+extern uint2 __attribute__((const, overloadable))convert_uint2(int2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3696,7 +3696,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint3 __attribute__((const, overloadable))convert_uint3(int3);
+extern uint3 __attribute__((const, overloadable))convert_uint3(int3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3705,7 +3705,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint4 __attribute__((const, overloadable))convert_uint4(int4);
+extern uint4 __attribute__((const, overloadable))convert_uint4(int4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3714,7 +3714,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint2 __attribute__((const, overloadable))convert_uint2(uint2);
+extern uint2 __attribute__((const, overloadable))convert_uint2(uint2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3723,7 +3723,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint3 __attribute__((const, overloadable))convert_uint3(uint3);
+extern uint3 __attribute__((const, overloadable))convert_uint3(uint3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3732,7 +3732,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint4 __attribute__((const, overloadable))convert_uint4(uint4);
+extern uint4 __attribute__((const, overloadable))convert_uint4(uint4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3741,7 +3741,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint2 __attribute__((const, overloadable))convert_uint2(long2);
+extern uint2 __attribute__((const, overloadable))convert_uint2(long2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3750,7 +3750,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint3 __attribute__((const, overloadable))convert_uint3(long3);
+extern uint3 __attribute__((const, overloadable))convert_uint3(long3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3759,7 +3759,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint4 __attribute__((const, overloadable))convert_uint4(long4);
+extern uint4 __attribute__((const, overloadable))convert_uint4(long4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3768,7 +3768,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint2 __attribute__((const, overloadable))convert_uint2(ulong2);
+extern uint2 __attribute__((const, overloadable))convert_uint2(ulong2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3777,7 +3777,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint3 __attribute__((const, overloadable))convert_uint3(ulong3);
+extern uint3 __attribute__((const, overloadable))convert_uint3(ulong3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3786,7 +3786,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern uint4 __attribute__((const, overloadable))convert_uint4(ulong4);
+extern uint4 __attribute__((const, overloadable))convert_uint4(ulong4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3795,7 +3795,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long2 __attribute__((const, overloadable))convert_long2(float2);
+extern long2 __attribute__((const, overloadable))convert_long2(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3804,7 +3804,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long3 __attribute__((const, overloadable))convert_long3(float3);
+extern long3 __attribute__((const, overloadable))convert_long3(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3813,7 +3813,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long4 __attribute__((const, overloadable))convert_long4(float4);
+extern long4 __attribute__((const, overloadable))convert_long4(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3822,7 +3822,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long2 __attribute__((const, overloadable))convert_long2(double2);
+extern long2 __attribute__((const, overloadable))convert_long2(double2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3831,7 +3831,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long3 __attribute__((const, overloadable))convert_long3(double3);
+extern long3 __attribute__((const, overloadable))convert_long3(double3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3840,7 +3840,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long4 __attribute__((const, overloadable))convert_long4(double4);
+extern long4 __attribute__((const, overloadable))convert_long4(double4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3849,7 +3849,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long2 __attribute__((const, overloadable))convert_long2(char2);
+extern long2 __attribute__((const, overloadable))convert_long2(char2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3858,7 +3858,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long3 __attribute__((const, overloadable))convert_long3(char3);
+extern long3 __attribute__((const, overloadable))convert_long3(char3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3867,7 +3867,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long4 __attribute__((const, overloadable))convert_long4(char4);
+extern long4 __attribute__((const, overloadable))convert_long4(char4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3876,7 +3876,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long2 __attribute__((const, overloadable))convert_long2(uchar2);
+extern long2 __attribute__((const, overloadable))convert_long2(uchar2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3885,7 +3885,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long3 __attribute__((const, overloadable))convert_long3(uchar3);
+extern long3 __attribute__((const, overloadable))convert_long3(uchar3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3894,7 +3894,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long4 __attribute__((const, overloadable))convert_long4(uchar4);
+extern long4 __attribute__((const, overloadable))convert_long4(uchar4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3903,7 +3903,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long2 __attribute__((const, overloadable))convert_long2(short2);
+extern long2 __attribute__((const, overloadable))convert_long2(short2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3912,7 +3912,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long3 __attribute__((const, overloadable))convert_long3(short3);
+extern long3 __attribute__((const, overloadable))convert_long3(short3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3921,7 +3921,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long4 __attribute__((const, overloadable))convert_long4(short4);
+extern long4 __attribute__((const, overloadable))convert_long4(short4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3930,7 +3930,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long2 __attribute__((const, overloadable))convert_long2(ushort2);
+extern long2 __attribute__((const, overloadable))convert_long2(ushort2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3939,7 +3939,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long3 __attribute__((const, overloadable))convert_long3(ushort3);
+extern long3 __attribute__((const, overloadable))convert_long3(ushort3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3948,7 +3948,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long4 __attribute__((const, overloadable))convert_long4(ushort4);
+extern long4 __attribute__((const, overloadable))convert_long4(ushort4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3957,7 +3957,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long2 __attribute__((const, overloadable))convert_long2(int2);
+extern long2 __attribute__((const, overloadable))convert_long2(int2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3966,7 +3966,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long3 __attribute__((const, overloadable))convert_long3(int3);
+extern long3 __attribute__((const, overloadable))convert_long3(int3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3975,7 +3975,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long4 __attribute__((const, overloadable))convert_long4(int4);
+extern long4 __attribute__((const, overloadable))convert_long4(int4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3984,7 +3984,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long2 __attribute__((const, overloadable))convert_long2(uint2);
+extern long2 __attribute__((const, overloadable))convert_long2(uint2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -3993,7 +3993,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long3 __attribute__((const, overloadable))convert_long3(uint3);
+extern long3 __attribute__((const, overloadable))convert_long3(uint3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4002,7 +4002,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long4 __attribute__((const, overloadable))convert_long4(uint4);
+extern long4 __attribute__((const, overloadable))convert_long4(uint4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4011,7 +4011,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long2 __attribute__((const, overloadable))convert_long2(long2);
+extern long2 __attribute__((const, overloadable))convert_long2(long2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4020,7 +4020,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long3 __attribute__((const, overloadable))convert_long3(long3);
+extern long3 __attribute__((const, overloadable))convert_long3(long3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4029,7 +4029,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long4 __attribute__((const, overloadable))convert_long4(long4);
+extern long4 __attribute__((const, overloadable))convert_long4(long4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4038,7 +4038,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long2 __attribute__((const, overloadable))convert_long2(ulong2);
+extern long2 __attribute__((const, overloadable))convert_long2(ulong2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4047,7 +4047,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long3 __attribute__((const, overloadable))convert_long3(ulong3);
+extern long3 __attribute__((const, overloadable))convert_long3(ulong3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4056,7 +4056,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern long4 __attribute__((const, overloadable))convert_long4(ulong4);
+extern long4 __attribute__((const, overloadable))convert_long4(ulong4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4065,7 +4065,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(float2);
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4074,7 +4074,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(float3);
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4083,7 +4083,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(float4);
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4092,7 +4092,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(double2);
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(double2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4101,7 +4101,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(double3);
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(double3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4110,7 +4110,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(double4);
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(double4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4119,7 +4119,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(char2);
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(char2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4128,7 +4128,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(char3);
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(char3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4137,7 +4137,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(char4);
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(char4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4146,7 +4146,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(uchar2);
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(uchar2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4155,7 +4155,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(uchar3);
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(uchar3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4164,7 +4164,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(uchar4);
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(uchar4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4173,7 +4173,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(short2);
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(short2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4182,7 +4182,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(short3);
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(short3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4191,7 +4191,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(short4);
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(short4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4200,7 +4200,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(ushort2);
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(ushort2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4209,7 +4209,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(ushort3);
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(ushort3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4218,7 +4218,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(ushort4);
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(ushort4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4227,7 +4227,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(int2);
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(int2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4236,7 +4236,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(int3);
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(int3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4245,7 +4245,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(int4);
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(int4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4254,7 +4254,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(uint2);
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(uint2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4263,7 +4263,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(uint3);
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(uint3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4272,7 +4272,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(uint4);
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(uint4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4281,7 +4281,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(long2);
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(long2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4290,7 +4290,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(long3);
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(long3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4299,7 +4299,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(long4);
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(long4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4308,7 +4308,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong2 __attribute__((const, overloadable))convert_ulong2(ulong2);
+extern ulong2 __attribute__((const, overloadable))convert_ulong2(ulong2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4317,7 +4317,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong3 __attribute__((const, overloadable))convert_ulong3(ulong3);
+extern ulong3 __attribute__((const, overloadable))convert_ulong3(ulong3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -4326,7 +4326,7 @@
  *
  * Supported by API versions 9 and newer.
  */
-extern ulong4 __attribute__((const, overloadable))convert_ulong4(ulong4);
+extern ulong4 __attribute__((const, overloadable))convert_ulong4(ulong4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
@@ -7640,6 +7640,8 @@
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
 /*
  * Fast approximate v ^ y
+ * v must be between 0.f and 256.f
+ * y must be between -15.f and 15.f
  *
  * Supported by API versions 18 and newer.
  */
@@ -7649,6 +7651,8 @@
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
 /*
  * Fast approximate v ^ y
+ * v must be between 0.f and 256.f
+ * y must be between -15.f and 15.f
  *
  * Supported by API versions 18 and newer.
  */
@@ -7658,6 +7662,8 @@
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
 /*
  * Fast approximate v ^ y
+ * v must be between 0.f and 256.f
+ * y must be between -15.f and 15.f
  *
  * Supported by API versions 18 and newer.
  */
@@ -7667,6 +7673,8 @@
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
 /*
  * Fast approximate v ^ y
+ * v must be between 0.f and 256.f
+ * y must be between -15.f and 15.f
  *
  * Supported by API versions 18 and newer.
  */