|
|
|
#
|
|
|
|
# Copyright 2019 The Abseil Authors.
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
#
|
|
|
|
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_random
|
|
|
|
HDRS
|
|
|
|
"random.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_internal_nonsecure_base
|
|
|
|
absl::random_internal_pcg_engine
|
|
|
|
absl::random_internal_pool_urbg
|
|
|
|
absl::random_internal_randen_engine
|
|
|
|
absl::random_seed_sequences
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_bit_gen_ref
|
|
|
|
HDRS
|
|
|
|
"bit_gen_ref.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::core_headers
|
|
|
|
absl::random_internal_distribution_caller
|
|
|
|
absl::random_internal_fast_uniform_bits
|
|
|
|
absl::random_internal_mocking_bit_gen_base
|
|
|
|
absl::type_traits
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_bit_gen_ref_test
|
|
|
|
SRCS
|
|
|
|
"bit_gen_ref_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_bit_gen_ref
|
|
|
|
absl::random_random
|
|
|
|
absl::random_internal_sequence_urbg
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_mocking_bit_gen_base
|
|
|
|
HDRS
|
|
|
|
"internal/mocking_bit_gen_base.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_random
|
|
|
|
absl::strings
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_mock_overload_set
|
|
|
|
HDRS
|
|
|
|
"internal/mock_overload_set.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_mocking_bit_gen
|
|
|
|
TESTONLY
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_mocking_bit_gen
|
|
|
|
HDRS
|
|
|
|
"mock_distributions.h"
|
|
|
|
"mocking_bit_gen.h"
|
|
|
|
SRCS
|
|
|
|
"mocking_bit_gen.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::flat_hash_map
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_internal_distribution_caller
|
|
|
|
absl::random_internal_mocking_bit_gen_base
|
|
|
|
absl::random_internal_mock_overload_set
|
|
|
|
absl::strings
|
|
|
|
absl::span
|
|
|
|
absl::type_traits
|
|
|
|
absl::utility
|
|
|
|
absl::variant
|
|
|
|
gmock
|
|
|
|
gtest
|
|
|
|
TESTONLY
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_mock_distributions_test
|
|
|
|
SRCS
|
|
|
|
"mock_distributions_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_mocking_bit_gen
|
|
|
|
absl::random_random
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_mocking_bit_gen_test
|
|
|
|
SRCS
|
|
|
|
"mocking_bit_gen_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_bit_gen_ref
|
|
|
|
absl::random_mocking_bit_gen
|
|
|
|
absl::random_random
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_distributions
|
|
|
|
SRCS
|
|
|
|
"discrete_distribution.cc"
|
|
|
|
"gaussian_distribution.cc"
|
|
|
|
HDRS
|
|
|
|
"bernoulli_distribution.h"
|
|
|
|
"beta_distribution.h"
|
|
|
|
"discrete_distribution.h"
|
|
|
|
"distribution_format_traits.h"
|
|
|
|
"distributions.h"
|
|
|
|
"exponential_distribution.h"
|
|
|
|
"gaussian_distribution.h"
|
|
|
|
"log_uniform_int_distribution.h"
|
|
|
|
"poisson_distribution.h"
|
|
|
|
"uniform_int_distribution.h"
|
|
|
|
"uniform_real_distribution.h"
|
|
|
|
"zipf_distribution.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::base_internal
|
|
|
|
absl::core_headers
|
Export of internal Abseil changes
--
e54b9c7bbb0c58475676c268e2e19c69f4bce48a by Jorg Brown <jorg@google.com>:
Tweak ABSL_PREDICT_TRUE slightly, for better code on some platforms and/or
optimization levels. "false || (x)" is more verbose than "!!(x)", but
ultimately more efficient.
For example, given this code:
void InitIfNecessary() {
if (ABSL_PREDICT_TRUE(NeedsInit())) {
SlowInitIfNecessary();
}
}
Clang with default optimization level will produce:
Before this CL After this CL
InitIfNecessary: InitIfNecessary:
push rbp push rbp
mov rbp, rsp mov rbp, rsp
call NeedsInit call NeedsInit
xor al, -1
xor al, -1
test al, 1 test al, 1
jne .LBB2_1 jne .LBB3_1
jmp .LBB2_2 jmp .LBB3_2
.LBB2_1: .LBB3_1:
call SlowInitIfNecessary call SlowInitIfNecessary
.LBB2_2: .LBB3_2:
pop rbp pop rbp
ret ret
PiperOrigin-RevId: 276401386
--
0a3c4dfd8342bf2b1b11a87f1c662c883f73cab7 by Abseil Team <absl-team@google.com>:
Fix comment nit: sem_open => sem_init.
The code calls sem_init, not sem_open, to initialize an unnamed semaphore.
(sem_open creates or opens a named semaphore.)
PiperOrigin-RevId: 276344072
--
b36a664e9459057509a90e83d3482e1d3a4c44c7 by Abseil Team <absl-team@google.com>:
Fix typo in flat_hash_map.h: exchaged -> exchanged
PiperOrigin-RevId: 276295792
--
7bbd8d18276eb110c8335743e35fceb662ddf3d6 by Samuel Benzaquen <sbenza@google.com>:
Add assertions to verify use of iterators.
PiperOrigin-RevId: 276283300
--
677398a8ffcb1f59182cffe57a4fe7ff147a0404 by Laramie Leavitt <lar@google.com>:
Migrate distribution_impl.h/cc to generate_real.h/cc.
Combine the methods RandU64To<Float,Double> into a single method:
GenerateRealFromBits().
Remove rejection sampling from absl::uniform_real_distribution.
PiperOrigin-RevId: 276158675
--
c60c9d11d24b0c546329d998e78e15a84b3153f5 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276126962
--
4c840cab6a8d86efa29b397cafaf7520eece68cc by Andy Soffer <asoffer@google.com>:
Update CMakeLists.txt to address https://github.com/abseil/abseil-cpp/issues/365.
This does not cover every platform, but it does at least address the
first-order issue of assuming gcc implies x86.
PiperOrigin-RevId: 276116253
--
98da366e6b5d51afe5d7ac6722126aca23d85ee6 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276097452
GitOrigin-RevId: e54b9c7bbb0c58475676c268e2e19c69f4bce48a
Change-Id: I02d84454bb71ab21ad3d39650acf6cc6e36f58d7
5 years ago
|
|
|
absl::random_internal_generate_real
|
|
|
|
absl::random_internal_distributions
|
|
|
|
absl::random_internal_fast_uniform_bits
|
|
|
|
absl::random_internal_fastmath
|
|
|
|
absl::random_internal_iostream_state_saver
|
|
|
|
absl::random_internal_traits
|
|
|
|
absl::random_internal_uniform_helper
|
|
|
|
absl::random_internal_wide_multiply
|
|
|
|
absl::strings
|
|
|
|
absl::span
|
|
|
|
absl::type_traits
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_seed_gen_exception
|
|
|
|
SRCS
|
|
|
|
"seed_gen_exception.cc"
|
|
|
|
HDRS
|
|
|
|
"seed_gen_exception.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::config
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_seed_sequences
|
|
|
|
SRCS
|
|
|
|
"seed_sequences.cc"
|
|
|
|
HDRS
|
|
|
|
"seed_sequences.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::inlined_vector
|
|
|
|
absl::random_internal_nonsecure_base
|
|
|
|
absl::random_internal_pool_urbg
|
|
|
|
absl::random_internal_salted_seed_seq
|
|
|
|
absl::random_internal_seed_material
|
|
|
|
absl::random_seed_gen_exception
|
|
|
|
absl::span
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_bernoulli_distribution_test
|
|
|
|
SRCS
|
|
|
|
"bernoulli_distribution_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_random
|
|
|
|
absl::random_internal_sequence_urbg
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_beta_distribution_test
|
|
|
|
SRCS
|
|
|
|
"beta_distribution_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_random
|
|
|
|
absl::random_internal_distribution_test_util
|
|
|
|
absl::random_internal_sequence_urbg
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::strings
|
|
|
|
absl::str_format
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_distributions_test
|
|
|
|
SRCS
|
|
|
|
"distributions_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_random
|
|
|
|
absl::random_internal_distribution_test_util
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_generators_test
|
|
|
|
SRCS
|
|
|
|
"generators_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_random
|
|
|
|
absl::raw_logging_internal
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_log_uniform_int_distribution_test
|
|
|
|
SRCS
|
|
|
|
"log_uniform_int_distribution_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
absl::core_headers
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_internal_distribution_test_util
|
|
|
|
absl::random_internal_sequence_urbg
|
|
|
|
absl::random_random
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::strings
|
|
|
|
absl::str_format
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_discrete_distribution_test
|
|
|
|
SRCS
|
|
|
|
"discrete_distribution_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_internal_distribution_test_util
|
|
|
|
absl::random_internal_sequence_urbg
|
|
|
|
absl::random_random
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::strings
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_poisson_distribution_test
|
|
|
|
SRCS
|
|
|
|
"poisson_distribution_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_random
|
|
|
|
absl::core_headers
|
|
|
|
absl::flat_hash_map
|
|
|
|
absl::random_internal_distribution_test_util
|
|
|
|
absl::random_internal_sequence_urbg
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::strings
|
|
|
|
absl::str_format
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_exponential_distribution_test
|
|
|
|
SRCS
|
|
|
|
"exponential_distribution_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::core_headers
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_internal_distribution_test_util
|
|
|
|
absl::random_internal_sequence_urbg
|
|
|
|
absl::random_random
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::strings
|
|
|
|
absl::str_format
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_gaussian_distribution_test
|
|
|
|
SRCS
|
|
|
|
"gaussian_distribution_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::core_headers
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_internal_distribution_test_util
|
|
|
|
absl::random_internal_sequence_urbg
|
|
|
|
absl::random_random
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::strings
|
|
|
|
absl::str_format
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_uniform_int_distribution_test
|
|
|
|
SRCS
|
|
|
|
"uniform_int_distribution_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_internal_distribution_test_util
|
|
|
|
absl::random_internal_sequence_urbg
|
|
|
|
absl::random_random
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::strings
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_uniform_real_distribution_test
|
|
|
|
SRCS
|
|
|
|
"uniform_real_distribution_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_internal_distribution_test_util
|
|
|
|
absl::random_internal_sequence_urbg
|
|
|
|
absl::random_random
|
|
|
|
absl::strings
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_zipf_distribution_test
|
|
|
|
SRCS
|
|
|
|
"zipf_distribution_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_internal_distribution_test_util
|
|
|
|
absl::random_internal_sequence_urbg
|
|
|
|
absl::random_random
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::strings
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_examples_test
|
|
|
|
SRCS
|
|
|
|
"examples_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_random
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_seed_sequences_test
|
|
|
|
SRCS
|
|
|
|
"seed_sequences_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_seed_sequences
|
|
|
|
absl::random_internal_nonsecure_base
|
|
|
|
absl::random_random
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_traits
|
|
|
|
HDRS
|
|
|
|
"internal/traits.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::config
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_distribution_caller
|
|
|
|
HDRS
|
|
|
|
"internal/distribution_caller.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::config
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_distributions
|
|
|
|
HDRS
|
|
|
|
"internal/distributions.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_distribution_caller
|
|
|
|
absl::random_internal_fast_uniform_bits
|
|
|
|
absl::random_internal_fastmath
|
|
|
|
absl::random_internal_traits
|
|
|
|
absl::random_internal_uniform_helper
|
|
|
|
absl::span
|
|
|
|
absl::strings
|
|
|
|
absl::type_traits
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_fast_uniform_bits
|
|
|
|
HDRS
|
|
|
|
"internal/fast_uniform_bits.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::config
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_seed_material
|
|
|
|
SRCS
|
|
|
|
"internal/seed_material.cc"
|
|
|
|
HDRS
|
|
|
|
"internal/seed_material.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
$<$<BOOL:${MINGW}>:"bcrypt">
|
|
|
|
DEPS
|
|
|
|
absl::core_headers
|
|
|
|
absl::optional
|
|
|
|
absl::random_internal_fast_uniform_bits
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::span
|
|
|
|
absl::strings
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_pool_urbg
|
|
|
|
SRCS
|
|
|
|
"internal/pool_urbg.cc"
|
|
|
|
HDRS
|
|
|
|
"internal/pool_urbg.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::base
|
|
|
|
absl::config
|
|
|
|
absl::core_headers
|
|
|
|
absl::endian
|
|
|
|
absl::random_internal_randen
|
|
|
|
absl::random_internal_seed_material
|
|
|
|
absl::random_internal_traits
|
|
|
|
absl::random_seed_gen_exception
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::span
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_explicit_seed_seq
|
|
|
|
HDRS
|
|
|
|
"internal/random_internal_explicit_seed_seq.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::config
|
|
|
|
TESTONLY
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_sequence_urbg
|
|
|
|
HDRS
|
|
|
|
"internal/sequence_urbg.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::config
|
|
|
|
TESTONLY
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_salted_seed_seq
|
|
|
|
HDRS
|
|
|
|
"internal/salted_seed_seq.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::inlined_vector
|
|
|
|
absl::optional
|
|
|
|
absl::span
|
|
|
|
absl::random_internal_seed_material
|
|
|
|
absl::type_traits
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_iostream_state_saver
|
|
|
|
HDRS
|
|
|
|
"internal/iostream_state_saver.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::int128
|
|
|
|
absl::type_traits
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
Export of internal Abseil changes
--
e54b9c7bbb0c58475676c268e2e19c69f4bce48a by Jorg Brown <jorg@google.com>:
Tweak ABSL_PREDICT_TRUE slightly, for better code on some platforms and/or
optimization levels. "false || (x)" is more verbose than "!!(x)", but
ultimately more efficient.
For example, given this code:
void InitIfNecessary() {
if (ABSL_PREDICT_TRUE(NeedsInit())) {
SlowInitIfNecessary();
}
}
Clang with default optimization level will produce:
Before this CL After this CL
InitIfNecessary: InitIfNecessary:
push rbp push rbp
mov rbp, rsp mov rbp, rsp
call NeedsInit call NeedsInit
xor al, -1
xor al, -1
test al, 1 test al, 1
jne .LBB2_1 jne .LBB3_1
jmp .LBB2_2 jmp .LBB3_2
.LBB2_1: .LBB3_1:
call SlowInitIfNecessary call SlowInitIfNecessary
.LBB2_2: .LBB3_2:
pop rbp pop rbp
ret ret
PiperOrigin-RevId: 276401386
--
0a3c4dfd8342bf2b1b11a87f1c662c883f73cab7 by Abseil Team <absl-team@google.com>:
Fix comment nit: sem_open => sem_init.
The code calls sem_init, not sem_open, to initialize an unnamed semaphore.
(sem_open creates or opens a named semaphore.)
PiperOrigin-RevId: 276344072
--
b36a664e9459057509a90e83d3482e1d3a4c44c7 by Abseil Team <absl-team@google.com>:
Fix typo in flat_hash_map.h: exchaged -> exchanged
PiperOrigin-RevId: 276295792
--
7bbd8d18276eb110c8335743e35fceb662ddf3d6 by Samuel Benzaquen <sbenza@google.com>:
Add assertions to verify use of iterators.
PiperOrigin-RevId: 276283300
--
677398a8ffcb1f59182cffe57a4fe7ff147a0404 by Laramie Leavitt <lar@google.com>:
Migrate distribution_impl.h/cc to generate_real.h/cc.
Combine the methods RandU64To<Float,Double> into a single method:
GenerateRealFromBits().
Remove rejection sampling from absl::uniform_real_distribution.
PiperOrigin-RevId: 276158675
--
c60c9d11d24b0c546329d998e78e15a84b3153f5 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276126962
--
4c840cab6a8d86efa29b397cafaf7520eece68cc by Andy Soffer <asoffer@google.com>:
Update CMakeLists.txt to address https://github.com/abseil/abseil-cpp/issues/365.
This does not cover every platform, but it does at least address the
first-order issue of assuming gcc implies x86.
PiperOrigin-RevId: 276116253
--
98da366e6b5d51afe5d7ac6722126aca23d85ee6 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276097452
GitOrigin-RevId: e54b9c7bbb0c58475676c268e2e19c69f4bce48a
Change-Id: I02d84454bb71ab21ad3d39650acf6cc6e36f58d7
5 years ago
|
|
|
random_internal_generate_real
|
|
|
|
HDRS
|
Export of internal Abseil changes
--
e54b9c7bbb0c58475676c268e2e19c69f4bce48a by Jorg Brown <jorg@google.com>:
Tweak ABSL_PREDICT_TRUE slightly, for better code on some platforms and/or
optimization levels. "false || (x)" is more verbose than "!!(x)", but
ultimately more efficient.
For example, given this code:
void InitIfNecessary() {
if (ABSL_PREDICT_TRUE(NeedsInit())) {
SlowInitIfNecessary();
}
}
Clang with default optimization level will produce:
Before this CL After this CL
InitIfNecessary: InitIfNecessary:
push rbp push rbp
mov rbp, rsp mov rbp, rsp
call NeedsInit call NeedsInit
xor al, -1
xor al, -1
test al, 1 test al, 1
jne .LBB2_1 jne .LBB3_1
jmp .LBB2_2 jmp .LBB3_2
.LBB2_1: .LBB3_1:
call SlowInitIfNecessary call SlowInitIfNecessary
.LBB2_2: .LBB3_2:
pop rbp pop rbp
ret ret
PiperOrigin-RevId: 276401386
--
0a3c4dfd8342bf2b1b11a87f1c662c883f73cab7 by Abseil Team <absl-team@google.com>:
Fix comment nit: sem_open => sem_init.
The code calls sem_init, not sem_open, to initialize an unnamed semaphore.
(sem_open creates or opens a named semaphore.)
PiperOrigin-RevId: 276344072
--
b36a664e9459057509a90e83d3482e1d3a4c44c7 by Abseil Team <absl-team@google.com>:
Fix typo in flat_hash_map.h: exchaged -> exchanged
PiperOrigin-RevId: 276295792
--
7bbd8d18276eb110c8335743e35fceb662ddf3d6 by Samuel Benzaquen <sbenza@google.com>:
Add assertions to verify use of iterators.
PiperOrigin-RevId: 276283300
--
677398a8ffcb1f59182cffe57a4fe7ff147a0404 by Laramie Leavitt <lar@google.com>:
Migrate distribution_impl.h/cc to generate_real.h/cc.
Combine the methods RandU64To<Float,Double> into a single method:
GenerateRealFromBits().
Remove rejection sampling from absl::uniform_real_distribution.
PiperOrigin-RevId: 276158675
--
c60c9d11d24b0c546329d998e78e15a84b3153f5 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276126962
--
4c840cab6a8d86efa29b397cafaf7520eece68cc by Andy Soffer <asoffer@google.com>:
Update CMakeLists.txt to address https://github.com/abseil/abseil-cpp/issues/365.
This does not cover every platform, but it does at least address the
first-order issue of assuming gcc implies x86.
PiperOrigin-RevId: 276116253
--
98da366e6b5d51afe5d7ac6722126aca23d85ee6 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276097452
GitOrigin-RevId: e54b9c7bbb0c58475676c268e2e19c69f4bce48a
Change-Id: I02d84454bb71ab21ad3d39650acf6cc6e36f58d7
5 years ago
|
|
|
"internal/generate_real.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::bits
|
|
|
|
absl::random_internal_fastmath
|
|
|
|
absl::random_internal_traits
|
Export of internal Abseil changes
--
e54b9c7bbb0c58475676c268e2e19c69f4bce48a by Jorg Brown <jorg@google.com>:
Tweak ABSL_PREDICT_TRUE slightly, for better code on some platforms and/or
optimization levels. "false || (x)" is more verbose than "!!(x)", but
ultimately more efficient.
For example, given this code:
void InitIfNecessary() {
if (ABSL_PREDICT_TRUE(NeedsInit())) {
SlowInitIfNecessary();
}
}
Clang with default optimization level will produce:
Before this CL After this CL
InitIfNecessary: InitIfNecessary:
push rbp push rbp
mov rbp, rsp mov rbp, rsp
call NeedsInit call NeedsInit
xor al, -1
xor al, -1
test al, 1 test al, 1
jne .LBB2_1 jne .LBB3_1
jmp .LBB2_2 jmp .LBB3_2
.LBB2_1: .LBB3_1:
call SlowInitIfNecessary call SlowInitIfNecessary
.LBB2_2: .LBB3_2:
pop rbp pop rbp
ret ret
PiperOrigin-RevId: 276401386
--
0a3c4dfd8342bf2b1b11a87f1c662c883f73cab7 by Abseil Team <absl-team@google.com>:
Fix comment nit: sem_open => sem_init.
The code calls sem_init, not sem_open, to initialize an unnamed semaphore.
(sem_open creates or opens a named semaphore.)
PiperOrigin-RevId: 276344072
--
b36a664e9459057509a90e83d3482e1d3a4c44c7 by Abseil Team <absl-team@google.com>:
Fix typo in flat_hash_map.h: exchaged -> exchanged
PiperOrigin-RevId: 276295792
--
7bbd8d18276eb110c8335743e35fceb662ddf3d6 by Samuel Benzaquen <sbenza@google.com>:
Add assertions to verify use of iterators.
PiperOrigin-RevId: 276283300
--
677398a8ffcb1f59182cffe57a4fe7ff147a0404 by Laramie Leavitt <lar@google.com>:
Migrate distribution_impl.h/cc to generate_real.h/cc.
Combine the methods RandU64To<Float,Double> into a single method:
GenerateRealFromBits().
Remove rejection sampling from absl::uniform_real_distribution.
PiperOrigin-RevId: 276158675
--
c60c9d11d24b0c546329d998e78e15a84b3153f5 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276126962
--
4c840cab6a8d86efa29b397cafaf7520eece68cc by Andy Soffer <asoffer@google.com>:
Update CMakeLists.txt to address https://github.com/abseil/abseil-cpp/issues/365.
This does not cover every platform, but it does at least address the
first-order issue of assuming gcc implies x86.
PiperOrigin-RevId: 276116253
--
98da366e6b5d51afe5d7ac6722126aca23d85ee6 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276097452
GitOrigin-RevId: e54b9c7bbb0c58475676c268e2e19c69f4bce48a
Change-Id: I02d84454bb71ab21ad3d39650acf6cc6e36f58d7
5 years ago
|
|
|
absl::type_traits
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_wide_multiply
|
|
|
|
HDRS
|
|
|
|
"internal/wide_multiply.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::bits
|
|
|
|
absl::config
|
|
|
|
absl::int128
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_fastmath
|
|
|
|
HDRS
|
|
|
|
"internal/fastmath.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::bits
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_nonsecure_base
|
|
|
|
HDRS
|
|
|
|
"internal/nonsecure_base.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::core_headers
|
|
|
|
absl::optional
|
|
|
|
absl::random_internal_pool_urbg
|
|
|
|
absl::random_internal_salted_seed_seq
|
|
|
|
absl::random_internal_seed_material
|
|
|
|
absl::span
|
|
|
|
absl::strings
|
|
|
|
absl::type_traits
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_pcg_engine
|
|
|
|
HDRS
|
|
|
|
"internal/pcg_engine.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::config
|
|
|
|
absl::int128
|
|
|
|
absl::random_internal_fastmath
|
|
|
|
absl::random_internal_iostream_state_saver
|
|
|
|
absl::type_traits
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_randen_engine
|
|
|
|
HDRS
|
|
|
|
"internal/randen_engine.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_iostream_state_saver
|
|
|
|
absl::random_internal_randen
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::type_traits
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_platform
|
|
|
|
HDRS
|
|
|
|
"internal/randen_traits.h"
|
|
|
|
"internal/randen-keys.inc"
|
|
|
|
"internal/platform.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::config
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_randen
|
|
|
|
SRCS
|
|
|
|
"internal/randen.cc"
|
|
|
|
HDRS
|
|
|
|
"internal/randen.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_platform
|
|
|
|
absl::random_internal_randen_hwaes
|
|
|
|
absl::random_internal_randen_slow
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_randen_slow
|
|
|
|
SRCS
|
|
|
|
"internal/randen_slow.cc"
|
|
|
|
HDRS
|
|
|
|
"internal/randen_slow.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_platform
|
|
|
|
absl::config
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_randen_hwaes
|
|
|
|
SRCS
|
|
|
|
"internal/randen_detect.cc"
|
|
|
|
HDRS
|
|
|
|
"internal/randen_detect.h"
|
|
|
|
"internal/randen_hwaes.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
${ABSL_RANDOM_RANDEN_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_platform
|
|
|
|
absl::random_internal_randen_hwaes_impl
|
|
|
|
absl::config
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_randen_hwaes_impl
|
|
|
|
SRCS
|
|
|
|
"internal/randen_hwaes.cc"
|
|
|
|
"internal/randen_hwaes.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
${ABSL_RANDOM_RANDEN_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_platform
|
|
|
|
absl::config
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_distribution_test_util
|
|
|
|
SRCS
|
|
|
|
"internal/chi_square.cc"
|
|
|
|
"internal/distribution_test_util.cc"
|
|
|
|
HDRS
|
|
|
|
"internal/chi_square.h"
|
|
|
|
"internal/distribution_test_util.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::config
|
|
|
|
absl::core_headers
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::strings
|
|
|
|
absl::str_format
|
|
|
|
absl::span
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_traits_test
|
|
|
|
SRCS
|
|
|
|
"internal/traits_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_traits
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
Export of internal Abseil changes
--
e54b9c7bbb0c58475676c268e2e19c69f4bce48a by Jorg Brown <jorg@google.com>:
Tweak ABSL_PREDICT_TRUE slightly, for better code on some platforms and/or
optimization levels. "false || (x)" is more verbose than "!!(x)", but
ultimately more efficient.
For example, given this code:
void InitIfNecessary() {
if (ABSL_PREDICT_TRUE(NeedsInit())) {
SlowInitIfNecessary();
}
}
Clang with default optimization level will produce:
Before this CL After this CL
InitIfNecessary: InitIfNecessary:
push rbp push rbp
mov rbp, rsp mov rbp, rsp
call NeedsInit call NeedsInit
xor al, -1
xor al, -1
test al, 1 test al, 1
jne .LBB2_1 jne .LBB3_1
jmp .LBB2_2 jmp .LBB3_2
.LBB2_1: .LBB3_1:
call SlowInitIfNecessary call SlowInitIfNecessary
.LBB2_2: .LBB3_2:
pop rbp pop rbp
ret ret
PiperOrigin-RevId: 276401386
--
0a3c4dfd8342bf2b1b11a87f1c662c883f73cab7 by Abseil Team <absl-team@google.com>:
Fix comment nit: sem_open => sem_init.
The code calls sem_init, not sem_open, to initialize an unnamed semaphore.
(sem_open creates or opens a named semaphore.)
PiperOrigin-RevId: 276344072
--
b36a664e9459057509a90e83d3482e1d3a4c44c7 by Abseil Team <absl-team@google.com>:
Fix typo in flat_hash_map.h: exchaged -> exchanged
PiperOrigin-RevId: 276295792
--
7bbd8d18276eb110c8335743e35fceb662ddf3d6 by Samuel Benzaquen <sbenza@google.com>:
Add assertions to verify use of iterators.
PiperOrigin-RevId: 276283300
--
677398a8ffcb1f59182cffe57a4fe7ff147a0404 by Laramie Leavitt <lar@google.com>:
Migrate distribution_impl.h/cc to generate_real.h/cc.
Combine the methods RandU64To<Float,Double> into a single method:
GenerateRealFromBits().
Remove rejection sampling from absl::uniform_real_distribution.
PiperOrigin-RevId: 276158675
--
c60c9d11d24b0c546329d998e78e15a84b3153f5 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276126962
--
4c840cab6a8d86efa29b397cafaf7520eece68cc by Andy Soffer <asoffer@google.com>:
Update CMakeLists.txt to address https://github.com/abseil/abseil-cpp/issues/365.
This does not cover every platform, but it does at least address the
first-order issue of assuming gcc implies x86.
PiperOrigin-RevId: 276116253
--
98da366e6b5d51afe5d7ac6722126aca23d85ee6 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276097452
GitOrigin-RevId: e54b9c7bbb0c58475676c268e2e19c69f4bce48a
Change-Id: I02d84454bb71ab21ad3d39650acf6cc6e36f58d7
5 years ago
|
|
|
random_internal_generate_real_test
|
|
|
|
SRCS
|
Export of internal Abseil changes
--
e54b9c7bbb0c58475676c268e2e19c69f4bce48a by Jorg Brown <jorg@google.com>:
Tweak ABSL_PREDICT_TRUE slightly, for better code on some platforms and/or
optimization levels. "false || (x)" is more verbose than "!!(x)", but
ultimately more efficient.
For example, given this code:
void InitIfNecessary() {
if (ABSL_PREDICT_TRUE(NeedsInit())) {
SlowInitIfNecessary();
}
}
Clang with default optimization level will produce:
Before this CL After this CL
InitIfNecessary: InitIfNecessary:
push rbp push rbp
mov rbp, rsp mov rbp, rsp
call NeedsInit call NeedsInit
xor al, -1
xor al, -1
test al, 1 test al, 1
jne .LBB2_1 jne .LBB3_1
jmp .LBB2_2 jmp .LBB3_2
.LBB2_1: .LBB3_1:
call SlowInitIfNecessary call SlowInitIfNecessary
.LBB2_2: .LBB3_2:
pop rbp pop rbp
ret ret
PiperOrigin-RevId: 276401386
--
0a3c4dfd8342bf2b1b11a87f1c662c883f73cab7 by Abseil Team <absl-team@google.com>:
Fix comment nit: sem_open => sem_init.
The code calls sem_init, not sem_open, to initialize an unnamed semaphore.
(sem_open creates or opens a named semaphore.)
PiperOrigin-RevId: 276344072
--
b36a664e9459057509a90e83d3482e1d3a4c44c7 by Abseil Team <absl-team@google.com>:
Fix typo in flat_hash_map.h: exchaged -> exchanged
PiperOrigin-RevId: 276295792
--
7bbd8d18276eb110c8335743e35fceb662ddf3d6 by Samuel Benzaquen <sbenza@google.com>:
Add assertions to verify use of iterators.
PiperOrigin-RevId: 276283300
--
677398a8ffcb1f59182cffe57a4fe7ff147a0404 by Laramie Leavitt <lar@google.com>:
Migrate distribution_impl.h/cc to generate_real.h/cc.
Combine the methods RandU64To<Float,Double> into a single method:
GenerateRealFromBits().
Remove rejection sampling from absl::uniform_real_distribution.
PiperOrigin-RevId: 276158675
--
c60c9d11d24b0c546329d998e78e15a84b3153f5 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276126962
--
4c840cab6a8d86efa29b397cafaf7520eece68cc by Andy Soffer <asoffer@google.com>:
Update CMakeLists.txt to address https://github.com/abseil/abseil-cpp/issues/365.
This does not cover every platform, but it does at least address the
first-order issue of assuming gcc implies x86.
PiperOrigin-RevId: 276116253
--
98da366e6b5d51afe5d7ac6722126aca23d85ee6 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276097452
GitOrigin-RevId: e54b9c7bbb0c58475676c268e2e19c69f4bce48a
Change-Id: I02d84454bb71ab21ad3d39650acf6cc6e36f58d7
5 years ago
|
|
|
"internal/generate_real_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::bits
|
|
|
|
absl::flags
|
Export of internal Abseil changes
--
e54b9c7bbb0c58475676c268e2e19c69f4bce48a by Jorg Brown <jorg@google.com>:
Tweak ABSL_PREDICT_TRUE slightly, for better code on some platforms and/or
optimization levels. "false || (x)" is more verbose than "!!(x)", but
ultimately more efficient.
For example, given this code:
void InitIfNecessary() {
if (ABSL_PREDICT_TRUE(NeedsInit())) {
SlowInitIfNecessary();
}
}
Clang with default optimization level will produce:
Before this CL After this CL
InitIfNecessary: InitIfNecessary:
push rbp push rbp
mov rbp, rsp mov rbp, rsp
call NeedsInit call NeedsInit
xor al, -1
xor al, -1
test al, 1 test al, 1
jne .LBB2_1 jne .LBB3_1
jmp .LBB2_2 jmp .LBB3_2
.LBB2_1: .LBB3_1:
call SlowInitIfNecessary call SlowInitIfNecessary
.LBB2_2: .LBB3_2:
pop rbp pop rbp
ret ret
PiperOrigin-RevId: 276401386
--
0a3c4dfd8342bf2b1b11a87f1c662c883f73cab7 by Abseil Team <absl-team@google.com>:
Fix comment nit: sem_open => sem_init.
The code calls sem_init, not sem_open, to initialize an unnamed semaphore.
(sem_open creates or opens a named semaphore.)
PiperOrigin-RevId: 276344072
--
b36a664e9459057509a90e83d3482e1d3a4c44c7 by Abseil Team <absl-team@google.com>:
Fix typo in flat_hash_map.h: exchaged -> exchanged
PiperOrigin-RevId: 276295792
--
7bbd8d18276eb110c8335743e35fceb662ddf3d6 by Samuel Benzaquen <sbenza@google.com>:
Add assertions to verify use of iterators.
PiperOrigin-RevId: 276283300
--
677398a8ffcb1f59182cffe57a4fe7ff147a0404 by Laramie Leavitt <lar@google.com>:
Migrate distribution_impl.h/cc to generate_real.h/cc.
Combine the methods RandU64To<Float,Double> into a single method:
GenerateRealFromBits().
Remove rejection sampling from absl::uniform_real_distribution.
PiperOrigin-RevId: 276158675
--
c60c9d11d24b0c546329d998e78e15a84b3153f5 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276126962
--
4c840cab6a8d86efa29b397cafaf7520eece68cc by Andy Soffer <asoffer@google.com>:
Update CMakeLists.txt to address https://github.com/abseil/abseil-cpp/issues/365.
This does not cover every platform, but it does at least address the
first-order issue of assuming gcc implies x86.
PiperOrigin-RevId: 276116253
--
98da366e6b5d51afe5d7ac6722126aca23d85ee6 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 276097452
GitOrigin-RevId: e54b9c7bbb0c58475676c268e2e19c69f4bce48a
Change-Id: I02d84454bb71ab21ad3d39650acf6cc6e36f58d7
5 years ago
|
|
|
absl::random_internal_generate_real
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_distribution_test_util_test
|
|
|
|
SRCS
|
|
|
|
"internal/distribution_test_util_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_distribution_test_util
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_fastmath_test
|
|
|
|
SRCS
|
|
|
|
"internal/fastmath_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_fastmath
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_explicit_seed_seq_test
|
|
|
|
SRCS
|
|
|
|
"internal/explicit_seed_seq_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_explicit_seed_seq
|
|
|
|
absl::random_seed_sequences
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_salted_seed_seq_test
|
|
|
|
SRCS
|
|
|
|
"internal/salted_seed_seq_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_salted_seed_seq
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_chi_square_test
|
|
|
|
SRCS
|
|
|
|
"internal/chi_square_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::core_headers
|
|
|
|
absl::random_internal_distribution_test_util
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_fast_uniform_bits_test
|
|
|
|
SRCS
|
|
|
|
"internal/fast_uniform_bits_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_fast_uniform_bits
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_nonsecure_base_test
|
|
|
|
SRCS
|
|
|
|
"internal/nonsecure_base_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_nonsecure_base
|
|
|
|
absl::random_random
|
|
|
|
absl::random_distributions
|
|
|
|
absl::random_seed_sequences
|
|
|
|
absl::strings
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_seed_material_test
|
|
|
|
SRCS
|
|
|
|
"internal/seed_material_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_seed_material
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_pool_urbg_test
|
|
|
|
SRCS
|
|
|
|
"internal/pool_urbg_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_pool_urbg
|
|
|
|
absl::span
|
|
|
|
absl::type_traits
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_pcg_engine_test
|
|
|
|
SRCS
|
|
|
|
"internal/pcg_engine_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_explicit_seed_seq
|
|
|
|
absl::random_internal_pcg_engine
|
|
|
|
absl::time
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_randen_engine_test
|
|
|
|
SRCS
|
|
|
|
"internal/randen_engine_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_explicit_seed_seq
|
|
|
|
absl::random_internal_randen_engine
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::strings
|
|
|
|
absl::time
|
|
|
|
gmock
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_randen_test
|
|
|
|
SRCS
|
|
|
|
"internal/randen_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_randen
|
|
|
|
absl::type_traits
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_randen_slow_test
|
|
|
|
SRCS
|
|
|
|
"internal/randen_slow_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_randen_slow
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_randen_hwaes_test
|
|
|
|
SRCS
|
|
|
|
"internal/randen_hwaes_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_platform
|
|
|
|
absl::random_internal_randen_hwaes
|
|
|
|
absl::random_internal_randen_hwaes_impl
|
|
|
|
absl::raw_logging_internal
|
|
|
|
absl::str_format
|
|
|
|
gmock
|
|
|
|
gtest
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_library(
|
|
|
|
NAME
|
|
|
|
random_internal_uniform_helper
|
|
|
|
HDRS
|
|
|
|
"internal/uniform_helper.h"
|
|
|
|
COPTS
|
|
|
|
${ABSL_DEFAULT_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::core_headers
|
|
|
|
absl::random_internal_fast_uniform_bits
|
|
|
|
absl::random_internal_iostream_state_saver
|
|
|
|
absl::random_internal_traits
|
|
|
|
absl::type_traits
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_iostream_state_saver_test
|
|
|
|
SRCS
|
|
|
|
"internal/iostream_state_saver_test.cc"
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_iostream_state_saver
|
|
|
|
gtest_main
|
|
|
|
)
|
|
|
|
|
|
|
|
# Internal-only target, do not depend on directly.
|
|
|
|
absl_cc_test(
|
|
|
|
NAME
|
|
|
|
random_internal_wide_multiply_test
|
|
|
|
SRCS
|
|
|
|
internal/wide_multiply_test.cc
|
|
|
|
COPTS
|
|
|
|
${ABSL_TEST_COPTS}
|
|
|
|
LINKOPTS
|
|
|
|
${ABSL_DEFAULT_LINKOPTS}
|
|
|
|
DEPS
|
|
|
|
absl::random_internal_wide_multiply
|
|
|
|
absl::bits
|
|
|
|
absl::int128
|
|
|
|
gtest_main
|
|
|
|
)
|