@@ -32,7 +32,7 @@ cdef struct split_info_struct:
32
32
Y_DTYPE_C gain
33
33
int feature_idx
34
34
unsigned int bin_idx
35
- unsigned char missing_go_to_left
35
+ uint8_t missing_go_to_left
36
36
Y_DTYPE_C sum_gradient_left
37
37
Y_DTYPE_C sum_gradient_right
38
38
Y_DTYPE_C sum_hessian_left
@@ -41,7 +41,7 @@ cdef struct split_info_struct:
41
41
unsigned int n_samples_right
42
42
Y_DTYPE_C value_left
43
43
Y_DTYPE_C value_right
44
- unsigned char is_categorical
44
+ uint8_t is_categorical
45
45
BITSET_DTYPE_C left_cat_bitset
46
46
47
47
@@ -168,11 +168,11 @@ cdef class Splitter:
168
168
const X_BINNED_DTYPE_C [::1 , :] X_binned
169
169
unsigned int n_features
170
170
const unsigned int [::1 ] n_bins_non_missing
171
- unsigned char missing_values_bin_idx
172
- const unsigned char [::1 ] has_missing_values
173
- const unsigned char [::1 ] is_categorical
171
+ uint8_t missing_values_bin_idx
172
+ const uint8_t [::1 ] has_missing_values
173
+ const uint8_t [::1 ] is_categorical
174
174
const signed char [::1 ] monotonic_cst
175
- unsigned char hessians_are_constant
175
+ uint8_t hessians_are_constant
176
176
Y_DTYPE_C l2_regularization
177
177
Y_DTYPE_C min_hessian_to_split
178
178
unsigned int min_samples_leaf
@@ -188,15 +188,15 @@ cdef class Splitter:
188
188
def __init__ (self ,
189
189
const X_BINNED_DTYPE_C [::1, :] X_binned ,
190
190
const unsigned int [::1] n_bins_non_missing ,
191
- const unsigned char missing_values_bin_idx ,
192
- const unsigned char [::1] has_missing_values ,
193
- const unsigned char [::1] is_categorical ,
191
+ const uint8_t missing_values_bin_idx ,
192
+ const uint8_t [::1] has_missing_values ,
193
+ const uint8_t [::1] is_categorical ,
194
194
const signed char [::1] monotonic_cst ,
195
195
Y_DTYPE_C l2_regularization ,
196
196
Y_DTYPE_C min_hessian_to_split = 1e-3 ,
197
197
unsigned int min_samples_leaf = 20 ,
198
198
Y_DTYPE_C min_gain_to_split = 0. ,
199
- unsigned char hessians_are_constant = False ,
199
+ uint8_t hessians_are_constant = False ,
200
200
Y_DTYPE_C feature_fraction_per_split = 1.0 ,
201
201
rng = np.random.RandomState(),
202
202
unsigned int n_threads = 1 ):
@@ -307,14 +307,14 @@ cdef class Splitter:
307
307
cdef:
308
308
int n_samples = sample_indices.shape[0 ]
309
309
X_BINNED_DTYPE_C bin_idx = split_info.bin_idx
310
- unsigned char missing_go_to_left = split_info.missing_go_to_left
311
- unsigned char missing_values_bin_idx = self .missing_values_bin_idx
310
+ uint8_t missing_go_to_left = split_info.missing_go_to_left
311
+ uint8_t missing_values_bin_idx = self .missing_values_bin_idx
312
312
int feature_idx = split_info.feature_idx
313
313
const X_BINNED_DTYPE_C [::1 ] X_binned = \
314
314
self .X_binned[:, feature_idx]
315
315
unsigned int [::1 ] left_indices_buffer = self .left_indices_buffer
316
316
unsigned int [::1 ] right_indices_buffer = self .right_indices_buffer
317
- unsigned char is_categorical = split_info.is_categorical
317
+ uint8_t is_categorical = split_info.is_categorical
318
318
# Cython is unhappy if we set left_cat_bitset to
319
319
# split_info.left_cat_bitset directly, so we need a tmp var
320
320
BITSET_INNER_DTYPE_C [:] cat_bitset_tmp = split_info.left_cat_bitset
@@ -334,7 +334,7 @@ cdef class Splitter:
334
334
int thread_idx
335
335
int sample_idx
336
336
int right_child_position
337
- unsigned char turn_left
337
+ uint8_t turn_left
338
338
int [:] left_offset = np.zeros(n_threads, dtype = np.int32)
339
339
int [:] right_offset = np.zeros(n_threads, dtype = np.int32)
340
340
@@ -482,8 +482,8 @@ cdef class Splitter:
482
482
int n_allowed_features
483
483
split_info_struct split_info
484
484
split_info_struct * split_infos
485
- const unsigned char [::1 ] has_missing_values = self .has_missing_values
486
- const unsigned char [::1 ] is_categorical = self .is_categorical
485
+ const uint8_t [::1 ] has_missing_values = self .has_missing_values
486
+ const uint8_t [::1 ] is_categorical = self .is_categorical
487
487
const signed char [::1 ] monotonic_cst = self .monotonic_cst
488
488
int n_threads = self .n_threads
489
489
bint has_interaction_cst = False
@@ -622,7 +622,7 @@ cdef class Splitter:
622
622
cdef void _find_best_bin_to_split_left_to_right(
623
623
Splitter self ,
624
624
unsigned int feature_idx,
625
- unsigned char has_missing_values,
625
+ uint8_t has_missing_values,
626
626
const hist_struct [:, ::1 ] histograms, # IN
627
627
unsigned int n_samples,
628
628
Y_DTYPE_C sum_gradients,
@@ -658,7 +658,7 @@ cdef class Splitter:
658
658
Y_DTYPE_C sum_gradient_right
659
659
Y_DTYPE_C loss_current_node
660
660
Y_DTYPE_C gain
661
- unsigned char found_better_split = False
661
+ uint8_t found_better_split = False
662
662
663
663
Y_DTYPE_C best_sum_hessian_left
664
664
Y_DTYPE_C best_sum_gradient_left
@@ -771,7 +771,7 @@ cdef class Splitter:
771
771
Y_DTYPE_C loss_current_node
772
772
Y_DTYPE_C gain
773
773
unsigned int start = self .n_bins_non_missing[feature_idx] - 2
774
- unsigned char found_better_split = False
774
+ uint8_t found_better_split = False
775
775
776
776
Y_DTYPE_C best_sum_hessian_left
777
777
Y_DTYPE_C best_sum_gradient_left
@@ -851,7 +851,7 @@ cdef class Splitter:
851
851
cdef void _find_best_bin_to_split_category(
852
852
self ,
853
853
unsigned int feature_idx,
854
- unsigned char has_missing_values,
854
+ uint8_t has_missing_values,
855
855
const hist_struct [:, ::1 ] histograms, # IN
856
856
unsigned int n_samples,
857
857
Y_DTYPE_C sum_gradients,
@@ -890,7 +890,7 @@ cdef class Splitter:
890
890
unsigned int n_samples_left, n_samples_right
891
891
Y_DTYPE_C gain
892
892
Y_DTYPE_C best_gain = - 1.0
893
- unsigned char found_better_split = False
893
+ uint8_t found_better_split = False
894
894
Y_DTYPE_C best_sum_hessian_left
895
895
Y_DTYPE_C best_sum_gradient_left
896
896
unsigned int best_n_samples_left
@@ -1139,12 +1139,12 @@ cdef inline Y_DTYPE_C _loss_from_value(
1139
1139
"""
1140
1140
return sum_gradient * value
1141
1141
1142
- cdef inline unsigned char sample_goes_left(
1143
- unsigned char missing_go_to_left,
1144
- unsigned char missing_values_bin_idx,
1142
+ cdef inline uint8_t sample_goes_left(
1143
+ uint8_t missing_go_to_left,
1144
+ uint8_t missing_values_bin_idx,
1145
1145
X_BINNED_DTYPE_C split_bin_idx,
1146
1146
X_BINNED_DTYPE_C bin_value,
1147
- unsigned char is_categorical,
1147
+ uint8_t is_categorical,
1148
1148
BITSET_DTYPE_C left_cat_bitset) noexcept nogil:
1149
1149
""" Helper to decide whether sample should go to left or right child."""
1150
1150
0 commit comments