use of it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap in project angel by Tencent.
the class Map method doUpdate.
@Override
protected void doUpdate(ServerSparseDoubleLongKeyRow[] rows, Serialize func) {
MapFunc mapper = (MapFunc) func;
Long2DoubleOpenHashMap data1 = rows[0].getData();
Long2DoubleOpenHashMap data2 = data1.clone();
double defaultValue = data2.defaultReturnValue();
data2.defaultReturnValue(mapper.call(defaultValue));
for (java.util.Map.Entry<Long, Double> entry : data2.long2DoubleEntrySet()) {
double value = entry.getValue();
entry.setValue(mapper.call(value));
}
rows[1].setIndex2ValueMap(data2);
}
use of it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap in project angel by Tencent.
the class MapInPlace method doUpdate.
@Override
protected void doUpdate(ServerSparseDoubleLongKeyRow[] rows, Serialize func) {
MapFunc mapper = (MapFunc) func;
Long2DoubleOpenHashMap data1 = rows[0].getData();
double defaultValue = data1.defaultReturnValue();
data1.defaultReturnValue(mapper.call(defaultValue));
for (java.util.Map.Entry<Long, Double> entry : data1.long2DoubleEntrySet()) {
double value = entry.getValue();
entry.setValue(mapper.call(value));
}
}
use of it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap in project angel by Tencent.
the class Zip2Map method doUpdate.
@Override
protected void doUpdate(ServerSparseDoubleLongKeyRow[] rows, Serialize func) {
Zip2MapFunc mapper = (Zip2MapFunc) func;
Long2DoubleOpenHashMap from1 = rows[0].getData();
Long2DoubleOpenHashMap from2 = rows[1].getData();
Long2DoubleOpenHashMap to = from1.clone();
to.defaultReturnValue(mapper.call(from1.defaultReturnValue(), from2.defaultReturnValue()));
LongSet keySet = from1.keySet();
keySet.addAll(from2.keySet());
for (long key : keySet) {
to.put(key, mapper.call(from1.get(key), from2.get(key)));
}
rows[2].setIndex2ValueMap(to);
}
use of it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap in project angel by Tencent.
the class Zip3Map method doUpdate.
@Override
protected void doUpdate(ServerSparseDoubleLongKeyRow[] rows, Serialize func) {
Zip3MapFunc mapper = (Zip3MapFunc) func;
Long2DoubleOpenHashMap from1 = rows[0].getData();
Long2DoubleOpenHashMap from2 = rows[1].getData();
Long2DoubleOpenHashMap from3 = rows[2].getData();
Long2DoubleOpenHashMap to = from1.clone();
to.defaultReturnValue(mapper.call(from1.defaultReturnValue(), from2.defaultReturnValue(), from3.defaultReturnValue()));
LongSet keySet = from1.keySet();
keySet.addAll(from2.keySet());
for (long key : keySet) {
to.put(key, mapper.call(from1.get(key), from2.get(key), from3.get(key)));
}
rows[2].setIndex2ValueMap(to);
}
use of it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap in project angel by Tencent.
the class Zip3MapWithIndex method doUpdate.
@Override
protected void doUpdate(ServerSparseDoubleLongKeyRow[] rows, Serialize func) {
Zip3MapWithIndexFunc mapper = (Zip3MapWithIndexFunc) func;
Long2DoubleOpenHashMap from1 = rows[0].getData();
Long2DoubleOpenHashMap from2 = rows[1].getData();
Long2DoubleOpenHashMap from3 = rows[2].getData();
Long2DoubleOpenHashMap to = from1.clone();
// TODO: a better way is needed to deal with defaultValue
assert (from1.defaultReturnValue() == 0.0 && from2.defaultReturnValue() == 0.0);
LongSet keySet = from1.keySet();
keySet.addAll(from2.keySet());
for (long key : keySet) {
to.put(key, mapper.call((int) key, from1.get(key), from2.get(key), from3.get(key)));
}
rows[2].setIndex2ValueMap(to);
}
Aggregations