summaryrefslogtreecommitdiffhomepage
path: root/src/rodeo_math.c
blob: 0e19a1ef850af8531b2b71c5c5f2e3c3dd13c338 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

// -- internal --
// public
#include "rodeo.h"

// -- system --
#include <stdint.h>

// -- external --
#include "SDL2/SDL.h"

// rounds to nearest rather then truncation
rodeo_color_RGBA8_t
rodeo_color_RGBAFloat_to_RGBA8(const rodeo_color_RGBAFloat_t color)
{
	return (rodeo_color_RGBA8_t){
		.red = (uint8_t)((color.red * (float)UINT8_MAX) + 0.5),
		.green = (uint8_t)((color.green * (float)UINT8_MAX) + 0.5),
		.blue = (uint8_t)((color.blue * (float)UINT8_MAX) + 0.5),
		.alpha = (uint8_t)((color.alpha * (float)UINT8_MAX) + 0.5),
	};
}

rodeo_color_RGBAFloat_t
rodeo_color_RGBA8_to_RGBAFloat(const rodeo_color_RGBA8_t color)
{
	return (rodeo_color_RGBAFloat_t){
		.red = (float)color.red / 255.0f,
		.green = (float)color.green / 255.0f,
		.blue = (float)color.blue / 255.0f,
		.alpha = (float)color.alpha / 255.0f,
	};
}

double
rodeo_random_simple_float_get(void)
{
	return 0;
}

uint64_t
rodeo_random_simple_uint64_get(void)
{
	return 0;
}