All files Utils.ts

100% Statements 18/18
100% Branches 2/2
100% Functions 5/5
100% Lines 18/18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 283x   3x 3x 3x 3x   3x 24077x   3x 28175x   3x 28175x   3x 42x   3x 168x 140x 332x     168x    
export const BITS = 5;
 
export const SHIFT0 = 0;
export const SHIFT1 = SHIFT0 + BITS;
export const SHIFT2 = SHIFT1 + BITS;
export const SHIFT3 = SHIFT2 + BITS;
 
export const calculateOffset = (index: number, shift: number): number =>
  Math.floor(index / (1 << shift));
 
export const calculateRow = (index: number, shift: number): number =>
  (index >>> shift) & ((1 << BITS) - 1);
 
export const calculateMask = (index: number, shift: number): number =>
  1 << calculateRow(index, shift);
 
export const nextPowerOfTwo = (index: number): number =>
  Math.pow( 2, Math.ceil( Math.log( index ) / Math.log( 2 ) ) );
 
export const copyArrays = (source: Uint32Array, target: Uint32Array): Uint32Array => {
  if(source) {
    for(var i = 0; i < source.length; i += 1) {
      target[i] = source[i];
    }
  }
  return target;
}