9 template<
typename genType>
12 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'sec' only accept floating-point values");
16 template<length_t L,
typename T, qualifier Q>
17 GLM_FUNC_QUALIFIER vec<L, T, Q>
sec(vec<L, T, Q>
const& x)
19 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'sec' only accept floating-point inputs");
20 return detail::functor1<vec, L, T, T, Q>::call(
sec, x);
24 template<
typename genType>
27 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'csc' only accept floating-point values");
31 template<length_t L,
typename T, qualifier Q>
32 GLM_FUNC_QUALIFIER vec<L, T, Q>
csc(vec<L, T, Q>
const& x)
34 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'csc' only accept floating-point inputs");
35 return detail::functor1<vec, L, T, T, Q>::call(
csc, x);
39 template<
typename genType>
42 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'cot' only accept floating-point values");
44 genType
const pi_over_2 = genType(3.1415926535897932384626433832795 / 2.0);
48 template<length_t L,
typename T, qualifier Q>
49 GLM_FUNC_QUALIFIER vec<L, T, Q>
cot(vec<L, T, Q>
const& x)
51 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'cot' only accept floating-point inputs");
52 return detail::functor1<vec, L, T, T, Q>::call(
cot, x);
56 template<
typename genType>
57 GLM_FUNC_QUALIFIER genType
asec(genType x)
59 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'asec' only accept floating-point values");
60 return acos(genType(1) / x);
63 template<length_t L,
typename T, qualifier Q>
64 GLM_FUNC_QUALIFIER vec<L, T, Q>
asec(vec<L, T, Q>
const& x)
66 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'asec' only accept floating-point inputs");
67 return detail::functor1<vec, L, T, T, Q>::call(
asec, x);
71 template<
typename genType>
72 GLM_FUNC_QUALIFIER genType
acsc(genType x)
74 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'acsc' only accept floating-point values");
75 return asin(genType(1) / x);
78 template<length_t L,
typename T, qualifier Q>
79 GLM_FUNC_QUALIFIER vec<L, T, Q>
acsc(vec<L, T, Q>
const& x)
81 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'acsc' only accept floating-point inputs");
82 return detail::functor1<vec, L, T, T, Q>::call(
acsc, x);
86 template<
typename genType>
87 GLM_FUNC_QUALIFIER genType
acot(genType x)
89 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'acot' only accept floating-point values");
91 genType
const pi_over_2 = genType(3.1415926535897932384626433832795 / 2.0);
92 return pi_over_2 - atan(x);
95 template<length_t L,
typename T, qualifier Q>
96 GLM_FUNC_QUALIFIER vec<L, T, Q>
acot(vec<L, T, Q>
const& x)
98 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'acot' only accept floating-point inputs");
99 return detail::functor1<vec, L, T, T, Q>::call(
acot, x);
103 template<
typename genType>
106 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'sech' only accept floating-point values");
110 template<length_t L,
typename T, qualifier Q>
111 GLM_FUNC_QUALIFIER vec<L, T, Q>
sech(vec<L, T, Q>
const& x)
113 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'sech' only accept floating-point inputs");
114 return detail::functor1<vec, L, T, T, Q>::call(
sech, x);
118 template<
typename genType>
121 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'csch' only accept floating-point values");
125 template<length_t L,
typename T, qualifier Q>
126 GLM_FUNC_QUALIFIER vec<L, T, Q>
csch(vec<L, T, Q>
const& x)
128 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'csch' only accept floating-point inputs");
129 return detail::functor1<vec, L, T, T, Q>::call(
csch, x);
133 template<
typename genType>
136 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'coth' only accept floating-point values");
140 template<length_t L,
typename T, qualifier Q>
141 GLM_FUNC_QUALIFIER vec<L, T, Q>
coth(vec<L, T, Q>
const& x)
143 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'coth' only accept floating-point inputs");
144 return detail::functor1<vec, L, T, T, Q>::call(
coth, x);
148 template<
typename genType>
149 GLM_FUNC_QUALIFIER genType
asech(genType x)
151 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'asech' only accept floating-point values");
152 return acosh(genType(1) / x);
155 template<length_t L,
typename T, qualifier Q>
156 GLM_FUNC_QUALIFIER vec<L, T, Q>
asech(vec<L, T, Q>
const& x)
158 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'asech' only accept floating-point inputs");
159 return detail::functor1<vec, L, T, T, Q>::call(
asech, x);
163 template<
typename genType>
164 GLM_FUNC_QUALIFIER genType
acsch(genType x)
166 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'acsch' only accept floating-point values");
167 return asinh(genType(1) / x);
170 template<length_t L,
typename T, qualifier Q>
171 GLM_FUNC_QUALIFIER vec<L, T, Q>
acsch(vec<L, T, Q>
const& x)
173 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'acsch' only accept floating-point inputs");
174 return detail::functor1<vec, L, T, T, Q>::call(
acsch, x);
178 template<
typename genType>
179 GLM_FUNC_QUALIFIER genType
acoth(genType x)
181 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'acoth' only accept floating-point values");
182 return atanh(genType(1) / x);
185 template<length_t L,
typename T, qualifier Q>
186 GLM_FUNC_QUALIFIER vec<L, T, Q>
acoth(vec<L, T, Q>
const& x)
188 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'acoth' only accept floating-point inputs");
189 return detail::functor1<vec, L, T, T, Q>::call(
acoth, x);
GLM_FUNC_QUALIFIER vec< L, T, Q > sin(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:41
GLM_FUNC_QUALIFIER vec< L, T, Q > cos(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:50
GLM_FUNC_QUALIFIER vec< L, T, Q > sinh(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:109
GLM_FUNC_QUALIFIER vec< L, T, Q > asin(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:68
GLM_FUNC_QUALIFIER vec< L, T, Q > cosh(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:118
GLM_FUNC_QUALIFIER vec< L, T, Q > tan(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:59
GLM_FUNC_QUALIFIER vec< L, T, Q > acos(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:77
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Definition quaternion_trigonometric.inl:6
GLM_FUNC_DECL genType acsc(genType x)
Definition reciprocal.inl:72
GLM_FUNC_DECL genType asec(genType x)
Definition reciprocal.inl:57
GLM_FUNC_DECL genType cot(genType angle)
Definition reciprocal.inl:40
GLM_FUNC_DECL genType acsch(genType x)
Definition reciprocal.inl:164
GLM_FUNC_DECL genType csc(genType angle)
Definition reciprocal.inl:25
GLM_FUNC_DECL genType coth(genType angle)
Definition reciprocal.inl:134
GLM_FUNC_DECL genType csch(genType angle)
Definition reciprocal.inl:119
GLM_FUNC_DECL genType sech(genType angle)
Definition reciprocal.inl:104
GLM_FUNC_DECL genType sec(genType angle)
Definition reciprocal.inl:10
GLM_FUNC_DECL genType acot(genType x)
Definition reciprocal.inl:87
GLM_FUNC_DECL genType asech(genType x)
Definition reciprocal.inl:149
GLM_FUNC_DECL genType acoth(genType x)
Definition reciprocal.inl:179
Core features
Definition common.hpp:21