fix the zero length vector
This commit is contained in:
parent
9100ffc12a
commit
29a7027dba
@ -121,8 +121,8 @@ xgb.iter.eval <- function(booster, watchlist, iter) {
|
|||||||
stop("xgb.eval: watch list can only contain xgb.DMatrix")
|
stop("xgb.eval: watch list can only contain xgb.DMatrix")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
evnames <- list()
|
|
||||||
if (length(watchlist) != 0) {
|
if (length(watchlist) != 0) {
|
||||||
|
evnames <- list()
|
||||||
for (i in 1:length(watchlist)) {
|
for (i in 1:length(watchlist)) {
|
||||||
w <- watchlist[i]
|
w <- watchlist[i]
|
||||||
if (length(names(w)) == 0) {
|
if (length(names(w)) == 0) {
|
||||||
@ -130,8 +130,10 @@ xgb.iter.eval <- function(booster, watchlist, iter) {
|
|||||||
}
|
}
|
||||||
evnames <- append(evnames, names(w))
|
evnames <- append(evnames, names(w))
|
||||||
}
|
}
|
||||||
|
msg <- .Call("XGBoosterEvalOneIter_R", booster, as.integer(iter), watchlist,
|
||||||
|
evnames, PACKAGE = "xgboost")
|
||||||
|
} else {
|
||||||
|
msg <- ""
|
||||||
}
|
}
|
||||||
msg <- .Call("XGBoosterEvalOneIter_R", booster, as.integer(iter), watchlist,
|
|
||||||
evnames, PACKAGE = "xgboost")
|
|
||||||
return(msg)
|
return(msg)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -197,7 +197,12 @@ extern "C" {
|
|||||||
for (int i = 0; i < len; ++i){
|
for (int i = 0; i < len; ++i){
|
||||||
dvec.push_back(R_ExternalPtrAddr(VECTOR_ELT(dmats, i)));
|
dvec.push_back(R_ExternalPtrAddr(VECTOR_ELT(dmats, i)));
|
||||||
}
|
}
|
||||||
void *handle = XGBoosterCreate(&dvec[0], dvec.size());
|
void *handle;
|
||||||
|
if (dvec.size() == 0) {
|
||||||
|
handle = XGBoosterCreate(NULL, 0);
|
||||||
|
} else {
|
||||||
|
handle = XGBoosterCreate(&dvec[0], dvec.size());
|
||||||
|
}
|
||||||
SEXP ret = PROTECT(R_MakeExternalPtr(handle, R_NilValue, R_NilValue));
|
SEXP ret = PROTECT(R_MakeExternalPtr(handle, R_NilValue, R_NilValue));
|
||||||
R_RegisterCFinalizerEx(ret, _BoosterFinalizer, TRUE);
|
R_RegisterCFinalizerEx(ret, _BoosterFinalizer, TRUE);
|
||||||
UNPROTECT(1);
|
UNPROTECT(1);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user