diff --git a/matrix/Dual.hpp b/matrix/Dual.hpp index 8fbdcf1..da8eabf 100644 --- a/matrix/Dual.hpp +++ b/matrix/Dual.hpp @@ -234,24 +234,42 @@ Dual min(const Dual& a, const Dual& b) } // isnan +template +bool IsNan(Scalar a) +{ + return isnan(a); +} + template -bool isnan(const Dual& a) +bool IsNan(const Dual& a) { - return isnan(a.value); + return IsNan(a.value); } // isfinite +template +bool IsFinite(Scalar a) +{ + return isfinite(a); +} + template -bool isfinite(const Dual& a) +bool IsFinite(const Dual& a) { - return isfinite(a.value); + return IsFinite(a.value); } // isinf +template +bool IsInf(Scalar a) +{ + return isinf(a); +} + template -bool isinf(const Dual& a) +bool IsInf(const Dual& a) { - return isinf(a.value); + return IsInf(a.value); } // trig diff --git a/test/dual.cpp b/test/dual.cpp index cb6b7fc..7d5fbb9 100644 --- a/test/dual.cpp +++ b/test/dual.cpp @@ -167,21 +167,21 @@ int main() { // isnan - TEST(!isnan(a)); + TEST(!IsNan(a)); Dual c(sqrt(-1.f),0); - TEST(isnan(c)); + TEST(IsNan(c)); } { // isfinite/isinf - TEST(isfinite(a)); - TEST(!isinf(a)); + TEST(IsFinite(a)); + TEST(!IsInf(a)); Dual c(sqrt(-1.f),0); - TEST(!isfinite(c)); - TEST(!isinf(c)); + TEST(!IsFinite(c)); + TEST(!IsInf(c)); Dual d(INFINITY,0); - TEST(!isfinite(d)); - TEST(isinf(d)); + TEST(!IsFinite(d)); + TEST(IsInf(d)); } {