fixed maven repository URL
[sixth-data.git] / src / main / java / eu / svjatoslav / sixth / data / model / ArrayStorage.java
1 /*
2  * Sixth Data. Author: Svjatoslav Agejenko. 
3  * This project is released under Creative Commons Zero (CC0) license.
4  *
5 */
6
7 package eu.svjatoslav.sixth.data.model;
8
9 public class ArrayStorage {
10
11     // load 16bit integer from byte array
12     public static int load16bit(final byte[] array, final int addr) {
13         // return (int)array[addr] + (int)array[addr+1]*256;
14         return ((array[addr + 1] & 0xFF) << 8) | (array[addr] & 0xFF);
15     }
16
17     // load 16bit integer from byte array
18     public static int load32bit(final byte[] array, final int addr) {
19         return ((array[addr + 3] & 0xFF) << 24)
20                 | ((array[addr + 2] & 0xFF) << 16)
21                 | ((array[addr + 1] & 0xFF) << 8) | (array[addr] & 0xFF);
22     }
23
24     // store 16bit integer into byte array
25     public static void store16bit(final byte[] array, final int addr,
26                                   final int value) {
27         final int byteHigh = value / 256;
28         final int byteLow = value - (byteHigh * 256);
29         array[addr] = (byte) byteLow;
30         array[addr + 1] = (byte) byteHigh;
31     }
32
33 }