本文整理汇总了C++中MathCache类的典型用法代码示例。如果您正苦于以下问题:C++ MathCache类的具体用法?C++ MathCache怎么用?C++ MathCache使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MathCache类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: js_math_sqrt
JSBool
js_math_sqrt(JSContext *cx, unsigned argc, Value *vp)
{
double x, z;
if (argc == 0) {
vp->setDouble(js_NaN);
return JS_TRUE;
}
if (!ToNumber(cx, vp[2], &x))
return JS_FALSE;
MathCache *mathCache = cx->runtime->getMathCache(cx);
if (!mathCache)
return JS_FALSE;
z = mathCache->lookup(sqrt, x);
vp->setDouble(z);
return JS_TRUE;
}
示例2: math_tan
static JSBool
math_tan(JSContext *cx, uintN argc, Value *vp)
{
jsdouble x, z;
if (argc == 0) {
vp->setDouble(js_NaN);
return JS_TRUE;
}
if (!ToNumber(cx, vp[2], &x))
return JS_FALSE;
MathCache *mathCache = GetMathCache(cx);
if (!mathCache)
return JS_FALSE;
z = mathCache->lookup(tan, x);
vp->setDouble(z);
return JS_TRUE;
}
示例3: js_math_sqrt
bool
js_math_sqrt(JSContext *cx, unsigned argc, Value *vp)
{
CallArgs args = CallArgsFromVp(argc, vp);
if (args.length() == 0) {
args.rval().setNaN();
return true;
}
double x;
if (!ToNumber(cx, args[0], &x))
return false;
MathCache *mathCache = cx->runtime()->getMathCache(cx);
if (!mathCache)
return false;
double z = mathCache->lookup(sqrt, x);
args.rval().setDouble(z);
return true;
}
示例4: math_asin
static JSBool
math_asin(JSContext *cx, unsigned argc, Value *vp)
{
double x, z;
if (argc == 0) {
vp->setDouble(js_NaN);
return JS_TRUE;
}
if (!ToNumber(cx, vp[2], &x))
return JS_FALSE;
#if defined(SOLARIS) && defined(__GNUC__)
if (x < -1 || 1 < x) {
vp->setDouble(js_NaN);
return JS_TRUE;
}
#endif
MathCache *mathCache = cx->runtime->getMathCache(cx);
if (!mathCache)
return JS_FALSE;
z = mathCache->lookup(asin, x);
vp->setDouble(z);
return JS_TRUE;
}
示例5: math_log
static JSBool
math_log(JSContext *cx, uintN argc, Value *vp)
{
jsdouble x, z;
if (argc == 0) {
vp->setDouble(js_NaN);
return JS_TRUE;
}
if (!ToNumber(cx, vp[2], &x))
return JS_FALSE;
#if defined(SOLARIS) && defined(__GNUC__)
if (x < 0) {
vp->setDouble(js_NaN);
return JS_TRUE;
}
#endif
MathCache *mathCache = GetMathCache(cx);
if (!mathCache)
return JS_FALSE;
z = mathCache->lookup(log, x);
vp->setNumber(z);
return JS_TRUE;
}