瀏覽代碼

[all] Vector.blit is now a static method, which takes src as the first argument

Caue Waneck 12 年之前
父節點
當前提交
6342a961cb
共有 2 個文件被更改,包括 9 次插入9 次删除
  1. 6 6
      std/haxe/ds/Vector.hx
  2. 3 3
      tests/unit/unitstd/haxe/ds/Vector.unit.hx

+ 6 - 6
std/haxe/ds/Vector.hx

@@ -113,18 +113,18 @@ abstract Vector<T>(VectorData<T>) {
 
 
 		The results are unspecified if [length] results in out-of-bounds access, or if [src] or [dest] are null
 		The results are unspecified if [length] results in out-of-bounds access, or if [src] or [dest] are null
 	**/
 	**/
-	public #if (cs || java || neko) inline #end function blit<T>(srcPos:Int, dest:Vector<T>, destPos:Int, length:Int):Void
+	public static #if (cs || java || neko) inline #end function blit<T>(src:Vector<T>, srcPos:Int, dest:Vector<T>, destPos:Int, len:Int):Void
 	{
 	{
 		#if neko
 		#if neko
-			untyped __dollar__ablit(dest,destPos,this,srcPos,length);
+			untyped __dollar__ablit(dest,destPos,src,srcPos,len);
 		#elseif java
 		#elseif java
-			java.lang.System.arraycopy(this, srcPos, dest, destPos, length);
+			java.lang.System.arraycopy(src, srcPos, dest, destPos, len);
 		#elseif cs
 		#elseif cs
-			cs.system.Array.Copy(cast this, srcPos,cast dest, destPos, length);
+			cs.system.Array.Copy(cast src, srcPos,cast dest, destPos, len);
 		#else
 		#else
-			for (i in 0...length)
+			for (i in 0...len)
 			{
 			{
-				dest[destPos + i] = this[srcPos + i];
+				dest[destPos + i] = src[srcPos + i];
 			}
 			}
 		#end
 		#end
 	}
 	}

+ 3 - 3
tests/unit/unitstd/haxe/ds/Vector.unit.hx

@@ -65,21 +65,21 @@ vec2[0] = "1a";
 var vec3 = haxe.ds.Vector.fromArrayCopy([0,1,2,3,4,5,6]);
 var vec3 = haxe.ds.Vector.fromArrayCopy([0,1,2,3,4,5,6]);
 var vec4 = new haxe.ds.Vector(5);
 var vec4 = new haxe.ds.Vector(5);
 
 
-vec3.blit(0, vec4, 1, 3);
+haxe.ds.Vector.blit(vec3, 0, vec4, 1, 3);
 vec4[1] == 0;
 vec4[1] == 0;
 vec4[2] == 1;
 vec4[2] == 1;
 vec4[3] == 2;
 vec4[3] == 2;
 vec4[4] == vNullInt;
 vec4[4] == vNullInt;
 vec4[0] == vNullInt;
 vec4[0] == vNullInt;
 
 
-vec3.blit(0, vec4, 0, 5);
+haxe.ds.Vector.blit(vec3, 0, vec4, 0, 5);
 vec4[0] == 0;
 vec4[0] == 0;
 vec4[1] == 1;
 vec4[1] == 1;
 vec4[2] == 2;
 vec4[2] == 2;
 vec4[3] == 3;
 vec4[3] == 3;
 vec4[4] == 4;
 vec4[4] == 4;
 
 
-vec4.blit(1, vec3, 0, 4);
+haxe.ds.Vector.blit(vec4, 1, vec3, 0, 4);
 //vec3 should be [1,2,3,4,4,5,6]
 //vec3 should be [1,2,3,4,4,5,6]
 vec3[0] == 1;
 vec3[0] == 1;
 vec3[1] == 2;
 vec3[1] == 2;