Back to Mame

0.9.8: func_common.hpp Source File

3rdparty/glm/doc/api/a00029_source.html

latest15.7 KB
Original Source

| | 0.9.8 |

func_common.hpp

Go to the documentation of this file.

1

11 #pragma once

12

13 #include "setup.hpp"

14 #include "precision.hpp"

15 #include "type_int.hpp"

16 #include "_fixes.hpp"

17

18 namespace glm

19 {

22

29template <typename genType>

30 GLM_FUNC_DECL genType abs(genType x);

31

32template <typename T, precision P, template <typename, precision> class vecType>

33 GLM_FUNC_DECL vecType<T, P> abs(vecType<T, P> const & x);

34

41template <typename T, precision P, template <typename, precision> class vecType>

42 GLM_FUNC_DECL vecType<T, P> sign(vecType<T, P> const & x);

43

50template <typename T, precision P, template <typename, precision> class vecType>

51 GLM_FUNC_DECL vecType<T, P> floor(vecType<T, P> const & x);

52

60template <typename T, precision P, template <typename, precision> class vecType>

61 GLM_FUNC_DECL vecType<T, P> trunc(vecType<T, P> const & x);

62

73template <typename T, precision P, template <typename, precision> class vecType>

74 GLM_FUNC_DECL vecType<T, P> round(vecType<T, P> const & x);

75

85template <typename T, precision P, template <typename, precision> class vecType>

86 GLM_FUNC_DECL vecType<T, P> roundEven(vecType<T, P> const & x);

87

95template <typename T, precision P, template <typename, precision> class vecType>

96 GLM_FUNC_DECL vecType<T, P> ceil(vecType<T, P> const & x);

97

104template <typename genType>

105 GLM_FUNC_DECL genType fract(genType x);

106

107template <typename T, precision P, template <typename, precision> class vecType>

108 GLM_FUNC_DECL vecType<T, P> fract(vecType<T, P> const & x);

109

117template <typename genType>

118 GLM_FUNC_DECL genType mod(genType x, genType y);

119

120template <typename T, precision P, template <typename, precision> class vecType>

121 GLM_FUNC_DECL vecType<T, P> mod(vecType<T, P> const & x, T y);

122

123template <typename T, precision P, template <typename, precision> class vecType>

124 GLM_FUNC_DECL vecType<T, P> mod(vecType<T, P> const & x, vecType<T, P> const & y);

125

135template <typename genType>

136 GLM_FUNC_DECL genType modf(genType x, genType & i);

137

144template <typename genType>

145 GLM_FUNC_DECL genType min(genType x, genType y);

146

147template <typename T, precision P, template <typename, precision> class vecType>

148 GLM_FUNC_DECL vecType<T, P> min(vecType<T, P> const & x, T y);

149

150template <typename T, precision P, template <typename, precision> class vecType>

151 GLM_FUNC_DECL vecType<T, P> min(vecType<T, P> const & x, vecType<T, P> const & y);

152

159template <typename genType>

160 GLM_FUNC_DECL genType max(genType x, genType y);

161

162template <typename T, precision P, template <typename, precision> class vecType>

163 GLM_FUNC_DECL vecType<T, P> max(vecType<T, P> const & x, T y);

164

165template <typename T, precision P, template <typename, precision> class vecType>

166 GLM_FUNC_DECL vecType<T, P> max(vecType<T, P> const & x, vecType<T, P> const & y);

167

175template <typename genType>

176 GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal);

177

178template <typename T, precision P, template <typename, precision> class vecType>

179 GLM_FUNC_DECL vecType<T, P> clamp(vecType<T, P> const & x, T minVal, T maxVal);

180

181template <typename T, precision P, template <typename, precision> class vecType>

182 GLM_FUNC_DECL vecType<T, P> clamp(vecType<T, P> const & x, vecType<T, P> const & minVal, vecType<T, P> const & maxVal);

183

226template <typename T, typename U, precision P, template <typename, precision> class vecType>

227 GLM_FUNC_DECL vecType<T, P> mix(vecType<T, P> const & x, vecType<T, P> const & y, vecType<U, P> const & a);

228

229template <typename T, typename U, precision P, template <typename, precision> class vecType>

230 GLM_FUNC_DECL vecType<T, P> mix(vecType<T, P> const & x, vecType<T, P> const & y, U a);

231

232template <typename genTypeT, typename genTypeU>

233 GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a);

234

239template <typename genType>

240 GLM_FUNC_DECL genType step(genType edge, genType x);

241

246template <template <typename, precision> class vecType, typename T, precision P>

247 GLM_FUNC_DECL vecType<T, P> step(T edge, vecType<T, P> const & x);

248

253template <template <typename, precision> class vecType, typename T, precision P>

254 GLM_FUNC_DECL vecType<T, P> step(vecType<T, P> const & edge, vecType<T, P> const & x);

255

270template <typename genType>

271 GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x);

272

273template <typename T, precision P, template <typename, precision> class vecType>

274 GLM_FUNC_DECL vecType<T, P> smoothstep(T edge0, T edge1, vecType<T, P> const & x);

275

276template <typename T, precision P, template <typename, precision> class vecType>

277 GLM_FUNC_DECL vecType<T, P> smoothstep(vecType<T, P> const & edge0, vecType<T, P> const & edge1, vecType<T, P> const & x);

278

291template <typename T, precision P, template <typename, precision> class vecType>

292 GLM_FUNC_DECL vecType<bool, P> isnan(vecType<T, P> const & x);

293

304template <typename T, precision P, template <typename, precision> class vecType>

305 GLM_FUNC_DECL vecType<bool, P> isinf(vecType<T, P> const & x);

306

313 GLM_FUNC_DECL int floatBitsToInt(float const & v);

314

321template <template <typename, precision> class vecType, precision P>

322 GLM_FUNC_DECL vecType<int, P> floatBitsToInt(vecType<float, P> const & v);

323

330 GLM_FUNC_DECL uint floatBitsToUint(float const & v);

331

338template <template <typename, precision> class vecType, precision P>

339 GLM_FUNC_DECL vecType<uint, P> floatBitsToUint(vecType<float, P> const & v);

340

349 GLM_FUNC_DECL float intBitsToFloat(int const & v);

350

359template <template <typename, precision> class vecType, precision P>

360 GLM_FUNC_DECL vecType<float, P> intBitsToFloat(vecType<int, P> const & v);

361

370 GLM_FUNC_DECL float uintBitsToFloat(uint const & v);

371

380template <template <typename, precision> class vecType, precision P>

381 GLM_FUNC_DECL vecType<float, P> uintBitsToFloat(vecType<uint, P> const & v);

382

389template <typename genType>

390 GLM_FUNC_DECL genType fma(genType const & a, genType const & b, genType const & c);

391

406template <typename genType, typename genIType>

407 GLM_FUNC_DECL genType frexp(genType const & x, genIType & exp);

408

420template <typename genType, typename genIType>

421 GLM_FUNC_DECL genType ldexp(genType const & x, genIType const & exp);

422

424 }//namespace glm

425

426 #include "func_common.inl"

427

glm::fract

GLM_FUNC_DECL genType fract(genType x)

Return x - floor(x).

glm::ldexp

GLM_FUNC_DECL genType ldexp(genType const &x, genIType const &exp)

Builds a floating-point number from x and the corresponding integral exponent of two in exp...

glm::intBitsToFloat

GLM_FUNC_DECL vecType< float, P > intBitsToFloat(vecType< int, P > const &v)

Returns a floating-point value corresponding to a signed integer encoding of a floating-point value...

glm::ceil

GLM_FUNC_DECL vecType< T, P > ceil(vecType< T, P > const &x)

Returns a value equal to the nearest integer that is greater than or equal to x.

glm::modf

GLM_FUNC_DECL genType modf(genType x, genType &i)

Returns the fractional part of x and sets i to the integer part (as a whole number floating point val...

glm::smoothstep

GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x)

Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...

glm::max

GLM_FUNC_DECL genType max(genType x, genType y)

Returns y if x < y; otherwise, it returns x.

glm::uint

unsigned int uint

Unsigned integer type.

Definition: type_int.hpp:288

glm

Definition: _noise.hpp:11

glm::round

GLM_FUNC_DECL vecType< T, P > round(vecType< T, P > const &x)

Returns a value equal to the nearest integer to x.

glm::roundEven

GLM_FUNC_DECL vecType< T, P > roundEven(vecType< T, P > const &x)

Returns a value equal to the nearest integer to x.

glm::mix

GLM_FUNC_DECL vecType< T, P > mix(vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)

If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...

glm::trunc

GLM_FUNC_DECL vecType< T, P > trunc(vecType< T, P > const &x)

Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...

glm::abs

GLM_FUNC_DECL genType abs(genType x)

Returns x if x >= 0; otherwise, it returns -x.

glm::isnan

GLM_FUNC_DECL vecType< bool, P > isnan(vecType< T, P > const &x)

Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of...

glm::frexp

GLM_FUNC_DECL genType frexp(genType const &x, genIType &exp)

Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two...

type_int.hpp

GLM Core

glm::floatBitsToUint

GLM_FUNC_DECL vecType< uint, P > floatBitsToUint(vecType< float, P > const &v)

Returns a unsigned integer value representing the encoding of a floating-point value.

setup.hpp

GLM Core

glm::uintBitsToFloat

GLM_FUNC_DECL vecType< float, P > uintBitsToFloat(vecType< uint, P > const &v)

Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value...

glm::step

GLM_FUNC_DECL vecType< T, P > step(vecType< T, P > const &edge, vecType< T, P > const &x)

Returns 0.0 if x < edge, otherwise it returns 1.0.

glm::exp

GLM_FUNC_DECL vecType< T, P > exp(vecType< T, P > const &v)

Returns the natural exponentiation of x, i.e., e^x.

glm::isinf

GLM_FUNC_DECL vecType< bool, P > isinf(vecType< T, P > const &x)

Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...

glm::mod

GLM_FUNC_DECL vecType< T, P > mod(vecType< T, P > const &x, vecType< T, P > const &y)

Modulus.

glm::min

GLM_FUNC_DECL genType min(genType x, genType y)

Returns y if y < x; otherwise, it returns x.

glm::fma

GLM_FUNC_DECL genType fma(genType const &a, genType const &b, genType const &c)

Computes and returns a * b + c.

_fixes.hpp

GLM Core

glm::floor

GLM_FUNC_DECL vecType< T, P > floor(vecType< T, P > const &x)

Returns a value equal to the nearest integer that is less then or equal to x.

precision.hpp

GLM Core

glm::floatBitsToInt

GLM_FUNC_DECL vecType< int, P > floatBitsToInt(vecType< float, P > const &v)

Returns a signed integer value representing the encoding of a floating-point value.

glm::clamp

GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal)

Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...

glm::sign

GLM_FUNC_DECL vecType< T, P > sign(vecType< T, P > const &x)

Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.


Generated by 1.8.10