Example usage for org.apache.commons.math3.util OpenIntToDoubleHashMap get

List of usage examples for org.apache.commons.math3.util OpenIntToDoubleHashMap get

Introduction

In this page you can find the example usage for org.apache.commons.math3.util OpenIntToDoubleHashMap get.

Prototype

public double get(final int key) 

Source Link

Document

Get the stored value associated with the given key

Usage

From source file:com.cloudera.oryx.common.math.OpenMapRealVector.java

/**
 * Optimized method to add two OpenMapRealVectors.
 * It copies the larger vector, then iterates over the smaller.
 *
 * @param v Vector to add.//w  ww  .  ja  v a  2  s  . co  m
 * @return the sum of {@code this} and {@code v}.
 * @throws DimensionMismatchException if the dimensions do not match.
 */
public OpenMapRealVector add(OpenMapRealVector v) {
    checkVectorDimensions(v.getDimension());
    boolean copyThis = entries.size() > v.entries.size();
    OpenMapRealVector res = copyThis ? this.copy() : v.copy();
    OpenIntToDoubleHashMap.Iterator iter = copyThis ? v.entries.iterator() : entries.iterator();
    OpenIntToDoubleHashMap randomAccess = copyThis ? entries : v.entries;
    while (iter.hasNext()) {
        iter.advance();
        int key = iter.key();
        if (randomAccess.containsKey(key)) {
            res.setEntry(key, randomAccess.get(key) + iter.value());
        } else {
            res.setEntry(key, iter.value());
        }
    }
    return res;
}