(self)
| 145 | |
| 146 | @test_util.run_deprecated_v1 |
| 147 | def testInfNan(self): |
| 148 | i4 = np.iinfo(np.int32) |
| 149 | i8 = np.iinfo(np.int64) |
| 150 | |
| 151 | self._compare(np.inf, np.float32, np.inf, False) |
| 152 | self._compare(np.inf, np.float64, np.inf, False) |
| 153 | if sys.byteorder == "big": |
| 154 | self._compare(np.inf, np.int32, i4.max, False) |
| 155 | self._compare(np.inf, np.int64, i8.max, False) |
| 156 | else: |
| 157 | # np.float64("np.inf").astype(np.int32) is negative on x86 but positive on ppc64le |
| 158 | # Numpy link to relevant discussion - https://github.com/numpy/numpy/issues/9040 |
| 159 | # Tensorflow link to relevant discussion - https://github.com/tensorflow/tensorflow/issues/9360 |
| 160 | if platform.machine() == "ppc64le" or platform.machine() == "aarch64": |
| 161 | self._compare(-np.inf, np.int32, i4.min, False) |
| 162 | self._compare(-np.inf, np.int64, i8.min, False) |
| 163 | else: |
| 164 | self._compare(np.inf, np.int32, i4.min, False) |
| 165 | self._compare(np.inf, np.int64, i8.min, False) |
| 166 | self._compare(-np.inf, np.float32, -np.inf, False) |
| 167 | self._compare(-np.inf, np.float64, -np.inf, False) |
| 168 | self._compare(-np.inf, np.int32, i4.min, False) |
| 169 | self._compare(-np.inf, np.int64, i8.min, False) |
| 170 | self.assertAllEqual(np.isnan(self._cast(np.nan, np.float32, False)), True) |
| 171 | self.assertAllEqual(np.isnan(self._cast(np.nan, np.float64, False)), True) |
| 172 | # np.float64(np.nan).astype(np.int32) is 0 on ARM |
| 173 | if platform.machine() == "aarch64": |
| 174 | self._compare(np.nan, np.int32, 0, False) |
| 175 | self._compare(np.nan, np.int64, 0, False) |
| 176 | else: |
| 177 | self._compare(np.nan, np.int32, i4.min, False) |
| 178 | self._compare(np.nan, np.int64, i8.min, False) |
| 179 | |
| 180 | self._compare(np.inf, np.float32, np.inf, True) |
| 181 | self._compare(np.inf, np.float64, np.inf, True) |
| 182 | self._compare(-np.inf, np.float32, -np.inf, True) |
| 183 | self._compare(-np.inf, np.float64, -np.inf, True) |
| 184 | self.assertAllEqual(np.isnan(self._cast(np.nan, np.float32, True)), True) |
| 185 | self.assertAllEqual(np.isnan(self._cast(np.nan, np.float64, True)), True) |
| 186 | |
| 187 | def _OpError(self, x, dtype, err): |
| 188 | with self.cached_session(): |
nothing calls this directly
no test coverage detected