1# Copyright 2018 The Chromium Authors 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import("//third_party/abseil-cpp/absl.gni") 6 7absl_source_set("random") { 8 public = [ "random.h" ] 9 deps = [ 10 ":distributions", 11 ":seed_sequences", 12 "//third_party/abseil-cpp/absl/random/internal:nonsecure_base", 13 "//third_party/abseil-cpp/absl/random/internal:pcg_engine", 14 "//third_party/abseil-cpp/absl/random/internal:pool_urbg", 15 "//third_party/abseil-cpp/absl/random/internal:randen_engine", 16 ] 17} 18 19absl_source_set("distributions") { 20 public = [ 21 "bernoulli_distribution.h", 22 "beta_distribution.h", 23 "discrete_distribution.h", 24 "distributions.h", 25 "exponential_distribution.h", 26 "gaussian_distribution.h", 27 "log_uniform_int_distribution.h", 28 "poisson_distribution.h", 29 "uniform_int_distribution.h", 30 "uniform_real_distribution.h", 31 "zipf_distribution.h", 32 ] 33 sources = [ 34 "discrete_distribution.cc", 35 "gaussian_distribution.cc", 36 ] 37 deps = [ 38 "//third_party/abseil-cpp/absl/base:base_internal", 39 "//third_party/abseil-cpp/absl/base:config", 40 "//third_party/abseil-cpp/absl/base:core_headers", 41 "//third_party/abseil-cpp/absl/meta:type_traits", 42 "//third_party/abseil-cpp/absl/numeric:bits", 43 "//third_party/abseil-cpp/absl/random/internal:distribution_caller", 44 "//third_party/abseil-cpp/absl/random/internal:fast_uniform_bits", 45 "//third_party/abseil-cpp/absl/random/internal:fastmath", 46 "//third_party/abseil-cpp/absl/random/internal:generate_real", 47 "//third_party/abseil-cpp/absl/random/internal:iostream_state_saver", 48 "//third_party/abseil-cpp/absl/random/internal:traits", 49 "//third_party/abseil-cpp/absl/random/internal:uniform_helper", 50 "//third_party/abseil-cpp/absl/random/internal:wide_multiply", 51 "//third_party/abseil-cpp/absl/strings", 52 ] 53} 54 55absl_source_set("seed_gen_exception") { 56 public = [ "seed_gen_exception.h" ] 57 sources = [ "seed_gen_exception.cc" ] 58 deps = [ "//third_party/abseil-cpp/absl/base:config" ] 59} 60 61absl_source_set("seed_sequences") { 62 public = [ "seed_sequences.h" ] 63 sources = [ "seed_sequences.cc" ] 64 deps = [ 65 ":seed_gen_exception", 66 "//third_party/abseil-cpp/absl/base:config", 67 "//third_party/abseil-cpp/absl/base:nullability", 68 "//third_party/abseil-cpp/absl/random/internal:pool_urbg", 69 "//third_party/abseil-cpp/absl/random/internal:salted_seed_seq", 70 "//third_party/abseil-cpp/absl/random/internal:seed_material", 71 "//third_party/abseil-cpp/absl/strings:string_view", 72 "//third_party/abseil-cpp/absl/types:span", 73 ] 74} 75 76absl_source_set("bit_gen_ref") { 77 public = [ "bit_gen_ref.h" ] 78 deps = [ 79 ":random", 80 "//third_party/abseil-cpp/absl/base:core_headers", 81 "//third_party/abseil-cpp/absl/base:fast_type_id", 82 "//third_party/abseil-cpp/absl/meta:type_traits", 83 "//third_party/abseil-cpp/absl/random/internal:distribution_caller", 84 "//third_party/abseil-cpp/absl/random/internal:fast_uniform_bits", 85 ] 86} 87