#pragma once
#include "../simd/simd.h"
namespace embree
{
namespace fastapprox
{
template <typename T>
__forceinline T sin(const T &v)
{ … }
template <typename T>
__forceinline T cos(const T &v)
{ … }
template <typename T>
__forceinline void sincos(const T &v, T &sinResult, T &cosResult)
{ … }
template <typename T>
__forceinline T tan(const T &v)
{ … }
template <typename T>
__forceinline T asin(const T &x0)
{ … }
template <typename T>
__forceinline T acos(const T &v)
{ … }
template <typename T>
__forceinline T atan(const T &v)
{ … }
template <typename T>
__forceinline T atan2(const T &y, const T &x)
{ … }
template <typename T>
__forceinline T exp(const T &v)
{ … }
template <typename T, typename R>
__forceinline void __rangeReduceLog(const T &input,
T &reduced,
R &exponent)
{ … }
template <typename T> struct ExponentType { … };
ExponentType<vfloat_impl<N>>;
template <> struct ExponentType<float> { … };
template <typename T>
__forceinline T log(const T &v)
{ … }
template <typename T>
__forceinline T pow(const T &x, const T &y)
{ … }
template <typename T>
__forceinline T pow(const T &x, float y)
{ … }
}
}