12 lines
197 B
C
12 lines
197 B
C
#include <limits.h>
|
|
#include "math.h"
|
|
|
|
float logbf(float x) {
|
|
int i = ilogbf(x);
|
|
|
|
if (i == FP_ILOGB0)
|
|
return -1.0f/fabsf(x);
|
|
if (i == FP_ILOGBNAN || i == INT_MAX)
|
|
return x * x;
|
|
return i;
|
|
}
|