/** * Demonstrates advanced sorting. * Sorts by sum of slice. */ public static void zdemo2() { Sorting sort = quickSort; DoubleMatrix3D matrix = DoubleFactory3D.dense.descending(4,3,2); DoubleMatrix2DComparator comp = new DoubleMatrix2DComparator() { public int compare(DoubleMatrix2D a, DoubleMatrix2D b) { double as = a.zSum(); double bs = b.zSum(); return as < bs ? -1 : as == bs ? 0 : 1; } }; System.out.println("unsorted:"+matrix); System.out.println("sorted :"+sort.sort(matrix,comp)); } /**
/** * Constructs a matrix with the given shape, each cell initialized with the given value. */ public DoubleMatrix3D make(int slices, int rows, int columns, double initialValue) { return make(slices,rows,columns).assign(initialValue); } /**
DoubleMatrix3D x = cern.colt.matrix.DoubleFactory3D.dense.ascending(2,2,2); System.out.println(x);
DoubleMatrix3D x = cern.colt.matrix.DoubleFactory3D.dense.ascending(2,2,2); System.out.println(x);
/** * Constructs a matrix with the given shape, each cell initialized with the given value. */ public DoubleMatrix3D make(int slices, int rows, int columns, double initialValue) { return make(slices,rows,columns).assign(initialValue); } /**
/** * Demonstrates advanced sorting. * Sorts by sum of slice. */ public static void zdemo2() { Sorting sort = quickSort; DoubleMatrix3D matrix = DoubleFactory3D.dense.descending(4,3,2); DoubleMatrix2DComparator comp = new DoubleMatrix2DComparator() { public int compare(DoubleMatrix2D a, DoubleMatrix2D b) { double as = a.zSum(); double bs = b.zSum(); return as < bs ? -1 : as == bs ? 0 : 1; } }; System.out.println("unsorted:"+matrix); System.out.println("sorted :"+sort.sort(matrix,comp)); } /**
/** * Constructs a matrix with cells having descending values. * For debugging purposes. */ public DoubleMatrix3D descending(int slices, int rows, int columns) { DoubleMatrix3D matrix = make(slices,rows,columns); int v = 0; for (int slice=slices; --slice >= 0;) { for (int row=rows; --row >= 0;) { for (int column=columns; --column >= 0;) { matrix.setQuick(slice, row, column, v++); } } } return matrix; } /**
/** * Constructs a matrix with cells having ascending values. * For debugging purposes. */ public DoubleMatrix3D ascending(int slices, int rows, int columns) { cern.jet.math.Functions F = cern.jet.math.Functions.functions; return descending(slices,rows,columns).assign(F.chain(F.neg,F.minus(slices*rows*columns))); } /**
/** * Constructs a matrix with cells having descending values. * For debugging purposes. */ public DoubleMatrix3D descending(int slices, int rows, int columns) { DoubleMatrix3D matrix = make(slices,rows,columns); int v = 0; for (int slice=slices; --slice >= 0;) { for (int row=rows; --row >= 0;) { for (int column=columns; --column >= 0;) { matrix.setQuick(slice, row, column, v++); } } } return matrix; } /**
/** * Constructs a matrix with cells having ascending values. * For debugging purposes. */ public DoubleMatrix3D ascending(int slices, int rows, int columns) { cern.jet.math.Functions F = cern.jet.math.Functions.functions; return descending(slices,rows,columns).assign(F.chain(F.neg,F.minus(slices*rows*columns))); } /**
/** * Constructs a matrix with uniformly distributed values in <tt>(0,1)</tt> (exclusive). */ public DoubleMatrix3D random(int slices, int rows, int columns) { return make(slices,rows,columns).assign(cern.jet.math.Functions.random()); } }
/** * Constructs a matrix with uniformly distributed values in <tt>(0,1)</tt> (exclusive). */ public DoubleMatrix3D random(int slices, int rows, int columns) { return make(slices,rows,columns).assign(cern.jet.math.Functions.random()); } }
DoubleMatrix3D timings = DoubleFactory3D.dense.make(types.length,sizes.length,densities.length); cern.colt.Timer runTime = new cern.colt.Timer().start(); for (int k=0; k<types.length; k++) {
DoubleMatrix3D timings = DoubleFactory3D.dense.make(types.length,sizes.length,densities.length); cern.colt.Timer runTime = new cern.colt.Timer().start(); for (int k=0; k<types.length; k++) {