#include "../contrib/Eigen/SpecialFunctions"

// A custom scalar that does not provide erf. Eigen's approximations are tuned
// for float and double and are not valid for it, so numext::erf must be
// rejected at compile time instead of computing a wrong result.
namespace custom_scalar {
struct CustomReal {
  double value;
};
#ifndef EIGEN_SHOULD_FAIL_TO_BUILD
inline CustomReal erf(const CustomReal& x) { return CustomReal{std::erf(x.value)}; }
#endif
}  // namespace custom_scalar

namespace Eigen {
template <>
struct NumTraits<custom_scalar::CustomReal> : NumTraits<double> {
  using Real = custom_scalar::CustomReal;
  using NonInteger = custom_scalar::CustomReal;
  using Nested = custom_scalar::CustomReal;
};
}  // namespace Eigen

int main() { return Eigen::numext::erf(custom_scalar::CustomReal{0.5}).value > 0.0 ? 0 : 1; }
