diff options
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/database/datastore/memory/ArrayDoubleStore.java')
-rw-r--r-- | src/de/lmu/ifi/dbs/elki/database/datastore/memory/ArrayDoubleStore.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/database/datastore/memory/ArrayDoubleStore.java b/src/de/lmu/ifi/dbs/elki/database/datastore/memory/ArrayDoubleStore.java index c41991eb..8b2ec127 100644 --- a/src/de/lmu/ifi/dbs/elki/database/datastore/memory/ArrayDoubleStore.java +++ b/src/de/lmu/ifi/dbs/elki/database/datastore/memory/ArrayDoubleStore.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.database.datastore.memory; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2013 + Copyright (C) 2014 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -41,6 +41,11 @@ public class ArrayDoubleStore implements WritableDoubleDataStore { * Data array */ private double[] data; + + /** + * Default value. + */ + private double def; /** * DBID to index map @@ -67,9 +72,10 @@ public class ArrayDoubleStore implements WritableDoubleDataStore { public ArrayDoubleStore(int size, DataStoreIDMap idmap, double def) { super(); this.data = new double[size]; - if (def != 0) { + if(def != 0) { Arrays.fill(this.data, def); } + this.def = def; this.idmap = idmap; } @@ -110,6 +116,16 @@ public class ArrayDoubleStore implements WritableDoubleDataStore { } @Override + public void increment(DBIDRef id, double value) { + data[idmap.mapDBIDToOffset(id)] += value; + } + + @Override + public void clear() { + Arrays.fill(data, def); + } + + @Override public void destroy() { data = null; idmap = null; |