std::string KinematicBandsCore::toString() const { int precision = Constants::get_output_precision(); std::string s=""; s+="## KinematicBandsCore Parameters\n"; s+=parameters.toString(); s+="## KinematicBandsCore Internals\n"; s+="outdated_ = "+Fmb(outdated_)+"\n"; s+="most_urgent_ac_ = "+most_urgent_ac.getId()+"\n"; s+="epsh_ = "+Fmi(epsh_)+"\n"; s+="epsv_ = "+Fmi(epsv_)+"\n"; for (TrafficState::nat i=0; i < conflict_acs_.size(); ++i) { s+="conflict_acs_["+Fmi(i)+"]: "+ TrafficState::listToString(conflict_acs_[i])+"\n"; } for (Interval::nat i=0; i < tiov_.size(); ++i) { s+="tiov_["+Fmi(i)+"]: "+ tiov_[i].toString(precision)+"\n"; } s+="## Ownship and Traffic\n"; s+="NAME sx sy sz vx vy vz time\n"; s+="[none] [m] [m] [m] [m/s] [m/s] [m/s] [s]\n"; s+=ownship.getId()+", "+ownship.get_s().formatXYZ(precision,"",", ","")+ ", "+ownship.get_v().formatXYZ(precision,"",", ","")+", "+ FmPrecision(ownship.getTime(),precision)+"\n"; for (TrafficState::nat i = 0; i < traffic.size(); i++) { s+=traffic[i].getId()+", "+traffic[i].get_s().formatXYZ(precision,"",", ","")+ ", "+traffic[i].get_v().formatXYZ(precision,"",", ","")+ ", "+FmPrecision(traffic[i].getTime(),precision)+"\n"; } s+="##\n"; return s; }
std::string TCASTable::toPVS(int prec) const { std::string s = "(# "; s += "TAU := (: "+Fm1(TAU[0]); for (int i=1; i < 7; i++) { s += ", "+Fm1(TAU[i]); } s += " :), TCOA := (: "+Fm1(TCOA[0]); for (int i=1; i < 7; i++) { s += ", "+Fm1(TCOA[i]); } s += " :), DMOD := (: "+FmPrecision(DMOD[0],prec); for (int i=1; i < 7; i++) { s += ", "+FmPrecision(DMOD[i],prec); } s += " :), ZTHR := (: "+FmPrecision(ZTHR[0],prec); for (int i=1; i < 7; i++) { s += ", "+FmPrecision(ZTHR[i],prec); } s += " :), HMD := (: "+FmPrecision(HMD[0],prec); for (int i=1; i < 7; i++) { s += ", "+FmPrecision(HMD[i],prec); } s += " :), HMDFilter := "; s += (HMDFilter ? "TRUE" : "FALSE"); return s + " #)"; }
std::string Vect2::toPVS(int prec) const { return "(# x:= "+FmPrecision(x,prec)+", y:= "+FmPrecision(y,prec)+" #)"; }
std::string Vect2::formatXY(int prec, const std::string& pre, const std::string& mid, const std::string& post) const { return pre+FmPrecision(x,prec)+mid+FmPrecision(y,prec)+post; }
std::string Vect2::toStringNP(const std::string& xunit, const std::string& yunit, int prec) const { return FmPrecision(Units::to(xunit,x),prec)+", "+FmPrecision(Units::to(yunit,y),prec); }
std::string WCVTable::toPVS(int prec) const { return "(# DTHR := "+FmPrecision(DTHR,prec)+", ZTHR := "+FmPrecision(ZTHR,prec)+ ", TTHR := "+Fm1(TTHR)+", TCOA := "+Fm1(TCOA)+" #)"; }