[commit] r1902 - in trunk/GME: Common ObjectInspector Parser
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Wed Apr 18 13:31:45 CDT 2012
Author: ksmyth
Date: Wed Apr 18 13:31:45 2012
New Revision: 1902
Log:
Fix GME-391. Also support infinities and NaN
Modified:
trunk/GME/Common/Common.vcxproj
trunk/GME/Common/Common.vcxproj.filters
trunk/GME/ObjectInspector/ItemData.cpp
trunk/GME/Parser/MgaDumper.cpp
trunk/GME/Parser/MgaParser.cpp
trunk/GME/Parser/Parser.vcxproj
trunk/GME/Parser/Parser.vcxproj.filters
Modified: trunk/GME/Common/Common.vcxproj
==============================================================================
--- trunk/GME/Common/Common.vcxproj Tue Apr 17 16:37:38 2012 (r1901)
+++ trunk/GME/Common/Common.vcxproj Wed Apr 18 13:31:45 2012 (r1902)
@@ -136,6 +136,7 @@
<ClInclude Include="CommonComponent.h" />
<ClInclude Include="CommonError.h" />
<ClInclude Include="CommonImport.h" />
+ <ClInclude Include="CommonMath.h" />
<ClInclude Include="CommonMfc.h" />
<ClInclude Include="CommonMgaTrukk.h" />
<ClInclude Include="CommonSmart.h" />
Modified: trunk/GME/Common/Common.vcxproj.filters
==============================================================================
--- trunk/GME/Common/Common.vcxproj.filters Tue Apr 17 16:37:38 2012 (r1901)
+++ trunk/GME/Common/Common.vcxproj.filters Wed Apr 18 13:31:45 2012 (r1902)
@@ -61,5 +61,8 @@
<ClInclude Include="CommonImport.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="CommonMath.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
</Project>
\ No newline at end of file
Modified: trunk/GME/ObjectInspector/ItemData.cpp
==============================================================================
--- trunk/GME/ObjectInspector/ItemData.cpp Tue Apr 17 16:37:38 2012 (r1901)
+++ trunk/GME/ObjectInspector/ItemData.cpp Wed Apr 18 13:31:45 2012 (r1902)
@@ -3,6 +3,7 @@
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
+#include "CommonMath.h"
#include "objectinspector.h"
#include "ItemData.h"
#include "MgaUtil.h"
@@ -191,12 +192,21 @@
if(stringVal.GetSize()==1)
{
TCHAR* endptr;
- double d = _tcstod(stringVal[0], &endptr);
- if(*endptr == _T('\0'))
+ double d;
+ if (ParseSpecialDouble(stringVal[0], d))
{
- doubleVal=d;
- retVal=true;
- }
+ doubleVal = d;
+ retVal = true;
+ }
+ else
+ {
+ d = _tcstod(stringVal[0], &endptr);
+ if (*endptr == _T('\0'))
+ {
+ doubleVal = d;
+ retVal = true;
+ }
+ }
}
else
{
Modified: trunk/GME/Parser/MgaDumper.cpp
==============================================================================
--- trunk/GME/Parser/MgaDumper.cpp Tue Apr 17 16:37:38 2012 (r1901)
+++ trunk/GME/Parser/MgaDumper.cpp Wed Apr 18 13:31:45 2012 (r1902)
@@ -982,7 +982,7 @@
{
double d;
COMTHROW( attribute->get_FloatValue(&d) );
- Format(data, _T("%g"), d);
+ Format(data, _T("%.17g"), d);
break;
}
Modified: trunk/GME/Parser/MgaParser.cpp
==============================================================================
--- trunk/GME/Parser/MgaParser.cpp Tue Apr 17 16:37:38 2012 (r1901)
+++ trunk/GME/Parser/MgaParser.cpp Wed Apr 18 13:31:45 2012 (r1902)
@@ -1,5 +1,6 @@
#include "stdafx.h"
+#include "CommonMath.h"
#include "Parser.h"
#include "MgaParser.h"
#include <xercesc/util/PlatformUtils.hpp>
@@ -946,8 +947,19 @@
break;
case ATTVAL_DOUBLE:
- v = GetCurrData().c_str();
- COMTHROW( v.ChangeType(VT_R8) );
+ {
+ const wchar_t* val = GetCurrData().c_str();
+ double special;
+ if (ParseSpecialDouble(val, special))
+ {
+ v = special;
+ }
+ else
+ {
+ v = val;
+ COMTHROW( v.ChangeType(VT_R8) );
+ }
+ }
break;
case ATTVAL_BOOLEAN:
Modified: trunk/GME/Parser/Parser.vcxproj
==============================================================================
--- trunk/GME/Parser/Parser.vcxproj Tue Apr 17 16:37:38 2012 (r1901)
+++ trunk/GME/Parser/Parser.vcxproj Wed Apr 18 13:31:45 2012 (r1902)
@@ -260,6 +260,12 @@
<ClCompile Include="..\Common\CommonError.cpp" />
<ClCompile Include="..\Common\CommonSmart.cpp" />
<ClCompile Include="..\Common\CommonStl.cpp" />
+ <ClCompile Include="..\Common\dtoa.c">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
+ </ClCompile>
<ClCompile Include="GenParser.cpp" />
<ClCompile Include="GUIDCreate.cpp" />
<ClCompile Include="Helper.cpp" />
Modified: trunk/GME/Parser/Parser.vcxproj.filters
==============================================================================
--- trunk/GME/Parser/Parser.vcxproj.filters Tue Apr 17 16:37:38 2012 (r1901)
+++ trunk/GME/Parser/Parser.vcxproj.filters Wed Apr 18 13:31:45 2012 (r1902)
@@ -60,6 +60,9 @@
<ClCompile Include="Transcoder.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="..\Common\dtoa.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="Parser.def">
More information about the gme-commit
mailing list