Unverified Commit 5bee6489 authored by Guolin Ke's avatar Guolin Ke Committed by GitHub
Browse files

fix include (#1586)

* fix include

* reduce dependency on header file

* fix build
parent ad7738ac
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#define R_OBJECT_HELPER_H_ #define R_OBJECT_HELPER_H_
#include <cstdint> #include <cstdint>
#include <cstdio>
#define TYPE_BITS 5 #define TYPE_BITS 5
// use .Internal(internalsID()) to uuid // use .Internal(internalsID()) to uuid
......
#ifndef LIGHTGBM_BIN_H_ #ifndef LIGHTGBM_BIN_H_
#define LIGHTGBM_BIN_H_ #define LIGHTGBM_BIN_H_
#include <LightGBM/meta.h>
#include <LightGBM/utils/common.h> #include <LightGBM/utils/common.h>
#include <LightGBM/utils/file_io.h>
#include <LightGBM/meta.h>
#include <vector> #include <vector>
#include <functional> #include <functional>
......
#ifndef LIGHTGBM_C_API_H_ #ifndef LIGHTGBM_C_API_H_
#define LIGHTGBM_C_API_H_ #define LIGHTGBM_C_API_H_
#include <LightGBM/meta.h>
#include <cstdint> #include <cstdint>
#include <exception>
#include <stdexcept>
#include <cstring> #include <cstring>
#include <string>
/*! /*!
* To avoid type conversion on large data, most of our expose interface support both for float_32 and float_64. * To avoid type conversion on large data, most of our expose interface support both for float_32 and float_64.
...@@ -782,6 +777,12 @@ LIGHTGBM_C_EXPORT int LGBM_NetworkInitWithFunctions(int num_machines, int rank, ...@@ -782,6 +777,12 @@ LIGHTGBM_C_EXPORT int LGBM_NetworkInitWithFunctions(int num_machines, int rank,
void* reduce_scatter_ext_fun, void* reduce_scatter_ext_fun,
void* allgather_ext_fun); void* allgather_ext_fun);
#if defined(_MSC_VER)
#define THREAD_LOCAL __declspec(thread)
#else
#define THREAD_LOCAL thread_local
#endif
// exception handle and error msg // exception handle and error msg
static char* LastErrorMsg() { static THREAD_LOCAL char err_msg[512] = "Everything is fine"; return err_msg; } static char* LastErrorMsg() { static THREAD_LOCAL char err_msg[512] = "Everything is fine"; return err_msg; }
...@@ -790,21 +791,4 @@ inline void LGBM_SetLastError(const char* msg) { ...@@ -790,21 +791,4 @@ inline void LGBM_SetLastError(const char* msg) {
std::strcpy(LastErrorMsg(), msg); std::strcpy(LastErrorMsg(), msg);
} }
inline int LGBM_APIHandleException(const std::exception& ex) {
LGBM_SetLastError(ex.what());
return -1;
}
inline int LGBM_APIHandleException(const std::string& ex) {
LGBM_SetLastError(ex.c_str());
return -1;
}
#define API_BEGIN() try {
#define API_END() } \
catch(std::exception& ex) { return LGBM_APIHandleException(ex); } \
catch(std::string& ex) { return LGBM_APIHandleException(ex); } \
catch(...) { return LGBM_APIHandleException("unknown exception"); } \
return 0;
#endif // LIGHTGBM_C_API_H_ #endif // LIGHTGBM_C_API_H_
#ifndef LIGHTGBM_R_H_ #ifndef LIGHTGBM_R_H_
#define LIGHTGBM_R_H_ #define LIGHTGBM_R_H_
#include <LightGBM/utils/log.h> #include "R_object_helper.h"
#include <cstdint> #include <cstdint>
#include <LightGBM/c_api.h> #include <LightGBM/c_api.h>
#include "R_object_helper.h"
/*! /*!
* \brief get string message of the last error * \brief get string message of the last error
......
#ifndef LIGHTGBM_METRIC_H_ #ifndef LIGHTGBM_METRIC_H_
#define LIGHTGBM_METRIC_H_ #define LIGHTGBM_METRIC_H_
#include <LightGBM/utils/log.h>
#include <LightGBM/utils/common.h>
#include <LightGBM/meta.h> #include <LightGBM/meta.h>
#include <LightGBM/config.h> #include <LightGBM/config.h>
#include <LightGBM/dataset.h> #include <LightGBM/dataset.h>
......
...@@ -2,6 +2,10 @@ ...@@ -2,6 +2,10 @@
#define LIGHTGBM_UTILS_FILE_IO_H_ #define LIGHTGBM_UTILS_FILE_IO_H_
#include <memory> #include <memory>
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
namespace LightGBM{ namespace LightGBM{
......
#include <LightGBM/utils/openmp_wrapper.h> #include <LightGBM/c_api.h>
#include <LightGBM/utils/openmp_wrapper.h>
#include <LightGBM/utils/common.h> #include <LightGBM/utils/common.h>
#include <LightGBM/utils/random.h> #include <LightGBM/utils/random.h>
#include <LightGBM/utils/threading.h> #include <LightGBM/utils/threading.h>
#include <LightGBM/c_api.h> #include <LightGBM/utils/log.h>
#include <LightGBM/dataset_loader.h> #include <LightGBM/dataset_loader.h>
#include <LightGBM/dataset.h> #include <LightGBM/dataset.h>
#include <LightGBM/boosting.h> #include <LightGBM/boosting.h>
...@@ -26,6 +27,23 @@ ...@@ -26,6 +27,23 @@
namespace LightGBM { namespace LightGBM {
inline int LGBM_APIHandleException(const std::exception& ex) {
LGBM_SetLastError(ex.what());
return -1;
}
inline int LGBM_APIHandleException(const std::string& ex) {
LGBM_SetLastError(ex.c_str());
return -1;
}
#define API_BEGIN() try {
#define API_END() } \
catch(std::exception& ex) { return LGBM_APIHandleException(ex); } \
catch(std::string& ex) { return LGBM_APIHandleException(ex); } \
catch(...) { return LGBM_APIHandleException("unknown exception"); } \
return 0;
class Booster { class Booster {
public: public:
explicit Booster(const char* filename) { explicit Booster(const char* filename) {
......
#include <LightGBM/bin.h>
#include <LightGBM/utils/common.h> #include <LightGBM/utils/common.h>
#include <LightGBM/utils/file_io.h> #include <LightGBM/utils/file_io.h>
#include <LightGBM/bin.h>
#include "dense_bin.hpp" #include "dense_bin.hpp"
#include "dense_nbits_bin.hpp" #include "dense_nbits_bin.hpp"
...@@ -317,7 +318,7 @@ namespace LightGBM { ...@@ -317,7 +318,7 @@ namespace LightGBM {
} }
} }
num_bin_ = 0; num_bin_ = 0;
int rest_cnt = total_sample_cnt - na_cnt; int rest_cnt = static_cast<int>(total_sample_cnt - na_cnt);
if (rest_cnt > 0) { if (rest_cnt > 0) {
// sort by counts // sort by counts
Common::SortForPair<int, int>(counts_int, distinct_values_int, 0, true); Common::SortForPair<int, int>(counts_int, distinct_values_int, 0, true);
......
#include <LightGBM/dataset_loader.h>
#include <LightGBM/utils/openmp_wrapper.h> #include <LightGBM/utils/openmp_wrapper.h>
#include <LightGBM/utils/log.h> #include <LightGBM/utils/log.h>
#include <LightGBM/utils/array_args.h> #include <LightGBM/utils/array_args.h>
#include <LightGBM/dataset_loader.h>
#include <LightGBM/network.h> #include <LightGBM/network.h>
......
#include <LightGBM/utils/log.h>
#include <LightGBM/utils/file_io.h> #include <LightGBM/utils/file_io.h>
#include <LightGBM/utils/log.h>
#include <algorithm> #include <algorithm>
#include <sstream> #include <sstream>
......
#ifndef LIGHTGBM_IO_PARSER_HPP_ #ifndef LIGHTGBM_IO_PARSER_HPP_
#define LIGHTGBM_IO_PARSER_HPP_ #define LIGHTGBM_IO_PARSER_HPP_
#include <LightGBM/dataset.h>
#include <LightGBM/utils/common.h> #include <LightGBM/utils/common.h>
#include <LightGBM/utils/log.h> #include <LightGBM/utils/log.h>
#include <LightGBM/dataset.h>
#include <unordered_map> #include <unordered_map>
#include <vector> #include <vector>
......
#include <LightGBM/lightgbm_R.h>
#include <LightGBM/utils/log.h>
#include <LightGBM/utils/openmp_wrapper.h>
#include <LightGBM/utils/text_reader.h>
#include <LightGBM/utils/common.h>
#include <vector> #include <vector>
#include <string> #include <string>
#include <utility> #include <utility>
#include <cstring> #include <cstring>
#include <cstdio> #include <cstdio>
#include <sstream> #include <sstream>
#include <LightGBM/utils/openmp_wrapper.h>
#include <cstdint> #include <cstdint>
#include <memory> #include <memory>
#include <LightGBM/utils/text_reader.h>
#include <LightGBM/utils/common.h>
#include <LightGBM/lightgbm_R.h>
#define COL_MAJOR (0) #define COL_MAJOR (0)
......
#ifndef LIGHTGBM_METRIC_BINARY_METRIC_HPP_ #ifndef LIGHTGBM_METRIC_BINARY_METRIC_HPP_
#define LIGHTGBM_METRIC_BINARY_METRIC_HPP_ #define LIGHTGBM_METRIC_BINARY_METRIC_HPP_
#include <LightGBM/metric.h>
#include <LightGBM/utils/log.h> #include <LightGBM/utils/log.h>
#include <LightGBM/utils/common.h> #include <LightGBM/utils/common.h>
#include <LightGBM/metric.h>
#include <algorithm> #include <algorithm>
#include <vector> #include <vector>
#include <sstream> #include <sstream>
......
#ifndef LIGHTGBM_METRIC_MAP_METRIC_HPP_ #ifndef LIGHTGBM_METRIC_MAP_METRIC_HPP_
#define LIGHTGBM_METRIC_MAP_METRIC_HPP_ #define LIGHTGBM_METRIC_MAP_METRIC_HPP_
#include <LightGBM/metric.h>
#include <LightGBM/utils/common.h> #include <LightGBM/utils/common.h>
#include <LightGBM/utils/log.h> #include <LightGBM/utils/log.h>
#include <LightGBM/metric.h>
#include <LightGBM/utils/openmp_wrapper.h> #include <LightGBM/utils/openmp_wrapper.h>
#include <sstream> #include <sstream>
......
#ifndef LIGHTGBM_METRIC_MULTICLASS_METRIC_HPP_ #ifndef LIGHTGBM_METRIC_MULTICLASS_METRIC_HPP_
#define LIGHTGBM_METRIC_MULTICLASS_METRIC_HPP_ #define LIGHTGBM_METRIC_MULTICLASS_METRIC_HPP_
#include <LightGBM/utils/log.h>
#include <LightGBM/metric.h> #include <LightGBM/metric.h>
#include <LightGBM/utils/log.h>
#include <cmath> #include <cmath>
namespace LightGBM { namespace LightGBM {
......
#ifndef LIGHTGBM_METRIC_RANK_METRIC_HPP_ #ifndef LIGHTGBM_METRIC_RANK_METRIC_HPP_
#define LIGHTGBM_METRIC_RANK_METRIC_HPP_ #define LIGHTGBM_METRIC_RANK_METRIC_HPP_
#include <LightGBM/utils/common.h>
#include <LightGBM/utils/log.h>
#include <LightGBM/metric.h> #include <LightGBM/metric.h>
#include <LightGBM/utils/common.h>
#include <LightGBM/utils/log.h>
#include <LightGBM/utils/openmp_wrapper.h> #include <LightGBM/utils/openmp_wrapper.h>
#include <sstream> #include <sstream>
......
#ifndef LIGHTGBM_METRIC_REGRESSION_METRIC_HPP_ #ifndef LIGHTGBM_METRIC_REGRESSION_METRIC_HPP_
#define LIGHTGBM_METRIC_REGRESSION_METRIC_HPP_ #define LIGHTGBM_METRIC_REGRESSION_METRIC_HPP_
#include <LightGBM/utils/log.h>
#include <LightGBM/metric.h> #include <LightGBM/metric.h>
#include <LightGBM/utils/log.h>
#include <cmath> #include <cmath>
namespace LightGBM { namespace LightGBM {
......
#ifndef LIGHTGBM_METRIC_XENTROPY_METRIC_HPP_ #ifndef LIGHTGBM_METRIC_XENTROPY_METRIC_HPP_
#define LIGHTGBM_METRIC_XENTROPY_METRIC_HPP_ #define LIGHTGBM_METRIC_XENTROPY_METRIC_HPP_
#include <LightGBM/metric.h>
#include <LightGBM/meta.h> #include <LightGBM/meta.h>
#include <LightGBM/utils/log.h> #include <LightGBM/utils/log.h>
#include <LightGBM/utils/common.h> #include <LightGBM/utils/common.h>
#include <LightGBM/metric.h>
#include <algorithm> #include <algorithm>
#include <vector> #include <vector>
#include <sstream> #include <sstream>
......
#ifndef LIGHTGBM_NETWORK_LINKERS_H_ #ifndef LIGHTGBM_NETWORK_LINKERS_H_
#define LIGHTGBM_NETWORK_LINKERS_H_ #define LIGHTGBM_NETWORK_LINKERS_H_
#include <LightGBM/network.h>
#include <LightGBM/meta.h> #include <LightGBM/meta.h>
#include <LightGBM/config.h> #include <LightGBM/config.h>
#include <LightGBM/network.h>
#include <algorithm> #include <algorithm>
#include <chrono> #include <chrono>
......
#ifndef LIGHTGBM_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_ #ifndef LIGHTGBM_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_
#define LIGHTGBM_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_ #define LIGHTGBM_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_
#include <LightGBM/objective_function.h>
#include <LightGBM/meta.h> #include <LightGBM/meta.h>
#include <LightGBM/objective_function.h>
#include <LightGBM/utils/array_args.h> #include <LightGBM/utils/array_args.h>
namespace LightGBM { namespace LightGBM {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment