mirror of
https://github.com/ml-explore/mlx.git
synced 2025-09-07 00:54:37 +08:00
@@ -773,6 +773,29 @@ TEST_CASE("test arithmetic unary ops") {
|
||||
|
||||
constexpr float neginf = -std::numeric_limits<float>::infinity();
|
||||
|
||||
// Test floor and ceil
|
||||
{
|
||||
array x(1.0f);
|
||||
CHECK_EQ(floor(x).item<float>(), 1.0f);
|
||||
CHECK_EQ(ceil(x).item<float>(), 1.0f);
|
||||
|
||||
x = array(1.5f);
|
||||
CHECK_EQ(floor(x).item<float>(), 1.0f);
|
||||
CHECK_EQ(ceil(x).item<float>(), 2.0f);
|
||||
|
||||
x = array(-1.5f);
|
||||
CHECK_EQ(floor(x).item<float>(), -2.0f);
|
||||
CHECK_EQ(ceil(x).item<float>(), -1.0f);
|
||||
|
||||
x = array(neginf);
|
||||
CHECK_EQ(floor(x).item<float>(), neginf);
|
||||
CHECK_EQ(ceil(x).item<float>(), neginf);
|
||||
|
||||
x = array(std::complex<float>(1.0f, 1.0f));
|
||||
CHECK_THROWS_AS(floor(x), std::invalid_argument);
|
||||
CHECK_THROWS_AS(ceil(x), std::invalid_argument);
|
||||
}
|
||||
|
||||
// Test exponential
|
||||
{
|
||||
array x(0.0);
|
||||
|
Reference in New Issue
Block a user