• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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