shithub: snippets

ref: 15b65b11b213ec857a8e39a814c90bcbc3ce85c9
dir: /lrint.c/

View raw version
int
lrintf(float f)
{
	int i;

	*((float*)&i) = f + 12582912.0f;

	return (i & 0x7fffff) - 0x400000;
}

long
lrint(double d)
{
	long long l;

	*((double*)&l) = d + 6755399441055744.0;

	return l;
}