@@ -854,7 +854,7 @@ def get_array_ranges(a, n_chunks, truncate):
854854 sum = 0
855855 for i in range (a .shape [0 ]):
856856 sum += a [i ]
857- if sum > a . sum ( ) / n_chunks :
857+ if sum > math . fsum ( a ) / n_chunks :
858858 out [ranges_idx , 0 ] = range_start_idx
859859 out [ranges_idx , 1 ] = min (i + 1 , a .shape [0 ]) # Exclusive stop index
860860 # Reset and Update
@@ -1614,15 +1614,15 @@ def mpdist_snippets(
16141614 for snippet_idx in range (k ):
16151615 min_area = np .inf
16161616 for i in range (D .shape [0 ]):
1617- profile_area = np . sum (np .minimum (D [i ], Q ))
1617+ profile_area = math . fsum (np .minimum (D [i ], Q ))
16181618 if min_area > profile_area :
16191619 min_area = profile_area
16201620 idx = i
16211621
16221622 snippets [snippet_idx ] = T [indices [idx ] : indices [idx ] + m ]
16231623 snippets_indices [snippet_idx ] = indices [idx ]
16241624 snippets_profiles [snippet_idx ] = D [idx ]
1625- snippets_areas [snippet_idx ] = np . sum (np .minimum (D [idx ], Q ))
1625+ snippets_areas [snippet_idx ] = math . fsum (np .minimum (D [idx ], Q ))
16261626
16271627 Q = np .minimum (D [idx ], Q )
16281628
@@ -1737,15 +1737,15 @@ def aampdist_snippets(
17371737 for snippet_idx in range (k ):
17381738 min_area = np .inf
17391739 for i in range (D .shape [0 ]):
1740- profile_area = np . sum (np .minimum (D [i ], Q ))
1740+ profile_area = math . fsum (np .minimum (D [i ], Q ))
17411741 if min_area > profile_area :
17421742 min_area = profile_area
17431743 idx = i
17441744
17451745 snippets [snippet_idx ] = T [indices [idx ] : indices [idx ] + m ]
17461746 snippets_indices [snippet_idx ] = indices [idx ]
17471747 snippets_profiles [snippet_idx ] = D [idx ]
1748- snippets_areas [snippet_idx ] = np . sum (np .minimum (D [idx ], Q ))
1748+ snippets_areas [snippet_idx ] = math . fsum (np .minimum (D [idx ], Q ))
17491749
17501750 Q = np .minimum (D [idx ], Q )
17511751
0 commit comments