diff options
author | Angelo Rossi <angelo.rossi.homelab@gmail.com> | 2023-06-21 12:04:16 +0000 |
---|---|---|
committer | Angelo Rossi <angelo.rossi.homelab@gmail.com> | 2023-06-21 12:04:16 +0000 |
commit | b18347ffc9db9641e215995edea1c04c363b2bdf (patch) | |
tree | f3908dc911399f1a21e17d950355ee56dc0919ee /sources/over1.cpp |
Initial commit.
Diffstat (limited to 'sources/over1.cpp')
-rw-r--r-- | sources/over1.cpp | 767 |
1 files changed, 767 insertions, 0 deletions
diff --git a/sources/over1.cpp b/sources/over1.cpp new file mode 100644 index 0000000..35b6ced --- /dev/null +++ b/sources/over1.cpp @@ -0,0 +1,767 @@ +//-*- mode: c++; indent-tabs-mode: t; coding: utf-8; show-trailing-whitespace: t -*- + +// file over1.cpp + +#include "over1.hpp" + +namespace over1 { + + // subroutine over1. + void over1(void) + { + long int i; + long int j; + long int ll1, ll8, ll80; + long int n1, n5, n6, n7, n9; + long int nIAdQQ; + long int nIDA; + long int nIFKC; + long int nIP; + long int nIsWent; + long int nIY; + long int nNFDBR; + long int nNFDHST; + long int nNFDPH; + long int nNFDPol; + long int nNGroup; + long int nNK; + long int nNMAuto; + long int nNTLin; + long int nNTurn; + long int nNumBCO; + long int nNumNam; + long int pLSTACS[] = { 20, 90, 100, 20, 30, 250, 350, 60 }; + double d1, d2, d3, d13; + double nPU; + double nZNVRef; + void *pLU2 = nullptr; + void *pLU6 = nullptr; + std::string sBus; + std::string sDiskFileName; + std::string sText2("name "); + std::string sText6("copy "); + std::string sText1("tacs o"); + std::string sText3("tacs h"); + std::string sText4("tacs s"); + std::string sText5("4 "); + std::string sText7("tacs "); + // + auto start_again = [ & ](void) + { + long int j; + // + blkcom::pIAlter = blkcom::pLFiles[ 1 ]; + if(blkcom::nNOutPR == 0) + (*reinterpret_cast<std::ostream *>(blkcom::pKFile6)) << "+Continue partially-completed data case." << std::endl; + if(blkcom::sTexCol[ 12 ] == sText5[ 0 ]) + goto a2861; + blkcom::sABuff >> sDiskFileName; + for(j = 1; j <= 2; j++) { + n7 = sDiskFileName.find(','); + sDiskFileName.replace(0, n7, " "); + } + for(j = n7; j <= 80; j++) + if(sDiskFileName[ j - 1 ] != ' ') + break; + std::cout << " name of old pl4 file disk_file(j : 80) = " << sDiskFileName.substr(j, 80) << std::endl; + blkcom::pLFiles[ 76 ] = nullptr; + blkcom::pLFiles[ 76 ] = (void *) new std::ifstream; + if(blkcom::pLFiles[ 76 ]) { + reinterpret_cast<std::ifstream *>(blkcom::pLFiles[ 76 ]) -> open(sDiskFileName.substr(j, 80).c_str(), std::ios::in); + } + std::cout << " 1st record. numnam, numnvo, numbco, numbrn =" << nNumNam << dekplt::nNumNVO << nNumBCO << dekplt::nNumBrn << std::endl; + if(((blkcom::nLBus + blkcom::pSStat -> m_nSize7) >= nNumNam) && \ + (blkcom::pSStat -> m_nSize12 >= dekplt::nNumNVO) && \ + (blkcom::nLBranch >= dekplt::nNumBrn)) + goto a2859; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " Temporary error stop in \"over1\". Program dimensioning is inadequate. numnam, numnvo, numbrn =" << std::setfill(' ') << std::setw(8) << blkcom::nNumName << blkcom::nNumNVO << blkcom::nNumBRN << std::endl; + if(blkcom::pLFiles[ 76 ]) { + reinterpret_cast<std::ifstream *>(blkcom::pLFiles) -> close(); + delete blkcom::pLFiles[ 76 ]; + } + stoptp(); + + a2859: + reinterpret_cast<std::ifstream *>(blkcom::pLFiles[ 76 ]) -> seekg(0, std::ios::beg); + n8 = blkcom::nLBus; + if(blkcom::nLBus >= blkcom::nNumNam) + n8 = blkcom::nNumNam - 1; + std::cout << " New name logic. n8, numnam, lbus =" << n8 << blkcom::nNumNam << blkcom::nLBus << std::endl; + (*reinterpret_cast<std::ifstream *>(blkcom::pLFiles[ 76 ])) << datexx << tcloxx << blkcom::nNumNam << blkcom << nNumNVO << blkcom::nNumBCO << blkcom::nNumBRN; + for(j = 1; j <= n8; j++) + (*reinterpret_cast<std::ifstream *>(blkcom::pLFiles[ 76 ])) >> blkcom::sBus[ j - 1 ]; + std::cout << " bus(1 : n8) ="; + for(j = 1; j <= n8; j++) + std::cout << blkcom::sBus[ j - 1 ] << " "; + std::cout << std::endl; + + a2859: + reinterpret_cast<std::ifstream *>(blkcom::pLFiles[ 76 ]) -> seekg(0, std::ios::beg); + blkcom::nNum888 = blkcom::nNumNam - n8; + std::cout << " Ready for final, full read with num888 =" << blkcom::nNum888 << std::endl; + (*reinterpret_cast<std::ifstream *>(blkcom::pLFiles[ 76 ])) >> datexx >> tcloxx >> blkcom::nNumNam >> blckom::nNumNVO >> blkcom::nNumBCO >> blkcom::nNumBRN; + for(j = 1; j <= n8; j++) + (*reinterpret_cast<std::ifstream *>(blkcom::pLFiles[ 76 ])) >> blkcom::sBus[ j - 1 ]; + for(j = 1; j <= blkcom::nNum888; j++) + (*reinterpret_cast<std::ifstream *>(blkcom::pLFiles[ 76 ])) >> blkcom::pTexVec[ j - 1 ]; + std::cout << " After all named are read. Next, ibsout." << std::endl; + if(blkcom::nNumNVO > 0) + for(j = 1; j <= blkcom::nNumNVO) + (*reinterpret_cast<std::ifstream *>(blkcom::pLFiles[ 76 ])) >> blkcom::pIBSOut[ j - 1 ]; + std::cout << " After ibsout. Next, ...." << std::endl; + if(blkcom::nNumBRN > 0) + for(j = 1; j <= blkcom::nNumBRN) + (*reinterpret_cast<std::ifstream *>(blkcom::pLFiles[ 76 ])) >> blkcom::sMBus[ j - 1 ]; + std::cout << " After kbus, mbus." << std::endl; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 3 ])) << blkcom::sDate1 << blkcom::sTClock << blkcom::nNumNam << blkcom::nNumNVO << blkcom::nNumBCO << blkcom::nNumBRN; + for(j = 1; j <= n8; j++) + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 3 ])) << blkcom::sBus[ j - 1 ]; + for(j = 1; j <= blkcom::nNum888; j++) + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 3 ])) << blkcom::sTexVec[ j - 1 ]; + std::cout << " over1, lunit4 date and time =" << blkcom::pDate1[ 0 ] << blkcom::pDate1[ 1 ] << " " << blkcom::pTClock[ 0 ] << blkcom::pTClock[ 1 ] << std::endl; + if(blkcom::nNumNVO > 0) + for(j = 1; j <= blkcom::nNumNVO; j++) + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 3 ])) << blkcom::pIBSOut[ j - 1 ]; + if(blkcom::nNumBRN > 0) + for(j = 1; j <= blkcom::nNumBRN; j++) + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 3 ])) << blkcom::pKBus[ j - 1 ] << blkcom::pMBus[ j - 1 ]; + n18 = blkcom::nNumNVO + blkcom::nNumBRN + 1; + std::cout << " Enter loop over numbers. n18 =" << n18 << std::endl; + j = 1; + FOREVER { + for(k = 1; k <= n18; k++) { + (*reinterpret_cast<std::ifstream *>(blkcom::pLFiles[ 76 ])) >> labcom::sR4[ k - 1 ]; + if(reinterpret_cast<std::ifstream *>(blkcom::pLFiles[ 76 ]) -> eof()) + goto a6539; + } + if((blkcom::nIprsUp == 7) || (blkcom::nIprsUp > 9)) + std::cout << " j, r4(1) =" << j << labcom::sR4[ 0 ];\ + if(sR4[ 0 ] == -9999.0e0) + break; + for(k = 1; k <= n18; k++) + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 3 ])) << labcom::sR4[ k - 1 ]; + ++j; + } + + a6539: + std::cout << " Done transferring lun77 to lunit(4). j =" << j << std::endl; + runtym(d1, d2); + n18 = pLocker[ 0 ]; + n19 = pLocker[ 1 ]; + pfatch(); + tables(); + std::cout << " n18, n19, locker(1), locker(2) =" << n18 << n19 << pLocker[ 0 ] << pLocker[ 1 ] << std::endl; + blkcom::pFLStat[ 0 ] = -d1; + blkcom::pFLStat[ 1 ] = -d2; + if((n18 == pLocker[ 0 ]) && (n19 == pLocker[ 1 ])) + goto a2863; + blkcom::nKill = 201; + blkcom::sStat.m_nTACST = 2861; + }; + auto absolute_TACS_dimensions = [ & ](void) + { + if(blkcom::nNOutPR == 0) + (*reinterpret_cast<std::ostream *>(blkcom::pKFile6)) << "+Set absolute TACS list size limits." << std::endl; + // To do. + }; + auto relative_TACS_dimensions = [ & ](void) + { + if(blkcom::nNOutPR == 0) + (*reinterpret_cast<std::ostream *>(blkcom::pLFile6)) << "+Proportional allocation of total TACS storage." << std::endl; + cimage(); + if(blkcom::nKolBeg > 0) + goto a7120; + expchk(ll1, ll80, ll8); + if(blkcom::nKill > 0) + goto a9200; + for(i = 1; i <= 10; i++) + blkcom::sABuff >> labcom::sVoltBC[ i - 1 ]; + goto a7130; + + a7120: + blkcom::nNFrFld = 10; + freeOne(sVoltBC); + + a7130: + if(blkcom::nNOutPR == 0) + (*reinterpret_cast<std::ostream *>(blkcom::pKFile6)) "+Relative list sizes." << labcom::sVoltBC[ 0 ] << labcom::sVoltBC[ 1 ] << labcom::sVoltBC[ 2 ] << std::endl; + d1 = 0.0e0; + for(i = 1; i <= 8; i++) + d1 += labcom::sVoltBC[ i - 1 ]; + d1 = blckom::nLTACST * blkcom::pNByte[ 2 ] / d1; + pLSTACS[ 0 ] = (long int) (labcom::sVoltBC[ 0 ] * d1 / (4 * blkcom::pNByte[ 2 ] + 8 * blkcom::pNByte[ 3 ])); + pLSTACS[ 1 ] = (long int) (labcom::sVoltBC[ 1 ] * d1 / (2 * blkcom::pNByte[ 2 ] + blkcom::pNByte[ 3 ])); + pLSTACS[ 2 ] = (long int) (labcom::sVoltBC[ 2 ] * d1 / (2 * blkcom::pNByte[ 3 ])); + pLSTACS[ 3 ] = (long int) (labcom::sVoltBC[ 3 ] * d1 / (5 * blkcom::pNByte[ 2 ] + blkcom::pNByte[ 3 ])); + pLSTACS[ 4 ] = (long int) (labcom::sVoltBC[ 4 ] * d1 / (3 * blkcom::pNByte[ 3 ])); + pLSTACS[ 5 ] = (long int) (labcom::sVoltBC[ 5 ] * d1 / blkcom::pNByte[ 3 ]); + PLSTACS[ 6 ] = (long int) (labcom::sVoltBC[ 6 ] * d1 / blkcom::pNByte[ 2 ]); + pLSTACS[ 7 ] = (long int) (labcom::sVoltBC[ 7 ] * d1 / (6 * blkcom::pNByte[ 2 ] + 2 * blkcom::pNByte[ 3 ])); + }; + auto read_input_card = [ & ](void) + { + cimage(); + for(i = 1; i <= 14; i++) + blkcom::sABuff >> blkcom::sAUpper[ i - 1 ]; + if(strcom::toLower(blkcom::sAUpper[ 0 ]) == sText1) + goto a2697; + if(strcom::toLower(blkcom::sAUpper[ 0 ]) == sText3) + goto a2697; + if(strcom::toLower(blkcom::sAUpper[ 0 ]) == sText4) + goto a2699; + if(strcom::toLower(blkcom::sAUpper[ 0 ]) == sText6) + goto a7722; + (*reinterpret_cast<std::ostream *>(blkcom::pKFile6)) << " Begin TACS. " << std::string(27, ' ') << std::endl; + blkcom::nNewTAC = 1; + blkcom::nNTCSEX = 1; + blkcom::nNIUNRS = 1; + std::cout << " Prepare to call ntacs1 from over1." << std::endl; + ntacs1(); + std::cout << " Back from ntacs1, back in over1." << std::endl; + goto a4284; + + a2697: + blkcom::nNTCSEX = 1; + + a2699: + n1 = 1; + if(blkcom::nNOutPR != 0) + goto a2691; + if(blckom::nNTCSEX == 0) + goto a22699; + if(blckom::nNOutPR == 0) + (*reinterpret_cast<std::ostream *>(blkcom::pKFile6)) << "+TACS hyvrid setup. TACS data cards follow." << std::endl; + // 1984 format(18x, i2) + + char *pTemp[ 20 ]; + blkcom::sABuff.read(pTemp, 18); + blkcom::sABuff >> blkcom::sLStat[ 51 ]; + goto a2691; + + a4281: + if(n1 == 0) + goto a4284; + move(blkcom::pLSTACS, &blkcom::pLStat[ 60 ], ll8); + blkcom::nKTab = 1; + tacs1(); + if(blkcom::nKill > 0) + goto a9200; + if((blkcom::nNTCSEX + blkcom::nNSTACS) > 0) + goto a4276; + blkcom::nIndStp = 1; + blkcom::LimStp = blkcom::pKprChg[ 0 ]; + runtym(d1, d2); + blkcom::pFLStat[ 0 ] += d1; + blkcom::pFLStat[ 1 ] += d2; + blkcom::pFLStat[ 6 ] -= d1; + blkcom::pFLStat[ 7 ] -= d2; + blkcom::nChain = 12; + }; + // + // over1 main function body. + // + ll8 = LL8; + ll80 = LL80; + // + if(blkcom::nIprsUp >= 1) + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << "Begin module over1." << std::endl; + nPU = std::numeric_limits<double>::infinity(); + movecopy::move0<long int>(blkcom::pKTRLSW, LL6); + movecopy::move0<long int>(blkcom::pIpnTV, LL11); + movecopy::move0<long int>(blkcom::pLoopSS, LL11); + blkcom::sMonCar.m_nUserSST = 0; + nNMAuto = 0; + umcom::pBUSUM[ 0 ] = sText2; + blkcom::nNRight = 0; + blkcom::nIofgnd = 0; + blkcom::nMolDat = 0; + blkcom::nIStep = 0; + blkcom::sMonCar.m_nKLoaEP = 0; + blkcom::nTEnerg = 1e+20; + blkcom::sBranch = sText2; + blkcom::sCopy = sText6; + blkcom::nIAlter = 0; + blkcom::nIsPrin = 0; + blkcom::nIsPlot = 0; + blkcom::nIndStp = 1; + blkcom::nNOutPR = 0; + blkcom::pLFiles[ 0 ] = reinterpret_cast<void *>(&std::cerr); + blkcom::pLFiles[ 4 ] = reinterpret_cast<void *>(&std::cin); + blkcom::pLFiles[ 5 ] = reinterpret_cast<void *>(&std::cout); + blkcom::pKFile6 = blkcom::pLFiles[ 5 ]; + blkcom::pPeakND[ 0 ] = 0.0; + blkcom::nKBurro = 0; + // Assign default relative precision for 6 EMTP variable types. + // 1 --- alphanumeric 2 --- complex + // 3 --- floating-point numeric 4 --- integer numeric + // 5 --- 3 of 'subr31' 6 --- 4 of 'subr31' + // setting all equal to unity means that all have equal length. + for(j = 1; j <= 6; j++) + blkcom::pNByte[ j - 1 ] = 1; + emtp::dimens(blkcom::sLStat, \ + blkcom::nChain, \ + blkcom::sBus1, \ + blkcom::sBus2); + /* + blkcom::nLBus = blkcom::sLStat[ 0 ]; + blkcom::nLBrnch = blkcom::sLStat[ 1 ]; + blkcom::nLData = blkcom::sLStat[ 2 ]; + blkcom::nLExct = blkcom::sLStat[ 3 ]; + blkcom::nLYMat = blkcom::sLStat[ 4 ]; + blkcom::nLSwtch = blkcom::sLStat[ 5 ]; + blkcom::nLSize7 = blkcom::sLStat[ 6 ]; + blkcom::nLPast = blkcom::sLStat[ 7 ]; + blkcom::nLNonL = blkcom::sLStat[ 8 ]; + blkcom::nLChar = blkcom::sLStat[ 9 ]; + blkcom::nLSMOut = blkcom::sLStat[ 10 ]; + blkcom::nLSize12 = blkcom::sLStat[ 11 ]; + blkcom::nLFDep = blkcom::sLStat[ 12 ]; + blkcom::nLWT = blkcom::sLStat[ 13 ]; + blkcom::nLTails = blkcom::sLStat[ 14 ]; + blkcom::nLIMass = blkcom::sLStat[ 15 ]; + blkcom::nLSyn = blkcom::sLStat[ 16 ]; + blkcom::nMaxPE = blkcom::sLStat[ 17 ]; + blkcom::nLTCST = blkcom::sLStat[ 18 ]; + blkcom::nLFSem = blkcom::sLStat[ 19 ]; + blkcom::nLFD = blkcom::sLStat[ 20 ]; + blkcom::nLHist = blkcom::sLStat[ 21 ]; + blkcom::nLSize23 = blkcom::sLStat[ 22 ]; + blkcom::nLComp = blkcom::sLStat[ 23 ]; + blkcom::nLSPCum = blkcom::sLStat[ 24 ]; + blkcom::nLSize26 = blkcom::sLStat[ 25 ]; + blkcom::nLSize27 = blkcom::sLStat[ 26 ]; + blkcom::nLSize28 = blkcom::sLStat[ 27 ]; + */ + // memcpy((void *) &blkcom::sSStat, \ + // (void *) blkcom::sLStat.data(), \ + //sizeof(blkcom::tStat)); + blkcom::pSStat = blkcom::sLStat.data() + // Assign 'n1' equal to the number of EMTP lists of variable + // dimensioning (of the solution overlays). + //n1 = 27; + //blkcom::nLTLabl = blkcom::sLStat[ n1 + 1 ]; + comlock::pLocker[ 0 ] = blkcom::sBus1; + comlock::pLocker[ 1 ] = blkcom::sBus2; + d13 = blkcom::pSStat -> m_nTACST; + d13 /= 1600.; + for(j = 1; j <= 8; j++) + pLSTACS[ j - 1 ] *= d13; + n1 = -9999; + movecopy::copy<long int>(n1, blkcom::sLStat, LL60); + sysdep(); + movecopy::move0<double>(blkcom::sFLStat, LL20); + date_time::runtym(d1, d2); + blkcom::sFLStat[ 0 ] -= d1; + blkcom::sFLStat[ 1 ] -= d2; + blkcom::nTenM6 = pow(blkcom::nTenM3, 2.0); + blkcom::nMaxZNO = 50; + blkcom::nEpsZNo = blkcom::nEpsilon; + blkcom::nEpWarn = blkcom::nTenM3; + blkcom::nEpStop = 0.1; + blkcom::pZNoLim[ 0 ] = 1.0; + blkcom::pZNoLim[ 1 ] = 1.5; + blkcom::sMonCar.m_nKBase = 0; + blkcom::sMonCar.m_nISW = 0; + blkcom::pKPrChg[ 0 ] = -7777; + blkcom::nJFLSOS = 0; + // rewind lunit1 + // rewind lunit3 + // rewind lunit4 + blkcom::sMonCar.m_nKnt = 1; + blkcom::sMonCar.m_pMTape = blkcom::pLFiles[ 4 ]; + blkcom::nIFDep = 0; + blkcom::nNTCSex = 0; + blkcom::nNSTACS = 0; + blkcom::nKanal = 0; + + // Initialize KPARTB with nonzero value so later minus + // sign can be applied as flag of "renumber bypass" usage: + blkcom::nKPartB = 1000; + + // SYSDEP will redefine if low-prec. Complex ("cable constants"): + nZNVRef = 0.0; + blkcom::nFMaxFS = 0.0; + blkcom::pBegMax[ 0 ] = 0.0; + blkcom::pBegMax[ 1 ] = 0.0; + blkcom::pBegMax[ 2 ] = std::numeric_limits<double>::infinity(); + blkcom::nKTRef = 0; + blkcom::nNComp = 0; + blkcom::nNumSM = 0; + blkcom::nNumUM = 0; + blkcom::nNumOut = 0; + blkcom::nKill = 0; + blkcom::nNum99 = 0; + blkcom::nModOut = 0; + blkcom::pInEcho = nullptr; + sBus = blkcom::sBlank; + blkcom::nIAverg = 0; + movecopy::move0<int>(labcom::sISourc, blkcom::sSStat.m_nSwitch); + movecopy::move0<int>(labcom::sKodeBR, blkcom::sSStat.m_nBranch); + movecopy::move0<int>(labcom::sKodSem, blkcom::sSStat.m_nBranch); + movecopy::move0<int>(labcom::sLength, blkcom::sSStat.m_nBranch); + movecopy::move0<int>(labcom::sIndHst, blkcom::sSStat.m_nBranch); + movecopy::move0<double>(labcom::sBValue, blkcom::sSStat.m_nSize12); + nIsWent = 1; + blkcom::nOmega = 0.0; + blkcom::nDegMin = 0.0; + blkcom::nDegMax = 0.0; + blkcom::nSglFir = 2.0 * M_PI; + blkcom::nJST = 0; + blkcom::nJST1 = 1; + blkcom::nIFDep2 = 1; + blkcom::nIAdd = 0; + blkcom::nIFSem = 0; + // + com2::nIDM = 1; + com2::nIDQ = 1; + com2::nIDU = 1; + com2::nIDT = 1; + nIAdQQ = 1; + com2::nIQ = 0; + com2::nIDA = 0; + com2::nIDY = 0; + com2::nIFKC = 0; + nNK = 0; + nNGroup = 0; + nNTurn = 0; + nNFDBR = 0; + nNFDPH = 9; + nNFDHST = 5400; + // nNFDPOL = 25; + nNFDPol = 30; + nNTLin = 0; + // pLU2 = ... + pLU6 = blkcom::pLFiles[ 5 ]; + + a5223: + blkcom::nIFX = 0; + nIP = 2; + nIY = 2; + blkcom::nICat = 0; + if(blkcom::nNOutPR != 0) + goto a15; + if(blkcom::nKol132 == 132) + goto a6452; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " ********* Begin \"M40.\" EMTP solution."; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " Size /label/ ="; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(7) << std::setfill(' ') << std::dec; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << blkcom::sSStat.m_nTLabl; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " integer words." << std::endl; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " list limits 1-10 :"; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nBus; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nBranch; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nData; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nExct; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nYMat; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nSwitch; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nSize7; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nPast; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nNOnL; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nChar << std::endl; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " list limits 11-20 :"; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nSMOut; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nSize12; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nFDep; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nWT; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nTails; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nIMass; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nSyn; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nMaxPE; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nTACST; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(6) << std::dec << blkcom::sSStat.m_nFSem << std::endl; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " list limits 21-end:"; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nFD; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nHist; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSize23; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nComp; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSPCum; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSize26; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSize27; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSize28 << std::endl; + goto a15; + + a6452: + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " Associated user documentation is the 864-page EMTP rule book dated June, 1984. Version M43. Vardim time/date ="; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << comlock::pLocker[ 0 ] << comlock::pLocker[ 1 ] << std::endl; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " Independent list limits follow. Total length of /label/ equals "; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(8) << std::dec << blkcom::sSStat.m_nTLabl; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " integer words. "; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nBus; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nBranch; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nData; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nExct; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nYMat; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSwitch << std::endl; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " " << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSize7; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nPast; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nNOnL; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nChar; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSMOut; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSize12; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nFDep; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nWT; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nTails; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nIMass; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSyn; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nMaxPE; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nTACST; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nFSem; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nFD; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nHist; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSize23; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nComp; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSPCum; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSize26; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSize27; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setw(6) << std::setfill(' ') << std::dec << blkcom::sSStat.m_nSize28 << std::endl; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " " << std::string(51, '-') << "+" << std::string(80, '-') << std::endl; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " Descriptive interpretation of new-case input data |" << std::flush; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " input data card images printed below, all 80 columns, character by character." << std::endl << std::flush; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " " << std::string(51, ' ') << "|" << std::flush; + for(i = 1; i <= 8; i++) { + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::string(9, ' ') << std::flush; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::setfill(' ') << std::setw(1) << std::dec << i << std::flush; + } + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::endl; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " " << std::string(51, ' ') << "|" << std::flush; + for(i = 1; i <= 8; i++) + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::string(9, ' ') << "0" << std::flush; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << std::endl << std::flush; + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << " " << std::string(51, '-') << "+" << std::string(80, '-') << std::endl; + + a15: + FOREVER { + emtp::cimage(); + if(blkcom::nKill > 0) + goto a9200; + blkcom::nNRight = -2; + n9 = blkcom::nKolBeg; + blkcom::nKolBeg = 1; + blkcom::sTexCol = blkcom::sABuff.str().substr(0, 80); + freedom::freeOne(d1); + + a3247: + blkcom::nNRight = 0; + if(n9 == -std::numeric_limits<long int>::infinity()) + blkcom::nKolBeg = n9; + if(blkcom::nNFrFld > 0) + goto a3280; + if(blkcom::nNOutPR == 0) + (*reinterpret_cast<std::ostream *>(blkcom::pKFile6)) << "+Blank termination-of-run card." << std::endl; + interp(); + blkcom::nIVolt = 7777; + + a3273: + blkcom::nKill = 9999; + blkcom::nChain = 31; + goto a9800; + + a3280: + reques(); + i = sStat.m_nMaxPE; + switch(i) { + case 0: + + a2843: + if((blkcom::nNOutPR != 0) && (blkcom::nIprsUp > 0)) + blkcom::nNOutPR = 0; + blkcom::nXOpt = blkcom::nStatFR; + blkcom::nCOpt = blkcom::nStatFR; + blkcom::nKolBeg = n9; + if(blkcom::nKolBeg > 0) + goto a4201; + utilities::expchk(ll1, ll80, ll8); + if(blkcom::nKill > 0) + goto a9200; + blkcom::sABuff >> blkcom::nDeltaT >> blkcom::nTMax >> d1 >> d2 >> d3 >> blkcom::nTolMat >> blkcom::nT; + if(blkcom::nT == 0.0) + blkcom::nT = 0.0e0; + goto a4202; + + a4201: + blkcom::nNFrFld = 1; + blkcom::nNRight = 0; + freedom::freeOne(blkcom::nDeltaT); + freedom::freeOne(blkcom::nTMax); + freedom::freeOne(d1); + freedom::freeOne(d2); + freedom::freeOne(d3); + freedom::freeOne(blkcom::nTolMat); + freedom::freeOne(blkcom::nT); + + a4202: + if(blkcom::nNOutPR == 0) + (*reinterpret_cast<std::ostream *>(blkcom::pKFile6)) << "+Misc. data." << std::setfill(' ') << std::setw(12) << blkcom::nDeltaT << blkcom::nTMax << d1 << std::endl; + if(blkcom::nIofbnd != 33666) + goto a4206; + blkcom::nChain = 41; + blkcom::nXOpt = d1; + goto a9800; + break; + + case 11: + goto a3273; + break; + + case 15: + start_again(); + goto a9200; + break; + + case 28: + goto a3247; + break; + + case 32: + absolute_TACS_dimensions(); + goto a15; + break; + + case 33: + relative_TACS_dimensions(); + goto a15; + break; + + case 34: + goto a523; + break; + + case 38: + goto a15; + break; + + case 40: + goto a4308; + break; + } + if(blkcom::nKill > 0) + goto a9200; + if(blkcom::nChain != 1) + goto a9800; + } + + a4276: + blkcom::nChain = 12; + goto a9800; + + a4284: + blkcom::nChain = 2; + goto a9800; + + a9200: + blkcom::nChain = 51; + blkcom::sLStat[ 17 ] = 1; + + a9800: + blkcom::nLastOV = 1; + n5 = (size_t) &nIDA; + n6 = (size_t) &nIFKC; + if(blkcom::nIprsUp >= 1) + (*reinterpret_cast<std::ostream *>(blkcom::pLFiles[ 5 ])) << "Exit module over1." << std::endl; + + a99999: + return; + } + + // subroutine tacs1c. + void tacs1c(void) + { + // To do. + } + + // subroutine swmodf. + void swmodf(void) + { + // To do. + } + + // subroutine reques. + void reques(void) + { + // To do. + } + + // subroutine sysdep. + void sysdep(void) + { + std::string sCol(""); + std::string sColXXX("plt00000000000.pl4"); + std::string sLettra("a"); + std::string sLettrb("b"); + std::string sLettrc("c"); + std::string sBusNM1(" "); + std::string sBusNM2("........"); + std::string sBusNM3("terra"); + std::string sText1 = ","; + std::string sText2 = "$"; + // + sCol = sColXXX; + // To do. + blkcom::sBlank = sBusNM1; + blkcom::sTrash = sBusNM2; + blkcom::sTerra = sBusNM3; + blkcom::cCSepar = sText1[ 0 ]; + blkcom::sChCont = sText2; + blkcom::nTenM3 = 1.0e-3; + blkcom::nUnity = 1.0e0; + blkcom::nOneHaf = 0.5e0; + blkcom::pNByte[ 0 ] = 2; + blkcom::pNByte[ 1 ] = 2; + blkcom::pKTRLSW[ 5 ] = 0; + blkcom::pNByte[ 2 ] = 2; + blkcom::nEpsilon = 1.0e-8; + //blkcom::nTwoPI = 2.0 * M_PI; + // To do. + } + + // subroutine midov1. + void midov1(void) + { + // To do. + } + + // subroutine nmincr. + void nmincr(std::string &, int &) + { + // To do. + } + + // subroutine tacs1. + void tacs1(void) + { + // To do. + } + + // subroutine tacs1a. + void tacs1a(void) + { + // To do. + } + + // subroutine tacs1b. + void tacs1b(void) + { + // To do. + } + + // subroutine expchk. + void expchk(int &, int &, int &) + { + // To do. + } + + // subroutine intchk. + void intchk(int &, int &, int &) + { + // To do. + } + + // subroutine pfatch. + void pfatch(void) + { + // To do. + } + +} + +// end of file over1.cpp |