@@ -45,17 +45,24 @@ void LqrKnotTpl<Scalar>::addParameterization(uint nth) {
45
45
46
46
template <typename Scalar>
47
47
bool LqrKnotTpl<Scalar>::isApprox(const LqrKnotTpl &other, Scalar prec) const {
48
- bool cost = Q.isApprox (other.Q , prec) && S.isApprox (other.S , prec) &&
49
- R.isApprox (other.R , prec) && q.isApprox (other.q , prec) &&
50
- r.isApprox (other.r , prec);
51
- bool dyn = A.isApprox (other.A , prec) && B.isApprox (other.B , prec) &&
52
- E.isApprox (other.E , prec) && f.isApprox (other.f , prec);
53
- bool cstr = C.isApprox (other.C , prec) && D.isApprox (other.D , prec) &&
54
- d.isApprox (other.d , prec);
55
- bool th = Gth.isApprox (other.Gth , prec) && Gx.isApprox (other.Gx , prec) &&
56
- Gu.isApprox (other.Gu , prec) && Gv.isApprox (other.Gv , prec) &&
57
- gamma .isApprox (other.gamma , prec);
58
- return cost && dyn && cstr && th;
48
+ if (!lqrKnotsSameDim (*this , other))
49
+ return false ;
50
+ if (!(Q.isApprox (other.Q , prec) && S.isApprox (other.S , prec) &&
51
+ R.isApprox (other.R , prec) && q.isApprox (other.q , prec) &&
52
+ r.isApprox (other.r , prec)))
53
+ return false ;
54
+
55
+ if (!(A.isApprox (other.A , prec) && B.isApprox (other.B , prec) &&
56
+ E.isApprox (other.E , prec) && f.isApprox (other.f , prec)))
57
+ return false ;
58
+
59
+ if (!(C.isApprox (other.C , prec) && D.isApprox (other.D , prec) &&
60
+ d.isApprox (other.d , prec)))
61
+ return false ;
62
+
63
+ return Gth.isApprox (other.Gth , prec) && Gx.isApprox (other.Gx , prec) &&
64
+ Gu.isApprox (other.Gu , prec) && Gv.isApprox (other.Gv , prec) &&
65
+ gamma .isApprox (other.gamma , prec);
59
66
}
60
67
61
68
template <typename Scalar>
0 commit comments