package wcet.dsvmfp.util; /** * * @author rup.inf * GPL */ public class DsvmUtilFP { /** * Coyy some integers from one array to another. * @param src the source array * @param srcpos start in src array * @param dest the destination array * @param destpos the destination position * @param length the number of integers to copy */ public static void arrayCopy(int[] src, int srcpos, int[] dest, int destpos, int length) { for (int i = 0; i < length; i++) dest[destpos + i] = src[srcpos + i]; } public static void pb(int b) { int mask = 0x01; for (int i = 31; i >= 0; i--) { int res = (b >>> i) & mask; if ((i + 1) % 8 == 0 && i < 31) System.out.print("_"); System.out.print(res); } System.out.println(""); } public static byte[] intToByte(int[] intArray) { byte[] byteArray = new byte[intArray.length * 4]; for (int j = 0; j < intArray.length; j++) { for (int i = 0, shift = 24; i < 4; i++, shift -= 8) byteArray[4*j+i] = (byte) (0xFF & (intArray[j] >>> shift)); } return byteArray; } public static int[] byteToInt(byte[] byteArray, int byteLength, int byteOffset) { int[] intArray = new int[byteLength/4]; for (int j = 0; j < intArray.length; j++) { for (int i = 0, shift = 24; i < 4; i++, shift -= 8) intArray[j] += (0xFF << shift) & (byteArray[j*4+byteOffset*4+i] << shift); } return intArray; } }