OpenGL Mathematics (GLM)
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
 
 
 

125 lines
4.4 KiB

///////////////////////////////////////////////////////////////////////////////////////////////////
// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
///////////////////////////////////////////////////////////////////////////////////////////////////
// Created : 2008-08-01
// Updated : 2008-09-10
// Licence : This source is under MIT License
// File : glm/core/func_trigonometric.hpp
///////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef glm_core_func_trigonometric
#define glm_core_func_trigonometric
namespace glm
{
namespace test{
void main_core_func_trigonometric();
}//namespace test
namespace core{
namespace function{
//! Define Angle and trigonometry functions
//! from Section 8.1 of GLSL 1.30.8 specification.
//! Included in glm namespace.
namespace trigonometric{
//! Converts degrees to radians and returns the result.
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType radians(genType const & degrees);
//! Converts radians to degrees and returns the result.
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType degrees(genType const & radians);
//! The standard trigonometric sine function.
//! The values returned by this function will range from [-1, 1].
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType sin(genType const & angle);
//! The standard trigonometric cosine function.
//! The values returned by this function will range from [-1, 1].
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType cos(genType const & angle);
//! The standard trigonometric tangent function.
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType tan(genType const & angle);
//! Arc sine. Returns an angle whose sine is x.
//! The range of values returned by this function is [-PI/2, PI/2].
//! Results are undefined if |x| > 1.
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType asin(genType const & x);
//! Arc cosine. Returns an angle whose sine is x.
//! The range of values returned by this function is [0, PI].
//! Results are undefined if |x| > 1.
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType acos(genType const & x);
//! Arc tangent. Returns an angle whose tangent is y/x.
//! The signs of x and y are used to determine what
//! quadrant the angle is in. The range of values returned
//! by this function is [-PI, PI]. Results are undefined
//! if x and y are both 0.
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType atan(genType const & y, genType const & x);
//! Arc tangent. Returns an angle whose tangent is y_over_x.
//! The range of values returned by this function is [-PI/2, PI/2].
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType atan(genType const & y_over_x);
//! Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType sinh(genType const & angle);
//! Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType cosh(genType const & angle);
//! Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType tanh(genType const & angle);
//! Arc hyperbolic sine; returns the inverse of sinh.
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType asinh(genType const & x);
//! Arc hyperbolic cosine; returns the non-negative inverse
//! of cosh. Results are undefined if x < 1.
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType acosh(genType const & x);
//! Arc hyperbolic tangent; returns the inverse of tanh.
//! Results are undefined if abs(x) >= 1.
//! (From GLSL 1.30.08 specification, section 8.1)
template <typename genType>
genType atanh(genType const & x);
}//namespace trigonometric
}//namespace function
}//namespace core
using namespace core::function::trigonometric;
}//namespace glm
#include "func_trigonometric.inl"
#endif//glm_core_func_trigonometric