diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2f929e080c..dbaf534f60 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -343,31 +343,6 @@ jobs: OPENIMAGEIO_CMAKE_FLAGS="-DUSE_PYTHON=0" CMAKE_BUILD_TYPE=RelWithDebInfo - - desc: icc/C++17 llvm14 py3.9 oiio-2.5 avx2 - nametag: linux-icc - runner: ubuntu-latest - container: aswf/ci-osl:2023-clang15 - cc_compiler: icc - cxx_compiler: icpc - cxx_std: 17 - fmt_ver: 7.1.3 - opencolorio_ver: v2.3.2 - openimageio_ver: v2.5.17.0 - # Changes to OIIO's simd.h starting in commit 68666db9 (from PR - # #4187) seem to trigger compiler bugs in icc and generate wrong - # SIMD code. It's probably not worth tracking down for just this - # obsolete compiler. Just lock down to OIIO 2.5 for icc builds to - # avoid the problem. - # openimageio_ver: e41ac03c0b21 # works - # openimageio_ver: 68666db994d5 # broken - python_ver: "3.10" - pybind11_ver: v2.10.0 - # simd: avx2,f16c - batched: b8_AVX2_noFMA - setenvs: export OSL_CMAKE_FLAGS="-DSTOP_ON_WARNING=OFF -DEXTRA_CPP_ARGS=-fp-model=consistent" - OPENIMAGEIO_CMAKE_FLAGS=-DBUILD_FMT_VERSION=7.1.3 - USE_OPENVDB=0 - OPENCOLORIO_CMAKE_FLAGS="-DCMAKE_CXX_COMPILER=g++" - desc: icx/C++17 llvm14 py3.10 oiio-3.0 avx2 nametag: linux-icx runner: ubuntu-latest @@ -380,7 +355,7 @@ jobs: cxx_std: 17 fmt_ver: 7.1.3 opencolorio_ver: v2.3.2 - openimageio_ver: v3.0.11.0 + openimageio_ver: v3.0.15.0 python_ver: "3.10" pybind11_ver: v2.10.0 simd: avx2,f16c diff --git a/src/include/OSL/Imathx/Imathx.h b/src/include/OSL/Imathx/Imathx.h index 85f89238b8..2b89ab0de5 100644 --- a/src/include/OSL/Imathx/Imathx.h +++ b/src/include/OSL/Imathx/Imathx.h @@ -248,9 +248,7 @@ affineInverse(const Matrix44 &m) // differently than the LLVM IR version. // NOTE: only using "inline" to get ODR (One Definition Rule) behavior static inline OSL_HOSTDEVICE Matrix44 -#if !OSL_INTEL_CLASSIC_COMPILER_VERSION OSL_GNUC_ATTRIBUTE(optimize("fp-contract=off")) -#endif nonAffineInverse(const Matrix44 &source); Matrix44 OSL_HOSTDEVICE nonAffineInverse(const Matrix44 &source) diff --git a/src/include/OSL/mask.h b/src/include/OSL/mask.h index e4b2fa2e0d..5a0c5cff08 100644 --- a/src/include/OSL/mask.h +++ b/src/include/OSL/mask.h @@ -20,19 +20,6 @@ OSL_NAMESPACE_BEGIN using std::popcount; using std::countr_zero; -#elif OSL_INTEL_CLASSIC_COMPILER_VERSION - -#include - -OSL_FORCEINLINE int popcount(uint32_t x) noexcept { return _mm_popcnt_u32(x);} -OSL_FORCEINLINE int popcount(uint64_t x) noexcept { return _mm_popcnt_u64(x); } -OSL_FORCEINLINE int countr_zero(uint32_t x) noexcept { return _bit_scan_forward(x); } -OSL_FORCEINLINE int countr_zero(uint64_t x) noexcept { - unsigned __int32 index; - _BitScanForward64(&index, x); - return static_cast(index); -} - #elif defined(__GNUC__) || defined(__clang__) OSL_FORCEINLINE int popcount(uint32_t x) noexcept { return __builtin_popcount(x); } diff --git a/src/include/OSL/oslnoise.h b/src/include/OSL/oslnoise.h index 3b027a1ce4..0d5d43a6a3 100644 --- a/src/include/OSL/oslnoise.h +++ b/src/include/OSL/oslnoise.h @@ -647,7 +647,7 @@ OSL_FORCEINLINE OSL_HOSTDEVICE Dual2 select(const bool b, const Dual2 ( @@ -2254,7 +2254,6 @@ OSL_FORCEINLINE OSL_HOSTDEVICE void perlin (Dual2 &result, const H &hash, // With Dual2 data types, a lot of code is generated below // which caused some runaway compiler memory consumption when vectorizing -#if !OSL_INTEL_CLASSIC_COMPILER_VERSION auto l_result = OIIO::lerp ( OIIO::trilerp (grad (hash (X , Y , Z , W ), fx , fy , fz , fw ), grad (hash (X+1, Y , Z , W ), fx-1.0f, fy , fz , fw ), @@ -2275,40 +2274,6 @@ OSL_FORCEINLINE OSL_HOSTDEVICE void perlin (Dual2 &result, const H &hash, grad (hash (X+1, Y+1, Z+1, W+1), fx-1.0f, fy-1.0f, fz-1.0f, fw-1.0f), u, v, t), s); -#else - // Use a loop to avoid repeating code gen twice - Dual2 v0, v1; - // GCC emits -Wmaybe-uninitialized errors for v0,v1. - // To avoid, GCC uses reference version above - - // Clang doesn't want to vectorize with the vIndex loop - // To enable vectorization, Clang uses reference version above - OSL_INTEL_PRAGMA(nounroll_and_jam) - for(int vIndex=0; vIndex < 2;++vIndex) { - int vW = W + vIndex; - Dual2 vfw = fw - float(vIndex); - - Dual2 vResult = OIIO::trilerp ( - grad (hash (X , Y , Z , vW ), fx , fy , fz , vfw ), - grad (hash (X+1, Y , Z , vW ), fx-1.0f, fy , fz , vfw ), - grad (hash (X , Y+1, Z , vW ), fx , fy-1.0f, fz , vfw ), - grad (hash (X+1, Y+1, Z , vW ), fx-1.0f, fy-1.0f, fz , vfw ), - grad (hash (X , Y , Z+1, vW ), fx , fy , fz-1.0f, vfw ), - grad (hash (X+1, Y , Z+1, vW ), fx-1.0f, fy , fz-1.0f, vfw ), - grad (hash (X , Y+1, Z+1, vW ), fx , fy-1.0f, fz-1.0f, vfw ), - grad (hash (X+1, Y+1, Z+1, vW ), fx-1.0f, fy-1.0f, fz-1.0f, vfw ), - u, v, t); - // Rather than dynamic indexing array, - // use masking to store outputs, - // to better enable SROA (Scalar Replacement of Aggregates) optimizations - if (vIndex == 0) { - v0 = vResult; - } else { - v1 = vResult; - } - } - auto l_result = OIIO::lerp (v0, v1, s); -#endif result = scale4 (l_result); } diff --git a/src/include/OSL/sfmath.h b/src/include/OSL/sfmath.h index b9a281d77f..10cf19991c 100644 --- a/src/include/OSL/sfmath.h +++ b/src/include/OSL/sfmath.h @@ -68,23 +68,7 @@ namespace sfm OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#if OSL_INTEL_CLASSIC_COMPILER_VERSION - // std::isinf wasn't vectorizing and was branchy. This slightly - // perturbed version fairs better and is branch free when vectorized - // with the Intel compiler. - OSL_FORCEINLINE OSL_HOSTDEVICE int isinf (float x) { - int r = 0; - // NOTE: using bitwise | to avoid branches - if (!(std::isfinite(x)|std::isnan(x))) { - r = static_cast(copysignf(1.0f,x)); - } - return r; - } -#else - // Other compilers don't seem to vectorize well no matter what, so just - // use the standard version. using std::isinf; -#endif template OSL_FORCEINLINE OSL_HOSTDEVICE T @@ -191,7 +175,7 @@ namespace sfm } } -#if OSL_ANY_CLANG && !OSL_INTEL_CLASSIC_COMPILER_VERSION && !OSL_INTEL_LLVM_COMPILER_VERSION +#if OSL_ANY_CLANG && !OSL_INTEL_LLVM_COMPILER_VERSION // To make clang's loop vectorizor happy // we need to make sure result of min and max diff --git a/src/include/OSL/wide.h b/src/include/OSL/wide.h index 0487193579..0182ed6032 100644 --- a/src/include/OSL/wide.h +++ b/src/include/OSL/wide.h @@ -1904,7 +1904,7 @@ struct WideImpl[], WidthT, true /*IsConstT */> { } // namespace pvt -#if OSL_INTEL_CLASSIC_COMPILER_VERSION || OSL_GNUC_VERSION +#if OSL_GNUC_VERSION // Workaround for error #3466: inheriting constructors must be inherited from a direct base class # define __OSL_INHERIT_BASE_CTORS(DERIVED, BASE) \ using Base = typename DERIVED::BASE; \ @@ -3210,8 +3210,7 @@ template OSL_FORCEINLINE bool testIfAnyLaneIsNonZero(const Wide& wvalues) { -#if OSL_ANY_CLANG && !OSL_INTEL_CLASSIC_COMPILER_VERSION \ - && !OSL_INTEL_LLVM_COMPILER_VERSION +#if OSL_ANY_CLANG && !OSL_INTEL_LLVM_COMPILER_VERSION int anyLaneIsOn = 0; OSL_OMP_PRAGMA(omp simd simdlen(WidthT) reduction(max : anyLaneIsOn)) for (int i = 0; i < WidthT; ++i) { diff --git a/src/liboslexec/opcolor_impl.h b/src/liboslexec/opcolor_impl.h index ea32f98737..7f6cdef8ac 100644 --- a/src/liboslexec/opcolor_impl.h +++ b/src/liboslexec/opcolor_impl.h @@ -266,8 +266,7 @@ hsv_to_rgb(const COLOR3& hsv) // Avoid switch statement vectorizor doesn't like // Also avoid if/else nest which some optimizers might // convert back into a switch statement -# if OSL_ANY_CLANG && !OSL_INTEL_CLASSIC_COMPILER_VERSION \ - && !OSL_INTEL_LLVM_COMPILER_VERSION +# if OSL_ANY_CLANG && !OSL_INTEL_LLVM_COMPILER_VERSION // Clang was still transforming series of if's back into a switch. // Alternate between == and <= comparisons to avoid # define __OSL_ASC_EQ <= diff --git a/src/liboslexec/wide/wide_opcolor.cpp b/src/liboslexec/wide/wide_opcolor.cpp index f0c8246e58..569da22667 100644 --- a/src/liboslexec/wide/wide_opcolor.cpp +++ b/src/liboslexec/wide/wide_opcolor.cpp @@ -302,7 +302,7 @@ namespace { // Note: Clang 14 seems to no longer allow vectorizing these loops #if ((OSL_CLANG_VERSION && OSL_CLANG_VERSION < 140000) \ - || OSL_INTEL_CLASSIC_COMPILER_VERSION || OSL_INTEL_LLVM_COMPILER_VERSION) + || OSL_INTEL_LLVM_COMPILER_VERSION) # define WIDE_TRANSFORMC_OMP_SIMD_LOOP(...) OSL_OMP_SIMD_LOOP(__VA_ARGS__) #else # define WIDE_TRANSFORMC_OMP_SIMD_LOOP(...) diff --git a/src/liboslexec/wide/wide_opnoise_periodic_perlin_deriv_Vec3.cpp b/src/liboslexec/wide/wide_opnoise_periodic_perlin_deriv_Vec3.cpp index f4e74de1dd..1dea0219dd 100644 --- a/src/liboslexec/wide/wide_opnoise_periodic_perlin_deriv_Vec3.cpp +++ b/src/liboslexec/wide/wide_opnoise_periodic_perlin_deriv_Vec3.cpp @@ -24,17 +24,7 @@ template<> struct BatchedCGPolicy { }; template<> struct BatchedCGPolicy { -#if ((defined(_WIN32) || defined(_WIN64)) && defined(__INTEL_COMPILER)) - // Avoid stack overflow on windows build because compiler has hard coded stack limit. - // By not forcing everything to recursively inline and not explicitly vectorizing, - // the compiler uses less stack space at the cost of NOT creating a properly SIMD optimized function. - // Linux & OSX can increase stacksize before building - - static constexpr int simd_threshold - = __OSL_WIDTH + 1; // Make SIMD code path unreachable -#else static constexpr int simd_threshold = 6; -#endif }; } // namespace diff --git a/src/liboslexec/wide/wide_opnoise_periodic_uperlin_deriv_Vec3.cpp b/src/liboslexec/wide/wide_opnoise_periodic_uperlin_deriv_Vec3.cpp index 1c9890544d..08f96eb095 100644 --- a/src/liboslexec/wide/wide_opnoise_periodic_uperlin_deriv_Vec3.cpp +++ b/src/liboslexec/wide/wide_opnoise_periodic_uperlin_deriv_Vec3.cpp @@ -24,17 +24,7 @@ template<> struct BatchedCGPolicy { }; template<> struct BatchedCGPolicy { -#if ((defined(_WIN32) || defined(_WIN64)) && defined(__INTEL_COMPILER)) - // Avoid stack overflow on windows build because compiler has hard coded stack limit. - // By not forcing everything to recursively inline and not explicitly vectorizing, - // the compiler uses less stack space at the cost of NOT creating a properly SIMD optimized function. - // Linux & OSX can increase stacksize before building - - static constexpr int simd_threshold - = __OSL_WIDTH + 1; // Make SIMD code path unreachable -#else static constexpr int simd_threshold = 6; -#endif }; } // namespace diff --git a/src/liboslexec/wide/wide_opnoise_perlin_deriv_Vec3.cpp b/src/liboslexec/wide/wide_opnoise_perlin_deriv_Vec3.cpp index 063ff31ff8..91b2d9bce3 100644 --- a/src/liboslexec/wide/wide_opnoise_perlin_deriv_Vec3.cpp +++ b/src/liboslexec/wide/wide_opnoise_perlin_deriv_Vec3.cpp @@ -22,17 +22,7 @@ template<> struct BatchedCGPolicy { static constexpr int simd_threshold = 5; }; template<> struct BatchedCGPolicy { -#if ((defined(_WIN32) || defined(_WIN64)) && defined(__INTEL_COMPILER)) - // Avoid stack overflow on windows build because compiler has hard coded stack limit. - // By not forcing everything to recursively inline and not explicitly vectorizing, - // the compiler uses less stack space at the cost of NOT creating a properly SIMD optimized function. - // Linux & OSX can increase stacksize before building - - static constexpr int simd_threshold - = __OSL_WIDTH + 1; // Make SIMD code path unreachable -#else static constexpr int simd_threshold = 6; -#endif }; } // namespace diff --git a/src/liboslexec/wide/wide_opnoise_uperlin_deriv_Vec3.cpp b/src/liboslexec/wide/wide_opnoise_uperlin_deriv_Vec3.cpp index 04d9c8f72e..d636d555c8 100644 --- a/src/liboslexec/wide/wide_opnoise_uperlin_deriv_Vec3.cpp +++ b/src/liboslexec/wide/wide_opnoise_uperlin_deriv_Vec3.cpp @@ -22,17 +22,7 @@ template<> struct BatchedCGPolicy { static constexpr int simd_threshold = 5; }; template<> struct BatchedCGPolicy { -#if ((defined(_WIN32) || defined(_WIN64)) && defined(__INTEL_COMPILER)) - // Avoid stack overflow on windows build because compiler has hard coded stack limit. - // By not forcing everything to recursively inline and not explicitly vectorizing, - // the compiler uses less stack space at the cost of NOT creating a properly SIMD optimized function. - // Linux & OSX can increase stacksize before building - - static constexpr int simd_threshold - = __OSL_WIDTH + 1; // Make SIMD code path unreachable -#else static constexpr int simd_threshold = 6; -#endif }; } // namespace diff --git a/src/liboslexec/wide/wide_opstring.cpp b/src/liboslexec/wide/wide_opstring.cpp index ac82e4ebb6..656e4c0e83 100644 --- a/src/liboslexec/wide/wide_opstring.cpp +++ b/src/liboslexec/wide/wide_opstring.cpp @@ -75,7 +75,7 @@ __OSL_MASKED_OP2(strlen, Wi, Ws)(void* wr_, void* ws_, unsigned int mask_value) OSL_FORCEINLINE_BLOCK { -#if (!OSL_CLANG_VERSION || OSL_INTEL_CLASSIC_COMPILER_VERSION) +#if !OSL_CLANG_VERSION // Clang 11 generated SIMD crashes at runtime // TODO: investigate clang crash when vectorizing OSL_OMP_PRAGMA(omp simd simdlen(__OSL_WIDTH)) diff --git a/src/liboslnoise/sfm_gabornoise.h b/src/liboslnoise/sfm_gabornoise.h index 3d3cc17ce8..4e9d867dad 100644 --- a/src/liboslnoise/sfm_gabornoise.h +++ b/src/liboslnoise/sfm_gabornoise.h @@ -356,19 +356,7 @@ gabor_cell(const sfm::GaborUniformParams& gup, const sfm::GaborParams& gp, Dual2 gk = gabor_kernel(w_i_t_s_f, omega_i_t_s_f, phi_i_t_s_f, a_i_t_s_f, x_k_i_t); // 2D -#if defined(__AVX512F__) && defined(__INTEL_COMPILER) \ - && (__INTEL_COMPILER < 1800) - // icc17 with AVX512 had some incorrect results - // due to the not_finite code path executing even - // when the value was finite. Workaround: using isnan | isinf - // instead of isfinite avoided the issue. - // icc18u3 doesn't exhibit the problem - // NOTE: tried using bitwise | to avoid branches and got internal compiler error - //bool not_finite = std::isnan(gk.val()) | std::isinf(gk.val()); - bool not_finite = std::isnan(gk.val()) || std::isinf(gk.val()); -#else - bool not_finite = !std::isfinite(gk.val()); -#endif + bool not_finite = !std::isfinite(gk.val()); if (OSL_UNLIKELY(not_finite)) { // Numeric failure of the filtered version. Fall // back on the unfiltered. diff --git a/src/testshade/batched_simplerend.cpp b/src/testshade/batched_simplerend.cpp index d575939e6c..c4414ae229 100644 --- a/src/testshade/batched_simplerend.cpp +++ b/src/testshade/batched_simplerend.cpp @@ -180,17 +180,7 @@ BatchedSimpleRenderer::get_matrix(BatchedShaderGlobals* bsg, OSL_OMP_PRAGMA(omp simd simdlen(WidthT)) for (int lane = 0; lane < WidthT; ++lane) { -# if __INTEL_COMPILER >= 1900 - // Used load + blend + store instead of masked store to temporarily work around - // an icc19u5 issue when automatic ISA dispatch is used causing scatters to be generated - Matrix44 m = result[lane]; - if (result.mask()[lane]) { - m = uniformTransform; - } - result[ActiveLane(lane)] = m; -# else result[lane] = uniformTransform; -# endif } #endif } diff --git a/testsuite/blackbody/ref/out.icc.exr b/testsuite/blackbody/ref/out.alt.exr similarity index 100% rename from testsuite/blackbody/ref/out.icc.exr rename to testsuite/blackbody/ref/out.alt.exr diff --git a/testsuite/derivs/ref/out.icc.txt b/testsuite/derivs/ref/out.icc.txt deleted file mode 100644 index 95574ece92..0000000000 --- a/testsuite/derivs/ref/out.icc.txt +++ /dev/null @@ -1,430 +0,0 @@ -Compiled test.osl -> test.oso -Test derivatives - -u = 0, Dx(u) = 1, Dy(u) = 0 -v = 0, Dx(v) = 0, Dy(v) = 1 -P = 0 0 1, Dx(P) = 1 0 0, Dy(P) = 0 1 0 - -Assign: a = u; a = 0, Dx(a) = 1, Dy(a) = 0 - -Add: a = u+v; a = 0, Dx(a) = 1, Dy(a) = 1 -Add constant: a = u+0.5; a = 0.5, Dx(a) = 1, Dy(a) = 0 - -Sub: a = u-v; a = 0, Dx(a) = 1, Dy(a) = -1 -Sub constant: a = u-0.5; a = -0.5, Dx(a) = 1, Dy(a) = 0 - -Negate: a = -u; a = 0, Dx(a) = -1, Dy(a) = 0 - -Mul: a = u*v; a = 0, Dx(a) = 0, Dy(a) = 0 - -Div: a = u/(v+1); a = 0, Dx(a) = 1, Dy(a) = 0 - -cos: a = cos(u); a = 1, Dx(a) = 0, Dy(a) = 0 - -sin: a = sin(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -tan: a = tan(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -cosh: a = cosh(u); a = 1, Dx(a) = 0, Dy(a) = 0 - -sinh: a = sinh(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -tanh: a = tanh(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -acos: a = acos(u); a = 1.571, Dx(a) = -1, Dy(a) = 0 - -asin: a = asin(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -atan: a = atan(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -atan2: a = atan2(u,v) at (0,0); a = 0, Dx(a) = 0, Dy(a) = 0 - -degrees: a = degrees(u); a = 0, Dx(a) = 57.3, Dy(a) = 0 - -radians: a = radians(u); a = 0, Dx(a) = 0.01745, Dy(a) = 0 - -log: a = log(u); a = -87.34, Dx(a) = 0, Dy(a) = 0 - -log2: a = log2(u); a = -126, Dx(a) = 0, Dy(a) = 0 - -log10: a = log10(u); a = -37.93, Dx(a) = 0, Dy(a) = 0 - -exp: a = exp(u); a = 1, Dx(a) = 1, Dy(a) = 0 - -exp2: a = exp2(u); a = 1, Dx(a) = 0.6931, Dy(a) = 0 - -expm1: a = expm1(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -erf: a = erf(u); a = 0, Dx(a) = 1.128, Dy(a) = 0 - -erfc: a = erfc(u); a = 1, Dx(a) = -1.128, Dy(a) = 0 - -sqrt: a = sqrt(u); a = 0, Dx(a) = 0, Dy(a) = 0 - -inversesqrt: a = inversesqrt(u); a = 0, Dx(a) = 0, Dy(a) = 0 - -pow: a = pow(u, 3); a = 0, Dx(a) = 0, Dy(a) = 0 - -pow: a = pow(u, v) at (0,0); a = 0, Dx(a) = 0, Dy(a) = 0 - -log: a = log(u,10); a = -37.93, Dx(a) = 0, Dy(a) = 0 - -log: a = log(u,v) at (0,0); a = 1, Dx(a) = 0, Dy(a) = 0 - -clamp: a = clamp(sin(u),u,v) is clamp(0,0,0); a = 0, Dx(a) = 1, Dy(a) = 0 - -min: a = min(u,v) at (0,0); a = 0, Dx(a) = 1, Dy(a) = 0 - -max: a = max(u,v) at (0,0); a = 0, Dx(a) = 0, Dy(a) = 1 - -mix: a = mix(u,v,sin(u)) at (0,0); a = 0, Dx(a) = 1, Dy(a) = 0 - -hypot: a = hypot(u,v) at (0,0); a = 0, Dx(a) = 0, Dy(a) = 0 - -hypot: a = hypot(u,v,3) at (0,0); a = 3, Dx(a) = 0, Dy(a) = 0 - -smoothstep: a = smoothstep(v,3,u) = (smoothstep(0,3,0)); a = 0, Dx(a) = 0, Dy(a) = 0 - -comp ref: P = 0 0 1, Dx(P) = 1 0 0, Dy(P) = 0 1 0 - P[0] = 0, Dx(P[0]) = 1, Dy(P[0]) = 0 - P[1] = 0, Dx(P[1]) = 0, Dy(P[1]) = 1 - -dot product: d = dot(0 -0 0, 0 0 0) = 0 Dx(d) = 0 Dy(d) = 0 - -cross product: c = cross(0 -0 0, 0 0 0) = -0 0 0 Dx(c) = -0 0 0 Dy(c) = -0 0 0 - -comp assign: C[0]=u, C[1]=v: now C = 0 0 0, Dx(C) = 1 0 0, Dy(C) = 0 1 0 - -normalize: n = normalize(0 0 0) = 0 0 0 Dx(n) = 0 0 0 Dy(n) = 0 0 0 - -length: l = length(0 0 0) = 0 Dx(l) = 0 Dy(l) = 0 - -distance: d = distance(0 -0 0, 0 0 0) = 0 Dx(d) = 0 Dy(d) = 0 - -Triple construction: - color(u,v,0) = 0 0 0, Dx = 1 0 0, Dy = 0 1 0 - point (0,0,0) = 0 0 0, Dx = 1 0 0, Dy = 0 1 0 - point ("shader",0,0,0) = 1 0 0, Dx = 0.7071 0.7071 0, Dy = -0.7071 0.7071 0 - vector ("shader",0,0,0) = 0 0 0, Dx = 0.7071 0.7071 0, Dy = -0.7071 0.7071 0 -Test derivatives - -u = 1, Dx(u) = 1, Dy(u) = 0 -v = 0, Dx(v) = 0, Dy(v) = 1 -P = 1 0 1, Dx(P) = 1 0 0, Dy(P) = 0 1 0 - -Assign: a = u; a = 1, Dx(a) = 1, Dy(a) = 0 - -Add: a = u+v; a = 1, Dx(a) = 1, Dy(a) = 1 -Add constant: a = u+0.5; a = 1.5, Dx(a) = 1, Dy(a) = 0 - -Sub: a = u-v; a = 1, Dx(a) = 1, Dy(a) = -1 -Sub constant: a = u-0.5; a = 0.5, Dx(a) = 1, Dy(a) = 0 - -Negate: a = -u; a = -1, Dx(a) = -1, Dy(a) = 0 - -Mul: a = u*v; a = 0, Dx(a) = 0, Dy(a) = 1 - -Div: a = u/(v+1); a = 1, Dx(a) = 1, Dy(a) = -1 - -cos: a = cos(u); a = 0.5403, Dx(a) = -0.8415, Dy(a) = 0 - -sin: a = sin(u); a = 0.8415, Dx(a) = 0.5403, Dy(a) = 0 - -tan: a = tan(u); a = 1.557, Dx(a) = 3.426, Dy(a) = 0 - -cosh: a = cosh(u); a = 1.543, Dx(a) = 1.175, Dy(a) = 0 - -sinh: a = sinh(u); a = 1.175, Dx(a) = 1.543, Dy(a) = 0 - -tanh: a = tanh(u); a = 0.7616, Dx(a) = 0.42, Dy(a) = 0 - -acos: a = acos(u); a = 0, Dx(a) = 0, Dy(a) = 0 - -asin: a = asin(u); a = 1.571, Dx(a) = 0, Dy(a) = 0 - -atan: a = atan(u); a = 0.7854, Dx(a) = 0.5, Dy(a) = 0 - -atan2: a = atan2(u,v) at (1,0); a = 1.571, Dx(a) = 0, Dy(a) = 1 - -degrees: a = degrees(u); a = 57.3, Dx(a) = 57.3, Dy(a) = 0 - -radians: a = radians(u); a = 0.01745, Dx(a) = 0.01745, Dy(a) = 0 - -log: a = log(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -log2: a = log2(u); a = 0, Dx(a) = 1.443, Dy(a) = 0 - -log10: a = log10(u); a = 0, Dx(a) = 0.4343, Dy(a) = 0 - -exp: a = exp(u); a = 2.718, Dx(a) = 2.718, Dy(a) = 0 - -exp2: a = exp2(u); a = 2, Dx(a) = 1.386, Dy(a) = 0 - -expm1: a = expm1(u); a = 1.718, Dx(a) = 2.718, Dy(a) = 0 - -erf: a = erf(u); a = 0.8427, Dx(a) = 0.4151, Dy(a) = 0 - -erfc: a = erfc(u); a = 0.1573, Dx(a) = -0.4151, Dy(a) = 0 - -sqrt: a = sqrt(u); a = 1, Dx(a) = 0.5, Dy(a) = 0 - -inversesqrt: a = inversesqrt(u); a = 1, Dx(a) = -0.5, Dy(a) = 0 - -pow: a = pow(u, 3); a = 1, Dx(a) = 3, Dy(a) = 0 - -pow: a = pow(u, v) at (1,0); a = 1, Dx(a) = 0, Dy(a) = 0 - -log: a = log(u,10); a = 0, Dx(a) = 0.4343, Dy(a) = 0 - -log: a = log(u,v) at (1,0); a = 0, Dx(a) = -0.01145, Dy(a) = 0 - -clamp: a = clamp(sin(u),u,v) is clamp(0.8415,1,0); a = 1, Dx(a) = 1, Dy(a) = 0 - -min: a = min(u,v) at (1,0); a = 0, Dx(a) = 0, Dy(a) = 1 - -max: a = max(u,v) at (1,0); a = 1, Dx(a) = 1, Dy(a) = 0 - -mix: a = mix(u,v,sin(u)) at (1,0); a = 0.1585, Dx(a) = -0.3818, Dy(a) = 0.8415 - -hypot: a = hypot(u,v) at (1,0); a = 1, Dx(a) = 1, Dy(a) = 0 - -hypot: a = hypot(u,v,3) at (1,0); a = 3.162, Dx(a) = 0.3162, Dy(a) = 0 - -smoothstep: a = smoothstep(v,3,u) = (smoothstep(0,3,1)); a = 0.2593, Dx(a) = 0.4444, Dy(a) = -0.2963 - -comp ref: P = 1 0 1, Dx(P) = 1 0 0, Dy(P) = 0 1 0 - P[0] = 1, Dx(P[0]) = 1, Dy(P[0]) = 0 - P[1] = 0, Dx(P[1]) = 0, Dy(P[1]) = 1 - -dot product: d = dot(1 -1 1, 1 1 1) = 1 Dx(d) = 2 Dy(d) = 2 - -cross product: c = cross(1 -1 1, 1 1 1) = -2 0 2 Dx(c) = -4 0 4 Dy(c) = -4 0 4 - -comp assign: C[0]=u, C[1]=v: now C = 1 0 0, Dx(C) = 1 0 0, Dy(C) = 0 1 0 - -normalize: n = normalize(1 1 1) = 0.5774 0.5774 0.5774 Dx(n) = 5.96e-08 5.96e-08 5.96e-08 Dy(n) = 0.3849 -0.7698 0.3849 - -length: l = length(1 1 1) = 1.732 Dx(l) = 1.732 Dy(l) = 0.5774 - -distance: d = distance(1 -1 1, 1 1 1) = 2 Dx(d) = 2 Dy(d) = 2 - -Triple construction: - color(u,v,0) = 1 0 0, Dx = 1 0 0, Dy = 0 1 0 - point (1,0,0) = 1 0 0, Dx = 1 0 0, Dy = 0 1 0 - point ("shader",1,0,0) = 1.707 0.7071 0, Dx = 0.7071 0.7071 0, Dy = -0.7071 0.7071 0 - vector ("shader",1,0,0) = 0.7071 0.7071 0, Dx = 0.7071 0.7071 0, Dy = -0.7071 0.7071 0 -Test derivatives - -u = 0, Dx(u) = 1, Dy(u) = 0 -v = 1, Dx(v) = 0, Dy(v) = 1 -P = 0 1 1, Dx(P) = 1 0 0, Dy(P) = 0 1 0 - -Assign: a = u; a = 0, Dx(a) = 1, Dy(a) = 0 - -Add: a = u+v; a = 1, Dx(a) = 1, Dy(a) = 1 -Add constant: a = u+0.5; a = 0.5, Dx(a) = 1, Dy(a) = 0 - -Sub: a = u-v; a = -1, Dx(a) = 1, Dy(a) = -1 -Sub constant: a = u-0.5; a = -0.5, Dx(a) = 1, Dy(a) = 0 - -Negate: a = -u; a = 0, Dx(a) = -1, Dy(a) = 0 - -Mul: a = u*v; a = 0, Dx(a) = 1, Dy(a) = 0 - -Div: a = u/(v+1); a = 0, Dx(a) = 0.5, Dy(a) = 0 - -cos: a = cos(u); a = 1, Dx(a) = 0, Dy(a) = 0 - -sin: a = sin(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -tan: a = tan(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -cosh: a = cosh(u); a = 1, Dx(a) = 0, Dy(a) = 0 - -sinh: a = sinh(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -tanh: a = tanh(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -acos: a = acos(u); a = 1.571, Dx(a) = -1, Dy(a) = 0 - -asin: a = asin(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -atan: a = atan(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -atan2: a = atan2(u,v) at (0,1); a = 0, Dx(a) = -1, Dy(a) = 0 - -degrees: a = degrees(u); a = 0, Dx(a) = 57.3, Dy(a) = 0 - -radians: a = radians(u); a = 0, Dx(a) = 0.01745, Dy(a) = 0 - -log: a = log(u); a = -87.34, Dx(a) = 0, Dy(a) = 0 - -log2: a = log2(u); a = -126, Dx(a) = 0, Dy(a) = 0 - -log10: a = log10(u); a = -37.93, Dx(a) = 0, Dy(a) = 0 - -exp: a = exp(u); a = 1, Dx(a) = 1, Dy(a) = 0 - -exp2: a = exp2(u); a = 1, Dx(a) = 0.6931, Dy(a) = 0 - -expm1: a = expm1(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -erf: a = erf(u); a = 0, Dx(a) = 1.128, Dy(a) = 0 - -erfc: a = erfc(u); a = 1, Dx(a) = -1.128, Dy(a) = 0 - -sqrt: a = sqrt(u); a = 0, Dx(a) = 0, Dy(a) = 0 - -inversesqrt: a = inversesqrt(u); a = 0, Dx(a) = 0, Dy(a) = 0 - -pow: a = pow(u, 3); a = 0, Dx(a) = 0, Dy(a) = 0 - -pow: a = pow(u, v) at (0,1); a = 0, Dx(a) = 1, Dy(a) = 0 - -log: a = log(u,10); a = -37.93, Dx(a) = 0, Dy(a) = 0 - -log: a = log(u,v) at (0,1); a = 0, Dx(a) = 0, Dy(a) = 0 - -clamp: a = clamp(sin(u),u,v) is clamp(0,0,1); a = 0, Dx(a) = 1, Dy(a) = 0 - -min: a = min(u,v) at (0,1); a = 0, Dx(a) = 1, Dy(a) = 0 - -max: a = max(u,v) at (0,1); a = 1, Dx(a) = 0, Dy(a) = 1 - -mix: a = mix(u,v,sin(u)) at (0,1); a = 0, Dx(a) = 2, Dy(a) = 0 - -hypot: a = hypot(u,v) at (0,1); a = 1, Dx(a) = 0, Dy(a) = 1 - -hypot: a = hypot(u,v,3) at (0,1); a = 3.162, Dx(a) = 0, Dy(a) = 0.3162 - -smoothstep: a = smoothstep(v,3,u) = (smoothstep(1,3,0)); a = 0, Dx(a) = 0, Dy(a) = 0 - -comp ref: P = 0 1 1, Dx(P) = 1 0 0, Dy(P) = 0 1 0 - P[0] = 0, Dx(P[0]) = 1, Dy(P[0]) = 0 - P[1] = 1, Dx(P[1]) = 0, Dy(P[1]) = 1 - -dot product: d = dot(1 -1 1, 1 1 1) = 1 Dx(d) = 2 Dy(d) = 2 - -cross product: c = cross(1 -1 1, 1 1 1) = -2 0 2 Dx(c) = -4 0 4 Dy(c) = -4 0 4 - -comp assign: C[0]=u, C[1]=v: now C = 0 1 0, Dx(C) = 1 0 0, Dy(C) = 0 1 0 - -normalize: n = normalize(1 -1 1) = 0.5774 -0.5774 0.5774 Dx(n) = 0.3849 0.7698 0.3849 Dy(n) = 5.96e-08 -5.96e-08 5.96e-08 - -length: l = length(1 -1 1) = 1.732 Dx(l) = 0.5774 Dy(l) = 1.732 - -distance: d = distance(1 -1 1, 1 1 1) = 2 Dx(d) = 2 Dy(d) = 2 - -Triple construction: - color(u,v,0) = 0 1 0, Dx = 1 0 0, Dy = 0 1 0 - point (0,1,0) = 0 1 0, Dx = 1 0 0, Dy = 0 1 0 - point ("shader",0,1,0) = 0.2929 0.7071 0, Dx = 0.7071 0.7071 0, Dy = -0.7071 0.7071 0 - vector ("shader",0,1,0) = -0.7071 0.7071 0, Dx = 0.7071 0.7071 0, Dy = -0.7071 0.7071 0 -Test derivatives - -u = 1, Dx(u) = 1, Dy(u) = 0 -v = 1, Dx(v) = 0, Dy(v) = 1 -P = 1 1 1, Dx(P) = 1 0 0, Dy(P) = 0 1 0 - -Assign: a = u; a = 1, Dx(a) = 1, Dy(a) = 0 - -Add: a = u+v; a = 2, Dx(a) = 1, Dy(a) = 1 -Add constant: a = u+0.5; a = 1.5, Dx(a) = 1, Dy(a) = 0 - -Sub: a = u-v; a = 0, Dx(a) = 1, Dy(a) = -1 -Sub constant: a = u-0.5; a = 0.5, Dx(a) = 1, Dy(a) = 0 - -Negate: a = -u; a = -1, Dx(a) = -1, Dy(a) = 0 - -Mul: a = u*v; a = 1, Dx(a) = 1, Dy(a) = 1 - -Div: a = u/(v+1); a = 0.5, Dx(a) = 0.5, Dy(a) = -0.25 - -cos: a = cos(u); a = 0.5403, Dx(a) = -0.8415, Dy(a) = 0 - -sin: a = sin(u); a = 0.8415, Dx(a) = 0.5403, Dy(a) = 0 - -tan: a = tan(u); a = 1.557, Dx(a) = 3.426, Dy(a) = 0 - -cosh: a = cosh(u); a = 1.543, Dx(a) = 1.175, Dy(a) = 0 - -sinh: a = sinh(u); a = 1.175, Dx(a) = 1.543, Dy(a) = 0 - -tanh: a = tanh(u); a = 0.7616, Dx(a) = 0.42, Dy(a) = 0 - -acos: a = acos(u); a = 0, Dx(a) = 0, Dy(a) = 0 - -asin: a = asin(u); a = 1.571, Dx(a) = 0, Dy(a) = 0 - -atan: a = atan(u); a = 0.7854, Dx(a) = 0.5, Dy(a) = 0 - -atan2: a = atan2(u,v) at (1,1); a = 0.7854, Dx(a) = -0.5, Dy(a) = 0.5 - -degrees: a = degrees(u); a = 57.3, Dx(a) = 57.3, Dy(a) = 0 - -radians: a = radians(u); a = 0.01745, Dx(a) = 0.01745, Dy(a) = 0 - -log: a = log(u); a = 0, Dx(a) = 1, Dy(a) = 0 - -log2: a = log2(u); a = 0, Dx(a) = 1.443, Dy(a) = 0 - -log10: a = log10(u); a = 0, Dx(a) = 0.4343, Dy(a) = 0 - -exp: a = exp(u); a = 2.718, Dx(a) = 2.718, Dy(a) = 0 - -exp2: a = exp2(u); a = 2, Dx(a) = 1.386, Dy(a) = 0 - -expm1: a = expm1(u); a = 1.718, Dx(a) = 2.718, Dy(a) = 0 - -erf: a = erf(u); a = 0.8427, Dx(a) = 0.4151, Dy(a) = 0 - -erfc: a = erfc(u); a = 0.1573, Dx(a) = -0.4151, Dy(a) = 0 - -sqrt: a = sqrt(u); a = 1, Dx(a) = 0.5, Dy(a) = 0 - -inversesqrt: a = inversesqrt(u); a = 1, Dx(a) = -0.5, Dy(a) = 0 - -pow: a = pow(u, 3); a = 1, Dx(a) = 3, Dy(a) = 0 - -pow: a = pow(u, v) at (1,1); a = 1, Dx(a) = 1, Dy(a) = 0 - -log: a = log(u,10); a = 0, Dx(a) = 0.4343, Dy(a) = 0 - -log: a = log(u,v) at (1,1); a = 0, Dx(a) = 0, Dy(a) = 0 - -clamp: a = clamp(sin(u),u,v) is clamp(0.8415,1,1); a = 1, Dx(a) = 1, Dy(a) = 0 - -min: a = min(u,v) at (1,1); a = 1, Dx(a) = 1, Dy(a) = 0 - -max: a = max(u,v) at (1,1); a = 1, Dx(a) = 0, Dy(a) = 1 - -mix: a = mix(u,v,sin(u)) at (1,1); a = 1, Dx(a) = 0.1585, Dy(a) = 0.8415 - -hypot: a = hypot(u,v) at (1,1); a = 1.414, Dx(a) = 0.7071, Dy(a) = 0.7071 - -hypot: a = hypot(u,v,3) at (1,1); a = 3.317, Dx(a) = 0.3015, Dy(a) = 0.3015 - -smoothstep: a = smoothstep(v,3,u) = (smoothstep(1,3,1)); a = 0, Dx(a) = 0, Dy(a) = 0 - -comp ref: P = 1 1 1, Dx(P) = 1 0 0, Dy(P) = 0 1 0 - P[0] = 1, Dx(P[0]) = 1, Dy(P[0]) = 0 - P[1] = 1, Dx(P[1]) = 0, Dy(P[1]) = 1 - -dot product: d = dot(2 -2 2, 2 2 2) = 4 Dx(d) = 4 Dy(d) = 4 - -cross product: c = cross(2 -2 2, 2 2 2) = -8 0 8 Dx(c) = -8 0 8 Dy(c) = -8 0 8 - -comp assign: C[0]=u, C[1]=v: now C = 1 1 0, Dx(C) = 1 0 0, Dy(C) = 0 1 0 - -normalize: n = normalize(2 0 2) = 0.7071 0 0.7071 Dx(n) = -2.98e-08 0.3536 -2.98e-08 Dy(n) = -2.98e-08 -0.3536 -2.98e-08 - -length: l = length(2 0 2) = 2.828 Dx(l) = 1.414 Dy(l) = 1.414 - -distance: d = distance(2 -2 2, 2 2 2) = 4 Dx(d) = 2 Dy(d) = 2 - -Triple construction: - color(u,v,0) = 1 1 0, Dx = 1 0 0, Dy = 0 1 0 - point (1,1,0) = 1 1 0, Dx = 1 0 0, Dy = 0 1 0 - point ("shader",1,1,0) = 1 1.414 0, Dx = 0.7071 0.7071 0, Dy = -0.7071 0.7071 0 - vector ("shader",1,1,0) = 0 1.414 0, Dx = 0.7071 0.7071 0, Dy = -0.7071 0.7071 0 - diff --git a/testsuite/exponential/ref/out.alt-icc.txt b/testsuite/exponential/ref/out.alt-icc.txt deleted file mode 100644 index 9452fb0430..0000000000 --- a/testsuite/exponential/ref/out.alt-icc.txt +++ /dev/null @@ -1,67 +0,0 @@ -Compiled test.osl -> test.oso - log (2.71828) = 1 - log (2.71828, 27) = 0.303413 - log2 (2.71828) = 1.4427 - log10 (2.71828) = 0.434295 - logb (2.71828) = 1 - exp (2.71828) = 15.1543 - exp2 (2.71828) = 6.58092 - expm1 (2.71828) = 14.1543 - erf (2.71828) = 0.999879 - erfc (2.71828) = 0.000121176 - log (27.1828) = 3.30259 - log (27.1828, 27) = 1.00205 - log2 (27.1828) = 4.76462 - log10 (27.1828) = 1.43429 - logb (27.1828) = 4 - exp (27.1828) = 6.38773e+11 - exp2 (27.1828) = 1.5235e+08 - expm1 (27.1828) = 6.38773e+11 - erf (27.1828) = 1 - erfc (27.1828) = 0 - log (2, 2) = 1 - log (10, 10) = 1 - pow (2, 1.5) = 2.82842 - pow (-2, 1.5) = 0 - pow (-2, 0) = 1 - pow (-2, 3) = -8 - pow (0, 3) = 0 - pow (0, -3) = 0 - pow (0, 0) = 1 - pow (2.2, 2) = 4.84 - pow (-2.2, 2) = 4.84 - pow (1e+20, 2) = 3.40282e+38 [should be clamped, not inf!] - pow (2.5, 1) = 2.5 - log (2.71828 2.71828 2.71828) = 1 1 1 - log (2.71828 2.71828 2.71828, 27) = 0.303413 0.303413 0.303413 - log2 (2.71828 2.71828 2.71828) = 1.4427 1.4427 1.4427 - log10 (2.71828 2.71828 2.71828) = 0.434295 0.434295 0.434295 - logb (2.71828 2.71828 2.71828) = 1 1 1 - exp (2.71828 2.71828 2.71828) = 15.1543 15.1543 15.1543 - exp2 (2.71828 2.71828 2.71828) = 6.58092 6.58092 6.58092 - expm1 (2.71828 2.71828 2.71828) = 14.1543 14.1543 14.1543 - log (27.1828 27.1828 27.1828) = 3.30259 3.30259 3.30259 - log (27.1828 27.1828 27.1828, 27) = 1.00205 1.00205 1.00205 - log2 (27.1828 27.1828 27.1828) = 4.76462 4.76462 4.76462 - log10 (27.1828 27.1828 27.1828) = 1.43429 1.43429 1.43429 - logb (27.1828 27.1828 27.1828) = 4 4 4 - exp (27.1828 27.1828 27.1828) = 6.38773e+11 6.38773e+11 6.38773e+11 - exp2 (27.1828 27.1828 27.1828) = 1.5235e+08 1.5235e+08 1.5235e+08 - expm1 (27.1828 27.1828 27.1828) = 6.38773e+11 6.38773e+11 6.38773e+11 - log (2 2 2, 2) = 1 1 1 - log (10 10 10, 10) = 1 1 1 - pow (2 2 2, 1.5) = 2.82842 2.82842 2.82842 - pow (-2 -2 -2, 1.5) = 0 0 0 - pow (-2 -2 -2, 0) = 1 1 1 - pow (-2 -2 -2, 3) = -8 -8 -8 - pow (0 0 0, 3) = 0 0 0 - pow (0 0 0, -3) = 0 0 0 - pow (0 0 0, 0) = 1 1 1 - pow (2 2 2, 1.5 1.5 1.5) = 2.82842 2.82842 2.82842 - pow (-2 -2 -2, 1.5 1.5 1.5) = 0 0 0 - pow (-2 -2 -2, 0 0 0) = 1 1 1 - pow (-2 -2 -2, 3 3 3) = -8 -8 -8 - pow (0 0 0, 3 3 3) = 0 0 0 - pow (0 0 0, -3 -3 -3) = 0 0 0 - pow (0 0 0, 0 0 0) = 1 1 1 - diff --git a/testsuite/geomath/ref/out.icc.txt b/testsuite/geomath/ref/out.icc.txt deleted file mode 100644 index 783045d13b..0000000000 --- a/testsuite/geomath/ref/out.icc.txt +++ /dev/null @@ -1,90 +0,0 @@ -Compiled test.osl -> test.oso - hypot (3, 4) = 5 - hypot (3, 4, 5) = 7.07107 - reflect (0.447214 -0.894427 0, 0 1 0) = 0.447214 0.894427 0 - reflect (0.447214 -0.894427 0, -1 0 0) = -0.447214 -0.894427 0 - faceforward (0 0 1, 0 -0.707107 -0.707107) = 0 0 1 - faceforward (0 0 1, 0 -0.707107 -0.707107, 0 0 -1) = 0 0 -1 - testing total-internal reflection: - refract (0.707107 -0.707107 0, 0 1 0, 1.42) = 0 0 0 - frensel: Kr= 1 Kt = 0 R = 0.707107 0.707107 0 T = 0 0 0 - testing regular refraction: - refract (-0.436436 -0.218218 -0.872872, 0.267261 0.534522 0.801784, 0.862069) = -0.415346 -0.266336 -0.869801 - --> verify refract(): 1/1.16 = sin(18.0571)/sin(21.0731) => 0.862069 ?= 0.862068 - fresnel: Kr= 0.00557254 Kt = 0.739022 R = 0.0623479 0.779349 0.623479 T = -0.415346 -0.266336 -0.869801 - --> verify fresnel(): 1/1.16 = sin(18.0571)/sin(21.0731) => 0.862069 ?= 0.862068 - Varying: - hypot (0, 0) = 0 - hypot (0, 0, 0) = 0 - reflect (0 -1 0, 0 1 0) = 0 1 0 - refract (0.408248 -0.408248 -0.816497, 0 0 1, 0.75188) = 0.306954 -0.306954 -0.900866 - --> verify refract(): 1/1.33 = sin(25.7301)/sin(35.2637) => 0.75188 ?= 0.75188 - fresnel() -> Kr= 0.0222824 Kt = 0.552726 R = 0.408248 -0.408248 0.816497 T = 0.306954 -0.306954 -0.900866 - --> verify fresnel(): 1/1.33 = sin(25.7301)/sin(35.2637) => 0.75188 ?= 0.75188 - hypot (3, 4) = 5 - hypot (3, 4, 5) = 7.07107 - reflect (0.447214 -0.894427 0, 0 1 0) = 0.447214 0.894427 0 - reflect (0.447214 -0.894427 0, -1 0 0) = -0.447214 -0.894427 0 - faceforward (0 0 1, 0 -0.707107 -0.707107) = 0 0 1 - faceforward (0 0 1, 0 -0.707107 -0.707107, 0 0 -1) = 0 0 -1 - testing total-internal reflection: - refract (0.707107 -0.707107 0, 0 1 0, 1.42) = 0 0 0 - frensel: Kr= 1 Kt = 0 R = 0.707107 0.707107 0 T = 0 0 0 - testing regular refraction: - refract (-0.436436 -0.218218 -0.872872, 0.267261 0.534522 0.801784, 0.862069) = -0.415346 -0.266336 -0.869801 - --> verify refract(): 1/1.16 = sin(18.0571)/sin(21.0731) => 0.862069 ?= 0.862068 - fresnel: Kr= 0.00557254 Kt = 0.739022 R = 0.0623479 0.779349 0.623479 T = -0.415346 -0.266336 -0.869801 - --> verify fresnel(): 1/1.16 = sin(18.0571)/sin(21.0731) => 0.862069 ?= 0.862068 - Varying: - hypot (1, 0) = 1 - hypot (1, 0, 1) = 1.41421 - reflect (0.447214 -0.894427 0, 0 1 0) = 0.447214 0.894428 0 - refract (0.801784 -0.267261 -0.534522, 0 0 1, 0.75188) = 0.602845 -0.200948 -0.772138 - --> verify refract(): 1/1.33 = sin(39.4519)/sin(57.6878) => 0.75188 ?= 0.75188 - fresnel() -> Kr= 0.0505776 Kt = 0.53673 R = 0.801784 -0.267261 0.534522 T = 0.602845 -0.200948 -0.772138 - --> verify fresnel(): 1/1.33 = sin(39.4519)/sin(57.6878) => 0.75188 ?= 0.75188 - hypot (3, 4) = 5 - hypot (3, 4, 5) = 7.07107 - reflect (0.447214 -0.894427 0, 0 1 0) = 0.447214 0.894427 0 - reflect (0.447214 -0.894427 0, -1 0 0) = -0.447214 -0.894427 0 - faceforward (0 0 1, 0 -0.707107 -0.707107) = 0 0 1 - faceforward (0 0 1, 0 -0.707107 -0.707107, 0 0 -1) = 0 0 -1 - testing total-internal reflection: - refract (0.707107 -0.707107 0, 0 1 0, 1.42) = 0 0 0 - frensel: Kr= 1 Kt = 0 R = 0.707107 0.707107 0 T = 0 0 0 - testing regular refraction: - refract (-0.436436 -0.218218 -0.872872, 0.267261 0.534522 0.801784, 0.862069) = -0.415346 -0.266336 -0.869801 - --> verify refract(): 1/1.16 = sin(18.0571)/sin(21.0731) => 0.862069 ?= 0.862068 - fresnel: Kr= 0.00557254 Kt = 0.739022 R = 0.0623479 0.779349 0.623479 T = -0.415346 -0.266336 -0.869801 - --> verify fresnel(): 1/1.16 = sin(18.0571)/sin(21.0731) => 0.862069 ?= 0.862068 - Varying: - hypot (0, 1) = 1 - hypot (0, 1, 1) = 1.41421 - reflect (0 -1 0, 0.707107 0.707107 0) = 1 0 0 - refract (0.408248 0.408248 -0.816497, 0 0 1, 0.75188) = 0.306954 0.306954 -0.900866 - --> verify refract(): 1/1.33 = sin(25.7301)/sin(35.2637) => 0.75188 ?= 0.75188 - fresnel() -> Kr= 0.0222824 Kt = 0.552726 R = 0.408248 0.408248 0.816497 T = 0.306954 0.306954 -0.900866 - --> verify fresnel(): 1/1.33 = sin(25.7301)/sin(35.2637) => 0.75188 ?= 0.75188 - hypot (3, 4) = 5 - hypot (3, 4, 5) = 7.07107 - reflect (0.447214 -0.894427 0, 0 1 0) = 0.447214 0.894427 0 - reflect (0.447214 -0.894427 0, -1 0 0) = -0.447214 -0.894427 0 - faceforward (0 0 1, 0 -0.707107 -0.707107) = 0 0 1 - faceforward (0 0 1, 0 -0.707107 -0.707107, 0 0 -1) = 0 0 -1 - testing total-internal reflection: - refract (0.707107 -0.707107 0, 0 1 0, 1.42) = 0 0 0 - frensel: Kr= 1 Kt = 0 R = 0.707107 0.707107 0 T = 0 0 0 - testing regular refraction: - refract (-0.436436 -0.218218 -0.872872, 0.267261 0.534522 0.801784, 0.862069) = -0.415346 -0.266336 -0.869801 - --> verify refract(): 1/1.16 = sin(18.0571)/sin(21.0731) => 0.862069 ?= 0.862068 - fresnel: Kr= 0.00557254 Kt = 0.739022 R = 0.0623479 0.779349 0.623479 T = -0.415346 -0.266336 -0.869801 - --> verify fresnel(): 1/1.16 = sin(18.0571)/sin(21.0731) => 0.862069 ?= 0.862068 - Varying: - hypot (1, 1) = 1.41421 - hypot (1, 1, 2) = 2.44949 - reflect (0.447214 -0.894427 0, 0.707107 0.707107 0) = 0.894427 -0.447214 0 - refract (0.801784 0.267261 -0.534522, 0 0 1, 0.75188) = 0.602845 0.200948 -0.772138 - --> verify refract(): 1/1.33 = sin(39.4519)/sin(57.6878) => 0.75188 ?= 0.75188 - fresnel() -> Kr= 0.0505776 Kt = 0.53673 R = 0.801784 0.267261 0.534522 T = 0.602845 0.200948 -0.772138 - --> verify fresnel(): 1/1.33 = sin(39.4519)/sin(57.6878) => 0.75188 ?= 0.75188 - diff --git a/testsuite/trig/ref/out.alt-icc.txt b/testsuite/trig/ref/out.alt-icc.txt deleted file mode 100644 index 264afb280d..0000000000 --- a/testsuite/trig/ref/out.alt-icc.txt +++ /dev/null @@ -1,141 +0,0 @@ -Compiled test.osl -> test.oso - cos (-3.14159) = -1 - sin (-3.14159) = 0 - sincos (-3.14159) = 0 -1 - tan (-3.14159) = -5.96046e-08 - acos (-3.14159) = 3.14159 - asin (-3.14159) = -1.5708 - atan (-3.14159) = -1.26262 - atan2 (-3.14159, -6.28319) = -2.67794 - degrees (-3.14159) = -180 - radians (-3.14159) = -0.0548311 - cos (-1.5708) = 2.38419e-07 - sin (-1.5708) = -1 - sincos (-1.5708) = -1 2.38419e-07 - tan (-1.5708) = 2.28773e+07 - acos (-1.5708) = 3.14159 - asin (-1.5708) = -1.5708 - atan (-1.5708) = -1.00389 - atan2 (-1.5708, -3.14159) = -2.67794 - degrees (-1.5708) = -90 - radians (-1.5708) = -0.0274156 - cos (-0.785398) = 0.707107 - sin (-0.785398) = -0.707107 - sincos (-0.785398) = -0.707107 0.707107 - tan (-0.785398) = -1 - acos (-0.785398) = 2.4741 - asin (-0.785398) = -0.903303 - atan (-0.785398) = -0.665772 - atan2 (-0.785398, -1.5708) = -2.67794 - degrees (-0.785398) = -45 - radians (-0.785398) = -0.0137078 - cos (0) = 1 - sin (0) = 0 - sincos (0) = 0 1 - tan (0) = 0 - acos (0) = 1.5708 - asin (0) = 0 - atan (0) = 0 - atan2 (0, 0) = 0 - degrees (0) = 0 - radians (0) = 0 - cos (0.785398) = 0.707107 - sin (0.785398) = 0.707107 - tan (0.785398) = 1 - acos (0.785398) = 0.667493 - asin (0.785398) = 0.903303 - atan (0.785398) = 0.665772 - atan2 (0.785398, 1.5708) = 0.46365 - degrees (0.785398) = 45 - radians (0.785398) = 0.0137078 - cos (1.5708) = 2.38419e-07 - sin (1.5708) = 1 - sincos (1.5708) = 1 2.38419e-07 - tan (1.5708) = -2.28773e+07 - acos (1.5708) = 0 - asin (1.5708) = 1.5708 - atan (1.5708) = 1.00389 - atan2 (1.5708, 3.14159) = 0.46365 - degrees (1.5708) = 90 - radians (1.5708) = 0.0274156 - cos (3.14159) = -1 - sin (3.14159) = 0 - sincos (3.14159) = 0 -1 - tan (3.14159) = 5.96046e-08 - acos (3.14159) = 0 - asin (3.14159) = 1.5708 - atan (3.14159) = 1.26262 - atan2 (3.14159, 6.28319) = 0.46365 - degrees (3.14159) = 180 - radians (3.14159) = 0.0548311 - cos (-3.14159 -3.14159 -3.14159) = -1 -1 -1 - sin (-3.14159 -3.14159 -3.14159) = 0 0 0 - sincos (-3.14159 -3.14159 -3.14159) = 0 0 0 -1 -1 -1 - tan (-3.14159 -3.14159 -3.14159) = -5.96046e-08 -5.96046e-08 -5.96046e-08 - acos (-3.14159 -3.14159 -3.14159) = 3.14159 3.14159 3.14159 - asin (-3.14159 -3.14159 -3.14159) = -1.5708 -1.5708 -1.5708 - atan (-3.14159 -3.14159 -3.14159) = -1.26262 -1.26262 -1.26262 - atan2 (-3.14159 -3.14159 -3.14159, -6.28319 -6.28319 -6.28319) = -2.67794 -2.67794 -2.67794 - degrees (-3.14159 -3.14159 -3.14159) = -180 -180 -180 - radians (-3.14159 -3.14159 -3.14159) = -0.0548311 -0.0548311 -0.0548311 - cos (-1.5708 -1.5708 -1.5708) = 2.38419e-07 2.38419e-07 2.38419e-07 - sin (-1.5708 -1.5708 -1.5708) = -1 -1 -1 - sincos (-1.5708 -1.5708 -1.5708) = -1 -1 -1 2.38419e-07 2.38419e-07 2.38419e-07 - tan (-1.5708 -1.5708 -1.5708) = 2.28773e+07 2.28773e+07 2.28773e+07 - acos (-1.5708 -1.5708 -1.5708) = 3.14159 3.14159 3.14159 - asin (-1.5708 -1.5708 -1.5708) = -1.5708 -1.5708 -1.5708 - atan (-1.5708 -1.5708 -1.5708) = -1.00389 -1.00389 -1.00389 - atan2 (-1.5708 -1.5708 -1.5708, -3.14159 -3.14159 -3.14159) = -2.67794 -2.67794 -2.67794 - degrees (-1.5708 -1.5708 -1.5708) = -90 -90 -90 - radians (-1.5708 -1.5708 -1.5708) = -0.0274156 -0.0274156 -0.0274156 - cos (-0.785398 -0.785398 -0.785398) = 0.707107 0.707107 0.707107 - sin (-0.785398 -0.785398 -0.785398) = -0.707107 -0.707107 -0.707107 - sincos (-0.785398 -0.785398 -0.785398) = -0.707107 -0.707107 -0.707107 0.707107 0.707107 0.707107 - tan (-0.785398 -0.785398 -0.785398) = -1 -1 -1 - acos (-0.785398 -0.785398 -0.785398) = 2.4741 2.4741 2.4741 - asin (-0.785398 -0.785398 -0.785398) = -0.903303 -0.903303 -0.903303 - atan (-0.785398 -0.785398 -0.785398) = -0.665772 -0.665772 -0.665772 - atan2 (-0.785398 -0.785398 -0.785398, -1.5708 -1.5708 -1.5708) = -2.67794 -2.67794 -2.67794 - degrees (-0.785398 -0.785398 -0.785398) = -45 -45 -45 - radians (-0.785398 -0.785398 -0.785398) = -0.0137078 -0.0137078 -0.0137078 - cos (0 0 0) = 1 1 1 - sin (0 0 0) = 0 0 0 - sincos (0 0 0) = 0 0 0 1 1 1 - tan (0 0 0) = 0 0 0 - acos (0 0 0) = 1.5708 1.5708 1.5708 - asin (0 0 0) = 0 0 0 - atan (0 0 0) = 0 0 0 - atan2 (0 0 0, 0 0 0) = 0 0 0 - degrees (0 0 0) = 0 0 0 - radians (0 0 0) = 0 0 0 - cos (0.785398 0.785398 0.785398) = 0.707107 0.707107 0.707107 - sin (0.785398 0.785398 0.785398) = 0.707107 0.707107 0.707107 - sincos (0.785398 0.785398 0.785398) = 0.707107 0.707107 0.707107 0.707107 0.707107 0.707107 - tan (0.785398 0.785398 0.785398) = 1 1 1 - acos (0.785398 0.785398 0.785398) = 0.667493 0.667493 0.667493 - asin (0.785398 0.785398 0.785398) = 0.903303 0.903303 0.903303 - atan (0.785398 0.785398 0.785398) = 0.665772 0.665772 0.665772 - atan2 (0.785398 0.785398 0.785398, 1.5708 1.5708 1.5708) = 0.46365 0.46365 0.46365 - degrees (0.785398 0.785398 0.785398) = 45 45 45 - radians (0.785398 0.785398 0.785398) = 0.0137078 0.0137078 0.0137078 - cos (1.5708 1.5708 1.5708) = 2.38419e-07 2.38419e-07 2.38419e-07 - sin (1.5708 1.5708 1.5708) = 1 1 1 - sincos (1.5708 1.5708 1.5708) = 1 1 1 2.38419e-07 2.38419e-07 2.38419e-07 - tan (1.5708 1.5708 1.5708) = -2.28773e+07 -2.28773e+07 -2.28773e+07 - acos (1.5708 1.5708 1.5708) = 0 0 0 - asin (1.5708 1.5708 1.5708) = 1.5708 1.5708 1.5708 - atan (1.5708 1.5708 1.5708) = 1.00389 1.00389 1.00389 - atan2 (1.5708 1.5708 1.5708, 3.14159 3.14159 3.14159) = 0.46365 0.46365 0.46365 - degrees (1.5708 1.5708 1.5708) = 90 90 90 - radians (1.5708 1.5708 1.5708) = 0.0274156 0.0274156 0.0274156 - cos (3.14159 3.14159 3.14159) = -1 -1 -1 - sin (3.14159 3.14159 3.14159) = 0 0 0 - sincos (3.14159 3.14159 3.14159) = 0 0 0 -1 -1 -1 - tan (3.14159 3.14159 3.14159) = 5.96046e-08 5.96046e-08 5.96046e-08 - acos (3.14159 3.14159 3.14159) = 0 0 0 - asin (3.14159 3.14159 3.14159) = 1.5708 1.5708 1.5708 - atan (3.14159 3.14159 3.14159) = 1.26262 1.26262 1.26262 - atan2 (3.14159 3.14159 3.14159, 6.28319 6.28319 6.28319) = 0.46365 0.46365 0.46365 - degrees (3.14159 3.14159 3.14159) = 180 180 180 - radians (3.14159 3.14159 3.14159) = 0.0548311 0.0548311 0.0548311 - diff --git a/testsuite/vector/ref/out-icc.txt b/testsuite/vector/ref/out-icc.txt deleted file mode 100644 index f026dc32f4..0000000000 --- a/testsuite/vector/ref/out-icc.txt +++ /dev/null @@ -1,33 +0,0 @@ -Compiled test.osl -> test.oso - parameter initialization test: vparam = 0.1 0.7 0.2 - parameter initialization test2: vparam2 = 0.1 0.1 0.1 - -Test vector functions - - vector (0.1) = 0.1 0.1 0.1 - vector (0.1, 0.2, 0.5) = 0.1 0.2 0.5 - V = vector (0 1 2) has components 0, 1, 2 - After V[1] = 8, V = (0 8 2) - After V[2] = 0.5, V = (0 8 0.5) - V = vector (0 8 0.5) has xyz components 0, 8, 0.5 - After V.x = 14.5, V = (14.5 8 0.5) - After V.y = 15.5, V = (14.5 15.5 0.5) - After V.z = 16.5, V = (14.5 15.5 16.5) - V = 0 8 0.5 - dot ((0 8 0.5), (0 8 0.5)) = 64.25 - dot ((0 8 0.5), (0 1 0)) = 8 - cross ((1 0 0), (0 1 0)) = 0 0 1 - length (0 1 0) = 1 - length (1 1 0) = 1.41421 - distance ((1 0 0), (0 1 0)) = 1.41421 - distance ((1 0 0), (1 1 0)) = 1 - distance ((1 0 0), (0 1 0), (1 0 0)) = 0 - distance ((1 0 0), (0 1 0), (0 1 0)) = 0 - distance ((1 0 0), (0 1 0), (0.5 0.5 0)) = 0 - distance ((1 0 0), (0 1 0), (0.5 0.5 0.5)) = 0.5 - distance ((1 0 0), (0 1 0), (2 1 0)) = 1.41421 - normalize (1 1 0) = 0.707107 0.707107 0 - normalize (0 8 0.5) = 0 0.998053 0.0623783 - normalize (0 0 0) = 0 0 0 - rotate(1 0 0, PI/2, (0,0,0), (0,0,1)) = 2.38419e-07 1 0 -