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