25using System.Runtime.InteropServices;
27using System.Security.Permissions;
39 short[] shortArray = src as
short[];
40 if (shortArray !=
null)
42 int index = ((int)srcPos) >> 1;
45 short v = global::java.lang.Short.reverseBytes(shortArray[index++]);
46 Marshal.WriteInt16((IntPtr)dstAddr, v);
53 char[] charArray = (
char[])src;
54 int index = ((int)srcPos) >> 1;
57 short v = global::java.lang.Short.reverseBytes((
short)charArray[index++]);
58 Marshal.WriteInt16((IntPtr)dstAddr, v);
66 public static void copyToShortArray(
long srcAddr,
object dst,
long dstPos,
long length)
69 short[] shortArray = dst as
short[];
70 if (shortArray !=
null)
72 int index = ((int)dstPos) >> 1;
75 short v = Marshal.ReadInt16((IntPtr)srcAddr);
76 shortArray[index++] = global::java.lang.Short.reverseBytes(v);
83 char[] charArray = (
char[])dst;
84 int index = ((int)dstPos) >> 1;
87 short v = Marshal.ReadInt16((IntPtr)srcAddr);
88 charArray[index++] = (char)global::java.lang.Short.reverseBytes(v);
96 public static void copyFromIntArray(
object src,
long srcPos,
long dstAddr,
long length)
99 int[] intArray = src as
int[];
100 if (intArray !=
null)
102 int index = ((int)srcPos) >> 2;
105 int v = global::java.lang.Integer.reverseBytes(intArray[index++]);
106 Marshal.WriteInt32((IntPtr)dstAddr, v);
113 float[] floatArray = (
float[])src;
114 int index = ((int)srcPos) >> 2;
117 int v = global::java.lang.Integer.reverseBytes(global::java.lang.Float.floatToRawIntBits(floatArray[index++]));
118 Marshal.WriteInt32((IntPtr)dstAddr, v);
126 public static void copyToIntArray(
long srcAddr,
object dst,
long dstPos,
long length)
129 int[] intArray = dst as
int[];
130 if (intArray !=
null)
132 int index = ((int)dstPos) >> 2;
135 int v = Marshal.ReadInt32((IntPtr)srcAddr);
136 intArray[index++] = global::java.lang.Integer.reverseBytes(v);
143 float[] floatArray = (
float[])dst;
144 int index = ((int)dstPos) >> 2;
147 int v = Marshal.ReadInt32((IntPtr)srcAddr);
148 floatArray[index++] = global::java.lang.Float.intBitsToFloat(global::java.lang.Integer.reverseBytes(v));
159 long[] longArray = src as
long[];
160 if (longArray !=
null)
162 int index = ((int)srcPos) >> 3;
165 long v = global::java.lang.Long.reverseBytes(longArray[index++]);
166 Marshal.WriteInt64((IntPtr)dstAddr, v);
173 double[] doubleArray = (
double[])src;
174 int index = ((int)srcPos) >> 3;
177 long v = global::java.lang.Long.reverseBytes(BitConverter.DoubleToInt64Bits(doubleArray[index++]));
178 Marshal.WriteInt64((IntPtr)dstAddr, v);
186 public static void copyToLongArray(
long srcAddr,
object dst,
long dstPos,
long length)
189 long[] longArray = dst as
long[];
190 if (longArray !=
null)
192 int index = ((int)dstPos) >> 3;
195 long v = Marshal.ReadInt64((IntPtr)srcAddr);
196 longArray[index++] = global::java.lang.Long.reverseBytes(v);
203 double[] doubleArray = (
double[])dst;
204 int index = ((int)dstPos) >> 3;
207 long v = Marshal.ReadInt64((IntPtr)srcAddr);
208 doubleArray[index++] = BitConverter.Int64BitsToDouble(global::java.lang.Long.reverseBytes(v));
static void copyToLongArray(long srcAddr, object dst, long dstPos, long length)
static void copyFromShortArray(object src, long srcPos, long dstAddr, long length)
static void copyToShortArray(long srcAddr, object dst, long dstPos, long length)
static void copyFromIntArray(object src, long srcPos, long dstAddr, long length)
static void copyToIntArray(long srcAddr, object dst, long dstPos, long length)
static void copyFromLongArray(object src, long srcPos, long dstAddr, long length)