1*9356374aSAndroid Build Coastguard Worker# 2*9356374aSAndroid Build Coastguard Worker# Copyright 2019 The Abseil Authors. 3*9356374aSAndroid Build Coastguard Worker# 4*9356374aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 5*9356374aSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 6*9356374aSAndroid Build Coastguard Worker# You may obtain a copy of the License at 7*9356374aSAndroid Build Coastguard Worker# 8*9356374aSAndroid Build Coastguard Worker# https://www.apache.org/licenses/LICENSE-2.0 9*9356374aSAndroid Build Coastguard Worker# 10*9356374aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 11*9356374aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 12*9356374aSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*9356374aSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 14*9356374aSAndroid Build Coastguard Worker# limitations under the License. 15*9356374aSAndroid Build Coastguard Worker# 16*9356374aSAndroid Build Coastguard Worker 17*9356374aSAndroid Build Coastguard Worker# ABSL random-number generation libraries. 18*9356374aSAndroid Build Coastguard Worker 19*9356374aSAndroid Build Coastguard Workerload( 20*9356374aSAndroid Build Coastguard Worker "//absl:copts/configure_copts.bzl", 21*9356374aSAndroid Build Coastguard Worker "ABSL_DEFAULT_COPTS", 22*9356374aSAndroid Build Coastguard Worker "ABSL_DEFAULT_LINKOPTS", 23*9356374aSAndroid Build Coastguard Worker "ABSL_TEST_COPTS", 24*9356374aSAndroid Build Coastguard Worker) 25*9356374aSAndroid Build Coastguard Worker 26*9356374aSAndroid Build Coastguard Workerpackage( 27*9356374aSAndroid Build Coastguard Worker default_visibility = ["//visibility:public"], 28*9356374aSAndroid Build Coastguard Worker features = [ 29*9356374aSAndroid Build Coastguard Worker "header_modules", 30*9356374aSAndroid Build Coastguard Worker "layering_check", 31*9356374aSAndroid Build Coastguard Worker "parse_headers", 32*9356374aSAndroid Build Coastguard Worker ], 33*9356374aSAndroid Build Coastguard Worker) 34*9356374aSAndroid Build Coastguard Worker 35*9356374aSAndroid Build Coastguard Workerlicenses(["notice"]) 36*9356374aSAndroid Build Coastguard Worker 37*9356374aSAndroid Build Coastguard Workercc_library( 38*9356374aSAndroid Build Coastguard Worker name = "random", 39*9356374aSAndroid Build Coastguard Worker hdrs = ["random.h"], 40*9356374aSAndroid Build Coastguard Worker copts = ABSL_DEFAULT_COPTS, 41*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 42*9356374aSAndroid Build Coastguard Worker deps = [ 43*9356374aSAndroid Build Coastguard Worker ":distributions", 44*9356374aSAndroid Build Coastguard Worker ":seed_sequences", 45*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:nonsecure_base", 46*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:pcg_engine", 47*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:pool_urbg", 48*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:randen_engine", 49*9356374aSAndroid Build Coastguard Worker ], 50*9356374aSAndroid Build Coastguard Worker) 51*9356374aSAndroid Build Coastguard Worker 52*9356374aSAndroid Build Coastguard Workercc_library( 53*9356374aSAndroid Build Coastguard Worker name = "distributions", 54*9356374aSAndroid Build Coastguard Worker srcs = [ 55*9356374aSAndroid Build Coastguard Worker "discrete_distribution.cc", 56*9356374aSAndroid Build Coastguard Worker "gaussian_distribution.cc", 57*9356374aSAndroid Build Coastguard Worker ], 58*9356374aSAndroid Build Coastguard Worker hdrs = [ 59*9356374aSAndroid Build Coastguard Worker "bernoulli_distribution.h", 60*9356374aSAndroid Build Coastguard Worker "beta_distribution.h", 61*9356374aSAndroid Build Coastguard Worker "discrete_distribution.h", 62*9356374aSAndroid Build Coastguard Worker "distributions.h", 63*9356374aSAndroid Build Coastguard Worker "exponential_distribution.h", 64*9356374aSAndroid Build Coastguard Worker "gaussian_distribution.h", 65*9356374aSAndroid Build Coastguard Worker "log_uniform_int_distribution.h", 66*9356374aSAndroid Build Coastguard Worker "poisson_distribution.h", 67*9356374aSAndroid Build Coastguard Worker "uniform_int_distribution.h", 68*9356374aSAndroid Build Coastguard Worker "uniform_real_distribution.h", 69*9356374aSAndroid Build Coastguard Worker "zipf_distribution.h", 70*9356374aSAndroid Build Coastguard Worker ], 71*9356374aSAndroid Build Coastguard Worker copts = ABSL_DEFAULT_COPTS, 72*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 73*9356374aSAndroid Build Coastguard Worker deps = [ 74*9356374aSAndroid Build Coastguard Worker "//absl/base:base_internal", 75*9356374aSAndroid Build Coastguard Worker "//absl/base:config", 76*9356374aSAndroid Build Coastguard Worker "//absl/base:core_headers", 77*9356374aSAndroid Build Coastguard Worker "//absl/meta:type_traits", 78*9356374aSAndroid Build Coastguard Worker "//absl/numeric:bits", 79*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:distribution_caller", 80*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:fast_uniform_bits", 81*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:fastmath", 82*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:generate_real", 83*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:iostream_state_saver", 84*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:traits", 85*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:uniform_helper", 86*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:wide_multiply", 87*9356374aSAndroid Build Coastguard Worker "//absl/strings", 88*9356374aSAndroid Build Coastguard Worker ], 89*9356374aSAndroid Build Coastguard Worker) 90*9356374aSAndroid Build Coastguard Worker 91*9356374aSAndroid Build Coastguard Workercc_library( 92*9356374aSAndroid Build Coastguard Worker name = "seed_gen_exception", 93*9356374aSAndroid Build Coastguard Worker srcs = ["seed_gen_exception.cc"], 94*9356374aSAndroid Build Coastguard Worker hdrs = ["seed_gen_exception.h"], 95*9356374aSAndroid Build Coastguard Worker copts = ABSL_DEFAULT_COPTS, 96*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 97*9356374aSAndroid Build Coastguard Worker deps = ["//absl/base:config"], 98*9356374aSAndroid Build Coastguard Worker) 99*9356374aSAndroid Build Coastguard Worker 100*9356374aSAndroid Build Coastguard Workercc_library( 101*9356374aSAndroid Build Coastguard Worker name = "seed_sequences", 102*9356374aSAndroid Build Coastguard Worker srcs = ["seed_sequences.cc"], 103*9356374aSAndroid Build Coastguard Worker hdrs = [ 104*9356374aSAndroid Build Coastguard Worker "seed_sequences.h", 105*9356374aSAndroid Build Coastguard Worker ], 106*9356374aSAndroid Build Coastguard Worker copts = ABSL_DEFAULT_COPTS, 107*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 108*9356374aSAndroid Build Coastguard Worker deps = [ 109*9356374aSAndroid Build Coastguard Worker ":seed_gen_exception", 110*9356374aSAndroid Build Coastguard Worker "//absl/base:config", 111*9356374aSAndroid Build Coastguard Worker "//absl/base:nullability", 112*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:pool_urbg", 113*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:salted_seed_seq", 114*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:seed_material", 115*9356374aSAndroid Build Coastguard Worker "//absl/strings:string_view", 116*9356374aSAndroid Build Coastguard Worker "//absl/types:span", 117*9356374aSAndroid Build Coastguard Worker ], 118*9356374aSAndroid Build Coastguard Worker) 119*9356374aSAndroid Build Coastguard Worker 120*9356374aSAndroid Build Coastguard Workercc_library( 121*9356374aSAndroid Build Coastguard Worker name = "bit_gen_ref", 122*9356374aSAndroid Build Coastguard Worker hdrs = ["bit_gen_ref.h"], 123*9356374aSAndroid Build Coastguard Worker copts = ABSL_DEFAULT_COPTS, 124*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 125*9356374aSAndroid Build Coastguard Worker deps = [ 126*9356374aSAndroid Build Coastguard Worker ":random", 127*9356374aSAndroid Build Coastguard Worker "//absl/base:core_headers", 128*9356374aSAndroid Build Coastguard Worker "//absl/base:fast_type_id", 129*9356374aSAndroid Build Coastguard Worker "//absl/meta:type_traits", 130*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:distribution_caller", 131*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:fast_uniform_bits", 132*9356374aSAndroid Build Coastguard Worker ], 133*9356374aSAndroid Build Coastguard Worker) 134*9356374aSAndroid Build Coastguard Worker 135*9356374aSAndroid Build Coastguard Workercc_library( 136*9356374aSAndroid Build Coastguard Worker name = "mock_distributions", 137*9356374aSAndroid Build Coastguard Worker testonly = True, 138*9356374aSAndroid Build Coastguard Worker hdrs = ["mock_distributions.h"], 139*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 140*9356374aSAndroid Build Coastguard Worker deps = [ 141*9356374aSAndroid Build Coastguard Worker ":distributions", 142*9356374aSAndroid Build Coastguard Worker ":mocking_bit_gen", 143*9356374aSAndroid Build Coastguard Worker "//absl/base:config", 144*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:mock_overload_set", 145*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:mock_validators", 146*9356374aSAndroid Build Coastguard Worker ], 147*9356374aSAndroid Build Coastguard Worker) 148*9356374aSAndroid Build Coastguard Worker 149*9356374aSAndroid Build Coastguard Workercc_library( 150*9356374aSAndroid Build Coastguard Worker name = "mocking_bit_gen", 151*9356374aSAndroid Build Coastguard Worker testonly = True, 152*9356374aSAndroid Build Coastguard Worker hdrs = [ 153*9356374aSAndroid Build Coastguard Worker "mocking_bit_gen.h", 154*9356374aSAndroid Build Coastguard Worker ], 155*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 156*9356374aSAndroid Build Coastguard Worker deps = [ 157*9356374aSAndroid Build Coastguard Worker ":random", 158*9356374aSAndroid Build Coastguard Worker "//absl/base:config", 159*9356374aSAndroid Build Coastguard Worker "//absl/base:core_headers", 160*9356374aSAndroid Build Coastguard Worker "//absl/base:fast_type_id", 161*9356374aSAndroid Build Coastguard Worker "//absl/container:flat_hash_map", 162*9356374aSAndroid Build Coastguard Worker "//absl/meta:type_traits", 163*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:mock_helpers", 164*9356374aSAndroid Build Coastguard Worker "//absl/utility", 165*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 166*9356374aSAndroid Build Coastguard Worker ], 167*9356374aSAndroid Build Coastguard Worker) 168*9356374aSAndroid Build Coastguard Worker 169*9356374aSAndroid Build Coastguard Workercc_test( 170*9356374aSAndroid Build Coastguard Worker name = "bernoulli_distribution_test", 171*9356374aSAndroid Build Coastguard Worker size = "small", 172*9356374aSAndroid Build Coastguard Worker timeout = "eternal", # Android can take a very long time 173*9356374aSAndroid Build Coastguard Worker srcs = ["bernoulli_distribution_test.cc"], 174*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 175*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 176*9356374aSAndroid Build Coastguard Worker deps = [ 177*9356374aSAndroid Build Coastguard Worker ":distributions", 178*9356374aSAndroid Build Coastguard Worker ":random", 179*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:pcg_engine", 180*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:sequence_urbg", 181*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 182*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 183*9356374aSAndroid Build Coastguard Worker ], 184*9356374aSAndroid Build Coastguard Worker) 185*9356374aSAndroid Build Coastguard Worker 186*9356374aSAndroid Build Coastguard Workercc_test( 187*9356374aSAndroid Build Coastguard Worker name = "beta_distribution_test", 188*9356374aSAndroid Build Coastguard Worker size = "small", 189*9356374aSAndroid Build Coastguard Worker timeout = "eternal", # Android can take a very long time 190*9356374aSAndroid Build Coastguard Worker srcs = ["beta_distribution_test.cc"], 191*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 192*9356374aSAndroid Build Coastguard Worker flaky = 1, 193*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 194*9356374aSAndroid Build Coastguard Worker tags = [ 195*9356374aSAndroid Build Coastguard Worker "no_test_wasm", 196*9356374aSAndroid Build Coastguard Worker ], 197*9356374aSAndroid Build Coastguard Worker deps = [ 198*9356374aSAndroid Build Coastguard Worker ":distributions", 199*9356374aSAndroid Build Coastguard Worker ":random", 200*9356374aSAndroid Build Coastguard Worker "//absl/log", 201*9356374aSAndroid Build Coastguard Worker "//absl/numeric:representation", 202*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:distribution_test_util", 203*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:pcg_engine", 204*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:sequence_urbg", 205*9356374aSAndroid Build Coastguard Worker "//absl/strings", 206*9356374aSAndroid Build Coastguard Worker "//absl/strings:str_format", 207*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 208*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 209*9356374aSAndroid Build Coastguard Worker ], 210*9356374aSAndroid Build Coastguard Worker) 211*9356374aSAndroid Build Coastguard Worker 212*9356374aSAndroid Build Coastguard Workercc_test( 213*9356374aSAndroid Build Coastguard Worker name = "distributions_test", 214*9356374aSAndroid Build Coastguard Worker size = "small", 215*9356374aSAndroid Build Coastguard Worker timeout = "moderate", 216*9356374aSAndroid Build Coastguard Worker srcs = [ 217*9356374aSAndroid Build Coastguard Worker "distributions_test.cc", 218*9356374aSAndroid Build Coastguard Worker ], 219*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 220*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 221*9356374aSAndroid Build Coastguard Worker deps = [ 222*9356374aSAndroid Build Coastguard Worker ":distributions", 223*9356374aSAndroid Build Coastguard Worker ":random", 224*9356374aSAndroid Build Coastguard Worker "//absl/meta:type_traits", 225*9356374aSAndroid Build Coastguard Worker "//absl/numeric:int128", 226*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:distribution_test_util", 227*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 228*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 229*9356374aSAndroid Build Coastguard Worker ], 230*9356374aSAndroid Build Coastguard Worker) 231*9356374aSAndroid Build Coastguard Worker 232*9356374aSAndroid Build Coastguard Workercc_test( 233*9356374aSAndroid Build Coastguard Worker name = "generators_test", 234*9356374aSAndroid Build Coastguard Worker size = "small", 235*9356374aSAndroid Build Coastguard Worker srcs = ["generators_test.cc"], 236*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 237*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 238*9356374aSAndroid Build Coastguard Worker deps = [ 239*9356374aSAndroid Build Coastguard Worker ":distributions", 240*9356374aSAndroid Build Coastguard Worker ":random", 241*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 242*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 243*9356374aSAndroid Build Coastguard Worker ], 244*9356374aSAndroid Build Coastguard Worker) 245*9356374aSAndroid Build Coastguard Worker 246*9356374aSAndroid Build Coastguard Workercc_test( 247*9356374aSAndroid Build Coastguard Worker name = "log_uniform_int_distribution_test", 248*9356374aSAndroid Build Coastguard Worker size = "medium", 249*9356374aSAndroid Build Coastguard Worker srcs = [ 250*9356374aSAndroid Build Coastguard Worker "log_uniform_int_distribution_test.cc", 251*9356374aSAndroid Build Coastguard Worker ], 252*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 253*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 254*9356374aSAndroid Build Coastguard Worker tags = [ 255*9356374aSAndroid Build Coastguard Worker "no_test_wasm", # Does not converge on WASM. 256*9356374aSAndroid Build Coastguard Worker ], 257*9356374aSAndroid Build Coastguard Worker deps = [ 258*9356374aSAndroid Build Coastguard Worker ":distributions", 259*9356374aSAndroid Build Coastguard Worker ":random", 260*9356374aSAndroid Build Coastguard Worker "//absl/log", 261*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:distribution_test_util", 262*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:pcg_engine", 263*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:sequence_urbg", 264*9356374aSAndroid Build Coastguard Worker "//absl/strings", 265*9356374aSAndroid Build Coastguard Worker "//absl/strings:str_format", 266*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 267*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 268*9356374aSAndroid Build Coastguard Worker ], 269*9356374aSAndroid Build Coastguard Worker) 270*9356374aSAndroid Build Coastguard Worker 271*9356374aSAndroid Build Coastguard Workercc_test( 272*9356374aSAndroid Build Coastguard Worker name = "discrete_distribution_test", 273*9356374aSAndroid Build Coastguard Worker size = "medium", 274*9356374aSAndroid Build Coastguard Worker srcs = [ 275*9356374aSAndroid Build Coastguard Worker "discrete_distribution_test.cc", 276*9356374aSAndroid Build Coastguard Worker ], 277*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 278*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 279*9356374aSAndroid Build Coastguard Worker deps = [ 280*9356374aSAndroid Build Coastguard Worker ":distributions", 281*9356374aSAndroid Build Coastguard Worker ":random", 282*9356374aSAndroid Build Coastguard Worker "//absl/log", 283*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:distribution_test_util", 284*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:pcg_engine", 285*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:sequence_urbg", 286*9356374aSAndroid Build Coastguard Worker "//absl/strings", 287*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 288*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 289*9356374aSAndroid Build Coastguard Worker ], 290*9356374aSAndroid Build Coastguard Worker) 291*9356374aSAndroid Build Coastguard Worker 292*9356374aSAndroid Build Coastguard Workercc_test( 293*9356374aSAndroid Build Coastguard Worker name = "poisson_distribution_test", 294*9356374aSAndroid Build Coastguard Worker size = "small", 295*9356374aSAndroid Build Coastguard Worker timeout = "eternal", # Android can take a very long time 296*9356374aSAndroid Build Coastguard Worker srcs = [ 297*9356374aSAndroid Build Coastguard Worker "poisson_distribution_test.cc", 298*9356374aSAndroid Build Coastguard Worker ], 299*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 300*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 301*9356374aSAndroid Build Coastguard Worker tags = [ 302*9356374aSAndroid Build Coastguard Worker # Too Slow. 303*9356374aSAndroid Build Coastguard Worker "no_test_android_arm", 304*9356374aSAndroid Build Coastguard Worker "no_test_loonix", 305*9356374aSAndroid Build Coastguard Worker ], 306*9356374aSAndroid Build Coastguard Worker deps = [ 307*9356374aSAndroid Build Coastguard Worker ":distributions", 308*9356374aSAndroid Build Coastguard Worker ":random", 309*9356374aSAndroid Build Coastguard Worker "//absl/base:core_headers", 310*9356374aSAndroid Build Coastguard Worker "//absl/container:flat_hash_map", 311*9356374aSAndroid Build Coastguard Worker "//absl/log", 312*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:distribution_test_util", 313*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:pcg_engine", 314*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:sequence_urbg", 315*9356374aSAndroid Build Coastguard Worker "//absl/strings", 316*9356374aSAndroid Build Coastguard Worker "//absl/strings:str_format", 317*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 318*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 319*9356374aSAndroid Build Coastguard Worker ], 320*9356374aSAndroid Build Coastguard Worker) 321*9356374aSAndroid Build Coastguard Worker 322*9356374aSAndroid Build Coastguard Workercc_test( 323*9356374aSAndroid Build Coastguard Worker name = "exponential_distribution_test", 324*9356374aSAndroid Build Coastguard Worker size = "small", 325*9356374aSAndroid Build Coastguard Worker timeout = "moderate", 326*9356374aSAndroid Build Coastguard Worker srcs = ["exponential_distribution_test.cc"], 327*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 328*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 329*9356374aSAndroid Build Coastguard Worker deps = [ 330*9356374aSAndroid Build Coastguard Worker ":distributions", 331*9356374aSAndroid Build Coastguard Worker ":random", 332*9356374aSAndroid Build Coastguard Worker "//absl/base:core_headers", 333*9356374aSAndroid Build Coastguard Worker "//absl/log", 334*9356374aSAndroid Build Coastguard Worker "//absl/numeric:representation", 335*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:distribution_test_util", 336*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:pcg_engine", 337*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:sequence_urbg", 338*9356374aSAndroid Build Coastguard Worker "//absl/strings", 339*9356374aSAndroid Build Coastguard Worker "//absl/strings:str_format", 340*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 341*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 342*9356374aSAndroid Build Coastguard Worker ], 343*9356374aSAndroid Build Coastguard Worker) 344*9356374aSAndroid Build Coastguard Worker 345*9356374aSAndroid Build Coastguard Workercc_test( 346*9356374aSAndroid Build Coastguard Worker name = "gaussian_distribution_test", 347*9356374aSAndroid Build Coastguard Worker size = "small", 348*9356374aSAndroid Build Coastguard Worker timeout = "eternal", # Android can take a very long time 349*9356374aSAndroid Build Coastguard Worker srcs = [ 350*9356374aSAndroid Build Coastguard Worker "gaussian_distribution_test.cc", 351*9356374aSAndroid Build Coastguard Worker ], 352*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 353*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 354*9356374aSAndroid Build Coastguard Worker deps = [ 355*9356374aSAndroid Build Coastguard Worker ":distributions", 356*9356374aSAndroid Build Coastguard Worker ":random", 357*9356374aSAndroid Build Coastguard Worker "//absl/base:core_headers", 358*9356374aSAndroid Build Coastguard Worker "//absl/log", 359*9356374aSAndroid Build Coastguard Worker "//absl/numeric:representation", 360*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:distribution_test_util", 361*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:sequence_urbg", 362*9356374aSAndroid Build Coastguard Worker "//absl/strings", 363*9356374aSAndroid Build Coastguard Worker "//absl/strings:str_format", 364*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 365*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 366*9356374aSAndroid Build Coastguard Worker ], 367*9356374aSAndroid Build Coastguard Worker) 368*9356374aSAndroid Build Coastguard Worker 369*9356374aSAndroid Build Coastguard Workercc_test( 370*9356374aSAndroid Build Coastguard Worker name = "uniform_int_distribution_test", 371*9356374aSAndroid Build Coastguard Worker size = "medium", 372*9356374aSAndroid Build Coastguard Worker timeout = "long", 373*9356374aSAndroid Build Coastguard Worker srcs = [ 374*9356374aSAndroid Build Coastguard Worker "uniform_int_distribution_test.cc", 375*9356374aSAndroid Build Coastguard Worker ], 376*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 377*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 378*9356374aSAndroid Build Coastguard Worker deps = [ 379*9356374aSAndroid Build Coastguard Worker ":distributions", 380*9356374aSAndroid Build Coastguard Worker ":random", 381*9356374aSAndroid Build Coastguard Worker "//absl/log", 382*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:distribution_test_util", 383*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:pcg_engine", 384*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:sequence_urbg", 385*9356374aSAndroid Build Coastguard Worker "//absl/strings", 386*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 387*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 388*9356374aSAndroid Build Coastguard Worker ], 389*9356374aSAndroid Build Coastguard Worker) 390*9356374aSAndroid Build Coastguard Worker 391*9356374aSAndroid Build Coastguard Workercc_test( 392*9356374aSAndroid Build Coastguard Worker name = "uniform_real_distribution_test", 393*9356374aSAndroid Build Coastguard Worker size = "medium", 394*9356374aSAndroid Build Coastguard Worker srcs = [ 395*9356374aSAndroid Build Coastguard Worker "uniform_real_distribution_test.cc", 396*9356374aSAndroid Build Coastguard Worker ], 397*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 398*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 399*9356374aSAndroid Build Coastguard Worker tags = [ 400*9356374aSAndroid Build Coastguard Worker "no_test_android_arm", 401*9356374aSAndroid Build Coastguard Worker "no_test_android_arm64", 402*9356374aSAndroid Build Coastguard Worker "no_test_android_x86", 403*9356374aSAndroid Build Coastguard Worker ], 404*9356374aSAndroid Build Coastguard Worker deps = [ 405*9356374aSAndroid Build Coastguard Worker ":distributions", 406*9356374aSAndroid Build Coastguard Worker ":random", 407*9356374aSAndroid Build Coastguard Worker "//absl/log", 408*9356374aSAndroid Build Coastguard Worker "//absl/numeric:representation", 409*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:distribution_test_util", 410*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:pcg_engine", 411*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:sequence_urbg", 412*9356374aSAndroid Build Coastguard Worker "//absl/strings", 413*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 414*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 415*9356374aSAndroid Build Coastguard Worker ], 416*9356374aSAndroid Build Coastguard Worker) 417*9356374aSAndroid Build Coastguard Worker 418*9356374aSAndroid Build Coastguard Workercc_test( 419*9356374aSAndroid Build Coastguard Worker name = "zipf_distribution_test", 420*9356374aSAndroid Build Coastguard Worker size = "medium", 421*9356374aSAndroid Build Coastguard Worker srcs = [ 422*9356374aSAndroid Build Coastguard Worker "zipf_distribution_test.cc", 423*9356374aSAndroid Build Coastguard Worker ], 424*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 425*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 426*9356374aSAndroid Build Coastguard Worker deps = [ 427*9356374aSAndroid Build Coastguard Worker ":distributions", 428*9356374aSAndroid Build Coastguard Worker ":random", 429*9356374aSAndroid Build Coastguard Worker "//absl/log", 430*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:distribution_test_util", 431*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:pcg_engine", 432*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:sequence_urbg", 433*9356374aSAndroid Build Coastguard Worker "//absl/strings", 434*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 435*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 436*9356374aSAndroid Build Coastguard Worker ], 437*9356374aSAndroid Build Coastguard Worker) 438*9356374aSAndroid Build Coastguard Worker 439*9356374aSAndroid Build Coastguard Workercc_test( 440*9356374aSAndroid Build Coastguard Worker name = "bit_gen_ref_test", 441*9356374aSAndroid Build Coastguard Worker size = "small", 442*9356374aSAndroid Build Coastguard Worker srcs = ["bit_gen_ref_test.cc"], 443*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 444*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 445*9356374aSAndroid Build Coastguard Worker deps = [ 446*9356374aSAndroid Build Coastguard Worker ":bit_gen_ref", 447*9356374aSAndroid Build Coastguard Worker ":random", 448*9356374aSAndroid Build Coastguard Worker "//absl/base:fast_type_id", 449*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:sequence_urbg", 450*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 451*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 452*9356374aSAndroid Build Coastguard Worker ], 453*9356374aSAndroid Build Coastguard Worker) 454*9356374aSAndroid Build Coastguard Worker 455*9356374aSAndroid Build Coastguard Workercc_test( 456*9356374aSAndroid Build Coastguard Worker name = "mocking_bit_gen_test", 457*9356374aSAndroid Build Coastguard Worker size = "small", 458*9356374aSAndroid Build Coastguard Worker srcs = ["mocking_bit_gen_test.cc"], 459*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 460*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 461*9356374aSAndroid Build Coastguard Worker tags = [ 462*9356374aSAndroid Build Coastguard Worker "no_test_wasm", 463*9356374aSAndroid Build Coastguard Worker ], 464*9356374aSAndroid Build Coastguard Worker deps = [ 465*9356374aSAndroid Build Coastguard Worker ":bit_gen_ref", 466*9356374aSAndroid Build Coastguard Worker ":mock_distributions", 467*9356374aSAndroid Build Coastguard Worker ":mocking_bit_gen", 468*9356374aSAndroid Build Coastguard Worker ":random", 469*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 470*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 471*9356374aSAndroid Build Coastguard Worker ], 472*9356374aSAndroid Build Coastguard Worker) 473*9356374aSAndroid Build Coastguard Worker 474*9356374aSAndroid Build Coastguard Workercc_test( 475*9356374aSAndroid Build Coastguard Worker name = "mock_distributions_test", 476*9356374aSAndroid Build Coastguard Worker size = "small", 477*9356374aSAndroid Build Coastguard Worker srcs = ["mock_distributions_test.cc"], 478*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 479*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 480*9356374aSAndroid Build Coastguard Worker tags = [ 481*9356374aSAndroid Build Coastguard Worker "no_test_wasm", 482*9356374aSAndroid Build Coastguard Worker ], 483*9356374aSAndroid Build Coastguard Worker deps = [ 484*9356374aSAndroid Build Coastguard Worker ":distributions", 485*9356374aSAndroid Build Coastguard Worker ":mock_distributions", 486*9356374aSAndroid Build Coastguard Worker ":mocking_bit_gen", 487*9356374aSAndroid Build Coastguard Worker ":random", 488*9356374aSAndroid Build Coastguard Worker "//absl/numeric:int128", 489*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 490*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 491*9356374aSAndroid Build Coastguard Worker ], 492*9356374aSAndroid Build Coastguard Worker) 493*9356374aSAndroid Build Coastguard Worker 494*9356374aSAndroid Build Coastguard Workercc_test( 495*9356374aSAndroid Build Coastguard Worker name = "examples_test", 496*9356374aSAndroid Build Coastguard Worker size = "small", 497*9356374aSAndroid Build Coastguard Worker srcs = ["examples_test.cc"], 498*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 499*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 500*9356374aSAndroid Build Coastguard Worker tags = [ 501*9356374aSAndroid Build Coastguard Worker "no_test_wasm", 502*9356374aSAndroid Build Coastguard Worker ], 503*9356374aSAndroid Build Coastguard Worker deps = [ 504*9356374aSAndroid Build Coastguard Worker ":random", 505*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 506*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 507*9356374aSAndroid Build Coastguard Worker ], 508*9356374aSAndroid Build Coastguard Worker) 509*9356374aSAndroid Build Coastguard Worker 510*9356374aSAndroid Build Coastguard Workercc_test( 511*9356374aSAndroid Build Coastguard Worker name = "seed_sequences_test", 512*9356374aSAndroid Build Coastguard Worker size = "small", 513*9356374aSAndroid Build Coastguard Worker srcs = ["seed_sequences_test.cc"], 514*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 515*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 516*9356374aSAndroid Build Coastguard Worker deps = [ 517*9356374aSAndroid Build Coastguard Worker ":random", 518*9356374aSAndroid Build Coastguard Worker ":seed_sequences", 519*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:nonsecure_base", 520*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 521*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 522*9356374aSAndroid Build Coastguard Worker ], 523*9356374aSAndroid Build Coastguard Worker) 524*9356374aSAndroid Build Coastguard Worker 525*9356374aSAndroid Build Coastguard Worker# Benchmarks for various methods / test utilities 526*9356374aSAndroid Build Coastguard Workercc_binary( 527*9356374aSAndroid Build Coastguard Worker name = "benchmarks", 528*9356374aSAndroid Build Coastguard Worker testonly = True, 529*9356374aSAndroid Build Coastguard Worker srcs = [ 530*9356374aSAndroid Build Coastguard Worker "benchmarks.cc", 531*9356374aSAndroid Build Coastguard Worker ], 532*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 533*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 534*9356374aSAndroid Build Coastguard Worker tags = ["benchmark"], 535*9356374aSAndroid Build Coastguard Worker deps = [ 536*9356374aSAndroid Build Coastguard Worker ":distributions", 537*9356374aSAndroid Build Coastguard Worker ":random", 538*9356374aSAndroid Build Coastguard Worker ":seed_sequences", 539*9356374aSAndroid Build Coastguard Worker "//absl/base:core_headers", 540*9356374aSAndroid Build Coastguard Worker "//absl/meta:type_traits", 541*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:fast_uniform_bits", 542*9356374aSAndroid Build Coastguard Worker "//absl/random/internal:randen_engine", 543*9356374aSAndroid Build Coastguard Worker "@com_github_google_benchmark//:benchmark_main", 544*9356374aSAndroid Build Coastguard Worker ], 545*9356374aSAndroid Build Coastguard Worker) 546