ref: 742736e50d97306ad16853d18c977b502cf35b82
dir: /libnpe/log2.c/
#include <math.h> #include "_npe.h" double log2(double x) { static double ln2c = 0.0; if(x == 0) return -hugeD; if(x < 0 || isNaN(x)) return NaN(); if(ln2c == 0.0) ln2c = log(2.0); return log(x)/ln2c; } float log2f(float x) { if(x == 0) return -hugeF; return log2(x); }