summaryrefslogtreecommitdiff
path: root/mlir/unittests/Support/MathExtrasTest.cpp
blob: 6ece2dc560837905a30b339f97a0dbe63eeb17e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//===- MathExtrasTest.cpp - MathExtras Tests ------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "mlir/Support/MathExtras.h"
#include "gmock/gmock.h"

using namespace mlir;
using ::testing::Eq;

TEST(MathExtrasTest, CeilDivTest) {
  EXPECT_THAT(ceilDiv(14, 3), Eq(5));
  EXPECT_THAT(ceilDiv(14, -3), Eq(-4));
  EXPECT_THAT(ceilDiv(-14, -3), Eq(5));
  EXPECT_THAT(ceilDiv(-14, 3), Eq(-4));
  EXPECT_THAT(ceilDiv(0, 3), Eq(0));
  EXPECT_THAT(ceilDiv(0, -3), Eq(0));
}

TEST(MathExtrasTest, FloorDivTest) {
  EXPECT_THAT(floorDiv(14, 3), Eq(4));
  EXPECT_THAT(floorDiv(14, -3), Eq(-5));
  EXPECT_THAT(floorDiv(-14, -3), Eq(4));
  EXPECT_THAT(floorDiv(-14, 3), Eq(-5));
  EXPECT_THAT(floorDiv(0, 3), Eq(0));
  EXPECT_THAT(floorDiv(0, -3), Eq(0));
}