void IntegerVector::UnpackVector() { Q_D(IntegerVector); d->m_VectVal.clear(); if (d->m_Vector.isEmpty()) return; ExtractAnchorDate(); QString TempVec(d->m_Vector.trimmed().toUpper()); QStringList StringParts = TempVec.trimmed().toUpper().split(QRegularExpression("\\s"), QString::SkipEmptyParts); int StepLen; QString TempStr; for (int i = 1; i < StringParts.size(); i += 2) { TempStr = StringParts.at(i); TempStr.replace(QRegularExpression("\\D"), ""); StepLen = TempStr.toInt(); TempStr = StringParts.at(i); TempStr.replace(QRegularExpression("\\d"), ""); if (TempStr == "S") { for (int j = 0; j < StepLen; j++) { d->m_VectVal.append(StringParts.at(i - 1).toInt()); } } else { for (int j = 0; j < StepLen; j++) { d->m_VectVal.append((qRound( StringParts.at(i - 1).toDouble() + ((StringParts.at(i + 1).toDouble() - StringParts.at(i - 1).toDouble()) * static_cast<double>(j) / static_cast<double>(StepLen)) ))); } } } d->m_VectVal.append(StringParts.last().toInt()); }
vector<double> utility::armadilloVector2stdVector(mat *armaMatrix) { vector<double> TempVec(3); for (unsigned int i=0; i< armaMatrix->size(); i++) { TempVec[i] = armaMatrix->at(i); } return TempVec; }
void FloorCapVector::UnpackVector() { Q_D(FloorCapVector); d->m_FloorVal.clear(); d->m_CapVal.clear(); if (d->m_Vector.isEmpty()) return; ExtractAnchorDate(); QString TempVec(d->m_Vector.trimmed().toUpper()); QStringList StringParts = TempVec.trimmed().toUpper().split(QRegularExpression("\\s"), QString::SkipEmptyParts); int StepLen; QString TempStr; for (int i = 1; i < StringParts.size(); i += 2) { TempStr = StringParts.at(i); TempStr.replace(QRegularExpression("\\D"), ""); StepLen = TempStr.toInt(); TempStr = StringParts.at(i); TempStr.replace(QRegularExpression("\\d"), ""); for (int j = 0; j < StepLen; j++) { QString RawVal = StringParts.at(i - 1); RawVal.replace("[", ""); RawVal.replace("]", ""); auto CapFloor = RawVal.split(',', QString::KeepEmptyParts); if (CapFloor.size() > 0) { if (CapFloor.at(0).isEmpty()) d->m_FloorVal.append(std::shared_ptr<double>(nullptr)); else d->m_FloorVal.append(std::make_shared<double>(CapFloor.at(0).toDouble())); } else d->m_FloorVal.append(std::shared_ptr<double>(nullptr)); if (CapFloor.size() > 1) { if (CapFloor.at(1).isEmpty()) d->m_CapVal.append(std::shared_ptr<double>(nullptr)); else d->m_CapVal.append(std::make_shared<double>(CapFloor.at(1).toDouble())); } else d->m_CapVal.append(std::shared_ptr<double>(nullptr)); } } { QString RawVal = StringParts.last(); RawVal.replace("[", ""); RawVal.replace("]", ""); auto CapFloor = RawVal.split(',', QString::KeepEmptyParts); if (CapFloor.size() > 0) { if (CapFloor.at(0).isEmpty()) d->m_FloorVal.append(std::shared_ptr<double>(nullptr)); else d->m_FloorVal.append(std::make_shared<double>(CapFloor.at(0).toDouble())); } else d->m_FloorVal.append(std::shared_ptr<double>(nullptr)); if (CapFloor.size() > 1) { if (CapFloor.at(1).isEmpty()) d->m_CapVal.append(std::shared_ptr<double>(nullptr)); else d->m_CapVal.append(std::make_shared<double>(CapFloor.at(1).toDouble())); } else d->m_CapVal.append(std::shared_ptr<double>(nullptr)); } }
void BoolVector::UnpackVector(){ Q_D(BoolVector); d->m_VectVal.clear(); if (d->m_Vector.isEmpty()) return; ExtractAnchorDate(); QString TempVec(d->m_Vector.trimmed().toUpper()); QStringList StringParts=TempVec.trimmed().toUpper().split(QRegularExpression("\\s"),QString::SkipEmptyParts); int StepLen; QString TempStr; for (int i=1;i<StringParts.size();i+=2){ TempStr=StringParts.at(i); TempStr.replace(QRegularExpression("\\D"),""); StepLen=TempStr.toInt(); for (int j=0;j<StepLen;j++){ d->m_VectVal.append(StringParts.at(i - 1).at(0) == 'T' || StringParts.at(i - 1).at(0) == 'Y'); } } d->m_VectVal.append(StringParts.last().at(0).toLatin1()); }