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

edu.jas.application.Dimension Maven / Gradle / Ivy

/*
 * $Id: Dimension.java 3058 2010-03-27 11:05:23Z kredel $
 */

package edu.jas.application;


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


/**
 * Container for dimension parameters.
 * @author Heinz Kredel
 */
public class Dimension implements Serializable {


    /**
     * Ideal dimension.
     */
    public final int d;


    /**
     * Indices of a maximal independent set (of variables).
     */
    public final Set S;


    /**
     * Set of indices of all maximal independent sets (of variables).
     */
    public final Set> M;


    /**
     * Names of all variables.
     */
    public final String[] v;


    /**
     * Constructor.
     * @param d ideal dimension.
     * @param S indices of a maximal independent set (of variables)
     * @param M set of indices of all maximal independent sets (of variables)
     * @param v names of all variables
     */
    public Dimension(int d, Set S, Set> M, String[] v) {
        this.d = d;
        this.S = S;
        this.M = M;
        this.v = v;
    }


    /**
     * String representation of the ideal.
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        StringBuffer sb = new StringBuffer("Dimension( " + d + ", ");
        if (v == null) {
            sb.append("" + S + ", " + M + " )");
            return sb.toString();
        }
        String[] s = new String[S.size()];
        int j = 0;
        for (Integer i : S) {
            s[j] = v[i];
            j++;
        }
        sb.append(Arrays.toString(s) + ", ");
        sb.append("[ ");
        boolean first = true;
        for (Set m : M) {
            if (first) {
                first = false;
            } else {
                sb.append(", ");
            }
            s = new String[m.size()];
            j = 0;
            for (Integer i : m) {
                s[j] = v[i];
                j++;
            }
            sb.append(Arrays.toString(s));
        }
        sb.append(" ] )");
        return sb.toString();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy