/** * Creates a queue with the specified length as its size filled with all zeros */ public static GrowQueue_I8 zeros( int length ) { GrowQueue_I8 out = new GrowQueue_I8(length); out.size = length; return out; }
/** * Creates a queue with the specified length as its size filled with all zeros */ public static GrowQueue_I8 zeros( int length ) { GrowQueue_I8 out = new GrowQueue_I8(length); out.size = length; return out; }
public static GrowQueue_I8 parseHex( String message ) { message = message.replaceAll("\\[",""); message = message.replaceAll("\\]",""); message = message.replaceAll(" ",""); String words[] = message.split(","); GrowQueue_I8 out = new GrowQueue_I8(words.length); out.size = words.length; for (int i = 0; i < words.length; i++) { out.data[i] = Integer.decode(words[i]).byteValue(); } return out; }
public static GrowQueue_I8 parseHex( String message ) { message = message.replaceAll("\\[",""); message = message.replaceAll("\\]",""); message = message.replaceAll(" ",""); String words[] = message.split(","); GrowQueue_I8 out = new GrowQueue_I8(words.length); out.size = words.length; for (int i = 0; i < words.length; i++) { out.data[i] = Integer.decode(words[i]).byteValue(); } return out; }
@Override public GrowQueue_I8 declare(int maxsize) { return new GrowQueue_I8(maxsize); }
@Override public GrowQueue_I8 copy() { GrowQueue_I8 ret = new GrowQueue_I8(size); ret.setTo(this); return ret; }
@Override public GrowQueue_I8 copy() { GrowQueue_I8 ret = new GrowQueue_I8(size); ret.setTo(this); return ret; }
public static void combine( List<String> fileNames , String outputName ) throws IOException { FileOutputStream fos = new FileOutputStream(outputName); GrowQueue_I8 buffer = new GrowQueue_I8(); for( String s : fileNames ) { File f = new File(s); FileInputStream fis = new FileInputStream(f); long length = f.length(); buffer.resize((int)length); // write out header fos.write(255); fos.write(255); fos.write(255); fos.write((byte)(length >> 24)); fos.write((byte)(length >> 16)); fos.write((byte)(length >> 8)); fos.write((byte)(length)); fis.read(buffer.data, 0, (int) length); fos.write(buffer.data,0,(int)length); } }
public static void parseDepth( String fileName , GrayU16 depth , GrowQueue_I8 data ) throws IOException { DataInputStream in = new DataInputStream(new FileInputStream(fileName)); String s[] = readLine(in).split(" "); int w = Integer.parseInt(s[0]); int h = Integer.parseInt(s[1]); int length = w*h*2; if( data == null ) data = new GrowQueue_I8(length); else data.resize(length); in.read(data.data,0,length); depth.reshape(w,h); UtilOpenKinect.bufferDepthToU16(data.data, depth); }
temp = new GrowQueue_I8(); temp.resize(rgb.width*rgb.height*3); byte data[] = temp.data;
public static void convert(Frame input , ImageBase output , boolean swapRgb, GrowQueue_I8 work) { if( work == null ) work = new GrowQueue_I8(); Buffer data = input.image[0]; if( !(data instanceof ByteBuffer) ) { return; } ByteBuffer bb = (ByteBuffer)data; output.reshape(input.imageWidth,input.imageHeight); if( output instanceof Planar ) { ((Planar)output).setNumberOfBands(input.imageChannels); ConvertByteBufferImage.from_3BU8_to_3PU8(bb,0,input.imageStride,(Planar)output,work); if( swapRgb ) { BGR_to_RGB((Planar)output); } } else if( output instanceof ImageGray ) { ConvertByteBufferImage.from_3BU8_to_U8(bb,0,input.imageStride,(GrayU8)output,work); } else if( output instanceof ImageInterleaved) { ConvertByteBufferImage.from_3BU8_to_3IU8(bb,0,input.imageStride,(InterleavedU8)output); } else { throw new IllegalArgumentException("Unsupported output type"); } }
@Test public void auto_grow() { GrowQueue_I8 alg = new GrowQueue_I8(3); assertEquals(3,alg.data.length); for( int i = 0; i < 10; i++ ) alg.push(i); assertEquals(10,alg.size); for( int i = 0; i < 10; i++ ) assertEquals(i,alg.get(i),1e-8); }
@Test public void reset() { GrowQueue_I8 alg = new GrowQueue_I8(10); alg.push(1); alg.push(3); alg.push(-2); assertTrue(1.0 == alg.get(0)); assertEquals(3,alg.size); alg.reset(); assertEquals(0,alg.size); }
@Test public void indexOf() { GrowQueue_I8 alg = new GrowQueue_I8(10); alg.push(1); alg.push(3); alg.push(4); alg.push(5); assertEquals(1,alg.indexOf((byte)3)); assertEquals(-1,alg.indexOf((byte)8)); }
@Test public void push_pop() { GrowQueue_I8 alg = new GrowQueue_I8(10); alg.push(1); alg.push(3); assertEquals(2,alg.size); assertTrue(3==alg.pop()); assertTrue(1==alg.pop()); assertEquals(0, alg.size); }
@Test public void addAll_queue() { GrowQueue_I8 queue0 = new GrowQueue_I8(2); GrowQueue_I8 queue1 = new GrowQueue_I8(3); queue0.add(1); queue0.add(2); queue1.add(3); queue1.add(4); queue1.add(5); assertEquals(2,queue0.size); queue0.addAll(queue1); assertEquals(5,queue0.size); for( int i = 0; i < queue0.size; i++ ) { assertEquals(queue0.get(i),i+1); } queue0.reset(); queue0.addAll(queue1); assertEquals(3,queue0.size); for( int i = 0; i < queue0.size; i++ ) { assertEquals(queue0.get(i),i+3); } }
@Test public void addAll_array() { GrowQueue_I8 queue0 = new GrowQueue_I8(2); byte[] array = new byte[]{3,4,5}; queue0.add(1); queue0.add(2); assertEquals(2,queue0.size); queue0.addAll(array,0,3); assertEquals(5,queue0.size); for( int i = 0; i < queue0.size; i++ ) { assertEquals(queue0.get(i),i+1,1e-8); } queue0.reset(); queue0.addAll(array,1,3); assertEquals(2,queue0.size); for( int i = 0; i < queue0.size; i++ ) { assertEquals(queue0.get(i),i+4,1e-8); } }
@Test public void getFraction() { GrowQueue_I8 alg = new GrowQueue_I8(20); for (int i = 0; i < 20; i++) { alg.add(i); } assertEquals(0,alg.getFraction(0.0)); assertEquals(0,alg.getFraction(0.02)); assertEquals(0,alg.getFraction(0.03)); assertEquals(1,alg.getFraction(1.0/19.0)); assertEquals(1,alg.getFraction(1.7/19.0)); assertEquals(19/2,alg.getFraction(0.5)); assertEquals(19,alg.getFraction(1.0)); } }
@Test public void sort() { GrowQueue_I8 alg = new GrowQueue_I8(6); alg.push(8); alg.push(2); alg.push(4); alg.push(3); alg.push(-1); alg.sort(); assertEquals(5,alg.size); assertEquals(-1,alg.get(0)); assertEquals(2,alg.get(1)); assertEquals(3,alg.get(2)); assertEquals(4,alg.get(3)); assertEquals(8,alg.get(4)); }
@Test public void remove_two() { GrowQueue_I8 alg = new GrowQueue_I8(10); alg.push(1); alg.push(3); alg.push(4); alg.push(5); alg.push(6); alg.remove(1,1); assertEquals(4,alg.size); assertEquals(1,alg.get(0)); assertEquals(4,alg.get(1)); assertEquals(5,alg.get(2)); assertEquals(6,alg.get(3)); alg.remove(0,1); assertEquals(2,alg.size); assertEquals(5,alg.get(0)); assertEquals(6,alg.get(1)); }