<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7651.59">
<TITLE>CoinUtils CoinMpsIO.cpp CoinConvertDouble char outputValue[20]</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<BR>
<BR>
<P><FONT SIZE=4 FACE="Courier New">The outputValue is decalred as char [20] in both CoinMpsIO.cpp and CoinMpsIO.hpp. </FONT>
</P>
<P><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">void</FONT>
<BR><FONT SIZE=2 FACE="Courier New">CoinConvertDouble(</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> section, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> formatType, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">double</FONT><FONT SIZE=2 FACE="Courier New"> value, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> outputValue[20])</FONT>
</P>
<P><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">void</FONT>
<BR><FONT SIZE=2 FACE="Courier New">CoinConvertDouble(</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> section, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> formatType, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">double</FONT><FONT SIZE=2 FACE="Courier New"> value, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> outputValue[20]);</FONT>
</P>
<BR>
<P><FONT SIZE=4 FACE="Courier New">In the code, outputValue is initialized to be 24 spaces, which exceeds char [20].</FONT>
</P>
<P><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">if</FONT><FONT SIZE=2 FACE="Courier New"> (fabs(value)<1.0e40) {</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> memset(outputValue,</FONT><FONT COLOR="#A31515" SIZE=2 FACE="Courier New">' '</FONT><FONT SIZE=2 FACE="Courier New">,24);</FONT>
</P>
<P><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">for</FONT><FONT SIZE=2 FACE="Courier New"> (j=0;j<23;j++) {</FONT>
<BR> <FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">if</FONT><FONT SIZE=2 FACE="Courier New"> (outputValue[j]!=</FONT><FONT COLOR="#A31515" SIZE=2 FACE="Courier New">' '</FONT><FONT SIZE=2 FACE="Courier New">)</FONT>
<BR> <FONT SIZE=2 FACE="Courier New"> outputValue[i++]=outputValue[j];</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> }</FONT>
</P>
<P><FONT SIZE=4 FACE="Courier New">ClpSimpexOther passes char number[20] to CoinConvertDouble. </FONT>
</P>
<P><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> </FONT>
<BR><FONT SIZE=2 FACE="Courier New">ClpSimplexOther::writeBasis(</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> *filename,</FONT>
<BR> <FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">bool</FONT><FONT SIZE=2 FACE="Courier New"> writeValues,</FONT>
<BR> <FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> formatType) </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> number[20];</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> CoinConvertDouble(0,formatType,columnActivity_[iColumn],number);</FONT>
</P>
<BR>
<P><FONT SIZE=2 FACE="Courier New">convertDouble passes char outputValue[24] to CoinConvertDouble. </FONT>
</P>
<P><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">static</FONT><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">void</FONT>
<BR><FONT SIZE=2 FACE="Courier New">convertDouble(</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> section,</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> formatType, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">double</FONT><FONT SIZE=2 FACE="Courier New"> value, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> outputValue[24],</FONT>
<BR> <FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> * name, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New"> outputRow[100])</FONT>
<BR><FONT SIZE=2 FACE="Courier New">{</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> convertRowName(formatType,name,outputRow);</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> CoinConvertDouble(section,formatType&3,value,outputValue);</FONT>
<BR><FONT SIZE=2 FACE="Courier New">}</FONT>
</P>
<BR>
<BR>
<P><B><FONT SIZE=4 FACE="Courier New">Will such a practice mess up the data? Thanks.</FONT></B>
</P>
<BR>
<BR>
</BODY>
</HTML>