@@ -648,7 +648,11 @@ partition_vec(type_t *arr, npy_intp left, npy_intp right, const zmm_t curr_vec,
648
648
/* which elements are larger than the pivot */
649
649
__mmask16 gt_mask = vtype::ge (curr_vec, pivot_vec);
650
650
npy_int amount_gt_pivot = _mm_popcnt_u32 ((npy_int)gt_mask);
651
+ #if defined(_MSC_VER) && _MSC_VER < 1922
652
+ vtype::mask_compressstoreu (arr + left, ~gt_mask, curr_vec);
653
+ #else
651
654
vtype::mask_compressstoreu (arr + left, _knot_mask16 (gt_mask), curr_vec);
655
+ #endif
652
656
vtype::mask_compressstoreu (arr + right - amount_gt_pivot, gt_mask,
653
657
curr_vec);
654
658
*smallest_vec = vtype::min (curr_vec, *smallest_vec);
@@ -756,7 +760,7 @@ qsort_(type_t *arr, npy_intp left, npy_intp right, npy_int max_iters)
756
760
* Base case: use bitonic networks to sort arrays <= 128
757
761
*/
758
762
if (right + 1 - left <= 128 ) {
759
- sort_128<vtype>(arr + left, right + 1 - left);
763
+ sort_128<vtype>(arr + left, (npy_int)( right + 1 - left) );
760
764
return ;
761
765
}
762
766
@@ -808,7 +812,7 @@ NPY_CPU_DISPATCH_CURFX(x86_quicksort_int)(void *arr, npy_intp arrsize)
808
812
{
809
813
if (arrsize > 1 ) {
810
814
qsort_<vector<npy_int>, npy_int>((npy_int *)arr, 0 , arrsize - 1 ,
811
- 2 * log2 (arrsize));
815
+ 2 * (npy_int) log2 (arrsize));
812
816
}
813
817
}
814
818
@@ -817,7 +821,7 @@ NPY_CPU_DISPATCH_CURFX(x86_quicksort_uint)(void *arr, npy_intp arrsize)
817
821
{
818
822
if (arrsize > 1 ) {
819
823
qsort_<vector<npy_uint>, npy_uint>((npy_uint *)arr, 0 , arrsize - 1 ,
820
- 2 * log2 (arrsize));
824
+ 2 * (npy_int) log2 (arrsize));
821
825
}
822
826
}
823
827
@@ -827,7 +831,7 @@ NPY_CPU_DISPATCH_CURFX(x86_quicksort_float)(void *arr, npy_intp arrsize)
827
831
if (arrsize > 1 ) {
828
832
npy_intp nan_count = replace_nan_with_inf ((npy_float *)arr, arrsize);
829
833
qsort_<vector<npy_float>, npy_float>((npy_float *)arr, 0 , arrsize - 1 ,
830
- 2 * log2 (arrsize));
834
+ 2 * (npy_int) log2 (arrsize));
831
835
replace_inf_with_nan ((npy_float *)arr, arrsize, nan_count);
832
836
}
833
837
}
0 commit comments