1.4 KiB
1.4 KiB
math
General math functions
Functions
max_int
Return the maximum integer between int a
and int b
int max_int(int a, int b);
min_int
Return the minimum integer between int a
and int b
int min_int(int a, int b);
clamp_int
Clamps an integer between a high and low value
int clamp_int(int i, int low, int high);
binstr_to_int
Converts a string representing a binary number into an integer. Supports underscores as spacing
int binstr_to_int(const char *s);
/* Usage */
int a = binstr_to_int("10011101");
int b = binstr_to_int("1001_1101_0010_1011");
bresenham
Uses bresenham's line algorithim to generate a line in 2D space.
Returns a pointer to an array of Point
.
The sz
parameter holds the size of the array.
Point *bresenham(int x0, int y0, int x1, int y1, size_t *sz);
bresenham_p
Works the same as bresenham()
but uses the Point
struct instead of int
Point *bresenham_p(Point p1, Point p2, size_t *sz);
Comparison Functions
Comparison functions to compare two items. These functions must return 1
if a > b
, -1
if
a < b
, or 0
if a == b
. This follows the pattern defined by compar
functions in the C standard
library, making these usuable in the standard sorting functions like qsort
int compar_int(const void *a, const void *b);
int compar_char(const void *a, const void *b);
// Example
qsort(arr, arr_sz, sizeof(int), compar_int);