Merge pull request #542 from Alexma3312/sim3
Point3 mean to throw an exception when input size=0 .release/4.3a0
						commit
						6fdf39d2c1
					
				|  | @ -77,6 +77,7 @@ double dot(const Point3 &p, const Point3 &q, OptionalJacobian<1, 3> H1, | |||
| 
 | ||||
| Point3Pair mean(const std::vector<Point3Pair> &abPointPairs) { | ||||
|   const size_t n = abPointPairs.size(); | ||||
|   if (n == 0) throw std::invalid_argument("Point3::mean input Point3Pair vector is empty"); | ||||
|   Point3 aCentroid(0, 0, 0), bCentroid(0, 0, 0); | ||||
|   for (const Point3Pair &abPair : abPointPairs) { | ||||
|     aCentroid += abPair.first; | ||||
|  |  | |||
|  | @ -62,6 +62,7 @@ GTSAM_EXPORT double dot(const Point3& p, const Point3& q, | |||
| /// mean
 | ||||
| template <class CONTAINER> | ||||
| GTSAM_EXPORT Point3 mean(const CONTAINER& points) { | ||||
|   if (points.size() == 0) throw std::invalid_argument("Point3::mean input container is empty"); | ||||
|   Point3 sum(0, 0, 0); | ||||
|   sum = std::accumulate(points.begin(), points.end(), sum); | ||||
|   return sum / points.size(); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue