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