50 lines
1.4 KiB
C++
50 lines
1.4 KiB
C++
/* -----------------------------------------------------------------------------
|
|
GSFramework
|
|
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
|
|
----------------------------------------------------------------------------- */
|
|
|
|
|
|
#ifndef __NUNIT__
|
|
#define __NUNIT__
|
|
|
|
|
|
#include "ntypes.h"
|
|
|
|
|
|
/*
|
|
@short Units namespace.
|
|
@author Emmanuel Julien (ejulien@gsworks.fr)
|
|
*/
|
|
namespace GS {
|
|
namespace Units {
|
|
|
|
template <typename T> T Deg(T v) { return v / T(180) * T(3.1415926535); }
|
|
template <typename T> T Rad(T v) { return v; }
|
|
|
|
template <typename T> T DegreeToRadian(T v) { return v / T(180) * T(3.1415926535); }
|
|
template <typename T> T RadianToDegree(T v) { return v / T(3.1415926535) * T(180); }
|
|
|
|
template <typename T> T Sec(T v) { return v; }
|
|
template <typename T> T Csec(T v) { return v * T(0.01); }
|
|
template <typename T> T Ms(T v) { return v * T(0.001); }
|
|
|
|
template <typename T> T Tick(T v) { return v * T(0.001); }
|
|
|
|
template <typename T> T Kg(T v) { return v; }
|
|
template <typename T> T G(T v) { return v * T(0.001); }
|
|
|
|
template <typename T> T Km(T v) { return v * T(1000); }
|
|
template <typename T> T Mtr(T v) { return v; }
|
|
template <typename T> T Cm(T v) { return v * T(0.01); }
|
|
template <typename T> T Mm(T v) { return v * T(0.001); }
|
|
template <typename T> T Inch(T v) { return v * T(0.0254); }
|
|
|
|
size_t KB(const size_t v);
|
|
size_t MB(const size_t v);
|
|
|
|
} // Units
|
|
} // GS
|
|
|
|
|
|
#endif // __NUNIT__
|