On Wed, 23 Mar 2011, Loris Nagler wrote:

I recently updated libmesh to version 0.7.0.4. In a former version, the function

void Xdr::data (std::complex<double>& a, const char* comment)

which is defined in xdr_cxx.C, wrote out complex numbers like this:

*out << a.real() << "\t " << a.imag() << "\t " << comment << '\n';

whereas now they are written out like this (now using do_write(std::complex<T>& 
a) ):

*out << a.real() << "\t " << a.imag();

Take a look at Xdr::data again in the new version - it calls
do_write() to do the above, but then adds the final
tab/comment/newline itself.

For Xdr::data(vector<*>), on the other hand... it does look like we're
missing separators between data points...  but we manage to avoid
triggering it because all the library code uses the older
Xdr::data_stream method instead.

Due to a missing space or tab after a.imag(), the imaginary part of
one entry is directly attached to the real part of the next entry. 
No wonder my input files are pretty messed up since the update ;) .

Could you give us an example, or better yet a test case that generates
an example?  I tried to replicate the problem with ex10 using
--enable-complex, but saved_solution.xda from that run looks just
fine.
---
Roy
------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to