public static function eqObject(a:Object, b:Object):Boolean {
if(a === b) {
return true;
}
var bytesA:ByteArray = new ByteArray()
bytesA.writeObject(a);
var bytesB:ByteArray = new ByteArray()
bytesB.writeObject(b);
return eqByteArray(bytesA, bytesB);
}
public static function eqByteArray(a:ByteArray, b:ByteArray):Boolean {
if(a.length != b.length) {
return false;
}
var posA:int = a.position;
var posB:int = b.position;
var result:Boolean = true;
a.position = b.position = 0;
while(a.bytesAvailable >= 4) {
if(a.readUnsignedInt() != b.readUnsignedInt()) {
result = false;
break;
}
}
if(result && a.bytesAvailable != 0) {
var last:int = a.byte
if(a === b) {
return true;
}
var bytesA:ByteArray = new ByteArray()
bytesA.writeObject(a);
var bytesB:ByteArray = new ByteArray()
bytesB.writeObject(b);
return eqByteArray(bytesA, bytesB);
}
public static function eqByteArray(a:ByteArray, b:ByteArray):Boolean {
if(a.length != b.length) {
return false;
}
var posA:int = a.position;
var posB:int = b.position;
var result:Boolean = true;
a.position = b.position = 0;
while(a.bytesAvailable >= 4) {
if(a.readUnsignedInt() != b.readUnsignedInt()) {
result = false;
break;
}
}
if(result && a.bytesAvailable != 0) {
var last:int = a.byte