mathtools.interpolate_divide

abjad.tools.mathtools.interpolate_divide.interpolate_divide(total, start_frac, stop_frac, exp='cosine')[source]

Divide total into segments of sizes computed from interpolating between start_frac and stop_frac:

abjad> from abjad.tools import mathtools
abjad> mathtools.interpolate_divide(10, 1, 1, exp=1)
[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
abjad> sum(mathtools.interpolate_divide(10, 1, 1, exp=1))
10.0
abjad> mathtools.interpolate_divide(10, 5, 1) # doctest: +SKIP
[4.7986734489043181, 2.8792040693425909, 1.3263207210948171,
0.99580176065827419]
abjad> sum(mathtools.interpolate_divide(10, 5, 1))
10.0

Set exp='cosine' for cosine interpolation.

Set exp to a numeric value for exponential interpolation with exp as the exponent.

Scale resulting segments so that their sum equals exactly total.

Return a list of floats.

Changed in version 2.0: renamed interpolate.divide() to mathtools.interpolate_divide().

This Page