| // |
| // Copyright (c) 2021 The Khronos Group Inc. |
| // |
| // 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. |
| |
| #ifndef TEST_FUNCTIONS_H |
| #define TEST_FUNCTIONS_H |
| |
| #include "function_list.h" |
| |
| // float foo(float) |
| int TestFunc_Float_Float(const Func *f, MTdata, bool relaxedMode); |
| |
| // double foo(double) |
| int TestFunc_Double_Double(const Func *f, MTdata, bool relaxedMode); |
| |
| // int foo(float) |
| int TestFunc_Int_Float(const Func *f, MTdata, bool relaxedMode); |
| |
| // int foo(double) |
| int TestFunc_Int_Double(const Func *f, MTdata, bool relaxedMode); |
| |
| // float foo(uint) |
| int TestFunc_Float_UInt(const Func *f, MTdata, bool relaxedMode); |
| |
| // double foo(ulong) |
| int TestFunc_Double_ULong(const Func *f, MTdata, bool relaxedMode); |
| |
| // Returns {0, 1} for scalar and {0, -1} for vector. |
| // int foo(float) |
| int TestMacro_Int_Float(const Func *f, MTdata, bool relaxedMode); |
| |
| // Returns {0, 1} for scalar and {0, -1} for vector. |
| // int foo(double) |
| int TestMacro_Int_Double(const Func *f, MTdata, bool relaxedMode); |
| |
| // float foo(float, float) |
| int TestFunc_Float_Float_Float(const Func *f, MTdata, bool relaxedMode); |
| |
| // double foo(double, double) |
| int TestFunc_Double_Double_Double(const Func *f, MTdata, bool relaxedMode); |
| |
| // Special handling for nextafter. |
| // float foo(float, float) |
| int TestFunc_Float_Float_Float_nextafter(const Func *f, MTdata, |
| bool relaxedMode); |
| |
| // Special handling for nextafter. |
| // double foo(double, double) |
| int TestFunc_Double_Double_Double_nextafter(const Func *f, MTdata, |
| bool relaxedMode); |
| |
| // float op float |
| int TestFunc_Float_Float_Float_Operator(const Func *f, MTdata, |
| bool relaxedMode); |
| |
| // double op double |
| int TestFunc_Double_Double_Double_Operator(const Func *f, MTdata, |
| bool relaxedMode); |
| |
| // float foo(float, int) |
| int TestFunc_Float_Float_Int(const Func *f, MTdata, bool relaxedMode); |
| |
| // double foo(double, int) |
| int TestFunc_Double_Double_Int(const Func *f, MTdata, bool relaxedMode); |
| |
| // Returns {0, 1} for scalar and {0, -1} for vector. |
| // int foo(float, float) |
| int TestMacro_Int_Float_Float(const Func *f, MTdata, bool relaxedMode); |
| |
| // Returns {0, 1} for scalar and {0, -1} for vector. |
| // int foo(double, double) |
| int TestMacro_Int_Double_Double(const Func *f, MTdata, bool relaxedMode); |
| |
| // float foo(float, float, float) |
| int TestFunc_Float_Float_Float_Float(const Func *f, MTdata, bool relaxedMode); |
| |
| // double foo(double, double, double) |
| int TestFunc_Double_Double_Double_Double(const Func *f, MTdata, |
| bool relaxedMode); |
| |
| // float foo(float, float*) |
| int TestFunc_Float2_Float(const Func *f, MTdata, bool relaxedMode); |
| |
| // double foo(double, double*) |
| int TestFunc_Double2_Double(const Func *f, MTdata, bool relaxedMode); |
| |
| // float foo(float, int*) |
| int TestFunc_FloatI_Float(const Func *f, MTdata, bool relaxedMode); |
| |
| // double foo(double, int*) |
| int TestFunc_DoubleI_Double(const Func *f, MTdata, bool relaxedMode); |
| |
| // float foo(float, float, int*) |
| int TestFunc_FloatI_Float_Float(const Func *f, MTdata, bool relaxedMode); |
| |
| // double foo(double, double, int*) |
| int TestFunc_DoubleI_Double_Double(const Func *f, MTdata, bool relaxedMode); |
| |
| // Special handling for mad. |
| // float mad(float, float, float) |
| int TestFunc_mad_Float(const Func *f, MTdata, bool relaxedMode); |
| |
| // Special handling for mad. |
| // double mad(double, double, double) |
| int TestFunc_mad_Double(const Func *f, MTdata, bool relaxedMode); |
| |
| #endif |