master
ブランチ master
VulkanExample / dep / include / glm / ext / vector_reciprocal.hpp
3.6 KB、135行 生 Blame 履歴
1/// @ref ext_vector_reciprocal
2/// @file glm/ext/vector_reciprocal.hpp
3///
4/// @see core (dependence)
5///
6/// @defgroup ext_vector_reciprocal GLM_EXT_vector_reciprocal
7/// @ingroup ext
8///
9/// Include <glm/ext/vector_reciprocal.hpp> to use the features of this extension.
10///
11/// Define secant, cosecant and cotangent functions.
12
13#pragma once
14
15// Dependencies
16#include "../detail/setup.hpp"
17
18#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19# pragma message("GLM: GLM_EXT_vector_reciprocal extension included")
20#endif
21
22namespace glm
23{
24 /// @addtogroup ext_vector_reciprocal
25 /// @{
26
27 /// Secant function.
28 /// hypotenuse / adjacent or 1 / cos(x)
29 ///
30 /// @tparam genType Floating-point scalar or vector types.
31 ///
32 /// @see ext_vector_reciprocal
33 template<typename genType>
34 GLM_FUNC_DECL genType sec(genType angle);
35
36 /// Cosecant function.
37 /// hypotenuse / opposite or 1 / sin(x)
38 ///
39 /// @tparam genType Floating-point scalar or vector types.
40 ///
41 /// @see ext_vector_reciprocal
42 template<typename genType>
43 GLM_FUNC_DECL genType csc(genType angle);
44
45 /// Cotangent function.
46 /// adjacent / opposite or 1 / tan(x)
47 ///
48 /// @tparam genType Floating-point scalar or vector types.
49 ///
50 /// @see ext_vector_reciprocal
51 template<typename genType>
52 GLM_FUNC_DECL genType cot(genType angle);
53
54 /// Inverse secant function.
55 ///
56 /// @return Return an angle expressed in radians.
57 /// @tparam genType Floating-point scalar or vector types.
58 ///
59 /// @see ext_vector_reciprocal
60 template<typename genType>
61 GLM_FUNC_DECL genType asec(genType x);
62
63 /// Inverse cosecant function.
64 ///
65 /// @return Return an angle expressed in radians.
66 /// @tparam genType Floating-point scalar or vector types.
67 ///
68 /// @see ext_vector_reciprocal
69 template<typename genType>
70 GLM_FUNC_DECL genType acsc(genType x);
71
72 /// Inverse cotangent function.
73 ///
74 /// @return Return an angle expressed in radians.
75 /// @tparam genType Floating-point scalar or vector types.
76 ///
77 /// @see ext_vector_reciprocal
78 template<typename genType>
79 GLM_FUNC_DECL genType acot(genType x);
80
81 /// Secant hyperbolic function.
82 ///
83 /// @tparam genType Floating-point scalar or vector types.
84 ///
85 /// @see ext_vector_reciprocal
86 template<typename genType>
87 GLM_FUNC_DECL genType sech(genType angle);
88
89 /// Cosecant hyperbolic function.
90 ///
91 /// @tparam genType Floating-point scalar or vector types.
92 ///
93 /// @see ext_vector_reciprocal
94 template<typename genType>
95 GLM_FUNC_DECL genType csch(genType angle);
96
97 /// Cotangent hyperbolic function.
98 ///
99 /// @tparam genType Floating-point scalar or vector types.
100 ///
101 /// @see ext_vector_reciprocal
102 template<typename genType>
103 GLM_FUNC_DECL genType coth(genType angle);
104
105 /// Inverse secant hyperbolic function.
106 ///
107 /// @return Return an angle expressed in radians.
108 /// @tparam genType Floating-point scalar or vector types.
109 ///
110 /// @see ext_vector_reciprocal
111 template<typename genType>
112 GLM_FUNC_DECL genType asech(genType x);
113
114 /// Inverse cosecant hyperbolic function.
115 ///
116 /// @return Return an angle expressed in radians.
117 /// @tparam genType Floating-point scalar or vector types.
118 ///
119 /// @see ext_vector_reciprocal
120 template<typename genType>
121 GLM_FUNC_DECL genType acsch(genType x);
122
123 /// Inverse cotangent hyperbolic function.
124 ///
125 /// @return Return an angle expressed in radians.
126 /// @tparam genType Floating-point scalar or vector types.
127 ///
128 /// @see ext_vector_reciprocal
129 template<typename genType>
130 GLM_FUNC_DECL genType acoth(genType x);
131
132 /// @}
133}//namespace glm
134
135#include "vector_reciprocal.inl"