RGString STRBaseLocus :: ReconstructAlleleName (int id, Allele* nearAllele) { int difference = id - nearAllele->GetBioID (); RGString nearName = nearAllele->GetAlleleName (); if (difference == 0) return nearName; int KK = CoreRepeatNumber; double nearDouble; int nearInt; int temp; RGString intString; RGString fractString; RGString returnValue; nearDouble = nearName.ConvertToDouble (); nearInt = nearName.ConvertToInteger (); temp = (int) floor (10 * (nearDouble - nearInt) + 0.5); // temp is fractional part...should be integer mod 4 if (difference > 0) { nearInt += (difference / KK); temp += difference%KK; nearInt += (temp / KK); temp = temp%KK; } else { difference = - difference; nearInt -= (difference / KK); temp -= difference%KK; if (temp < 0) { temp += KK; nearInt--; } } if (nearInt < 1) { returnValue = "$"; return returnValue; } intString.Convert (nearInt, 10); if (temp == 0) return intString; fractString.Convert (temp, 10); returnValue = intString + "." + fractString; return returnValue; }
RGString PackedTime :: GetStringTime () const { RGString temp; RGString Ans; temp.Convert (hour, 10); Ans = temp + ":"; temp.Convert (minute, 10); Ans += temp + ":"; temp.Convert (second, 10); Ans += temp + ":"; temp.Convert (hsecond, 10); Ans += temp; return Ans; }