bugtest3215.diff

OS X isnan error fix. - John Tull, 2010-11-18 10:54 AM

Download (2.95 KB)

View differences:

src/core/qgis.h (working copy)
22 22
#include <QString>
23 23
#include <cfloat>
24 24

  
25
#ifndef Q_OS_MACX
26 25
#include <cmath>
27
#else
28
#include <math.h>
29
#endif
30 26
#ifdef WIN32
31 27
#include <float.h>
32 28
#define isnan(f) _isnan(f)
src/core/qgsclipper.h (working copy)
157 157
    // look at each edge of the polygon in turn
158 158

  
159 159
    //ignore segments with nan or inf coordinates
160
    if ( isnan( inX[i2] ) || isnan( inY[i2] ) || isinf( inX[i2] ) || isinf( inY[i2] )
161
         || isnan( inX[i1] ) || isnan( inY[i1] ) || isinf( inX[i1] ) || isinf( inY[i1] ) )
162
    {
163
      i1 = i2;
160
    #ifndef Q_OS_MACX
161
		if ( isnan( inX[i2] ) || isnan( inY[i2] ) || isinf( inX[i2] ) || isinf( inY[i2] )
162
    		|| isnan( inX[i1] ) || isnan( inY[i1] ) || isinf( inX[i1] ) || isinf( inY[i1] ) )
163
    	{
164
	#else
165
		if ( std::isnan( inX[i2] ) || std::isnan( inY[i2] ) || std::isinf( inX[i2] ) || std::isinf( inY[i2] )
166
	    	|| std::isnan( inX[i1] ) || std::isnan( inY[i1] ) || std::isinf( inX[i1] ) || std::isinf( inY[i1] ) )
167
	    {
168
    #endif  
169
	i1 = i2;
164 170
      continue;
165 171
    }
166 172

  
src/analysis/interpolation/qgsinterpolator.cpp (working copy)
83 83
          continue;
84 84
        }
85 85
        attributeValue = att_it.value().toDouble( &attributeConversionOk );
86
        if ( !attributeConversionOk || isnan( attributeValue ) ) //don't consider vertices with attributes like 'nan' for the interpolation
86
        #ifndef Q_OS_MACX
87
		if ( !attributeConversionOk || isnan( attributeValue ) ) //don't consider vertices with attributes like 'nan' for the interpolation
87 88
        {
88
          continue;
89
	    #else
90
		if ( !attributeConversionOk || std::isnan( attributeValue ) ) //don't consider vertices with attributes like 'nan' for the interpolation
91
	    {
92
        #endif
93
  			continue;
89 94
        }
90 95
      }
91 96

  
src/analysis/interpolation/qgstininterpolator.cpp (working copy)
185 185
      return 3;
186 186
    }
187 187
    attributeValue = att_it.value().toDouble( &attributeConversionOk );
188
	#ifndef Q_OS_MACX
188 189
    if ( !attributeConversionOk || isnan( attributeValue ) ) //don't consider vertices with attributes like 'nan' for the interpolation
189 190
    {
191
	#else
192
    if ( !attributeConversionOk || std::isnan( attributeValue ) ) //don't consider vertices with attributes like 'nan' for the interpolation
193
    {
194
	#endif
190 195
      return 4;
191 196
    }
192 197
  }