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