/**
 * Copyright (c) 2012 Michael Kutschke.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Michael Kutschke - initial API and implementation.
 */
package bayesnet.jayes.factor.arraywrapper;

public interface IArrayWrapper extends Cloneable, Iterable {

    void setArray(double... array);

    void setArray(float... array);

    double[] toDoubleArray();

    float[] toFloatArray();

    void set(int index, double d);

    void set(int index, float d);

    void mulAssign(int index, double d);

    void mulAssign(int index, float d);

    void mulAssign(int index, IArrayWrapper arg, int argIndex);

    void addAssign(int index, double d);

    void addAssign(int index, float d);

    void addAssign(int index, IArrayWrapper arg, int argIndex);

    double getDouble(int index);

    float getFloat(int index);

    int length();

    void copy(double... array);

    void copy(float... array);

    void copy(IArrayWrapper array);

    void fill(double d);

    void fill(float d);

    void arrayCopy(IArrayWrapper src, int srcOffset, int destOffset, int length);

    IArrayWrapper clone();

    void newArray(int capacity);

    /**
     * @return size of a single array element in bytes
     */
    int sizeOfElement();
}

 

Ads help maintain this website.