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