return this;
}
if (function == Functions.MULT) { // x[i] = x[i] * y[i]
this.elements.forEachPair(
new IntDoubleProcedure() {
public boolean apply(int key, double value) {
int i = key / columns;
int j = key % columns;
double r = value * y.getQuick(i, j);
if (r != value) {
elements.put(key, r);
}
return true;
}
}
);
}
if (function == Functions.DIV) { // x[i] = x[i] / y[i]
this.elements.forEachPair(
new IntDoubleProcedure() {
public boolean apply(int key, double value) {
int i = key / columns;
int j = key % columns;
double r = value / y.getQuick(i, j);
if (r != value) {