// Open dsm files, which are possibly zipped void openDsmFile(igzstream& dsm_stream, const std::string& file_name) { // Check for a .gz extension if (!std::regex_match(file_name, gzipped)) { // Warn std::cerr << "WARNING: Input file " + file_name + " is not gzip compressed, which is recommended\n"; } dsm_stream.open(file_name.c_str()); // Push binary file into buffer // Set stream buffer of istream to the one just opened, and check ok if (!dsm_stream.good()) { throw std::runtime_error("Could not open kmer file " + file_name + "\n"); } }
ixstream_t(const char *name) { string fname = name; int len = fname.size(); z = fname.substr(len-3) == ".gz"; if (z) fz.open(name); else fn.open(name); }
ref_loc_t RefSeq::LoadNextSeq(igzstream &fin) { char ch[1000]; char c; string s; if(!param.gz_ref) return 0; fin>>c; if(fin.eof()) return 0; string::iterator z=_seq.begin(); _length=0; fin>>_name; fin.getline(ch, 1000); while(!fin.eof()) { fin>>c; if(fin.eof()) break; fin.unget(); if(c=='>') break; fin>>s; if(_length+s.size()>=param.max_dbseq_size) { param.max_dbseq_size+=param.append_dbseq_size; _seq.resize(param.max_dbseq_size); z=_seq.begin()+_length; //cout<<"_seq size: "<<param.max_dbseq_size<<endl; } copy(s.begin(), s.end(), z); z+=s.size(); _length+=s.size(); } return _length; }
void ScipParaDiffSubproblem::read( ParaComm *comm, igzstream &in, bool onlyBoundChanges ) { in.read((char *)&localInfoIncluded, sizeof(int)); in.read((char *)&nBoundChanges, sizeof(int)); indicesAmongSolvers = new int[nBoundChanges]; branchBounds = new SCIP_Real[nBoundChanges]; boundTypes = new SCIP_BOUNDTYPE[nBoundChanges]; for(int i = 0; i < nBoundChanges; i++ ) { in.read((char *)&indicesAmongSolvers[i], sizeof(int)); in.read((char *)&branchBounds[i], sizeof(SCIP_Real)); in.read((char *)&boundTypes[i], sizeof(int)); } if( !onlyBoundChanges ) { in.read((char *)&nLinearConss, sizeof(int)); if( nLinearConss > 0 ) { linearLhss = new SCIP_Real[nLinearConss]; linearRhss = new SCIP_Real[nLinearConss]; nLinearCoefs = new int[nLinearConss]; linearCoefs = new SCIP_Real*[nLinearConss]; idxLinearCoefsVars = new int*[nLinearConss]; for(int i = 0; i < nLinearConss; i++ ) { in.read((char *)&linearLhss[i], sizeof(SCIP_Real)); in.read((char *)&linearRhss[i], sizeof(SCIP_Real)); in.read((char *)&nLinearCoefs[i], sizeof(int)); assert(nLinearCoefs[i] > 0); linearCoefs[i] = new SCIP_Real[nLinearCoefs[i]]; idxLinearCoefsVars[i] = new int[nLinearCoefs[i]]; for(int j = 0; j < nLinearCoefs[i]; j++ ) { in.read((char *)&linearCoefs[i][j], sizeof(SCIP_Real)); in.read((char *)&idxLinearCoefsVars[i][j], sizeof(int)); } } } #if !( SCIP_VERSION == 211 && SCIP_SUBVERSION == 0 ) in.read((char *)&offset, sizeof(int)); in.read((char *)&nVarBranchStats, sizeof(int)); if( nVarBranchStats > 0 ) { idxLBranchStatsVars = new int[nVarBranchStats]; downpscost = new SCIP_Real[nVarBranchStats]; uppscost = new SCIP_Real[nVarBranchStats]; downvsids = new SCIP_Real[nVarBranchStats]; upvsids = new SCIP_Real[nVarBranchStats]; downconflen = new SCIP_Real[nVarBranchStats]; upconflen = new SCIP_Real[nVarBranchStats]; downinfer = new SCIP_Real[nVarBranchStats]; upinfer = new SCIP_Real[nVarBranchStats]; downcutoff = new SCIP_Real[nVarBranchStats]; upcutoff = new SCIP_Real[nVarBranchStats]; } for(int i = 0; i < nVarBranchStats; i++ ) { in.read((char *)&idxLBranchStatsVars[i], sizeof(int)); in.read((char *)&downpscost[i], sizeof(SCIP_Real)); in.read((char *)&uppscost[i], sizeof(SCIP_Real)); in.read((char *)&downvsids[i], sizeof(SCIP_Real)); in.read((char *)&upvsids[i], sizeof(SCIP_Real)); in.read((char *)&downconflen[i], sizeof(SCIP_Real)); in.read((char *)&upconflen[i], sizeof(SCIP_Real)); in.read((char *)&downinfer[i], sizeof(SCIP_Real)); in.read((char *)&upinfer[i], sizeof(SCIP_Real)); in.read((char *)&downcutoff[i], sizeof(SCIP_Real)); in.read((char *)&upcutoff[i], sizeof(SCIP_Real)); } #endif } else { assert( nLinearConss == 0); SCIP_Real dummyReal; int dummyInt; int nConss; in.read((char *)&nConss, sizeof(int)); if( nConss > 0 ) { for(int i = 0; i < nConss; i++ ) { int nCoefs; in.read((char *)&dummyReal, sizeof(SCIP_Real)); in.read((char *)&dummyReal, sizeof(SCIP_Real)); in.read((char *)&nCoefs, sizeof(int)); assert(nCoefs > 0); for(int j = 0; j < nCoefs; j++ ) { in.read((char *)&dummyReal, sizeof(SCIP_Real)); in.read((char *)&dummyInt, sizeof(int)); } } } #if !( SCIP_VERSION == 211 && SCIP_SUBVERSION == 0 ) assert( nVarBranchStats == 0 ); int nStats; in.read((char *)&dummyInt, sizeof(int)); in.read((char *)&nStats, sizeof(int)); for(int i = 0; i < nStats; i++ ) { in.read((char *)&dummyInt, sizeof(int)); in.read((char *)&dummyReal, sizeof(SCIP_Real)); in.read((char *)&dummyReal, sizeof(SCIP_Real)); in.read((char *)&dummyReal, sizeof(SCIP_Real)); in.read((char *)&dummyReal, sizeof(SCIP_Real)); in.read((char *)&dummyReal, sizeof(SCIP_Real)); in.read((char *)&dummyReal, sizeof(SCIP_Real)); in.read((char *)&dummyReal, sizeof(SCIP_Real)); in.read((char *)&dummyReal, sizeof(SCIP_Real)); in.read((char *)&dummyReal, sizeof(SCIP_Real)); in.read((char *)&dummyReal, sizeof(SCIP_Real)); } #endif } }