xref: /phasta/phSolver/common/phIO.cc (revision f262839c0e5005285eae3582f64c884689ac1db1)
1d1293ce9SCameron Smith #include "phIO.h"
2d1293ce9SCameron Smith #include "phComm.h"
3*f262839cSCameron Smith #include <stdio.h>
4d1293ce9SCameron Smith #include <phastaIO.h>
5d1293ce9SCameron Smith #include <sstream>
6d1293ce9SCameron Smith #include <string>
7d1293ce9SCameron Smith 
8*f262839cSCameron Smith namespace {
9*f262839cSCameron Smith   std::string appendSync(const char* phrase) {
10*f262839cSCameron Smith     std::stringstream ss;
11*f262839cSCameron Smith     ss << phrase << "@" << phcomm_rank()+1 << "?";
12*f262839cSCameron Smith     std::string s = ss.str();
13*f262839cSCameron Smith     return s;
14*f262839cSCameron Smith   }
15*f262839cSCameron Smith }
16*f262839cSCameron Smith 
17d1293ce9SCameron Smith void phio_readheader( int* fileDescriptor,
18d1293ce9SCameron Smith     const  char keyphrase[],
19d1293ce9SCameron Smith     void* valueArray,
20d1293ce9SCameron Smith     int*  nItems,
21d1293ce9SCameron Smith     const char  datatype[],
22d1293ce9SCameron Smith     const char  iotype[] ) {
23*f262839cSCameron Smith   std::string syncPhrase = appendSync(keyphrase);
24*f262839cSCameron Smith   readheader(fileDescriptor, syncPhrase.c_str(),
25d1293ce9SCameron Smith       valueArray, nItems, datatype, iotype);
26d1293ce9SCameron Smith }
27d1293ce9SCameron Smith 
28*f262839cSCameron Smith void phio_readdatablock(
29*f262839cSCameron Smith     int*  fileDescriptor,
30*f262839cSCameron Smith     const char keyphrase[],
31*f262839cSCameron Smith     void* valueArray,
32*f262839cSCameron Smith     int*  nItems,
33*f262839cSCameron Smith     const char  datatype[],
34*f262839cSCameron Smith     const char  iotype[] ) {
35*f262839cSCameron Smith   std::string syncPhrase = appendSync(keyphrase);
36*f262839cSCameron Smith   readdatablock(fileDescriptor, syncPhrase.c_str(),
37*f262839cSCameron Smith       valueArray, nItems, datatype, iotype);
38*f262839cSCameron Smith }
39*f262839cSCameron Smith 
40*f262839cSCameron Smith 
41