ref: 3aef5b01a473555c92bba327ede73960daec22a8
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); }