检查传递给节点 C++ 插件的参数是 Infinity 还是 NaN

Check if argument passed to node C++ addon is Infinity or NaN

如何检查直接传递给节点 C++ 插件(不是通过 JS 包装器)的参数是 NaN 还是 +/-Infinity?

我尝试 frexp(arg[0]->NumberValue(), &exponent) 的目的是检查指数是否为 2047(JS 如何表示 NaN 和 Infinity),但显然 Local<Value>->NumberValue() 模糊了 double 并更改了 exp 值。

对于 C++11,回复是

std::isinf(x) || std::isnan(x)