mirror of
https://github.com/ml-explore/mlx.git
synced 2025-07-16 13:51:13 +08:00
fix type cast error in item() for bfloat16 (#339)
Co-authored-by: xuan <xuan@apple.com>
This commit is contained in:
parent
e09bf35b28
commit
350095ce6e
@ -64,7 +64,7 @@ auto to_scalar(array& a) {
|
|||||||
case float32:
|
case float32:
|
||||||
return py::cast(a.item<float>(retain_graph));
|
return py::cast(a.item<float>(retain_graph));
|
||||||
case bfloat16:
|
case bfloat16:
|
||||||
return py::cast(static_cast<float>(a.item<float16_t>(retain_graph)));
|
return py::cast(static_cast<float>(a.item<bfloat16_t>(retain_graph)));
|
||||||
case complex64:
|
case complex64:
|
||||||
return py::cast(a.item<std::complex<float>>(retain_graph));
|
return py::cast(a.item<std::complex<float>>(retain_graph));
|
||||||
}
|
}
|
||||||
|
@ -102,6 +102,9 @@ class TestArray(mlx_tests.MLXTestCase):
|
|||||||
self.assertEqual(x.item(), 1)
|
self.assertEqual(x.item(), 1)
|
||||||
self.assertTrue(isinstance(x.item(), int))
|
self.assertTrue(isinstance(x.item(), int))
|
||||||
|
|
||||||
|
x = mx.array(1, mx.bfloat16)
|
||||||
|
self.assertEqual(x.item(), 1.0)
|
||||||
|
|
||||||
x = mx.array(1.0)
|
x = mx.array(1.0)
|
||||||
self.assertEqual(x.size, 1)
|
self.assertEqual(x.size, 1)
|
||||||
self.assertEqual(x.ndim, 0)
|
self.assertEqual(x.ndim, 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user