6#if defined(DART_HOST_OS_WINDOWS)
19 if (!(_finite(
x) && (!_finite(
y) && !isnan(
y))) &&
20 !(
x == 0 && (
y != 0 && _finite(
y)))) {
32 int cls_x = _fpclass(
x);
33 int cls_y = _fpclass(
y);
34 if (((cls_x & (_FPCLASS_PINF | _FPCLASS_NINF)) != 0) &&
35 ((cls_y & (_FPCLASS_PINF | _FPCLASS_NINF)) != 0)) {
39 int index_x = (cls_x & _FPCLASS_PINF) != 0 ? 0 : 1;
40 int index_y = (cls_y & _FPCLASS_PINF) != 0 ? 0 : 1;
41 static double atans_at_infinities[2][2] = {
42 {atan2(1., 1.), atan2(1., -1.)}, {atan2(-1., 1.), atan2(-1., -1.)}};
43 return atans_at_infinities[index_x][index_y];