aboutsummaryrefslogtreecommitdiff
path: root/BUILD.bazel
diff options
context:
space:
mode:
Diffstat (limited to 'BUILD.bazel')
-rw-r--r--BUILD.bazel85
1 files changed, 85 insertions, 0 deletions
diff --git a/BUILD.bazel b/BUILD.bazel
new file mode 100644
index 0000000..7b0ba72
--- /dev/null
+++ b/BUILD.bazel
@@ -0,0 +1,85 @@
+load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
+
+licenses(["notice"])
+
+################################# FXdiv library ################################
+
+cc_library(
+ name = "FXdiv",
+ hdrs = [
+ "include/fxdiv.h",
+ ],
+ includes = [
+ "include",
+ ],
+ strip_include_prefix = "include",
+ deps = [],
+ visibility = ["//visibility:public"],
+)
+
+################################## Unit tests ##################################
+
+cc_test(
+ name = "multiply_high_test",
+ srcs = ["test/multiply-high.cc"],
+ deps = [
+ ":FXdiv",
+ "@com_google_googletest//:gtest_main",
+ ],
+)
+
+cc_test(
+ name = "quotient_test",
+ srcs = ["test/quotient.cc"],
+ deps = [
+ ":FXdiv",
+ "@com_google_googletest//:gtest_main",
+ ],
+)
+
+################################## Benchmarks ##################################
+
+cc_binary(
+ name = "init_bench",
+ srcs = ["bench/init.cc"],
+ deps = [
+ ":FXdiv",
+ "@com_google_benchmark//:benchmark",
+ ],
+)
+
+cc_binary(
+ name = "multiply_bench",
+ srcs = ["bench/multiply.cc"],
+ deps = [
+ ":FXdiv",
+ "@com_google_benchmark//:benchmark",
+ ],
+)
+
+cc_binary(
+ name = "divide_bench",
+ srcs = ["bench/divide.cc"],
+ deps = [
+ ":FXdiv",
+ "@com_google_benchmark//:benchmark",
+ ],
+)
+
+cc_binary(
+ name = "quotient_bench",
+ srcs = ["bench/quotient.cc"],
+ deps = [
+ ":FXdiv",
+ "@com_google_benchmark//:benchmark",
+ ],
+)
+
+cc_binary(
+ name = "round_down_bench",
+ srcs = ["bench/round-down.cc"],
+ deps = [
+ ":FXdiv",
+ "@com_google_benchmark//:benchmark",
+ ],
+)