comparison python/utils.py @ 323:efd4dd4665ac

corrected issues with large deltas
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Wed, 08 May 2013 00:19:28 +0200
parents 28661c5887d3
children 99ca91a46007
comparison
equal deleted inserted replaced
322:28661c5887d3 323:efd4dd4665ac
208 else: 208 else:
209 l1 = _l1 209 l1 = _l1
210 l2 = _l2 210 l2 = _l2
211 n1 = len(l1) 211 n1 = len(l1)
212 n2 = len(l2) 212 n2 = len(l2)
213 # for i in xrange(delta, n1+n2-delta): # i is the alignment of the end of l1 in l2 213 # for i in xrange(min(delta,n1), max(n1+n2-delta, n2+1)): # i is the alignment of the end of l1 in l2
214 # print l1[min(-i-1,n1):] # min(n1+n2-i,n1) 214 # print l1[min(-i-1,n1):] # min(n1+n2-i,n1)
215 # print l2[max(0,i-n1):] 215 # print l2[max(0,i-n1):]
216 # print LCSS(l1[min(-i-1,n1):], l2[max(0,i-n1):], threshold, distance, delta) 216 # print LCSS(l1[min(-i-1,n1):], l2[max(0,i-n1):], threshold, distance, delta)
217 lcss = [LCSS(l1[min(-i-1,n1):], l2[max(0,i-n1):], threshold, distance, delta) for i in xrange(delta, n1+n2-delta)] 217 lcss = [LCSS(l1[min(-i-1,n1):], l2[max(0,i-n1):], threshold, distance, delta) for i in xrange(min(delta,n1), max(n1+n2-delta, n2+1))]
218 return max(lcss) 218 return max(lcss)
219 219
220 def normalizedAlignedLCSS(l1, l2, threshold, distance, delta, lengthMethod = min): 220 def normalizedAlignedLCSS(l1, l2, threshold, distance, delta, lengthMethod = min):
221 return float(alignedLCSS(l1, l2, threshold, distance, delta))/lengthMethod(len(l1), len(l2)) 221 return float(alignedLCSS(l1, l2, threshold, distance, delta))/lengthMethod(len(l1), len(l2))
222 222