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