if (!(oo instanceof Matrix)) return false;
Matrix z = (Matrix)oo;
return
- a==z.a &&
- b==z.b &&
- c==z.c &&
- d==z.d &&
- e==z.e &&
- f==z.f &&
- g==z.g &&
- h==z.h &&
- i==z.i &&
- j==z.j &&
- k==z.k &&
- l==z.l &&
- m==z.m &&
- n==z.n &&
- o==z.o &&
- p==z.p;
+ near(a,z.a) &&
+ near(b,z.b) &&
+ near(c,z.c) &&
+ near(d,z.d) &&
+ near(e,z.e) &&
+ near(f,z.f) &&
+ near(g,z.g) &&
+ near(h,z.h) &&
+ near(i,z.i) &&
+ near(j,z.j) &&
+ near(k,z.k) &&
+ near(l,z.l) &&
+ near(m,z.m) &&
+ near(n,z.n) &&
+ near(o,z.o) &&
+ near(p,z.p);
}
+ private static final float EPSILON = 0.001f;
+ private static boolean near(float a, float b) { return Math.abs(a-b)<EPSILON; }
public int hashCode() {
return