xref: /aosp_15_r20/external/webrtc/third_party/abseil-cpp/absl/numeric/BUILD.bazel (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1# Copyright 2018 The Abseil Authors.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15load(
16    "//absl:copts/configure_copts.bzl",
17    "ABSL_DEFAULT_COPTS",
18    "ABSL_DEFAULT_LINKOPTS",
19    "ABSL_TEST_COPTS",
20)
21
22package(default_visibility = ["//visibility:public"])
23
24licenses(["notice"])
25
26cc_library(
27    name = "bits",
28    hdrs = [
29        "bits.h",
30        "internal/bits.h",
31    ],
32    copts = ABSL_DEFAULT_COPTS,
33    linkopts = ABSL_DEFAULT_LINKOPTS,
34    deps = [
35        "//absl/base:config",
36        "//absl/base:core_headers",
37    ],
38)
39
40cc_binary(
41    name = "bits_benchmark",
42    testonly = 1,
43    srcs = ["bits_benchmark.cc"],
44    copts = ABSL_DEFAULT_COPTS,
45    linkopts = ABSL_DEFAULT_LINKOPTS,
46    deps = [
47        ":bits",
48        "//absl/base:core_headers",
49        "//absl/random",
50        "@com_github_google_benchmark//:benchmark_main",
51    ],
52)
53
54cc_test(
55    name = "bits_test",
56    size = "small",
57    srcs = [
58        "bits_test.cc",
59    ],
60    copts = ABSL_TEST_COPTS,
61    linkopts = ABSL_DEFAULT_LINKOPTS,
62    deps = [
63        ":bits",
64        "//absl/random",
65        "@com_google_googletest//:gtest_main",
66    ],
67)
68
69cc_library(
70    name = "int128",
71    srcs = [
72        "int128.cc",
73        "int128_have_intrinsic.inc",
74        "int128_no_intrinsic.inc",
75    ],
76    hdrs = ["int128.h"],
77    copts = ABSL_DEFAULT_COPTS,
78    linkopts = ABSL_DEFAULT_LINKOPTS,
79    deps = [
80        ":bits",
81        "//absl/base:config",
82        "//absl/base:core_headers",
83    ],
84)
85
86cc_test(
87    name = "int128_test",
88    size = "small",
89    srcs = [
90        "int128_stream_test.cc",
91        "int128_test.cc",
92    ],
93    copts = ABSL_TEST_COPTS,
94    linkopts = ABSL_DEFAULT_LINKOPTS,
95    deps = [
96        ":int128",
97        "//absl/base",
98        "//absl/base:core_headers",
99        "//absl/hash:hash_testing",
100        "//absl/meta:type_traits",
101        "@com_google_googletest//:gtest_main",
102    ],
103)
104
105cc_test(
106    name = "int128_benchmark",
107    srcs = ["int128_benchmark.cc"],
108    copts = ABSL_TEST_COPTS,
109    linkopts = ABSL_DEFAULT_LINKOPTS,
110    tags = ["benchmark"],
111    deps = [
112        ":int128",
113        "//absl/base:config",
114        "@com_github_google_benchmark//:benchmark_main",
115    ],
116)
117
118cc_library(
119    name = "representation",
120    hdrs = [
121        "internal/representation.h",
122    ],
123    copts = ABSL_DEFAULT_COPTS,
124    linkopts = ABSL_DEFAULT_LINKOPTS,
125    deps = [
126        "//absl/base:config",
127    ],
128)
129