MCPcopy Create free account
hub / github.com/antmachineintelligence/mtgbmcode / LGBM_DatasetSetField_R

Function LGBM_DatasetSetField_R

src/lightgbm_R.cpp:189–215  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

187}
188
189LGBM_SE LGBM_DatasetSetField_R(LGBM_SE handle,
190 LGBM_SE field_name,
191 LGBM_SE field_data,
192 LGBM_SE num_element,
193 LGBM_SE call_state) {
194 R_API_BEGIN();
195 int len = static_cast<int>(R_AS_INT(num_element));
196 const char* name = R_CHAR_PTR(field_name);
197 if (!strcmp("group", name) || !strcmp("query", name)) {
198 std::vector<int32_t> vec(len);
199#pragma omp parallel for schedule(static)
200 for (int i = 0; i < len; ++i) {
201 vec[i] = static_cast<int32_t>(R_INT_PTR(field_data)[i]);
202 }
203 CHECK_CALL(LGBM_DatasetSetField(R_GET_PTR(handle), name, vec.data(), len, C_API_DTYPE_INT32));
204 } else if (!strcmp("init_score", name)) {
205 CHECK_CALL(LGBM_DatasetSetField(R_GET_PTR(handle), name, R_REAL_PTR(field_data), len, C_API_DTYPE_FLOAT64));
206 } else {
207 std::vector<float> vec(len);
208#pragma omp parallel for schedule(static)
209 for (int i = 0; i < len; ++i) {
210 vec[i] = static_cast<float>(R_REAL_PTR(field_data)[i]);
211 }
212 CHECK_CALL(LGBM_DatasetSetField(R_GET_PTR(handle), name, vec.data(), len, C_API_DTYPE_FLOAT32));
213 }
214 R_API_END();
215}
216
217LGBM_SE LGBM_DatasetGetField_R(LGBM_SE handle,
218 LGBM_SE field_name,

Callers

nothing calls this directly

Calls 3

dataMethod · 0.80
LGBM_DatasetSetFieldFunction · 0.70
R_GET_PTRFunction · 0.50

Tested by

no test coverage detected