package com.github.fommil.netlib; import com.google.common.base.Stopwatch; import java.util.concurrent.TimeUnit; /** * @author Sam Halliday */ public class Dgemm implements Benchmark.Parameterised { @Override public long benchmark(int size) { int m = (int) Math.sqrt(size); double[] a = Benchmarks.randomArray(m * m); double[] b = Benchmarks.randomArray(m * m); double[] c = new double[m * m]; Stopwatch watch = new Stopwatch(); watch.start(); BLAS.getInstance().dgemm("N", "N", m, m, m, 1, a, m, b, m, 0, c, m); watch.stop(); return watch.elapsed(TimeUnit.NANOSECONDS); } }