def timejuxtapose(timepoints1, timepoints2): T1 = [fracarithmetic.improp(x) for x in timepoints1] T2 = [ fracarithmetic.fracplus(fracarithmetic.improp(x), T1[-1]) for x in timepoints2 ] L = T1 + T2 return listoperations.eliminate_duplicates( [fracarithmetic.mixednum(x) for x in L])
def motivejuxtapose(motive1, motive2): T1 = [fracarithmetic.improp(x) for x in timepoints(motive1)] T2 = [ fracarithmetic.fracplus(fracarithmetic.improp(x), T1[-1]) for x in timepoints(motive2) ] L = T1 + T2 return listoperations.eliminate_duplicates( [fracarithmetic.mixednum(x) for x in L])
def timepoints(durations): points = [[0, 1], durations[0]] for i in range(2, len(durations) + 1): points.append( fracarithmetic.mixednum( fracarithmetic.fracplus( fracarithmetic.improp(points[i - 1]), fracarithmetic.improp(durations[i - 1])))) return points
def motivecombine(motive1, motive2): L = listoperations.eliminate_duplicates( fracarithmetic.fracsortlist([ fracarithmetic.improp(x) for x in timepoints(motive1) + timepoints(motive2) ])) return [fracarithmetic.mixednum(x) for x in L]
def timecombine(timepoints1, timepoints2): L = listoperations.eliminate_duplicates( fracarithmetic.fracsortlist( [fracarithmetic.improp(x) for x in timepoints1 + timepoints2])) return [fracarithmetic.mixednum(x) for x in L]
def dilate(array, num): for i in range(len(array)): array[i] = fracarithmetic.mixednum( fracarithmetic.fractimes(fracarithmetic.improp(array[i]), num)) return array