geometricSequence function

List<num> geometricSequence(
  1. num tStart,
  2. num tEnd, {
  3. int iterations = 1000,
})

Returns a geometric sequence with entries:

tStart, tStart * beta, ..., tStart * pow(beta, n-1).

The factor beta is calculated such that the last entry of the sequence is equal to tEnd.

Implementation

List<num> geometricSequence(
  num tStart,
  num tEnd, {
  int iterations = 1000,
}) {
  final beta = exp(log(tEnd / tStart) / (iterations - 1));
  var current = tStart.abs();
  final result =
      List<num>.generate(iterations - 1, (i) => current = current * beta);
  return result..insert(0, tStart.abs());
}