benchmarks/matrix-multiplication/src/main/java/org/apidesign/benchmark/matrixmul/Matrix.java
1 package org.apidesign.benchmark.matrixmul;
3 //import java.io.PrintStream;
4 //import java.util.Random;
8 private final int rank;
9 private float data[][];
11 public Matrix(int r) {
13 data = new float[r][r];
16 public void setElement(int i, int j, float value) {
19 public float getElement(int i, int j) {
23 public void generateData() {
24 //final Random rand = new Random();
26 for (int i = 0; i < rank; i++) {
27 for (int j = 0; j < rank; j++) {
33 public Matrix multiply(Matrix m) {
35 throw new IllegalArgumentException("Rank doesn't match");
38 final float res[][] = new float[rank][rank];
39 for (int i = 0; i < rank; i++) {
40 for (int j = 0; j < rank; j++) {
42 for (int q = 0; q < rank; q++) {
43 ij += data[i][q] * m.data[q][j];
54 public void printOn(PrintStream s) {
55 for (int i = 0; i < rank; i++) {
56 for (int j = 0; j < rank; j++) {
57 s.printf("%f ", data[i][j]);