32 using namespace pwiz::util;
33 using namespace pwiz::math;
34 using std::numeric_limits;
101 #if defined(_MSC_VER)
104 cerr <<
"[erfTest] Warning: test_real() not implemented for MSVC.\n";
111 if (
os_) *
os_ <<
"test_real()\n";
114 for (
double x=-a;
x<=a;
x+=a/100)
116 complex<double> resultComplex =
erf(complex<double>(
x));
117 double resultReal = ((double(*)(double))
::erf)(
x);
118 if (
os_) *
os_ <<
x <<
" -> " << resultComplex <<
" " << resultReal << endl;
124 #endif // defined(_MSC_VER)
129 if (
os_) *
os_ <<
"test_series()\n";
133 for (
double x=-a;
x<=a;
x+=a/5.)
134 for (
double y=-a;
y<=a;
y+=a/5.)
136 complex<double> z(
x,
y);
137 complex<double> result1 =
erf(z);
139 if (
os_) *
os_ << z <<
": " << abs(result1-result2) << endl;
149 if (
os_) *
os_ <<
"test_real_wrapper()\n";
152 for (
double x=-a;
x<=a;
x+=a/100)
155 double result_std =
::erf(
x);
156 if (
os_) *
os_ <<
x <<
" -> " << result_pwiz <<
" " << result_std << endl;
164 int main(
int argc,
char* argv[])
170 if (argc>1 && !strcmp(argv[1],
"-v"))
os_ = &cout;
171 if (
os_) *
os_ <<
"erfTest\n" << setprecision(20);