@@ -2347,6 +2347,7 @@ def _count_diagonal_ndist(diags, m, n_A, n_B):
23472347
23482348@njit (
23492349 # "i8[:, :](i8[:], i8, b1)"
2350+ fastmath = {"nsz" , "arcp" , "contract" , "afn" , "reassoc" }
23502351)
23512352def _get_array_ranges (a , n_chunks , truncate ):
23522353 """
@@ -2395,6 +2396,7 @@ def _get_array_ranges(a, n_chunks, truncate):
23952396
23962397@njit (
23972398 # "i8[:, :](i8, i8, b1)"
2399+ fastmath = True
23982400)
23992401def _get_ranges (size , n_chunks , truncate ):
24002402 """
@@ -3247,7 +3249,7 @@ def _select_P_ABBA_value(P_ABBA, k, custom_func=None):
32473249 return MPdist
32483250
32493251
3250- @njit ()
3252+ @njit (fastmath = { "nsz" , "arcp" , "contract" , "afn" , "reassoc" } )
32513253def _merge_topk_PI (PA , PB , IA , IB ):
32523254 """
32533255 Merge two top-k matrix profiles `PA` and `PB`, and update `PA` (in place).
@@ -3320,7 +3322,7 @@ def _merge_topk_PI(PA, PB, IA, IB):
33203322 IA [i ] = tmp_I
33213323
33223324
3323- @njit ()
3325+ @njit (fastmath = { "nsz" , "arcp" , "contract" , "afn" , "reassoc" } )
33243326def _merge_topk_ρI (ρA , ρB , IA , IB ):
33253327 """
33263328 Merge two top-k pearson profiles `ρA` and `ρB`, and update `ρA` (in place).
@@ -3394,7 +3396,7 @@ def _merge_topk_ρI(ρA, ρB, IA, IB):
33943396 IA [i ] = tmp_I
33953397
33963398
3397- @njit ()
3399+ @njit (fastmath = { "nsz" , "arcp" , "contract" , "afn" , "reassoc" } )
33983400def _shift_insert_at_index (a , idx , v , shift = "right" ):
33993401 """
34003402 If `shift=right` (default), all elements in `a[idx:]` are shifted to the right by
@@ -4370,7 +4372,7 @@ def get_ray_nworkers(ray_client):
43704372 return int (ray_client .cluster_resources ().get ("CPU" ))
43714373
43724374
4373- @njit
4375+ @njit ( fastmath = { "nsz" , "arcp" , "contract" , "afn" , "reassoc" })
43744376def _update_incremental_PI (D , P , I , excl_zone , n_appended = 0 ):
43754377 """
43764378 Given the 1D array distance profile, `D`, of the last subsequence of T,
0 commit comments