@@ -384,7 +384,7 @@ static float make_qx_quants(int n, int nmax, const float * restrict x, int8_t *
384384 float ax = fabsf (x [i ]);
385385 if (ax > amax ) { amax = ax ; max = x [i ]; }
386386 }
387- if (amax < GROUP_MAX_EPS ) { // all zero
387+ if (fabsf ( amax ) < GROUP_MAX_EPS ) { // all zero
388388 for (int i = 0 ; i < n ; ++ i ) {
389389 L [i ] = 0 ;
390390 }
@@ -829,7 +829,7 @@ static float make_qp_quants(int n, int nmax, const float * restrict x, uint8_t *
829829 for (int i = 0 ; i < n ; ++ i ) {
830830 max = MAX (max , x [i ]);
831831 }
832- if (! max ) { // all zero
832+ if (fabsf ( max ) < GROUP_MAX_EPS ) { // all zero
833833 for (int i = 0 ; i < n ; ++ i ) { L [i ] = 0 ; }
834834 return 0.f ;
835835 }
@@ -3021,7 +3021,7 @@ static void quantize_row_iq2_xxs_impl(const float * restrict x, void * restrict
30213021 }
30223022 float max = xval [0 ];
30233023 for (int i = 1 ; i < 32 ; ++ i ) max = MAX (max , xval [i ]);
3024- if (max < GROUP_MAX_EPS ) {
3024+ if (fabsf ( max ) < GROUP_MAX_EPS ) {
30253025 scales [ib ] = 0 ;
30263026 memset (L , 0 , 32 );
30273027 continue ;
@@ -3197,7 +3197,7 @@ static void quantize_row_iq2_xs_impl(const float * restrict x, void * restrict v
31973197 }
31983198 float max = xval [0 ];
31993199 for (int i = 1 ; i < 16 ; ++ i ) max = MAX (max , xval [i ]);
3200- if (max < GROUP_MAX_EPS ) {
3200+ if (fabsf ( max ) < GROUP_MAX_EPS ) {
32013201 scales [ib ] = 0 ;
32023202 memset (L , 0 , 16 );
32033203 continue ;
@@ -3638,7 +3638,7 @@ static void quantize_row_iq3_xxs_impl(int grid_size, const float * restrict x, v
36383638 }
36393639 float max = xval [0 ];
36403640 for (int i = 1 ; i < 32 ; ++ i ) max = MAX (max , xval [i ]);
3641- if (max < GROUP_MAX_EPS_IQ3_XXS ) {
3641+ if (fabsf ( max ) < GROUP_MAX_EPS_IQ3_XXS ) {
36423642 scales [ib ] = 0 ;
36433643 memset (L , 0 , 32 );
36443644 continue ;
@@ -4808,7 +4808,7 @@ static void quantize_row_iq2_s_impl(const float * restrict x, void * restrict vy
48084808 }
48094809 float max = xval [0 ];
48104810 for (int i = 1 ; i < 16 ; ++ i ) max = MAX (max , xval [i ]);
4811- if (max < GROUP_MAX_EPS_IQ2_S ) {
4811+ if (fabsf ( max ) < GROUP_MAX_EPS_IQ2_S ) {
48124812 scales [ib ] = 0 ;
48134813 continue ;
48144814 }
0 commit comments