src/ProfileGenerator/GenericHypothesis.cpp
// Add in activity, hold, and non-hold dates. If they don't 
// seem to match Start and End dates, or each other, 
// bail out and clear dates

Add in activity, hold, and non-hold dates. If they don't
seem to match Start and End dates, or each other,
bail out and clear dates
Add in activity hold and non - hold dates . If they don ' t seem to match Start and End dates or each other bail out and clear dates
BOOST_FOREACH(PGFactDate_ptr factDate, holdDates) {
		if (nonHoldDateStrings.find(factDate->getDBString()) != nonHoldDateStrings.end()) {
			num_bad_dates++;
			continue;
		}
		if (excludeQuestionableHoldDates() && 
			(float)holdDates.size() / (holdDates.size() + nonHoldDates.size()) < 0.26 &&
			!factDate->isOutsideOf(earliestNonHoldDate, latestNonHoldDate))
		{
			num_bad_dates++;
			continue;
		}
		if (factDate->isBetween(_startDate, _endDate)) { 
			_holdDates.push_back(factDate);
			num_good_dates++;
		} else {
			num_bad_dates++;
		}
	}
BOOST_FOREACH ( PGFactDate_ptr factDate , holdDates ) { if ( nonHoldDateStrings . find ( factDate -> getDBString ( ) ) != nonHoldDateStrings . end ( ) ) { num_bad_dates ++ ; continue ; } if ( excludeQuestionableHoldDates ( ) && ( float ) holdDates . size ( ) / ( holdDates . size ( ) + nonHoldDates . size ( ) ) < 0.26 && ! factDate -> isOutsideOf ( earliestNonHoldDate , latestNonHoldDate ) ) { num_bad_dates ++ ; continue ; } if ( factDate -> isBetween ( _startDate , _endDate ) ) { _holdDates . push_back ( factDate ) ; num_good_dates ++ ; } else { num_bad_dates ++ ; } }
Add in activity, hold, and non-hold dates.
Add in activity hold and non - hold dates .
// Often we guessed at fact hold dates for employment. If a hold
 // date is also a non-hold date (tends to be more reliable), 
 // that's a strong indication we guessed wrong.
 // remove stray hold dates that fall inside of non hold date range
 //std::cerr << "Excluding bad hold date: " << factDate->getDBString() << "\n";
