All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nd4j.linalg.api.ndarray.DimensionSlice Maven / Gradle / Ivy

There is a newer version: 1.0.0-M2.1
Show newest version
package org.nd4j.linalg.api.ndarray;

import java.io.Serializable;
import java.util.Arrays;

/**
 * A POJO for handling iterating over dimensions.
 *
 * @author Adam Gibson
 */
public class DimensionSlice implements Serializable {
    private boolean nextSlice;
    private Object result;
    private boolean modify = false;
    private int[] indices;

    public DimensionSlice(boolean nextSlice, Object result, int[] indices) {
        this.nextSlice = nextSlice;
        this.result = result;
        this.indices = indices;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof DimensionSlice)) return false;

        DimensionSlice that = (DimensionSlice) o;

        if (nextSlice != that.nextSlice) return false;
        if (!Arrays.equals(indices, that.indices)) return false;
        if (result != null ? !result.equals(that.result) : that.result != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result1 = (nextSlice ? 1 : 0);
        result1 = 31 * result1 + (result != null ? result.hashCode() : 0);
        result1 = 31 * result1 + (indices != null ? Arrays.hashCode(indices) : 0);
        return result1;
    }

    public boolean isNextSlice() {

        return nextSlice;
    }

    public void setNextSlice(boolean nextSlice) {
        this.nextSlice = nextSlice;
    }

    public Object getResult() {
        return result;
    }

    public void setResult(Object result) {
        this.result = result;
    }

    public int[] getIndices() {
        return indices;
    }

    public void setIndices(int[] indices) {
        this.indices = indices;
    }

    public boolean isModify() {
        return modify;
    }

    public void setModify(boolean modify) {
        this.modify = modify;
    }

    @Override
    public String toString() {
        return "DimensionSlice{" +
                "nextSlice=" + nextSlice +
                ", result=" + result +
                ", indices=" + Arrays.toString(indices) +
                '}';
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy