Java Matrix Multiply multiply(boolean[][] m1, boolean[][] m2)

Here you can find the source of multiply(boolean[][] m1, boolean[][] m2)

Description

multiply

License

Open Source License

Declaration

public static boolean[][] multiply(boolean[][] m1, boolean[][] m2) 

Method Source Code

//package com.java2s;
/*//w  w w.j a v  a  2 s . c o  m
Quadrop
Copyright (C) 2015 - Ferit Tun?er
    
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
    
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
    
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/

public class Main {
    public static boolean[][] multiply(boolean[][] m1, boolean[][] m2) {
        int mA = m1.length;
        int nA = m1[0].length;
        int mB = m2.length;
        int nB = m2[0].length;
        if (nA != mB) {
            throw new RuntimeException("Illegal matrix dimensions.");
        }
        boolean[][] toReturn = new boolean[mA][nB];
        for (int i = 0; i < mA; i++) {
            for (int j = 0; j < nB; j++) {
                for (int k = 0; k < nA; k++) {
                    toReturn[i][j] = toReturn[i][j] | (m1[i][k] & m2[k][j]);
                }
            }
        }
        return toReturn;
    }
}

Related

  1. matrixMultiply(double[][] M1, double[][] M2)
  2. matrixmultiply(final double[][] A, final double[] b)
  3. matrixMultiplyTwo(final double[][] first, final double[][] second)
  4. matrixMultiplyWithThreadOffset(double[] A, double[] Adiag, double[] B, int aHeight, int bWidth, int comm, int bz, int threadRowOffset, int rowOffset, double[] C)
  5. matrixScalarMultiplication(double[][] w, double v)
  6. multiply(boolean[][] matrix, boolean[] vector)
  7. multiply(double[][] a, double[][] b)
  8. multiply(double[][] a, double[][] x)
  9. multiply(double[][] dest, double[][] a, double[][] b)