shithub: snippets

ref: f6dbc2ae6e153c5608b6f9d893238d71ae521935
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;
}