Ignore:
Timestamp:
06/13/15 21:51:27 (10 years ago)
Author:
epyon
Message:
  • cleanups of clang warnings (gotta love them all)
  • only nv-core for now (this will take a while for the whole source)
  • mainly C++ casts instead of C-style casts, but also a few bugs fixed!
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/core/random.cc

    r395 r402  
    1919random::seed_type random::randomize()
    2020{
    21         std::mt19937& rng = *(( std::mt19937* )m_data);
     21        std::mt19937& rng = *( reinterpret_cast< std::mt19937* >( m_data ) );
    2222        seed_type seed = randomized_seed();
    2323        rng.seed( seed );
     
    2727void random::set_seed( random::seed_type seed /*= 0 */ )
    2828{
    29         std::mt19937& rng = *( ( std::mt19937* )m_data );
     29        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    3030        rng.seed( seed == 0 ? randomized_seed() : seed );
    3131}
     
    3939random::result_type random::rand()
    4040{
    41         std::mt19937& rng = *( ( std::mt19937* )m_data );
     41        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    4242        return rng();
    4343}
     
    4545sint32 random::srand( sint32 val )
    4646{
    47         std::mt19937& rng = *( ( std::mt19937* )m_data );
     47        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    4848        std::uniform_int_distribution<sint32> dist( 0, val - 1 );
    4949        return dist( rng );
     
    5252uint32 random::urand( uint32 val )
    5353{
    54         std::mt19937& rng = *( ( std::mt19937* )m_data );
     54        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    5555        std::uniform_int_distribution<uint32> dist( 0, val - 1 );
    5656        return dist( rng );
     
    5959f32 random::frand( f32 val )
    6060{
    61         std::mt19937& rng = *( ( std::mt19937* )m_data );
     61        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    6262        std::uniform_real_distribution<f32> dist( 0, val );
    6363        return dist( rng );
     
    6666sint32 random::srange( sint32 min, sint32 max )
    6767{
    68         std::mt19937& rng = *( ( std::mt19937* )m_data );
     68        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    6969        std::uniform_int_distribution<sint32> dist( min, max );
    7070        return dist( rng );
     
    7373uint32 random::urange( uint32 min, uint32 max )
    7474{
    75         std::mt19937& rng = *( ( std::mt19937* )m_data );
     75        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    7676        std::uniform_int_distribution<uint32> dist( min, max );
    7777        return dist( rng );
     
    8080f32 random::frange( f32 min, f32 max )
    8181{
    82         std::mt19937& rng = *( ( std::mt19937* )m_data );
     82        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    8383        std::uniform_real_distribution<f32> dist( min, max );
    8484        return dist( rng );
     
    8787uint32 random::dice( uint32 count, uint32 sides )
    8888{
    89         std::mt19937& rng = *( ( std::mt19937* )m_data );
     89        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    9090        std::uniform_int_distribution<uint32> dist( 1, sides );
    9191        uint32 result = 0;
     
    106106nv::vec2 nv::random::precise_unit_vec2()
    107107{
    108         std::mt19937& rng = *( ( std::mt19937* )m_data );
     108        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    109109        std::uniform_real_distribution<f32> dist( 0, glm::pi<float>() * 2.f );
    110110        float angle = dist( rng );
     
    114114nv::vec3 nv::random::precise_unit_vec3()
    115115{
    116         std::mt19937& rng = *( ( std::mt19937* )m_data );
     116        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    117117        std::uniform_real_distribution<f32> dist11( -1.0f, 1.0f );
    118118        std::uniform_real_distribution<f32> dist02pi( 0.0f, 2*glm::pi<float>() );
     
    129129nv::vec2 nv::random::fast_disk_point()
    130130{
    131         std::mt19937& rng = *( ( std::mt19937* )m_data );
     131        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    132132        std::uniform_real_distribution<f32> dist( 0.0f, 1.0f );
    133133        float r1 = dist( rng );
     
    140140nv::vec2 nv::random::precise_disk_point()
    141141{
    142         std::mt19937& rng = *( ( std::mt19937* )m_data );
     142        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    143143        std::uniform_real_distribution<f32> unit( 0.0f, 1.0f );
    144144        std::uniform_real_distribution<f32> angle( 0.0f, glm::pi<float>() );
     
    150150nv::vec3 nv::random::fast_sphere_point()
    151151{
    152         std::mt19937& rng = *( ( std::mt19937* )m_data );
     152        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    153153        std::uniform_real_distribution<f32> dist01( 0.0f, 1.0f );
    154154        std::uniform_real_distribution<f32> dist11( -1.0f, 1.0f );
     
    168168nv::vec3 nv::random::precise_sphere_point()
    169169{
    170         std::mt19937& rng = *( ( std::mt19937* )m_data );
     170        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    171171        std::uniform_real_distribution<f32> dist01( 0.0f, 1.0f );
    172172        std::uniform_real_distribution<f32> dist11( -1.0f, 1.0f );
     
    185185nv::vec2 nv::random::precise_ellipse_point( const vec2& radii )
    186186{
    187         std::mt19937& rng = *( ( std::mt19937* )m_data );
     187        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    188188        std::uniform_real_distribution<f32> distx( -radii.x, radii.x );
    189189        std::uniform_real_distribution<f32> disty( -radii.y, radii.y );
     
    204204nv::vec3 nv::random::precise_ellipsoid_point( const vec3& radii )
    205205{
    206         std::mt19937& rng = *( ( std::mt19937* )m_data );
     206        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    207207        std::uniform_real_distribution<f32> distx( -radii.x, radii.x );
    208208        std::uniform_real_distribution<f32> disty( -radii.y, radii.y );
     
    225225nv::vec2 nv::random::fast_hollow_disk_point( float iradius, float oradius )
    226226{
    227         std::mt19937& rng = *( ( std::mt19937* )m_data );
     227        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    228228        float idist2 = iradius * iradius;
    229229        float odist2 = oradius * oradius;
     
    239239nv::vec3 nv::random::fast_hollow_sphere_point( float iradius, float oradius )
    240240{
    241         std::mt19937& rng = *( ( std::mt19937* )m_data );
     241        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    242242        float idist3 = iradius * iradius * iradius;
    243243        float odist3 = oradius * oradius * oradius;
     
    254254nv::vec2 nv::random::fast_hollow_ellipse_point( const vec2& iradii, const vec2& oradii )
    255255{
    256         std::mt19937& rng = *( ( std::mt19937* )m_data );
     256        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    257257        vec2 iradii2 = iradii * iradii;
    258258        vec2 opoint     = ellipse_edge( oradii );
     
    275275nv::vec3 nv::random::fast_hollow_ellipsoid_point( const vec3& iradii, const vec3& oradii )
    276276{
    277         std::mt19937& rng = *( ( std::mt19937* )m_data );
     277        std::mt19937& rng = *( reinterpret_cast<std::mt19937*>( m_data ) );
    278278        vec3 iradii2 = iradii * iradii;
    279279        vec3 opoint     = ellipsoid_edge( oradii );
Note: See TracChangeset for help on using the changeset viewer.