LCOV - code coverage report
Current view: top level - src/AH/Math - Degrees.hpp (source / functions) Hit Total Coverage
Test: e224b347cd670555e44f06608ac41bd1ace9d9d8 Lines: 7 7 100.0 %
Date: 2020-09-08 17:44:46 Functions: 8 8 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include <AH/Settings/Warnings.hpp>
       4             : AH_DIAGNOSTIC_WERROR() // Enable errors on warnings
       5             : 
       6             : #include <AH/STL/cmath>  // M_PI
       7             : 
       8             : BEGIN_AH_NAMESPACE
       9             : 
      10             : /// @addtogroup AH_Math
      11             : /// @{
      12             : 
      13             : /**
      14             :  * @file
      15             :  * @brief       Conversions between radians and degrees.
      16             :  */
      17             : 
      18             : /// Convert radians to degrees.
      19             : template <class T>
      20           4 : constexpr inline double rad2deg(T r) {
      21           4 :     return r * M_1_PI * 180;
      22             : }
      23             : /// Convert degrees to radians.
      24             : template <class T>
      25           8 : constexpr inline double deg2rad(T d) {
      26           8 :     return d * M_PI / 180;
      27             : }
      28             : 
      29             : /// Convert degrees to radians, e.g. 10_deg.
      30           1 : constexpr long double operator"" _deg(long double deg) { return deg2rad(deg); }
      31             : /// Convert degrees to radians, e.g. 10_deg.
      32           4 : constexpr long double operator"" _deg(unsigned long long deg) {
      33           4 :     return deg2rad<long double>(deg);
      34             : }
      35             : 
      36             : /// @}
      37             : 
      38             : END_AH_NAMESPACE
      39             : 
      40             : AH_DIAGNOSTIC_POP()

Generated by: LCOV version 1.14-6-g40580cd