fix attribute accessors C-interface for R
This commit is contained in:
parent
b5fb437aa7
commit
0839aed380
@ -229,27 +229,6 @@ SEXP XGBoosterCreate_R(SEXP dmats) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
SEXP XGBoosterGetAttr_R(SEXP handle, SEXP name) {
|
||||
const char* ret;
|
||||
R_API_BEGIN();
|
||||
int success;
|
||||
CHECK_CALL(XGBoosterGetAttr(R_ExternalPtrAddr(handle),
|
||||
CHAR(asChar(name)),
|
||||
&ret,
|
||||
&success));
|
||||
R_API_END();
|
||||
return mkString(ret);
|
||||
}
|
||||
|
||||
SEXP XGBoosterSetAttr_R(SEXP handle, SEXP name, SEXP val) {
|
||||
R_API_BEGIN();
|
||||
CHECK_CALL(XGBoosterSetAttr(R_ExternalPtrAddr(handle),
|
||||
CHAR(asChar(name)),
|
||||
CHAR(asChar(val))));
|
||||
R_API_END();
|
||||
return R_NilValue;
|
||||
}
|
||||
|
||||
SEXP XGBoosterSetParam_R(SEXP handle, SEXP name, SEXP val) {
|
||||
R_API_BEGIN();
|
||||
CHECK_CALL(XGBoosterSetParam(R_ExternalPtrAddr(handle),
|
||||
@ -388,3 +367,32 @@ SEXP XGBoosterDumpModel_R(SEXP handle, SEXP fmap, SEXP with_stats) {
|
||||
R_API_END();
|
||||
return out;
|
||||
}
|
||||
|
||||
SEXP XGBoosterGetAttr_R(SEXP handle, SEXP name) {
|
||||
SEXP out;
|
||||
R_API_BEGIN();
|
||||
int success;
|
||||
const char *val;
|
||||
CHECK_CALL(XGBoosterGetAttr(R_ExternalPtrAddr(handle),
|
||||
CHAR(asChar(name)),
|
||||
&val,
|
||||
&success));
|
||||
if (success) {
|
||||
out = PROTECT(allocVector(STRSXP, 1));
|
||||
SET_STRING_ELT(out, 0, mkChar(val));
|
||||
} else {
|
||||
out = PROTECT(R_NilValue);
|
||||
}
|
||||
UNPROTECT(1);
|
||||
R_API_END();
|
||||
return out;
|
||||
}
|
||||
|
||||
SEXP XGBoosterSetAttr_R(SEXP handle, SEXP name, SEXP val) {
|
||||
R_API_BEGIN();
|
||||
CHECK_CALL(XGBoosterSetAttr(R_ExternalPtrAddr(handle),
|
||||
CHAR(asChar(name)),
|
||||
CHAR(asChar(val))));
|
||||
R_API_END();
|
||||
return R_NilValue;
|
||||
}
|
||||
|
||||
@ -101,23 +101,6 @@ XGB_DLL SEXP XGDMatrixNumCol_R(SEXP handle);
|
||||
*/
|
||||
XGB_DLL SEXP XGBoosterCreate_R(SEXP dmats);
|
||||
|
||||
/*!
|
||||
* \brief get learner attribute value
|
||||
* \param handle handle
|
||||
* \param name attribute name
|
||||
* \return string containing attribute value
|
||||
*/
|
||||
XGB_DLL SEXP XGBoosterGetAttr_R(SEXP handle, SEXP name);
|
||||
|
||||
/*!
|
||||
* \brief set learner attribute value
|
||||
* \param handle handle
|
||||
* \param name attribute name
|
||||
* \param val attribute value
|
||||
* \return R_NilValue
|
||||
*/
|
||||
XGB_DLL SEXP XGBoosterSetAttr_R(SEXP handle, SEXP name, SEXP val);
|
||||
|
||||
/*!
|
||||
* \brief set parameters
|
||||
* \param handle handle
|
||||
@ -202,4 +185,22 @@ XGB_DLL SEXP XGBoosterModelToRaw_R(SEXP handle);
|
||||
* \param with_stats whether dump statistics of splits
|
||||
*/
|
||||
XGB_DLL SEXP XGBoosterDumpModel_R(SEXP handle, SEXP fmap, SEXP with_stats);
|
||||
|
||||
/*!
|
||||
* \brief get learner attribute value
|
||||
* \param handle handle
|
||||
* \param name attribute name
|
||||
* \return character containing attribute value
|
||||
*/
|
||||
XGB_DLL SEXP XGBoosterGetAttr_R(SEXP handle, SEXP name);
|
||||
|
||||
/*!
|
||||
* \brief set learner attribute value
|
||||
* \param handle handle
|
||||
* \param name attribute name
|
||||
* \param val attribute value
|
||||
* \return R_NilValue
|
||||
*/
|
||||
XGB_DLL SEXP XGBoosterSetAttr_R(SEXP handle, SEXP name, SEXP val);
|
||||
|
||||
#endif // XGBOOST_WRAPPER_R_H_ // NOLINT(*)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user