@Override public final Vector stack( final SparseVector other) { compress(); other.compress(); int len = dimensionality + other.dimensionality; int nnz = countNonZeros() + other.countNonZeros(); SparseVector result = new SparseVector(len); result.values = new double[nnz]; result.indices = new int[nnz]; int idx = 0; for (int i = 0; i < indices.length; ++i) { result.values[idx] = values[i]; result.indices[idx] = indices[i]; ++idx; } for (int i = 0; i < other.indices.length; ++i) { result.values[idx] = other.values[i]; result.indices[idx] = other.indices[i] + dimensionality; ++idx; } return result; }
@Override public final Vector stack( final SparseVector other) { compress(); other.compress(); int len = dimensionality + other.dimensionality; int nnz = countNonZeros() + other.countNonZeros(); SparseVector result = new SparseVector(len); result.values = new double[nnz]; result.indices = new int[nnz]; int idx = 0; for (int i = 0; i < indices.length; ++i) { result.values[idx] = values[i]; result.indices[idx] = indices[i]; ++idx; } for (int i = 0; i < other.indices.length; ++i) { result.values[idx] = other.values[i]; result.indices[idx] = other.indices[i] + dimensionality; ++idx; } return result; }
@Override public final Vector stack( final SparseVector other) { compress(); other.compress(); int len = dimensionality + other.dimensionality; int nnz = countNonZeros() + other.countNonZeros(); SparseVector result = new SparseVector(len); result.values = new double[nnz]; result.indices = new int[nnz]; int idx = 0; for (int i = 0; i < indices.length; ++i) { result.values[idx] = values[i]; result.indices[idx] = indices[i]; ++idx; } for (int i = 0; i < other.indices.length; ++i) { result.values[idx] = other.values[i]; result.indices[idx] = other.indices[i] + dimensionality; ++idx; } return result; }
Vector result; int len = dimensionality + other.values.length; int nnz = countNonZeros() + other.countNonZeros(); if (nnz > SPARSE_TO_DENSE_THRESHOLD * len)
Vector result; int len = dimensionality + other.values.length; int nnz = countNonZeros() + other.countNonZeros(); if (nnz > SPARSE_TO_DENSE_THRESHOLD * len)
Vector result; int len = dimensionality + other.values.length; int nnz = countNonZeros() + other.countNonZeros(); if (nnz > SPARSE_TO_DENSE_THRESHOLD * len)
int nnz = countNonZeros() + other.countNonZeros(); if (nnz > SparseVector.SPARSE_TO_DENSE_THRESHOLD * len)
int nnz = countNonZeros() + other.countNonZeros(); if (nnz > SparseVector.SPARSE_TO_DENSE_THRESHOLD * len)
int nnz = countNonZeros() + other.countNonZeros(); if (nnz > SparseVector.SPARSE_TO_DENSE_THRESHOLD * len)