/* * Copyright 2012 Phil Pratt-Szeliga and other contributors * http://chirrup.org/ * * See the file LICENSE for copying permission. */ package org.trifort.rootbeer.testcases.rootbeertest.baseconversion; public class GpuList { private Object[] m_Items; private int m_Count; public GpuList(){ m_Items = create(8); m_Count = 0; } public void add(Object item){ if(m_Count == m_Items.length){ realloc(); } int count = m_Count; m_Items[count] = item; m_Count = (count + 1); } private void realloc() { Object[] new_items = create(m_Items.length * 2); for(int i = 0; i < m_Items.length; ++i){ new_items[i] = m_Items[i]; } m_Items = new_items; } public void remove(int index){ for(int i = index; i < m_Count - 2; ++i){ m_Items[i] = m_Items[i + 1]; } m_Count--; } public Object get(int index){ return m_Items[index]; } public int size() { return m_Count; } private Object[] create(int size) { return new Object[size]; } void set(int ret_index, Object value) { m_Items[ret_index] = value; } }