withDecay static method

double withDecay({
  1. required double baseConfidence,
  2. required Duration age,
  3. required Duration halfLife,
})

Apply decay based on age (for time-sensitive confidence).

Implementation

static double withDecay({
  required double baseConfidence,
  required Duration age,
  required Duration halfLife,
}) {
  if (halfLife.inMilliseconds <= 0) return baseConfidence;
  final decayFactor =
      0.5 * (age.inMilliseconds / halfLife.inMilliseconds).abs();
  return baseConfidence * (1.0 - decayFactor).clamp(0.0, 1.0);
}