public static double calculateTimeDecayPenalty(double base,double boost,double param,double days){
  if (days <= 0.0) {
    return base + boost;
  }
  return base + boost * Math.pow(param,days);
}

public static double calculateTimeDecayPenalty ( double base , double boost , double param , double days ) { if ( days <= 0.0 ) { return base + boost ; } return base + boost * Math . pow ( param , days ) ; }
calculate the arbitary time decay : y = base + boost * ( param ) ^ days
