71 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
#include <kinc/global.h>
 | 
						|
 | 
						|
/*! \file core.h
 | 
						|
    \brief Just a few very simple additions to math.h
 | 
						|
   the C-lib.
 | 
						|
*/
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
#define KINC_PI 3.141592654
 | 
						|
#define KINC_TAU 6.283185307
 | 
						|
 | 
						|
KINC_FUNC float kinc_cot(float x);
 | 
						|
KINC_FUNC float kinc_round(float value);
 | 
						|
KINC_FUNC float kinc_abs(float value);
 | 
						|
KINC_FUNC float kinc_min(float a, float b);
 | 
						|
KINC_FUNC float kinc_max(float a, float b);
 | 
						|
KINC_FUNC int kinc_mini(int a, int b);
 | 
						|
KINC_FUNC int kinc_maxi(int a, int b);
 | 
						|
KINC_FUNC float kinc_clamp(float value, float minValue, float maxValue);
 | 
						|
 | 
						|
#ifdef KINC_IMPLEMENTATION_MATH
 | 
						|
#define KINC_IMPLEMENTATION
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef KINC_IMPLEMENTATION
 | 
						|
 | 
						|
#include <math.h>
 | 
						|
 | 
						|
float kinc_cot(float x) {
 | 
						|
	return cosf(x) / sinf(x);
 | 
						|
}
 | 
						|
 | 
						|
float kinc_round(float value) {
 | 
						|
	return floorf(value + 0.5f);
 | 
						|
}
 | 
						|
 | 
						|
float kinc_abs(float value) {
 | 
						|
	return value < 0 ? -value : value;
 | 
						|
}
 | 
						|
 | 
						|
float kinc_min(float a, float b) {
 | 
						|
	return a > b ? b : a;
 | 
						|
}
 | 
						|
 | 
						|
float kinc_max(float a, float b) {
 | 
						|
	return a > b ? a : b;
 | 
						|
}
 | 
						|
 | 
						|
int kinc_mini(int a, int b) {
 | 
						|
	return a > b ? b : a;
 | 
						|
}
 | 
						|
 | 
						|
int kinc_maxi(int a, int b) {
 | 
						|
	return a > b ? a : b;
 | 
						|
}
 | 
						|
 | 
						|
float kinc_clamp(float value, float minValue, float maxValue) {
 | 
						|
	return kinc_max(minValue, kinc_min(maxValue, value));
 | 
						|
}
 | 
						|
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 |