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
 |