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::random_internal_mocking_bit_gen_base 49 absl::type_traits 50) 51 52absl_cc_test( 53 NAME 54 random_bit_gen_ref_test 55 SRCS 56 "bit_gen_ref_test.cc" 57 COPTS 58 ${ABSL_TEST_COPTS} 59 LINKOPTS 60 ${ABSL_DEFAULT_LINKOPTS} 61 DEPS 62 absl::random_bit_gen_ref 63 absl::random_random 64 absl::random_internal_sequence_urbg 65 gmock 66 gtest_main 67) 68 69# Internal-only target, do not depend on directly. 70absl_cc_library( 71 NAME 72 random_internal_mocking_bit_gen_base 73 HDRS 74 "internal/mocking_bit_gen_base.h" 75 COPTS 76 ${ABSL_DEFAULT_COPTS} 77 LINKOPTS 78 ${ABSL_DEFAULT_LINKOPTS} 79 DEPS 80 absl::random_random 81 absl::strings 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 TESTONLY 97) 98 99absl_cc_library( 100 NAME 101 random_mocking_bit_gen 102 HDRS 103 "mock_distributions.h" 104 "mocking_bit_gen.h" 105 SRCS 106 "mocking_bit_gen.cc" 107 COPTS 108 ${ABSL_DEFAULT_COPTS} 109 LINKOPTS 110 ${ABSL_DEFAULT_LINKOPTS} 111 DEPS 112 absl::flat_hash_map 113 absl::raw_logging_internal 114 absl::random_distributions 115 absl::random_internal_distribution_caller 116 absl::random_internal_mocking_bit_gen_base 117 absl::random_internal_mock_overload_set 118 absl::strings 119 absl::span 120 absl::type_traits 121 absl::utility 122 absl::variant 123 gmock 124 gtest 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 gmock 141 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 gmock 158 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 "distribution_format_traits.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_distributions 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::span 198 absl::type_traits 199) 200 201absl_cc_library( 202 NAME 203 random_seed_gen_exception 204 SRCS 205 "seed_gen_exception.cc" 206 HDRS 207 "seed_gen_exception.h" 208 COPTS 209 ${ABSL_DEFAULT_COPTS} 210 LINKOPTS 211 ${ABSL_DEFAULT_LINKOPTS} 212 DEPS 213 absl::config 214) 215 216absl_cc_library( 217 NAME 218 random_seed_sequences 219 SRCS 220 "seed_sequences.cc" 221 HDRS 222 "seed_sequences.h" 223 COPTS 224 ${ABSL_DEFAULT_COPTS} 225 LINKOPTS 226 ${ABSL_DEFAULT_LINKOPTS} 227 DEPS 228 absl::inlined_vector 229 absl::random_internal_nonsecure_base 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) 236 237absl_cc_test( 238 NAME 239 random_bernoulli_distribution_test 240 SRCS 241 "bernoulli_distribution_test.cc" 242 COPTS 243 ${ABSL_TEST_COPTS} 244 LINKOPTS 245 ${ABSL_DEFAULT_LINKOPTS} 246 DEPS 247 absl::random_distributions 248 absl::random_random 249 absl::random_internal_sequence_urbg 250 gmock 251 gtest_main 252) 253 254absl_cc_test( 255 NAME 256 random_beta_distribution_test 257 SRCS 258 "beta_distribution_test.cc" 259 COPTS 260 ${ABSL_TEST_COPTS} 261 LINKOPTS 262 ${ABSL_DEFAULT_LINKOPTS} 263 DEPS 264 absl::random_distributions 265 absl::random_random 266 absl::random_internal_distribution_test_util 267 absl::random_internal_sequence_urbg 268 absl::raw_logging_internal 269 absl::strings 270 absl::str_format 271 gmock 272 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 gmock 289 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 gmock 305 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::core_headers 318 absl::random_distributions 319 absl::random_internal_distribution_test_util 320 absl::random_internal_sequence_urbg 321 absl::random_random 322 absl::raw_logging_internal 323 absl::strings 324 absl::str_format 325 gmock 326 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_sequence_urbg 342 absl::random_random 343 absl::raw_logging_internal 344 absl::strings 345 gmock 346 gtest_main 347) 348 349absl_cc_test( 350 NAME 351 random_poisson_distribution_test 352 SRCS 353 "poisson_distribution_test.cc" 354 COPTS 355 ${ABSL_TEST_COPTS} 356 LINKOPTS 357 ${ABSL_DEFAULT_LINKOPTS} 358 DEPS 359 absl::random_distributions 360 absl::random_random 361 absl::core_headers 362 absl::flat_hash_map 363 absl::random_internal_distribution_test_util 364 absl::random_internal_sequence_urbg 365 absl::raw_logging_internal 366 absl::strings 367 absl::str_format 368 gmock 369 gtest_main 370) 371 372absl_cc_test( 373 NAME 374 random_exponential_distribution_test 375 SRCS 376 "exponential_distribution_test.cc" 377 COPTS 378 ${ABSL_TEST_COPTS} 379 LINKOPTS 380 ${ABSL_DEFAULT_LINKOPTS} 381 DEPS 382 absl::core_headers 383 absl::random_distributions 384 absl::random_internal_distribution_test_util 385 absl::random_internal_sequence_urbg 386 absl::random_random 387 absl::raw_logging_internal 388 absl::strings 389 absl::str_format 390 gmock 391 gtest_main 392) 393 394absl_cc_test( 395 NAME 396 random_gaussian_distribution_test 397 SRCS 398 "gaussian_distribution_test.cc" 399 COPTS 400 ${ABSL_TEST_COPTS} 401 LINKOPTS 402 ${ABSL_DEFAULT_LINKOPTS} 403 DEPS 404 absl::core_headers 405 absl::random_distributions 406 absl::random_internal_distribution_test_util 407 absl::random_internal_sequence_urbg 408 absl::random_random 409 absl::raw_logging_internal 410 absl::strings 411 absl::str_format 412 gmock 413 gtest_main 414) 415 416absl_cc_test( 417 NAME 418 random_uniform_int_distribution_test 419 SRCS 420 "uniform_int_distribution_test.cc" 421 COPTS 422 ${ABSL_TEST_COPTS} 423 LINKOPTS 424 ${ABSL_DEFAULT_LINKOPTS} 425 DEPS 426 absl::random_distributions 427 absl::random_internal_distribution_test_util 428 absl::random_internal_sequence_urbg 429 absl::random_random 430 absl::raw_logging_internal 431 absl::strings 432 gmock 433 gtest_main 434) 435 436absl_cc_test( 437 NAME 438 random_uniform_real_distribution_test 439 SRCS 440 "uniform_real_distribution_test.cc" 441 COPTS 442 ${ABSL_TEST_COPTS} 443 LINKOPTS 444 ${ABSL_DEFAULT_LINKOPTS} 445 DEPS 446 absl::random_distributions 447 absl::random_internal_distribution_test_util 448 absl::random_internal_sequence_urbg 449 absl::random_random 450 absl::strings 451 gmock 452 gtest_main 453) 454 455absl_cc_test( 456 NAME 457 random_zipf_distribution_test 458 SRCS 459 "zipf_distribution_test.cc" 460 COPTS 461 ${ABSL_TEST_COPTS} 462 LINKOPTS 463 ${ABSL_DEFAULT_LINKOPTS} 464 DEPS 465 absl::random_distributions 466 absl::random_internal_distribution_test_util 467 absl::random_internal_sequence_urbg 468 absl::random_random 469 absl::raw_logging_internal 470 absl::strings 471 gmock 472 gtest_main 473) 474 475absl_cc_test( 476 NAME 477 random_examples_test 478 SRCS 479 "examples_test.cc" 480 COPTS 481 ${ABSL_TEST_COPTS} 482 LINKOPTS 483 ${ABSL_DEFAULT_LINKOPTS} 484 DEPS 485 absl::random_random 486 gtest_main 487) 488 489absl_cc_test( 490 NAME 491 random_seed_sequences_test 492 SRCS 493 "seed_sequences_test.cc" 494 COPTS 495 ${ABSL_TEST_COPTS} 496 LINKOPTS 497 ${ABSL_DEFAULT_LINKOPTS} 498 DEPS 499 absl::random_seed_sequences 500 absl::random_internal_nonsecure_base 501 absl::random_random 502 gmock 503 gtest_main 504) 505 506# Internal-only target, do not depend on directly. 507absl_cc_library( 508 NAME 509 random_internal_traits 510 HDRS 511 "internal/traits.h" 512 COPTS 513 ${ABSL_DEFAULT_COPTS} 514 LINKOPTS 515 ${ABSL_DEFAULT_LINKOPTS} 516 DEPS 517 absl::config 518) 519 520# Internal-only target, do not depend on directly. 521absl_cc_library( 522 NAME 523 random_internal_distribution_caller 524 HDRS 525 "internal/distribution_caller.h" 526 COPTS 527 ${ABSL_DEFAULT_COPTS} 528 LINKOPTS 529 ${ABSL_DEFAULT_LINKOPTS} 530 DEPS 531 absl::config 532) 533 534# Internal-only target, do not depend on directly. 535absl_cc_library( 536 NAME 537 random_internal_distributions 538 HDRS 539 "internal/distributions.h" 540 COPTS 541 ${ABSL_DEFAULT_COPTS} 542 LINKOPTS 543 ${ABSL_DEFAULT_LINKOPTS} 544 DEPS 545 absl::random_internal_distribution_caller 546 absl::random_internal_fast_uniform_bits 547 absl::random_internal_fastmath 548 absl::random_internal_traits 549 absl::random_internal_uniform_helper 550 absl::span 551 absl::strings 552 absl::type_traits 553) 554 555# Internal-only target, do not depend on directly. 556absl_cc_library( 557 NAME 558 random_internal_fast_uniform_bits 559 HDRS 560 "internal/fast_uniform_bits.h" 561 COPTS 562 ${ABSL_DEFAULT_COPTS} 563 LINKOPTS 564 ${ABSL_DEFAULT_LINKOPTS} 565 DEPS 566 absl::config 567) 568 569# Internal-only target, do not depend on directly. 570absl_cc_library( 571 NAME 572 random_internal_seed_material 573 SRCS 574 "internal/seed_material.cc" 575 HDRS 576 "internal/seed_material.h" 577 COPTS 578 ${ABSL_DEFAULT_COPTS} 579 LINKOPTS 580 ${ABSL_DEFAULT_LINKOPTS} 581 $<$<BOOL:${MINGW}>:"bcrypt"> 582 DEPS 583 absl::core_headers 584 absl::optional 585 absl::random_internal_fast_uniform_bits 586 absl::raw_logging_internal 587 absl::span 588 absl::strings 589) 590 591# Internal-only target, do not depend on directly. 592absl_cc_library( 593 NAME 594 random_internal_pool_urbg 595 SRCS 596 "internal/pool_urbg.cc" 597 HDRS 598 "internal/pool_urbg.h" 599 COPTS 600 ${ABSL_DEFAULT_COPTS} 601 LINKOPTS 602 ${ABSL_DEFAULT_LINKOPTS} 603 DEPS 604 absl::base 605 absl::config 606 absl::core_headers 607 absl::endian 608 absl::random_internal_randen 609 absl::random_internal_seed_material 610 absl::random_internal_traits 611 absl::random_seed_gen_exception 612 absl::raw_logging_internal 613 absl::span 614) 615 616# Internal-only target, do not depend on directly. 617absl_cc_library( 618 NAME 619 random_internal_explicit_seed_seq 620 HDRS 621 "internal/random_internal_explicit_seed_seq.h" 622 COPTS 623 ${ABSL_DEFAULT_COPTS} 624 LINKOPTS 625 ${ABSL_DEFAULT_LINKOPTS} 626 DEPS 627 absl::config 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::optional 739 absl::random_internal_pool_urbg 740 absl::random_internal_salted_seed_seq 741 absl::random_internal_seed_material 742 absl::span 743 absl::strings 744 absl::type_traits 745) 746 747# Internal-only target, do not depend on directly. 748absl_cc_library( 749 NAME 750 random_internal_pcg_engine 751 HDRS 752 "internal/pcg_engine.h" 753 COPTS 754 ${ABSL_DEFAULT_COPTS} 755 LINKOPTS 756 ${ABSL_DEFAULT_LINKOPTS} 757 DEPS 758 absl::config 759 absl::int128 760 absl::random_internal_fastmath 761 absl::random_internal_iostream_state_saver 762 absl::type_traits 763) 764 765# Internal-only target, do not depend on directly. 766absl_cc_library( 767 NAME 768 random_internal_randen_engine 769 HDRS 770 "internal/randen_engine.h" 771 COPTS 772 ${ABSL_DEFAULT_COPTS} 773 LINKOPTS 774 ${ABSL_DEFAULT_LINKOPTS} 775 DEPS 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/randen-keys.inc" 789 "internal/platform.h" 790 COPTS 791 ${ABSL_DEFAULT_COPTS} 792 LINKOPTS 793 ${ABSL_DEFAULT_LINKOPTS} 794 DEPS 795 absl::config 796) 797 798# Internal-only target, do not depend on directly. 799absl_cc_library( 800 NAME 801 random_internal_randen 802 SRCS 803 "internal/randen.cc" 804 HDRS 805 "internal/randen.h" 806 COPTS 807 ${ABSL_DEFAULT_COPTS} 808 LINKOPTS 809 ${ABSL_DEFAULT_LINKOPTS} 810 DEPS 811 absl::random_internal_platform 812 absl::random_internal_randen_hwaes 813 absl::random_internal_randen_slow 814) 815 816# Internal-only target, do not depend on directly. 817absl_cc_library( 818 NAME 819 random_internal_randen_slow 820 SRCS 821 "internal/randen_slow.cc" 822 HDRS 823 "internal/randen_slow.h" 824 COPTS 825 ${ABSL_DEFAULT_COPTS} 826 LINKOPTS 827 ${ABSL_DEFAULT_LINKOPTS} 828 DEPS 829 absl::random_internal_platform 830 absl::config 831) 832 833# Internal-only target, do not depend on directly. 834absl_cc_library( 835 NAME 836 random_internal_randen_hwaes 837 SRCS 838 "internal/randen_detect.cc" 839 HDRS 840 "internal/randen_detect.h" 841 "internal/randen_hwaes.h" 842 COPTS 843 ${ABSL_DEFAULT_COPTS} 844 ${ABSL_RANDOM_RANDEN_COPTS} 845 LINKOPTS 846 ${ABSL_DEFAULT_LINKOPTS} 847 DEPS 848 absl::random_internal_platform 849 absl::random_internal_randen_hwaes_impl 850 absl::config 851) 852 853# Internal-only target, do not depend on directly. 854absl_cc_library( 855 NAME 856 random_internal_randen_hwaes_impl 857 SRCS 858 "internal/randen_hwaes.cc" 859 "internal/randen_hwaes.h" 860 COPTS 861 ${ABSL_DEFAULT_COPTS} 862 ${ABSL_RANDOM_RANDEN_COPTS} 863 LINKOPTS 864 ${ABSL_DEFAULT_LINKOPTS} 865 DEPS 866 absl::random_internal_platform 867 absl::config 868) 869 870# Internal-only target, do not depend on directly. 871absl_cc_library( 872 NAME 873 random_internal_distribution_test_util 874 SRCS 875 "internal/chi_square.cc" 876 "internal/distribution_test_util.cc" 877 HDRS 878 "internal/chi_square.h" 879 "internal/distribution_test_util.h" 880 COPTS 881 ${ABSL_DEFAULT_COPTS} 882 LINKOPTS 883 ${ABSL_DEFAULT_LINKOPTS} 884 DEPS 885 absl::config 886 absl::core_headers 887 absl::raw_logging_internal 888 absl::strings 889 absl::str_format 890 absl::span 891) 892 893# Internal-only target, do not depend on directly. 894absl_cc_test( 895 NAME 896 random_internal_traits_test 897 SRCS 898 "internal/traits_test.cc" 899 COPTS 900 ${ABSL_TEST_COPTS} 901 LINKOPTS 902 ${ABSL_DEFAULT_LINKOPTS} 903 DEPS 904 absl::random_internal_traits 905 gtest_main 906) 907 908# Internal-only target, do not depend on directly. 909absl_cc_test( 910 NAME 911 random_internal_generate_real_test 912 SRCS 913 "internal/generate_real_test.cc" 914 COPTS 915 ${ABSL_TEST_COPTS} 916 LINKOPTS 917 ${ABSL_DEFAULT_LINKOPTS} 918 DEPS 919 absl::bits 920 absl::flags 921 absl::random_internal_generate_real 922 gtest_main 923) 924 925# Internal-only target, do not depend on directly. 926absl_cc_test( 927 NAME 928 random_internal_distribution_test_util_test 929 SRCS 930 "internal/distribution_test_util_test.cc" 931 COPTS 932 ${ABSL_TEST_COPTS} 933 LINKOPTS 934 ${ABSL_DEFAULT_LINKOPTS} 935 DEPS 936 absl::random_internal_distribution_test_util 937 gtest_main 938) 939 940# Internal-only target, do not depend on directly. 941absl_cc_test( 942 NAME 943 random_internal_fastmath_test 944 SRCS 945 "internal/fastmath_test.cc" 946 COPTS 947 ${ABSL_TEST_COPTS} 948 LINKOPTS 949 ${ABSL_DEFAULT_LINKOPTS} 950 DEPS 951 absl::random_internal_fastmath 952 gtest_main 953) 954 955# Internal-only target, do not depend on directly. 956absl_cc_test( 957 NAME 958 random_internal_explicit_seed_seq_test 959 SRCS 960 "internal/explicit_seed_seq_test.cc" 961 COPTS 962 ${ABSL_TEST_COPTS} 963 LINKOPTS 964 ${ABSL_DEFAULT_LINKOPTS} 965 DEPS 966 absl::random_internal_explicit_seed_seq 967 absl::random_seed_sequences 968 gmock 969 gtest_main 970) 971 972# Internal-only target, do not depend on directly. 973absl_cc_test( 974 NAME 975 random_internal_salted_seed_seq_test 976 SRCS 977 "internal/salted_seed_seq_test.cc" 978 COPTS 979 ${ABSL_TEST_COPTS} 980 LINKOPTS 981 ${ABSL_DEFAULT_LINKOPTS} 982 DEPS 983 absl::random_internal_salted_seed_seq 984 gmock 985 gtest_main 986) 987 988# Internal-only target, do not depend on directly. 989absl_cc_test( 990 NAME 991 random_internal_chi_square_test 992 SRCS 993 "internal/chi_square_test.cc" 994 COPTS 995 ${ABSL_TEST_COPTS} 996 LINKOPTS 997 ${ABSL_DEFAULT_LINKOPTS} 998 DEPS 999 absl::core_headers 1000 absl::random_internal_distribution_test_util 1001 gtest_main 1002) 1003 1004# Internal-only target, do not depend on directly. 1005absl_cc_test( 1006 NAME 1007 random_internal_fast_uniform_bits_test 1008 SRCS 1009 "internal/fast_uniform_bits_test.cc" 1010 COPTS 1011 ${ABSL_TEST_COPTS} 1012 LINKOPTS 1013 ${ABSL_DEFAULT_LINKOPTS} 1014 DEPS 1015 absl::random_internal_fast_uniform_bits 1016 gtest_main 1017) 1018 1019# Internal-only target, do not depend on directly. 1020absl_cc_test( 1021 NAME 1022 random_internal_nonsecure_base_test 1023 SRCS 1024 "internal/nonsecure_base_test.cc" 1025 COPTS 1026 ${ABSL_TEST_COPTS} 1027 LINKOPTS 1028 ${ABSL_DEFAULT_LINKOPTS} 1029 DEPS 1030 absl::random_internal_nonsecure_base 1031 absl::random_random 1032 absl::random_distributions 1033 absl::random_seed_sequences 1034 absl::strings 1035 gtest_main 1036) 1037 1038# Internal-only target, do not depend on directly. 1039absl_cc_test( 1040 NAME 1041 random_internal_seed_material_test 1042 SRCS 1043 "internal/seed_material_test.cc" 1044 COPTS 1045 ${ABSL_TEST_COPTS} 1046 LINKOPTS 1047 ${ABSL_DEFAULT_LINKOPTS} 1048 DEPS 1049 absl::random_internal_seed_material 1050 gmock 1051 gtest_main 1052) 1053 1054# Internal-only target, do not depend on directly. 1055absl_cc_test( 1056 NAME 1057 random_internal_pool_urbg_test 1058 SRCS 1059 "internal/pool_urbg_test.cc" 1060 COPTS 1061 ${ABSL_TEST_COPTS} 1062 LINKOPTS 1063 ${ABSL_DEFAULT_LINKOPTS} 1064 DEPS 1065 absl::random_internal_pool_urbg 1066 absl::span 1067 absl::type_traits 1068 gtest_main 1069) 1070 1071# Internal-only target, do not depend on directly. 1072absl_cc_test( 1073 NAME 1074 random_internal_pcg_engine_test 1075 SRCS 1076 "internal/pcg_engine_test.cc" 1077 COPTS 1078 ${ABSL_TEST_COPTS} 1079 LINKOPTS 1080 ${ABSL_DEFAULT_LINKOPTS} 1081 DEPS 1082 absl::random_internal_explicit_seed_seq 1083 absl::random_internal_pcg_engine 1084 absl::time 1085 gmock 1086 gtest_main 1087) 1088 1089# Internal-only target, do not depend on directly. 1090absl_cc_test( 1091 NAME 1092 random_internal_randen_engine_test 1093 SRCS 1094 "internal/randen_engine_test.cc" 1095 COPTS 1096 ${ABSL_TEST_COPTS} 1097 LINKOPTS 1098 ${ABSL_DEFAULT_LINKOPTS} 1099 DEPS 1100 absl::random_internal_explicit_seed_seq 1101 absl::random_internal_randen_engine 1102 absl::raw_logging_internal 1103 absl::strings 1104 absl::time 1105 gmock 1106 gtest_main 1107) 1108 1109# Internal-only target, do not depend on directly. 1110absl_cc_test( 1111 NAME 1112 random_internal_randen_test 1113 SRCS 1114 "internal/randen_test.cc" 1115 COPTS 1116 ${ABSL_TEST_COPTS} 1117 LINKOPTS 1118 ${ABSL_DEFAULT_LINKOPTS} 1119 DEPS 1120 absl::random_internal_randen 1121 absl::type_traits 1122 gtest_main 1123) 1124 1125# Internal-only target, do not depend on directly. 1126absl_cc_test( 1127 NAME 1128 random_internal_randen_slow_test 1129 SRCS 1130 "internal/randen_slow_test.cc" 1131 COPTS 1132 ${ABSL_TEST_COPTS} 1133 LINKOPTS 1134 ${ABSL_DEFAULT_LINKOPTS} 1135 DEPS 1136 absl::random_internal_randen_slow 1137 gtest_main 1138) 1139 1140# Internal-only target, do not depend on directly. 1141absl_cc_test( 1142 NAME 1143 random_internal_randen_hwaes_test 1144 SRCS 1145 "internal/randen_hwaes_test.cc" 1146 COPTS 1147 ${ABSL_TEST_COPTS} 1148 LINKOPTS 1149 ${ABSL_DEFAULT_LINKOPTS} 1150 DEPS 1151 absl::random_internal_platform 1152 absl::random_internal_randen_hwaes 1153 absl::random_internal_randen_hwaes_impl 1154 absl::raw_logging_internal 1155 absl::str_format 1156 gmock 1157 gtest 1158) 1159 1160# Internal-only target, do not depend on directly. 1161absl_cc_library( 1162 NAME 1163 random_internal_uniform_helper 1164 HDRS 1165 "internal/uniform_helper.h" 1166 COPTS 1167 ${ABSL_DEFAULT_COPTS} 1168 LINKOPTS 1169 ${ABSL_DEFAULT_LINKOPTS} 1170 DEPS 1171 absl::core_headers 1172 absl::random_internal_fast_uniform_bits 1173 absl::random_internal_iostream_state_saver 1174 absl::random_internal_traits 1175 absl::type_traits 1176) 1177 1178# Internal-only target, do not depend on directly. 1179absl_cc_test( 1180 NAME 1181 random_internal_iostream_state_saver_test 1182 SRCS 1183 "internal/iostream_state_saver_test.cc" 1184 COPTS 1185 ${ABSL_TEST_COPTS} 1186 LINKOPTS 1187 ${ABSL_DEFAULT_LINKOPTS} 1188 DEPS 1189 absl::random_internal_iostream_state_saver 1190 gtest_main 1191) 1192 1193# Internal-only target, do not depend on directly. 1194absl_cc_test( 1195 NAME 1196 random_internal_wide_multiply_test 1197 SRCS 1198 internal/wide_multiply_test.cc 1199 COPTS 1200 ${ABSL_TEST_COPTS} 1201 LINKOPTS 1202 ${ABSL_DEFAULT_LINKOPTS} 1203 DEPS 1204 absl::random_internal_wide_multiply 1205 absl::bits 1206 absl::int128 1207 gtest_main 1208) 1209