public bool Equals(IntVector3 other)
 {
     if (ReferenceEquals(null, other))
         return false;
     if (ReferenceEquals(this, other))
         return true;
     return other.X == X && other.Y == Y && other.Z == Z;
 }
 public long LongInner(IntVector3 b)
 {
     return (long)X * b.X + (long)Y * b.Y + (long)Z * b.Z;
 }
 public IntVector3(IntVector3 clone)
     : this(clone.X,clone.Y,clone.Z)
 {
 }
 public int Inner(IntVector3 b)
 {
     return X * b.X + Y * b.Y + Z * b.Z;
 }