1# 2# Copyright 2019 The Abseil Authors. 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# https://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17absl_cc_library( 18 NAME 19 random_random 20 HDRS 21 "random.h" 22 COPTS 23 ${ABSL_DEFAULT_COPTS} 24 LINKOPTS 25 ${ABSL_DEFAULT_LINKOPTS} 26 DEPS 27 absl::random_distributions 28 absl::random_internal_nonsecure_base 29 absl::random_internal_pcg_engine 30 absl::random_internal_pool_urbg 31 absl::random_internal_randen_engine 32 absl::random_seed_sequences 33) 34 35absl_cc_library( 36 NAME 37 random_bit_gen_ref 38 HDRS 39 "bit_gen_ref.h" 40 COPTS 41 ${ABSL_DEFAULT_COPTS} 42 LINKOPTS 43 ${ABSL_DEFAULT_LINKOPTS} 44 DEPS 45 absl::core_headers 46 absl::random_internal_distribution_caller 47 absl::random_internal_fast_uniform_bits 48 absl::type_traits 49) 50 51absl_cc_test( 52 NAME 53 random_bit_gen_ref_test 54 SRCS 55 "bit_gen_ref_test.cc" 56 COPTS 57 ${ABSL_TEST_COPTS} 58 LINKOPTS 59 ${ABSL_DEFAULT_LINKOPTS} 60 DEPS 61 absl::random_bit_gen_ref 62 absl::random_random 63 absl::random_internal_sequence_urbg 64 absl::fast_type_id 65 GTest::gmock 66 GTest::gtest_main 67) 68 69# Internal-only target, do not depend on directly. 70absl_cc_library( 71 NAME 72 random_internal_mock_helpers 73 HDRS 74 "internal/mock_helpers.h" 75 COPTS 76 ${ABSL_DEFAULT_COPTS} 77 LINKOPTS 78 ${ABSL_DEFAULT_LINKOPTS} 79 DEPS 80 absl::fast_type_id 81 absl::optional 82) 83 84# Internal-only target, do not depend on directly. 85absl_cc_library( 86 NAME 87 random_internal_mock_overload_set 88 HDRS 89 "internal/mock_overload_set.h" 90 COPTS 91 ${ABSL_DEFAULT_COPTS} 92 LINKOPTS 93 ${ABSL_DEFAULT_LINKOPTS} 94 DEPS 95 absl::random_mocking_bit_gen 96 absl::random_internal_mock_helpers 97 TESTONLY 98) 99 100absl_cc_library( 101 NAME 102 random_mocking_bit_gen 103 HDRS 104 "mock_distributions.h" 105 "mocking_bit_gen.h" 106 COPTS 107 ${ABSL_DEFAULT_COPTS} 108 LINKOPTS 109 ${ABSL_DEFAULT_LINKOPTS} 110 DEPS 111 absl::flat_hash_map 112 absl::raw_logging_internal 113 absl::random_distributions 114 absl::random_internal_distribution_caller 115 absl::random_internal_mock_overload_set 116 absl::random_random 117 absl::strings 118 absl::span 119 absl::type_traits 120 absl::utility 121 absl::variant 122 GTest::gmock 123 GTest::gtest 124 PUBLIC 125 TESTONLY 126) 127 128absl_cc_test( 129 NAME 130 random_mock_distributions_test 131 SRCS 132 "mock_distributions_test.cc" 133 COPTS 134 ${ABSL_TEST_COPTS} 135 LINKOPTS 136 ${ABSL_DEFAULT_LINKOPTS} 137 DEPS 138 absl::random_mocking_bit_gen 139 absl::random_random 140 GTest::gmock 141 GTest::gtest_main 142) 143 144absl_cc_test( 145 NAME 146 random_mocking_bit_gen_test 147 SRCS 148 "mocking_bit_gen_test.cc" 149 COPTS 150 ${ABSL_TEST_COPTS} 151 LINKOPTS 152 ${ABSL_DEFAULT_LINKOPTS} 153 DEPS 154 absl::random_bit_gen_ref 155 absl::random_mocking_bit_gen 156 absl::random_random 157 GTest::gmock 158 GTest::gtest_main 159) 160 161absl_cc_library( 162 NAME 163 random_distributions 164 SRCS 165 "discrete_distribution.cc" 166 "gaussian_distribution.cc" 167 HDRS 168 "bernoulli_distribution.h" 169 "beta_distribution.h" 170 "discrete_distribution.h" 171 "distributions.h" 172 "exponential_distribution.h" 173 "gaussian_distribution.h" 174 "log_uniform_int_distribution.h" 175 "poisson_distribution.h" 176 "uniform_int_distribution.h" 177 "uniform_real_distribution.h" 178 "zipf_distribution.h" 179 COPTS 180 ${ABSL_DEFAULT_COPTS} 181 LINKOPTS 182 ${ABSL_DEFAULT_LINKOPTS} 183 DEPS 184 absl::base_internal 185 absl::config 186 absl::core_headers 187 absl::random_internal_generate_real 188 absl::random_internal_distribution_caller 189 absl::random_internal_fast_uniform_bits 190 absl::random_internal_fastmath 191 absl::random_internal_iostream_state_saver 192 absl::random_internal_traits 193 absl::random_internal_uniform_helper 194 absl::random_internal_wide_multiply 195 absl::strings 196 absl::type_traits 197) 198 199absl_cc_library( 200 NAME 201 random_seed_gen_exception 202 SRCS 203 "seed_gen_exception.cc" 204 HDRS 205 "seed_gen_exception.h" 206 COPTS 207 ${ABSL_DEFAULT_COPTS} 208 LINKOPTS 209 ${ABSL_DEFAULT_LINKOPTS} 210 DEPS 211 absl::config 212) 213 214absl_cc_library( 215 NAME 216 random_seed_sequences 217 SRCS 218 "seed_sequences.cc" 219 HDRS 220 "seed_sequences.h" 221 COPTS 222 ${ABSL_DEFAULT_COPTS} 223 LINKOPTS 224 ${ABSL_DEFAULT_LINKOPTS} 225 DEPS 226 absl::config 227 absl::inlined_vector 228 absl::random_internal_pool_urbg 229 absl::random_internal_salted_seed_seq 230 absl::random_internal_seed_material 231 absl::random_seed_gen_exception 232 absl::span 233) 234 235absl_cc_test( 236 NAME 237 random_bernoulli_distribution_test 238 SRCS 239 "bernoulli_distribution_test.cc" 240 COPTS 241 ${ABSL_TEST_COPTS} 242 LINKOPTS 243 ${ABSL_DEFAULT_LINKOPTS} 244 DEPS 245 absl::random_distributions 246 absl::random_random 247 absl::random_internal_sequence_urbg 248 absl::random_internal_pcg_engine 249 GTest::gmock 250 GTest::gtest_main 251) 252 253absl_cc_test( 254 NAME 255 random_beta_distribution_test 256 SRCS 257 "beta_distribution_test.cc" 258 COPTS 259 ${ABSL_TEST_COPTS} 260 LINKOPTS 261 ${ABSL_DEFAULT_LINKOPTS} 262 DEPS 263 absl::numeric_representation 264 absl::random_distributions 265 absl::random_random 266 absl::random_internal_distribution_test_util 267 absl::random_internal_sequence_urbg 268 absl::random_internal_pcg_engine 269 absl::raw_logging_internal 270 absl::strings 271 absl::str_format 272 GTest::gmock 273 GTest::gtest_main 274) 275 276absl_cc_test( 277 NAME 278 random_distributions_test 279 SRCS 280 "distributions_test.cc" 281 COPTS 282 ${ABSL_TEST_COPTS} 283 LINKOPTS 284 ${ABSL_DEFAULT_LINKOPTS} 285 DEPS 286 absl::random_distributions 287 absl::random_random 288 absl::random_internal_distribution_test_util 289 GTest::gmock 290 GTest::gtest_main 291) 292 293absl_cc_test( 294 NAME 295 random_generators_test 296 SRCS 297 "generators_test.cc" 298 COPTS 299 ${ABSL_TEST_COPTS} 300 LINKOPTS 301 ${ABSL_DEFAULT_LINKOPTS} 302 absl::random_distributions 303 absl::random_random 304 absl::raw_logging_internal 305 GTest::gmock 306 GTest::gtest_main 307) 308 309absl_cc_test( 310 NAME 311 random_log_uniform_int_distribution_test 312 SRCS 313 "log_uniform_int_distribution_test.cc" 314 COPTS 315 ${ABSL_TEST_COPTS} 316 LINKOPTS 317 ${ABSL_DEFAULT_LINKOPTS} 318 absl::random_distributions 319 absl::random_internal_distribution_test_util 320 absl::random_internal_pcg_engine 321 absl::random_internal_sequence_urbg 322 absl::random_random 323 absl::raw_logging_internal 324 absl::strings 325 absl::str_format 326 GTest::gmock 327 GTest::gtest_main 328) 329 330absl_cc_test( 331 NAME 332 random_discrete_distribution_test 333 SRCS 334 "discrete_distribution_test.cc" 335 COPTS 336 ${ABSL_TEST_COPTS} 337 LINKOPTS 338 ${ABSL_DEFAULT_LINKOPTS} 339 DEPS 340 absl::random_distributions 341 absl::random_internal_distribution_test_util 342 absl::random_internal_pcg_engine 343 absl::random_internal_sequence_urbg 344 absl::random_random 345 absl::raw_logging_internal 346 absl::strings 347 GTest::gmock 348 GTest::gtest_main 349) 350 351absl_cc_test( 352 NAME 353 random_poisson_distribution_test 354 SRCS 355 "poisson_distribution_test.cc" 356 COPTS 357 ${ABSL_TEST_COPTS} 358 LINKOPTS 359 ${ABSL_DEFAULT_LINKOPTS} 360 DEPS 361 absl::random_distributions 362 absl::random_random 363 absl::core_headers 364 absl::flat_hash_map 365 absl::random_internal_distribution_test_util 366 absl::random_internal_pcg_engine 367 absl::random_internal_sequence_urbg 368 absl::raw_logging_internal 369 absl::strings 370 absl::str_format 371 GTest::gmock 372 GTest::gtest_main 373) 374 375absl_cc_test( 376 NAME 377 random_exponential_distribution_test 378 SRCS 379 "exponential_distribution_test.cc" 380 COPTS 381 ${ABSL_TEST_COPTS} 382 LINKOPTS 383 ${ABSL_DEFAULT_LINKOPTS} 384 DEPS 385 absl::core_headers 386 absl::numeric_representation 387 absl::random_distributions 388 absl::random_internal_distribution_test_util 389 absl::random_internal_pcg_engine 390 absl::random_internal_sequence_urbg 391 absl::random_random 392 absl::raw_logging_internal 393 absl::strings 394 absl::str_format 395 GTest::gmock 396 GTest::gtest_main 397) 398 399absl_cc_test( 400 NAME 401 random_gaussian_distribution_test 402 SRCS 403 "gaussian_distribution_test.cc" 404 COPTS 405 ${ABSL_TEST_COPTS} 406 LINKOPTS 407 ${ABSL_DEFAULT_LINKOPTS} 408 DEPS 409 absl::core_headers 410 absl::numeric_representation 411 absl::random_distributions 412 absl::random_internal_distribution_test_util 413 absl::random_internal_sequence_urbg 414 absl::random_random 415 absl::raw_logging_internal 416 absl::strings 417 absl::str_format 418 GTest::gmock 419 GTest::gtest_main 420) 421 422absl_cc_test( 423 NAME 424 random_uniform_int_distribution_test 425 SRCS 426 "uniform_int_distribution_test.cc" 427 COPTS 428 ${ABSL_TEST_COPTS} 429 LINKOPTS 430 ${ABSL_DEFAULT_LINKOPTS} 431 DEPS 432 absl::random_distributions 433 absl::random_internal_distribution_test_util 434 absl::random_internal_pcg_engine 435 absl::random_internal_sequence_urbg 436 absl::random_random 437 absl::raw_logging_internal 438 absl::strings 439 GTest::gmock 440 GTest::gtest_main 441) 442 443absl_cc_test( 444 NAME 445 random_uniform_real_distribution_test 446 SRCS 447 "uniform_real_distribution_test.cc" 448 COPTS 449 ${ABSL_TEST_COPTS} 450 LINKOPTS 451 ${ABSL_DEFAULT_LINKOPTS} 452 DEPS 453 absl::numeric_representation 454 absl::random_distributions 455 absl::random_internal_distribution_test_util 456 absl::random_internal_pcg_engine 457 absl::random_internal_sequence_urbg 458 absl::random_random 459 absl::strings 460 GTest::gmock 461 GTest::gtest_main 462) 463 464absl_cc_test( 465 NAME 466 random_zipf_distribution_test 467 SRCS 468 "zipf_distribution_test.cc" 469 COPTS 470 ${ABSL_TEST_COPTS} 471 LINKOPTS 472 ${ABSL_DEFAULT_LINKOPTS} 473 DEPS 474 absl::random_distributions 475 absl::random_internal_distribution_test_util 476 absl::random_internal_pcg_engine 477 absl::random_internal_sequence_urbg 478 absl::random_random 479 absl::raw_logging_internal 480 absl::strings 481 GTest::gmock 482 GTest::gtest_main 483) 484 485absl_cc_test( 486 NAME 487 random_examples_test 488 SRCS 489 "examples_test.cc" 490 COPTS 491 ${ABSL_TEST_COPTS} 492 LINKOPTS 493 ${ABSL_DEFAULT_LINKOPTS} 494 DEPS 495 absl::random_random 496 GTest::gtest_main 497) 498 499absl_cc_test( 500 NAME 501 random_seed_sequences_test 502 SRCS 503 "seed_sequences_test.cc" 504 COPTS 505 ${ABSL_TEST_COPTS} 506 LINKOPTS 507 ${ABSL_DEFAULT_LINKOPTS} 508 DEPS 509 absl::random_seed_sequences 510 absl::random_internal_nonsecure_base 511 absl::random_random 512 GTest::gmock 513 GTest::gtest_main 514) 515 516# Internal-only target, do not depend on directly. 517absl_cc_library( 518 NAME 519 random_internal_traits 520 HDRS 521 "internal/traits.h" 522 COPTS 523 ${ABSL_DEFAULT_COPTS} 524 LINKOPTS 525 ${ABSL_DEFAULT_LINKOPTS} 526 DEPS 527 absl::config 528) 529 530# Internal-only target, do not depend on directly. 531absl_cc_library( 532 NAME 533 random_internal_distribution_caller 534 HDRS 535 "internal/distribution_caller.h" 536 COPTS 537 ${ABSL_DEFAULT_COPTS} 538 LINKOPTS 539 ${ABSL_DEFAULT_LINKOPTS} 540 DEPS 541 absl::config 542 absl::utility 543 absl::fast_type_id 544) 545 546# Internal-only target, do not depend on directly. 547absl_cc_library( 548 NAME 549 random_internal_fast_uniform_bits 550 HDRS 551 "internal/fast_uniform_bits.h" 552 COPTS 553 ${ABSL_DEFAULT_COPTS} 554 LINKOPTS 555 ${ABSL_DEFAULT_LINKOPTS} 556 DEPS 557 absl::config 558) 559 560# Internal-only target, do not depend on directly. 561absl_cc_library( 562 NAME 563 random_internal_seed_material 564 SRCS 565 "internal/seed_material.cc" 566 HDRS 567 "internal/seed_material.h" 568 COPTS 569 ${ABSL_DEFAULT_COPTS} 570 LINKOPTS 571 ${ABSL_DEFAULT_LINKOPTS} 572 $<$<BOOL:${MINGW}>:-lbcrypt> 573 DEPS 574 absl::core_headers 575 absl::optional 576 absl::random_internal_fast_uniform_bits 577 absl::raw_logging_internal 578 absl::span 579 absl::strings 580) 581 582# Internal-only target, do not depend on directly. 583absl_cc_library( 584 NAME 585 random_internal_pool_urbg 586 SRCS 587 "internal/pool_urbg.cc" 588 HDRS 589 "internal/pool_urbg.h" 590 COPTS 591 ${ABSL_DEFAULT_COPTS} 592 LINKOPTS 593 ${ABSL_DEFAULT_LINKOPTS} 594 DEPS 595 absl::base 596 absl::config 597 absl::core_headers 598 absl::endian 599 absl::random_internal_randen 600 absl::random_internal_seed_material 601 absl::random_internal_traits 602 absl::random_seed_gen_exception 603 absl::raw_logging_internal 604 absl::span 605) 606 607# Internal-only target, do not depend on directly. 608absl_cc_library( 609 NAME 610 random_internal_explicit_seed_seq 611 HDRS 612 "internal/random_internal_explicit_seed_seq.h" 613 COPTS 614 ${ABSL_DEFAULT_COPTS} 615 LINKOPTS 616 ${ABSL_DEFAULT_LINKOPTS} 617 DEPS 618 absl::config 619 absl::endian 620 TESTONLY 621) 622 623# Internal-only target, do not depend on directly. 624absl_cc_library( 625 NAME 626 random_internal_sequence_urbg 627 HDRS 628 "internal/sequence_urbg.h" 629 COPTS 630 ${ABSL_DEFAULT_COPTS} 631 LINKOPTS 632 ${ABSL_DEFAULT_LINKOPTS} 633 DEPS 634 absl::config 635 TESTONLY 636) 637 638# Internal-only target, do not depend on directly. 639absl_cc_library( 640 NAME 641 random_internal_salted_seed_seq 642 HDRS 643 "internal/salted_seed_seq.h" 644 COPTS 645 ${ABSL_DEFAULT_COPTS} 646 LINKOPTS 647 ${ABSL_DEFAULT_LINKOPTS} 648 DEPS 649 absl::inlined_vector 650 absl::optional 651 absl::span 652 absl::random_internal_seed_material 653 absl::type_traits 654) 655 656# Internal-only target, do not depend on directly. 657absl_cc_library( 658 NAME 659 random_internal_iostream_state_saver 660 HDRS 661 "internal/iostream_state_saver.h" 662 COPTS 663 ${ABSL_DEFAULT_COPTS} 664 LINKOPTS 665 ${ABSL_DEFAULT_LINKOPTS} 666 DEPS 667 absl::int128 668 absl::type_traits 669) 670 671# Internal-only target, do not depend on directly. 672absl_cc_library( 673 NAME 674 random_internal_generate_real 675 HDRS 676 "internal/generate_real.h" 677 COPTS 678 ${ABSL_DEFAULT_COPTS} 679 LINKOPTS 680 ${ABSL_DEFAULT_LINKOPTS} 681 DEPS 682 absl::bits 683 absl::random_internal_fastmath 684 absl::random_internal_traits 685 absl::type_traits 686) 687 688# Internal-only target, do not depend on directly. 689absl_cc_library( 690 NAME 691 random_internal_wide_multiply 692 HDRS 693 "internal/wide_multiply.h" 694 COPTS 695 ${ABSL_DEFAULT_COPTS} 696 LINKOPTS 697 ${ABSL_DEFAULT_LINKOPTS} 698 DEPS 699 absl::bits 700 absl::config 701 absl::int128 702) 703 704# Internal-only target, do not depend on directly. 705absl_cc_library( 706 NAME 707 random_internal_fastmath 708 HDRS 709 "internal/fastmath.h" 710 COPTS 711 ${ABSL_DEFAULT_COPTS} 712 LINKOPTS 713 ${ABSL_DEFAULT_LINKOPTS} 714 DEPS 715 absl::bits 716) 717 718# Internal-only target, do not depend on directly. 719absl_cc_library( 720 NAME 721 random_internal_nonsecure_base 722 HDRS 723 "internal/nonsecure_base.h" 724 COPTS 725 ${ABSL_DEFAULT_COPTS} 726 LINKOPTS 727 ${ABSL_DEFAULT_LINKOPTS} 728 DEPS 729 absl::core_headers 730 absl::inlined_vector 731 absl::random_internal_pool_urbg 732 absl::random_internal_salted_seed_seq 733 absl::random_internal_seed_material 734 absl::span 735 absl::type_traits 736) 737 738# Internal-only target, do not depend on directly. 739absl_cc_library( 740 NAME 741 random_internal_pcg_engine 742 HDRS 743 "internal/pcg_engine.h" 744 COPTS 745 ${ABSL_DEFAULT_COPTS} 746 LINKOPTS 747 ${ABSL_DEFAULT_LINKOPTS} 748 DEPS 749 absl::config 750 absl::int128 751 absl::random_internal_fastmath 752 absl::random_internal_iostream_state_saver 753 absl::type_traits 754) 755 756# Internal-only target, do not depend on directly. 757absl_cc_library( 758 NAME 759 random_internal_randen_engine 760 HDRS 761 "internal/randen_engine.h" 762 COPTS 763 ${ABSL_DEFAULT_COPTS} 764 LINKOPTS 765 ${ABSL_DEFAULT_LINKOPTS} 766 DEPS 767 absl::endian 768 absl::random_internal_iostream_state_saver 769 absl::random_internal_randen 770 absl::raw_logging_internal 771 absl::type_traits 772) 773 774# Internal-only target, do not depend on directly. 775absl_cc_library( 776 NAME 777 random_internal_platform 778 HDRS 779 "internal/randen_traits.h" 780 "internal/platform.h" 781 SRCS 782 "internal/randen_round_keys.cc" 783 COPTS 784 ${ABSL_DEFAULT_COPTS} 785 LINKOPTS 786 ${ABSL_DEFAULT_LINKOPTS} 787 DEPS 788 absl::config 789) 790 791# Internal-only target, do not depend on directly. 792absl_cc_library( 793 NAME 794 random_internal_randen 795 SRCS 796 "internal/randen.cc" 797 HDRS 798 "internal/randen.h" 799 COPTS 800 ${ABSL_DEFAULT_COPTS} 801 LINKOPTS 802 ${ABSL_DEFAULT_LINKOPTS} 803 DEPS 804 absl::random_internal_platform 805 absl::random_internal_randen_hwaes 806 absl::random_internal_randen_slow 807) 808 809# Internal-only target, do not depend on directly. 810absl_cc_library( 811 NAME 812 random_internal_randen_slow 813 SRCS 814 "internal/randen_slow.cc" 815 HDRS 816 "internal/randen_slow.h" 817 COPTS 818 ${ABSL_DEFAULT_COPTS} 819 LINKOPTS 820 ${ABSL_DEFAULT_LINKOPTS} 821 DEPS 822 absl::random_internal_platform 823 absl::config 824) 825 826# Internal-only target, do not depend on directly. 827absl_cc_library( 828 NAME 829 random_internal_randen_hwaes 830 SRCS 831 "internal/randen_detect.cc" 832 HDRS 833 "internal/randen_detect.h" 834 "internal/randen_hwaes.h" 835 COPTS 836 ${ABSL_DEFAULT_COPTS} 837 ${ABSL_RANDOM_RANDEN_COPTS} 838 LINKOPTS 839 ${ABSL_DEFAULT_LINKOPTS} 840 DEPS 841 absl::random_internal_platform 842 absl::random_internal_randen_hwaes_impl 843 absl::config 844) 845 846# Internal-only target, do not depend on directly. 847absl_cc_library( 848 NAME 849 random_internal_randen_hwaes_impl 850 SRCS 851 "internal/randen_hwaes.cc" 852 "internal/randen_hwaes.h" 853 COPTS 854 ${ABSL_DEFAULT_COPTS} 855 ${ABSL_RANDOM_RANDEN_COPTS} 856 LINKOPTS 857 ${ABSL_DEFAULT_LINKOPTS} 858 DEPS 859 absl::random_internal_platform 860 absl::config 861) 862 863# Internal-only target, do not depend on directly. 864absl_cc_library( 865 NAME 866 random_internal_distribution_test_util 867 SRCS 868 "internal/chi_square.cc" 869 "internal/distribution_test_util.cc" 870 HDRS 871 "internal/chi_square.h" 872 "internal/distribution_test_util.h" 873 COPTS 874 ${ABSL_DEFAULT_COPTS} 875 LINKOPTS 876 ${ABSL_DEFAULT_LINKOPTS} 877 DEPS 878 absl::config 879 absl::core_headers 880 absl::raw_logging_internal 881 absl::strings 882 absl::str_format 883 absl::span 884) 885 886# Internal-only target, do not depend on directly. 887absl_cc_test( 888 NAME 889 random_internal_traits_test 890 SRCS 891 "internal/traits_test.cc" 892 COPTS 893 ${ABSL_TEST_COPTS} 894 LINKOPTS 895 ${ABSL_DEFAULT_LINKOPTS} 896 DEPS 897 absl::random_internal_traits 898 GTest::gtest_main 899) 900 901# Internal-only target, do not depend on directly. 902absl_cc_test( 903 NAME 904 random_internal_generate_real_test 905 SRCS 906 "internal/generate_real_test.cc" 907 COPTS 908 ${ABSL_TEST_COPTS} 909 LINKOPTS 910 ${ABSL_DEFAULT_LINKOPTS} 911 DEPS 912 absl::bits 913 absl::flags 914 absl::random_internal_generate_real 915 GTest::gtest_main 916) 917 918# Internal-only target, do not depend on directly. 919absl_cc_test( 920 NAME 921 random_internal_distribution_test_util_test 922 SRCS 923 "internal/distribution_test_util_test.cc" 924 COPTS 925 ${ABSL_TEST_COPTS} 926 LINKOPTS 927 ${ABSL_DEFAULT_LINKOPTS} 928 DEPS 929 absl::random_internal_distribution_test_util 930 GTest::gtest_main 931) 932 933# Internal-only target, do not depend on directly. 934absl_cc_test( 935 NAME 936 random_internal_fastmath_test 937 SRCS 938 "internal/fastmath_test.cc" 939 COPTS 940 ${ABSL_TEST_COPTS} 941 LINKOPTS 942 ${ABSL_DEFAULT_LINKOPTS} 943 DEPS 944 absl::random_internal_fastmath 945 GTest::gtest_main 946) 947 948# Internal-only target, do not depend on directly. 949absl_cc_test( 950 NAME 951 random_internal_explicit_seed_seq_test 952 SRCS 953 "internal/explicit_seed_seq_test.cc" 954 COPTS 955 ${ABSL_TEST_COPTS} 956 LINKOPTS 957 ${ABSL_DEFAULT_LINKOPTS} 958 DEPS 959 absl::random_internal_explicit_seed_seq 960 absl::random_seed_sequences 961 GTest::gmock 962 GTest::gtest_main 963) 964 965# Internal-only target, do not depend on directly. 966absl_cc_test( 967 NAME 968 random_internal_salted_seed_seq_test 969 SRCS 970 "internal/salted_seed_seq_test.cc" 971 COPTS 972 ${ABSL_TEST_COPTS} 973 LINKOPTS 974 ${ABSL_DEFAULT_LINKOPTS} 975 DEPS 976 absl::random_internal_salted_seed_seq 977 GTest::gmock 978 GTest::gtest_main 979) 980 981# Internal-only target, do not depend on directly. 982absl_cc_test( 983 NAME 984 random_internal_chi_square_test 985 SRCS 986 "internal/chi_square_test.cc" 987 COPTS 988 ${ABSL_TEST_COPTS} 989 LINKOPTS 990 ${ABSL_DEFAULT_LINKOPTS} 991 DEPS 992 absl::core_headers 993 absl::random_internal_distribution_test_util 994 GTest::gtest_main 995) 996 997# Internal-only target, do not depend on directly. 998absl_cc_test( 999 NAME 1000 random_internal_fast_uniform_bits_test 1001 SRCS 1002 "internal/fast_uniform_bits_test.cc" 1003 COPTS 1004 ${ABSL_TEST_COPTS} 1005 LINKOPTS 1006 ${ABSL_DEFAULT_LINKOPTS} 1007 DEPS 1008 absl::random_internal_fast_uniform_bits 1009 GTest::gtest_main 1010) 1011 1012# Internal-only target, do not depend on directly. 1013absl_cc_test( 1014 NAME 1015 random_internal_nonsecure_base_test 1016 SRCS 1017 "internal/nonsecure_base_test.cc" 1018 COPTS 1019 ${ABSL_TEST_COPTS} 1020 LINKOPTS 1021 ${ABSL_DEFAULT_LINKOPTS} 1022 DEPS 1023 absl::random_internal_nonsecure_base 1024 absl::random_random 1025 absl::random_distributions 1026 absl::random_seed_sequences 1027 absl::strings 1028 GTest::gtest_main 1029) 1030 1031# Internal-only target, do not depend on directly. 1032absl_cc_test( 1033 NAME 1034 random_internal_seed_material_test 1035 SRCS 1036 "internal/seed_material_test.cc" 1037 COPTS 1038 ${ABSL_TEST_COPTS} 1039 LINKOPTS 1040 ${ABSL_DEFAULT_LINKOPTS} 1041 DEPS 1042 absl::random_internal_seed_material 1043 GTest::gmock 1044 GTest::gtest_main 1045) 1046 1047# Internal-only target, do not depend on directly. 1048absl_cc_test( 1049 NAME 1050 random_internal_pool_urbg_test 1051 SRCS 1052 "internal/pool_urbg_test.cc" 1053 COPTS 1054 ${ABSL_TEST_COPTS} 1055 LINKOPTS 1056 ${ABSL_DEFAULT_LINKOPTS} 1057 DEPS 1058 absl::random_internal_pool_urbg 1059 absl::span 1060 absl::type_traits 1061 GTest::gtest_main 1062) 1063 1064# Internal-only target, do not depend on directly. 1065absl_cc_test( 1066 NAME 1067 random_internal_pcg_engine_test 1068 SRCS 1069 "internal/pcg_engine_test.cc" 1070 COPTS 1071 ${ABSL_TEST_COPTS} 1072 LINKOPTS 1073 ${ABSL_DEFAULT_LINKOPTS} 1074 DEPS 1075 absl::random_internal_explicit_seed_seq 1076 absl::random_internal_pcg_engine 1077 absl::time 1078 GTest::gmock 1079 GTest::gtest_main 1080) 1081 1082# Internal-only target, do not depend on directly. 1083absl_cc_test( 1084 NAME 1085 random_internal_randen_engine_test 1086 SRCS 1087 "internal/randen_engine_test.cc" 1088 COPTS 1089 ${ABSL_TEST_COPTS} 1090 LINKOPTS 1091 ${ABSL_DEFAULT_LINKOPTS} 1092 DEPS 1093 absl::random_internal_explicit_seed_seq 1094 absl::random_internal_randen_engine 1095 absl::raw_logging_internal 1096 absl::strings 1097 absl::time 1098 GTest::gmock 1099 GTest::gtest_main 1100) 1101 1102# Internal-only target, do not depend on directly. 1103absl_cc_test( 1104 NAME 1105 random_internal_randen_test 1106 SRCS 1107 "internal/randen_test.cc" 1108 COPTS 1109 ${ABSL_TEST_COPTS} 1110 LINKOPTS 1111 ${ABSL_DEFAULT_LINKOPTS} 1112 DEPS 1113 absl::random_internal_randen 1114 absl::type_traits 1115 GTest::gtest_main 1116) 1117 1118# Internal-only target, do not depend on directly. 1119absl_cc_test( 1120 NAME 1121 random_internal_randen_slow_test 1122 SRCS 1123 "internal/randen_slow_test.cc" 1124 COPTS 1125 ${ABSL_TEST_COPTS} 1126 LINKOPTS 1127 ${ABSL_DEFAULT_LINKOPTS} 1128 DEPS 1129 absl::endian 1130 absl::random_internal_randen_slow 1131 GTest::gtest_main 1132) 1133 1134# Internal-only target, do not depend on directly. 1135absl_cc_test( 1136 NAME 1137 random_internal_randen_hwaes_test 1138 SRCS 1139 "internal/randen_hwaes_test.cc" 1140 COPTS 1141 ${ABSL_TEST_COPTS} 1142 LINKOPTS 1143 ${ABSL_DEFAULT_LINKOPTS} 1144 DEPS 1145 absl::random_internal_platform 1146 absl::random_internal_randen_hwaes 1147 absl::random_internal_randen_hwaes_impl 1148 absl::raw_logging_internal 1149 absl::str_format 1150 GTest::gmock 1151 GTest::gtest 1152) 1153 1154# Internal-only target, do not depend on directly. 1155absl_cc_library( 1156 NAME 1157 random_internal_uniform_helper 1158 HDRS 1159 "internal/uniform_helper.h" 1160 COPTS 1161 ${ABSL_DEFAULT_COPTS} 1162 LINKOPTS 1163 ${ABSL_DEFAULT_LINKOPTS} 1164 DEPS 1165 absl::config 1166 absl::random_internal_traits 1167 absl::type_traits 1168) 1169 1170# Internal-only target, do not depend on directly. 1171absl_cc_test( 1172 NAME 1173 random_internal_uniform_helper_test 1174 SRCS 1175 "internal/uniform_helper_test.cc" 1176 COPTS 1177 ${ABSL_TEST_COPTS} 1178 LINKOPTS 1179 ${ABSL_DEFAULT_LINKOPTS} 1180 DEPS 1181 absl::random_internal_uniform_helper 1182 GTest::gtest_main 1183) 1184 1185# Internal-only target, do not depend on directly. 1186absl_cc_test( 1187 NAME 1188 random_internal_iostream_state_saver_test 1189 SRCS 1190 "internal/iostream_state_saver_test.cc" 1191 COPTS 1192 ${ABSL_TEST_COPTS} 1193 LINKOPTS 1194 ${ABSL_DEFAULT_LINKOPTS} 1195 DEPS 1196 absl::random_internal_iostream_state_saver 1197 GTest::gtest_main 1198) 1199 1200# Internal-only target, do not depend on directly. 1201absl_cc_test( 1202 NAME 1203 random_internal_wide_multiply_test 1204 SRCS 1205 internal/wide_multiply_test.cc 1206 COPTS 1207 ${ABSL_TEST_COPTS} 1208 LINKOPTS 1209 ${ABSL_DEFAULT_LINKOPTS} 1210 DEPS 1211 absl::random_internal_wide_multiply 1212 absl::bits 1213 absl::int128 1214 GTest::gmock 1215 GTest::gtest_main 1216) 1217