Fix weird C preprocessor conflicts (#101)

This commit is contained in:
Julian Kent
2019-11-01 14:23:35 +01:00
committed by GitHub
parent 215203fc6f
commit 445f58d484
2 changed files with 35 additions and 17 deletions
+27 -9
View File
@@ -234,24 +234,42 @@ Dual<Scalar, N> min(const Dual<Scalar, N>& a, const Dual<Scalar, N>& b)
}
// isnan
template <typename Scalar, size_t N>
bool isnan(const Dual<Scalar, N>& a)
template <typename Scalar>
bool IsNan(Scalar a)
{
return isnan(a.value);
return isnan(a);
}
template <typename Scalar, size_t N>
bool IsNan(const Dual<Scalar, N>& a)
{
return IsNan(a.value);
}
// isfinite
template <typename Scalar, size_t N>
bool isfinite(const Dual<Scalar, N>& a)
template <typename Scalar>
bool IsFinite(Scalar a)
{
return isfinite(a.value);
return isfinite(a);
}
template <typename Scalar, size_t N>
bool IsFinite(const Dual<Scalar, N>& a)
{
return IsFinite(a.value);
}
// isinf
template <typename Scalar, size_t N>
bool isinf(const Dual<Scalar, N>& a)
template <typename Scalar>
bool IsInf(Scalar a)
{
return isinf(a.value);
return isinf(a);
}
template <typename Scalar, size_t N>
bool IsInf(const Dual<Scalar, N>& a)
{
return IsInf(a.value);
}
// trig