Merge "Enable more advanced CTS tests."
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.
  */