Search in sources :

Example 36 with MatrixDense

use of gov.sandia.n2a.linear.MatrixDense in project n2a by frothga.

the class Matrix method LT.

public Matrix LT(Type that) throws EvaluationException {
    int w = columns();
    int h = rows();
    if (that instanceof Scalar) {
        double b = ((Scalar) that).value;
        MatrixDense result = new MatrixDense(h, w);
        for (int c = 0; c < w; c++) {
            for (int r = 0; r < h; r++) {
                result.set(r, c, (get(r, c) < b) ? 1 : 0);
            }
        }
        return result;
    }
    if (that instanceof Matrix) {
        Matrix B = (Matrix) that;
        w = Math.min(w, B.columns());
        h = Math.min(h, B.rows());
        MatrixDense result = new MatrixDense(h, w);
        for (int c = 0; c < w; c++) {
            for (int r = 0; r < h; r++) {
                result.set(r, c, (get(r, c) < B.get(r, c)) ? 1 : 0);
            }
        }
        return result;
    }
    throw new EvaluationException("type mismatch");
}
Also used : MatrixDense(gov.sandia.n2a.linear.MatrixDense) EvaluationException(gov.sandia.n2a.language.EvaluationException)

Aggregations

MatrixDense (gov.sandia.n2a.linear.MatrixDense)36 EvaluationException (gov.sandia.n2a.language.EvaluationException)24 Matrix (gov.sandia.n2a.language.type.Matrix)7 Scalar (gov.sandia.n2a.language.type.Scalar)7 Type (gov.sandia.n2a.language.Type)5 Text (gov.sandia.n2a.language.type.Text)4 Simulator (gov.sandia.n2a.backend.internal.Simulator)3 Random (java.util.Random)3 Variable (gov.sandia.n2a.eqset.Variable)1 Constant (gov.sandia.n2a.language.Constant)1 Operator (gov.sandia.n2a.language.Operator)1 ASTConstant (gov.sandia.n2a.language.parse.ASTConstant)1 FactorQR (gov.sandia.n2a.linear.FactorQR)1 MatrixSparse (gov.sandia.n2a.linear.MatrixSparse)1 OutputParser (gov.sandia.n2a.ui.jobs.OutputParser)1 BufferedReader (java.io.BufferedReader)1 IOException (java.io.IOException)1