// Copyright Catch2 Authors // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE.txt or copy at // https://www.boost.org/LICENSE_1_0.txt) // SPDX-License-Identifier: BSL-1.0 #include #include #include #include #include namespace Catch { std::uint32_t generateRandomSeed( GenerateFrom from ) { switch ( from ) { case GenerateFrom::Time: return static_cast( std::time( nullptr ) ); case GenerateFrom::Default: case GenerateFrom::RandomDevice: { std::random_device rd; return Detail::fillBitsFrom( rd ); } default: CATCH_ERROR("Unknown generation method"); } } } // end namespace Catch