summaryrefslogtreecommitdiff
path: root/libk/src/math/abs.c
blob: 1757272904e0bb83e9403204bdc7ba7b04116f92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <math.h>
#include <stdint.h>

float fabsf(float num) {
	union {float f; uint32_t i;} u = {num};
	u.i &= 0x7fffffff;
	return u.f;
}

double fabs(double num) {
	union {double f; uint64_t i;} u = {num};
	u.i &= -1ULL/2;
	return u.f;
}