Skip to content
This repository has been archived by the owner on Nov 17, 2021. It is now read-only.

Commit

Permalink
Fix weird C preprocessor conflicts (#101)
Browse files Browse the repository at this point in the history
  • Loading branch information
Julian Kent authored Nov 1, 2019
1 parent 215203f commit 445f58d
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 14 deletions.
30 changes: 24 additions & 6 deletions matrix/Dual.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -234,24 +234,42 @@ Dual<Scalar, N> min(const Dual<Scalar, N>& a, const Dual<Scalar, N>& b)
}

// isnan
template <typename Scalar>
bool IsNan(Scalar a)
{
return isnan(a);
}

template <typename Scalar, size_t N>
bool isnan(const Dual<Scalar, N>& a)
bool IsNan(const Dual<Scalar, N>& a)
{
return isnan(a.value);
return IsNan(a.value);
}

// isfinite
template <typename Scalar>
bool IsFinite(Scalar a)
{
return isfinite(a);
}

template <typename Scalar, size_t N>
bool isfinite(const Dual<Scalar, N>& a)
bool IsFinite(const Dual<Scalar, N>& a)
{
return isfinite(a.value);
return IsFinite(a.value);
}

// isinf
template <typename Scalar>
bool IsInf(Scalar a)
{
return isinf(a);
}

template <typename Scalar, size_t N>
bool isinf(const Dual<Scalar, N>& a)
bool IsInf(const Dual<Scalar, N>& a)
{
return isinf(a.value);
return IsInf(a.value);
}

// trig
Expand Down
16 changes: 8 additions & 8 deletions test/dual.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -167,21 +167,21 @@ int main()

{
// isnan
TEST(!isnan(a));
TEST(!IsNan(a));
Dual<float, 1> 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<float, 1> c(sqrt(-1.f),0);
TEST(!isfinite(c));
TEST(!isinf(c));
TEST(!IsFinite(c));
TEST(!IsInf(c));
Dual<float, 1> d(INFINITY,0);
TEST(!isfinite(d));
TEST(isinf(d));
TEST(!IsFinite(d));
TEST(IsInf(d));
}

{
Expand Down

0 comments on commit 445f58d

Please sign in to comment.