summaryrefslogtreecommitdiff
path: root/src/cli/runtime/PersistentArray.cs
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2006-06-05 15:04:51 +0000
committerRich Hickey <richhickey@gmail.com>2006-06-05 15:04:51 +0000
commit0eb8b48657c82fa2d301fef08180e51cddd3d3ff (patch)
treead76ca6fb81bb1bfd5778f8b6727b640908aded3 /src/cli/runtime/PersistentArray.cs
parent6d980568070ae1d44e52613eb58ca1a64ff2649b (diff)
storing loadFactor
Diffstat (limited to 'src/cli/runtime/PersistentArray.cs')
-rw-r--r--src/cli/runtime/PersistentArray.cs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/cli/runtime/PersistentArray.cs b/src/cli/runtime/PersistentArray.cs
index c618a5c3..f1b9b0ed 100644
--- a/src/cli/runtime/PersistentArray.cs
+++ b/src/cli/runtime/PersistentArray.cs
@@ -61,13 +61,15 @@ internal class Master{
internal int rev;
internal int load;
internal readonly int maxLoad;
+ internal readonly float loadFactor;
- internal Master(int size,Object defaultVal, double loadFactor){
+ internal Master(int size,Object defaultVal, float loadFactor){
this.array = new Entry[size];
this.defaultVal = defaultVal;
this.rev = 0;
this.load = 0;
this.maxLoad = (int)(size * loadFactor);
+ this.loadFactor = loadFactor;
}
}
@@ -128,11 +130,11 @@ public PersistentArray(int size)
}
public PersistentArray(int size, Object defaultVal)
- :this(size,defaultVal,2.1)
+ :this(size,defaultVal,2.1f)
{
}
-public PersistentArray(int size, Object defaultVal, double loadFactor){
+public PersistentArray(int size, Object defaultVal, float loadFactor){
this.master = new Master(size, defaultVal, loadFactor);
this.rev = 0;
this.baseline = 0;
@@ -166,7 +168,7 @@ public bool has(int i){
public PersistentArray resize(int newLength)
{
- PersistentArray ret = new PersistentArray(newLength, master.defaultVal, ((double)master.maxLoad) / length());
+ PersistentArray ret = new PersistentArray(newLength, master.defaultVal, master.loadFactor);
for (int i = 0; i < Math.Min(length(), newLength); i++)
{
Entry e = getEntry(i);