use 'log2' when available

This commit is contained in:
Roberto Ierusalimschy 2015-03-12 11:04:04 -03:00
parent 0cf3b6495a
commit 7d930ec694

View File

@ -1,5 +1,5 @@
/*
** $Id: lmathlib.c,v 1.113 2014/11/07 11:31:58 roberto Exp roberto $
** $Id: lmathlib.c,v 1.114 2014/12/27 20:32:26 roberto Exp roberto $
** Standard mathematical library
** See Copyright Notice in lua.h
*/
@ -183,6 +183,9 @@ static int math_log (lua_State *L) {
res = l_mathop(log)(x);
else {
lua_Number base = luaL_checknumber(L, 2);
#if !defined(LUA_USE_C89)
if (base == 2.0) res = l_mathop(log2)(x); else
#endif
if (base == 10.0) res = l_mathop(log10)(x);
else res = l_mathop(log)(x)/l_mathop(log)(base);
}