shithub: snippets

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