SparseGammaGapFile doMerge( uint64_t const l, std::pair<libmaus::gamma::SparseGammaGapFile,libmaus::gamma::SparseGammaGapFile> const & P, std::string const & nfn ) { SparseGammaGapFile const Sa = P.first; SparseGammaGapFile const Sb = P.second; libmaus::util::TempFileRemovalContainer::addTempFile(nfn); SparseGammaGapFile N(nfn,l+1); libmaus::aio::CheckedInputStream ina(Sa.fn); libmaus::aio::CheckedInputStream inb(Sb.fn); libmaus::aio::CheckedOutputStream out(nfn); libmaus::gamma::SparseGammaGapMerge::merge(ina,inb,out); // remove input files remove(Sa.fn.c_str()); remove(Sb.fn.c_str()); #if 0 std::cerr << "merged " << Sa << " and " << Sb << " to " << N << std::endl; #endif return N; }
REAL totalCurrent(REAL time, struct State *S, struct State *Sn, REAL ht, struct Cpar *C, struct Is *I, struct Js *J, struct Buf *B, struct Buf *Bn) { REAL IKtot, INatot, ICltot, ICatot; srflux(S, Sn, ht, C, J); cabuf(S, Sn, ht, C, J, B, Bn); ical(S, Sn, ht, C, I); ibgca(S, Sn, ht, C, I); ipk(S, Sn, ht, C, I); ina(S, Sn, ht, C, I); ibgna(S, Sn, ht, C, I); incx(S, Sn, ht, C, I); inak(S, Sn, ht, C, I); ito(S, Sn, ht, C, I); ikr(time, S, Sn, ht, C, I); iks(S, Sn, ht, C, I); iki(time,S, Sn, ht, C, I); ikp(S, Sn, ht, C, I); iclca(S, Sn, ht, C, I); ibgcl(S, Sn, ht, C, I); caconc(S, Sn, ht, C, J, I); naconc(S, Sn, ht, C, J, I); INatot = (I->INaJunc + I->INaSl) + (I->INaBkJunc + I->INaBkSl) + 3.0 * (I->IncxJunc + I->IncxSl) + 3.0 * (I->INaKJunc + I->INaKSl) + (I->ICaNaJunc + I->ICaNaSl); IKtot = (I->ItoSlow + I->ItoFast) + (I->Ikr + I->Iks) + I->Iki - 2.0 * (I->INaKJunc + I->INaKSl) + I->Ikp + I->ICaK; ICltot = I->IClCa + I->IBgCl; ICatot = I->ICaTotJunc + I->ICaTotSl; return INatot + IKtot + ICltot + ICatot; }/** totalCurrent **/
void apply0_test() { memory_input ina( "abcdefgh", __FUNCTION__ ); parse< star< alpha >, action0 >( ina ); TAO_PEGTL_TEST_ASSERT( i0 == 8 ); std::string s0; memory_input ind( "12345678", __FUNCTION__ ); parse< star< digit >, action0 >( ind, s0 ); TAO_PEGTL_TEST_ASSERT( s0 == "00000000" ); }