Changeset 4be8f0 for src/base/helper.hpp


Ignore:
Timestamp:
May 2, 2013, 12:40:49 PM (13 years ago)
Author:
Frederik Heber <heber@…>
Children:
240f83
Parents:
092b175
git-author:
Frederik Heber <heber@…> (08/10/12 21:38:23)
git-committer:
Frederik Heber <heber@…> (05/02/13 12:40:49)
Message:

FIX: Disabled has_quiet_NaN() and has_signaling_NaN() check in Helpers::CheckNumber().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/base/helper.hpp

    r092b175 r4be8f0  
    8585  {
    8686    bool valid = true;
    87 
    88     // Check for nan
     87/*
     88    if (std::numeric_limits<vmg_float>::has_quiet_NaN) {
     89      valid &= number != std::numeric_limits<vmg_float>::quiet_NaN();
     90      assert(number != std::numeric_limits<vmg_float>::quiet_NaN());
     91    }
     92
     93    if (std::numeric_limits<vmg_float>::has_signaling_NaN) {
     94      valid &= number != std::numeric_limits<vmg_float>::signaling_NaN();
     95      assert(number != std::numeric_limits<vmg_float>::signaling_NaN());
     96    }
     97*/
    8998    valid &= number == number;
    9099    assert(number == number);
    91100
    92     // Check for infinity
    93     if (!std::numeric_limits<T>::is_integer && std::numeric_limits<T>::has_denorm == std::denorm_present) {
    94       valid &= number >= -1 * std::numeric_limits<T>::max();
    95       valid &= number <= std::numeric_limits<T>::max();
    96       assert(number >= -1 * std::numeric_limits<T>::max());
    97       assert(number <= std::numeric_limits<T>::max());
    98     }else {
    99       valid &= number >= std::numeric_limits<T>::min();
    100       valid &= number <= std::numeric_limits<T>::max();
    101       assert(number >= std::numeric_limits<T>::min());
    102       assert(number <= std::numeric_limits<T>::max());
     101    if (std::numeric_limits<vmg_float>::has_infinity) {
     102      valid &= number != std::numeric_limits<vmg_float>::infinity();
     103      valid &= number != -1 * std::numeric_limits<vmg_float>::infinity();
     104      assert(number != std::numeric_limits<vmg_float>::infinity());
     105      assert(number != -1 * std::numeric_limits<vmg_float>::infinity());
    103106    }
    104107
Note: See TracChangeset for help on using the changeset viewer.