def exponential_size_change(Nstart, Nstop, time):
if time < <NUM_LIT:1>:<EOL><INDENT>raise RuntimeError("<STR_LIT>")<EOL><DEDENT>if Nstart < <NUM_LIT:1> or Nstop < <NUM_LIT:1>:<EOL><INDENT>raise RuntimeError("<STR_LIT>")<EOL><DEDENT>G = math.exp((math.log(Nstop) - math.log(Nstart))/time)<EOL>rv = []<EOL>for i in range(time):<EOL><INDENT>rv.append(round(Nstart*pow(G, i+<NUM_LIT:1>)))<EOL><DEDENT>return rv<EOL>
Generate a list of population sizes
according to exponential size_change model

:param Nstart: population size at onset of size change
:param Nstop: Population size to reach at end of size change
:param time: Time (in generations) to get from Nstart to Nstop

:return: A list of integers representing population size over time.

.. versionadded:: 0.1.1