Update of /cvsroot/freenet/freenet/src/freenet/node/rt
In directory sc8-pr-cvs1:/tmp/cvs-serv12082/src/freenet/node/rt
Modified Files:
Tag: ngrouting
ResponseTimeEstimator.java
Log Message:
tweak
Index: ResponseTimeEstimator.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/rt/ResponseTimeEstimator.java,v
retrieving revision 1.4.2.21
retrieving revision 1.4.2.22
diff -u -r1.4.2.21 -r1.4.2.22
--- ResponseTimeEstimator.java 27 Aug 2003 01:08:44 -0000 1.4.2.21
+++ ResponseTimeEstimator.java 27 Aug 2003 01:27:41 -0000 1.4.2.22
@@ -301,6 +301,8 @@
}
static final BigDecimal DEC_ONE = new BigDecimal(1.0);
+ static final BigInteger THREE = BigInteger.valueOf(3);
+ static final BigInteger FOUR = BigInteger.valueOf(4);
protected synchronized int reportDecreasing(BigInteger lowerBound,
BigInteger upperBound,
@@ -355,12 +357,14 @@
* Where R is the result, O is the old value, r is the sensitivity,
* m is the shift multiplier
*/
+ // Multiply by 75% to prevent points from collapsing on each other
BigDecimal fracDiff = new BigDecimal(diff);
BigDecimal fracSens = new BigDecimal(sens);
BigDecimal fracOrig = new BigDecimal(center);
BigDecimal resultDiff = fracDiff.divide(fracSens.add(DEC_ONE),
BigDecimal.ROUND_DOWN);
diff = resultDiff.toBigInteger().shiftRight(shiftAmount);
+ diff = diff.multiply(THREE).divide(FOUR);
key[i] = key[i].subtract(diff);
if(key[i].signum() == -1)
key[i] = key[i].add(keyspace);
@@ -370,6 +374,7 @@
double fracTimediff = (double)timediff;
double resultTimediff = fracTimediff/(sens+1.0);
timediff = ((int)resultTimediff) >> shiftAmount;
+ timediff = (timediff*3)/4;
time[i] += timediff;
Core.logger.log(this, "key["+i+"] now: "+key[i].toString(16)+
","+time[i], Logger.DEBUG);
@@ -428,6 +433,7 @@
BigDecimal resultDiff = fracDiff.divide(fracSens.add(DEC_ONE),
BigDecimal.ROUND_DOWN);
diff = resultDiff.toBigInteger().shiftRight(shiftAmount);
+ diff = diff.multiply(THREE).divide(FOUR);
key[i] = key[i].add(diff.shiftRight(shiftAmount));
if(key[i].signum() == -1)
key[i] = key[i].add(keyspace);
@@ -437,6 +443,7 @@
double fracTimediff = (double)timediff;
double resultTimediff = fracTimediff/(sens+1.0);
timediff = ((int)resultTimediff) >> shiftAmount;
+ timediff = (timediff*3)/4;
time[i] += timediff;
Core.logger.log(this, "key["+i+"] now: "+key[i].toString(16)+
","+time[i], Logger.DEBUG);
_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs