public static final void bytesToInts(int[] dst, int dst_offset, byte[] src,
		int src_offset, int length) {
		if ((src == null) || (dst == null) ||
				((src_offset + length) > src.length) ||
				((dst_offset + length) > (dst.length * 4)) ||
				((dst_offset % 4) != 0) || ((length % 4) != 0)) {
			croak("bytesToInts parameters are invalid" + " src==" + src +
				" dst==" + dst +
				(((src == null) || (dst == null)) ? " "
												  : (" (src_offset+length)>src.length==" +
				(src_offset + length) + ">" + src.length +
				" (dst_offset+length)>(dst.length*4)==" +
				(dst_offset + length) + ">" + (dst.length * 4) +
				" (dst_offset%4)==" + (dst_offset % 4) + " (length%4)==" +
				(length % 4) + " dest.length==" + dst.length + " length==" +
				length)));
		}

		// Convert parameters to normal format
		int[] offset = new int[1];
		offset[0] = src_offset;

		int int_dst_offset = dst_offset / 4;

		for (int i = 0; i < (length / 4); ++i) {
			dst[int_dst_offset++] = bytesToInt(src, offset);
		}
	}