是否支持Android的log 2(Does Android support log2)

2019-09-18 05:42发布

请问Android支持的log 2?
我已经发现Android的犯规支持长双。

当我试图编译cdce3.c我收到以下错误:

g++.dg/cdce3.C: In function 'void mlog2f(int)':
g++.dg/cdce3.C:87: error: 'log2f' was not declared in this scope
g++.dg/cdce3.C: In function 'void mlog2(int)':
g++.dg/cdce3.C:87: error: 'log2' was not declared in this scope
g++.dg/cdce3.C: In function 'void olog2f(int)':
g++.dg/cdce3.C:108: error: 'log2f' was not declared in this scope
g++.dg/cdce3.C: In function 'void olog2(int)':
g++.dg/cdce3.C:108: error: 'log2' was not declared in this scope

的cdce3.c源代码部分:

#define DEF_MATH_FUNC(prefix, name) NI void prefix##name##f (int x) \
{ \
  float yy = name##f ((float) x); \
  STORE_RESULT; \
} \
NI void prefix##name (int x) \
{ \
  double yy = name ((double)x); \
  STORE_RESULT; \
}
#endif
.........
DEF_MATH_FUNC (m,log2)
DEF_MATH_FUNC (o,log2)

找到完整的源代码在这里。

Answer 1:

你神奇的方式在这里。 我测试过它,并努力:

make CXXFLAGS="-Dlog2\(x\)=\(log\(x\)/log\(2\)\)"

更快的计算:

make CXXFLAGS="-Dlog2\(x\)=\(log\(x\)*1.4426950408889634\)"


Answer 2:

看起来像Android的默认不支持的log 2功能。 因为我没有在源代码确定此功能的无处找到。



文章来源: Does Android support log2