docs: def pulse_train(time, start, duration, repeat_time, end):
      """ Implements vensim's PULSE TRAIN function
  
      In range [-inf, start) returns 0
      In range [start + n * repeat_time, start + n * repeat_time + duration) return 1
      In range [start + n * repeat_time + duration, start + (n+1) * repeat_time) return 0
      """
      t = time()
      if start <= t < end:
          return 1 if (t - start) % repeat_time < duration else 0
      else:
          return 0