xref: /aosp_15_r20/external/FXdiv/BUILD.bazel (revision 46dbe23922d2f68acf6638846c68716fcec3e8fa)
1*46dbe239SXin Liload("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
2*46dbe239SXin Li
3*46dbe239SXin Lilicenses(["notice"])
4*46dbe239SXin Li
5*46dbe239SXin Liexports_files(["LICENSE"])
6*46dbe239SXin Li
7*46dbe239SXin Li################################# FXdiv library ################################
8*46dbe239SXin Li
9*46dbe239SXin Licc_library(
10*46dbe239SXin Li    name = "FXdiv",
11*46dbe239SXin Li    hdrs = [
12*46dbe239SXin Li        "include/fxdiv.h",
13*46dbe239SXin Li    ],
14*46dbe239SXin Li    includes = [
15*46dbe239SXin Li        "include",
16*46dbe239SXin Li    ],
17*46dbe239SXin Li    strip_include_prefix = "include",
18*46dbe239SXin Li    deps = [],
19*46dbe239SXin Li    visibility = ["//visibility:public"],
20*46dbe239SXin Li)
21*46dbe239SXin Li
22*46dbe239SXin Li################################## Unit tests ##################################
23*46dbe239SXin Li
24*46dbe239SXin Licc_test(
25*46dbe239SXin Li    name = "multiply_high_test",
26*46dbe239SXin Li    srcs = ["test/multiply-high.cc"],
27*46dbe239SXin Li    deps = [
28*46dbe239SXin Li        ":FXdiv",
29*46dbe239SXin Li        "@com_google_googletest//:gtest_main",
30*46dbe239SXin Li    ],
31*46dbe239SXin Li)
32*46dbe239SXin Li
33*46dbe239SXin Licc_test(
34*46dbe239SXin Li    name = "quotient_test",
35*46dbe239SXin Li    srcs = ["test/quotient.cc"],
36*46dbe239SXin Li    deps = [
37*46dbe239SXin Li        ":FXdiv",
38*46dbe239SXin Li        "@com_google_googletest//:gtest_main",
39*46dbe239SXin Li    ],
40*46dbe239SXin Li)
41*46dbe239SXin Li
42*46dbe239SXin Li################################## Benchmarks ##################################
43*46dbe239SXin Li
44*46dbe239SXin Licc_binary(
45*46dbe239SXin Li    name = "init_bench",
46*46dbe239SXin Li    srcs = ["bench/init.cc"],
47*46dbe239SXin Li    deps = [
48*46dbe239SXin Li        ":FXdiv",
49*46dbe239SXin Li        "@com_google_benchmark//:benchmark",
50*46dbe239SXin Li    ],
51*46dbe239SXin Li)
52*46dbe239SXin Li
53*46dbe239SXin Licc_binary(
54*46dbe239SXin Li    name = "multiply_bench",
55*46dbe239SXin Li    srcs = ["bench/multiply.cc"],
56*46dbe239SXin Li    deps = [
57*46dbe239SXin Li        ":FXdiv",
58*46dbe239SXin Li        "@com_google_benchmark//:benchmark",
59*46dbe239SXin Li    ],
60*46dbe239SXin Li)
61*46dbe239SXin Li
62*46dbe239SXin Licc_binary(
63*46dbe239SXin Li    name = "divide_bench",
64*46dbe239SXin Li    srcs = ["bench/divide.cc"],
65*46dbe239SXin Li    deps = [
66*46dbe239SXin Li        ":FXdiv",
67*46dbe239SXin Li        "@com_google_benchmark//:benchmark",
68*46dbe239SXin Li    ],
69*46dbe239SXin Li)
70*46dbe239SXin Li
71*46dbe239SXin Licc_binary(
72*46dbe239SXin Li    name = "quotient_bench",
73*46dbe239SXin Li    srcs = ["bench/quotient.cc"],
74*46dbe239SXin Li    deps = [
75*46dbe239SXin Li        ":FXdiv",
76*46dbe239SXin Li        "@com_google_benchmark//:benchmark",
77*46dbe239SXin Li    ],
78*46dbe239SXin Li)
79*46dbe239SXin Li
80*46dbe239SXin Licc_binary(
81*46dbe239SXin Li    name = "round_down_bench",
82*46dbe239SXin Li    srcs = ["bench/round-down.cc"],
83*46dbe239SXin Li    deps = [
84*46dbe239SXin Li        ":FXdiv",
85*46dbe239SXin Li        "@com_google_benchmark//:benchmark",
86*46dbe239SXin Li    ],
87*46dbe239SXin Li)
88