public double[] values() { synchronized( mutex ) { return m.values(); } } public double[] values( double[] array ) {
public double[] values( double[] array ) { synchronized( mutex ) { return m.values( array ); } }
public double[] values() { return m.values(); } public double[] values( double[] array ) { return m.values( array ); }
public double[] values( double[] array ) { return m.values( array ); }
@Override public double[] values() { synchronized( mutex ) { return m.values(); } } @Override
public double[] values( double[] array ) { synchronized( mutex ) { return m.values( array ); } }
public double[] values() { synchronized( mutex ) { return m.values(); } } public double[] values( double[] array ) {
public double[] values() { synchronized( mutex ) { return m.values(); } } public double[] values( double[] array ) {
@Override public double[] values( double[] array ) { synchronized( mutex ) { return m.values( array ); } }
public double[] values( double[] array ) { synchronized( mutex ) { return m.values( array ); } }
public double[] values( double[] array ) { return m.values( array ); }
public double[] values() { return m.values(); } public double[] values( double[] array ) { return m.values( array ); }
@Override public double[] values() { return m.values(); } @Override
public double[] values() { synchronized( mutex ) { return m.values(); } } public double[] values( double[] array ) {
@Override public double[] values( double[] array ) { return m.values( array ); }
public double[] values( double[] array ) { synchronized( mutex ) { return m.values( array ); } }
public double[] values() { return m.values(); } public double[] values( double[] array ) { return m.values( array ); }
public double[] values() { return m.values(); } public double[] values( double[] array ) { return m.values( array ); }
public double[] values( double[] array ) { return m.values( array ); }
public static double cosineSimilarity(TIntDoubleMap X, TIntDoubleMap Y) { double xDotX = 0.0; double yDotY = 0.0; double xDotY = 0.0; for (int id : X.keys()) { double x = X.get(id); xDotX += x * x; if (Y.containsKey(id)) { xDotY += x * Y.get(id); } } for (double y : Y.values()) { yDotY += y * y; } return xDotX * yDotY != 0 ? xDotY / Math.sqrt(xDotX * yDotY): 0.0; } public static double cosineSimilarity(TIntFloatMap X, TIntFloatMap Y) {