mirror of
https://github.com/Karaka-Management/cOMS.git
synced 2026-01-18 14:18:41 +00:00
46 lines
1.1 KiB
C
46 lines
1.1 KiB
C
/**
|
|
* Karaka
|
|
*
|
|
* @package Utils
|
|
* @copyright Dennis Eichhorn
|
|
* @license OMS License 1.0
|
|
* @version 1.0.0
|
|
* @link https://karaka.app
|
|
*/
|
|
#ifndef UTILS_MATH_UTILS_H
|
|
#define UTILS_MATH_UTILS_H
|
|
|
|
#define OMS_PI 3.14159265358979323846
|
|
|
|
#ifdef _MSC_VER
|
|
#define oms_max(a, b) ((a) > (b) ? (a) : (b))
|
|
#define oms_min(a, b) ((a) > (b) ? (b) : (a))
|
|
#define oms_abs(a) ((a) > 0 ? (a) : -(a))
|
|
#define oms_deg2rad(angle) ((angle) * OMS_PI / 180.0)
|
|
#define oms_rad2deg(angle) ((angle) * 180.0 / OMS_PI)
|
|
#else
|
|
#define oms_max(a, b) \
|
|
( __typeof__(a) _a = (a); \
|
|
__typeof__(b) _b = (b); \
|
|
_a > _b ? _a : _b; )
|
|
|
|
#define oms_min(a, b) \
|
|
( __typeof__(a) _a = (a); \
|
|
__typeof__(b) _b = (b); \
|
|
_a < _b ? _a : _b; )
|
|
|
|
#define oms_abs(a) \
|
|
( __typeof__(a) _a = (a); \
|
|
_a > 0 ? _a : -_a; )
|
|
|
|
#define oms_deg2rad(angle) \
|
|
( __typeof__(angle) _angle = (angle); \
|
|
(_angle) * OMS_PI / 180.0; )
|
|
|
|
#define oms_rad2deg(angle) \
|
|
( __typeof__(angle) _angle = (angle); \
|
|
(_angle) * 180.0 / OMS_PI; )
|
|
#endif
|
|
|
|
#endif
|