Treelite
c_api_common.h
Go to the documentation of this file.
1 
9 #ifndef TREELITE_C_API_COMMON_H_
10 #define TREELITE_C_API_COMMON_H_
11 
12 #ifdef __cplusplus
13 #define TREELITE_EXTERN_C extern "C"
14 #include <cstdio>
15 #include <cstdint>
16 #else
17 #define TREELITE_EXTERN_C
18 #include <stdio.h>
19 #include <stdint.h>
20 #endif
21 
22 /* special symbols for DLL library on Windows */
23 #if defined(_MSC_VER) || defined(_WIN32)
24 #define TREELITE_DLL TREELITE_EXTERN_C __declspec(dllexport)
25 #else
26 #define TREELITE_DLL TREELITE_EXTERN_C
27 #endif
28 
30 typedef void* DMatrixHandle;
31 
37 TREELITE_DLL const char* TreeliteGetLastError(void);
38 
46 TREELITE_DLL int TreeliteRegisterLogCallback(void (*callback)(const char*));
47 
52 TREELITE_DLL const char* TreeliteQueryTreeliteVersion(void);
53 
54 #ifdef __cplusplus
55 extern "C" {
56  extern const char* TREELITE_VERSION;
57 }
58 #else
59 extern const char* TREELITE_VERSION;
60 #endif
61 
78 TREELITE_DLL int TreeliteDMatrixCreateFromCSR(
79  const void* data, const char* data_type, const uint32_t* col_ind, const size_t* row_ptr,
80  size_t num_row, size_t num_col, DMatrixHandle* out);
91 TREELITE_DLL int TreeliteDMatrixCreateFromMat(
92  const void* data, const char* data_type, size_t num_row, size_t num_col,
93  const void* missing_value, DMatrixHandle* out);
102 TREELITE_DLL int TreeliteDMatrixGetDimension(DMatrixHandle handle,
103  size_t* out_num_row,
104  size_t* out_num_col,
105  size_t* out_nelem);
106 
112 TREELITE_DLL int TreeliteDMatrixFree(DMatrixHandle handle);
115 #endif // TREELITE_C_API_COMMON_H_
int TreeliteRegisterLogCallback(void(*callback)(const char *))
register callback function for LOG(INFO) messages – helpful messages that are not errors...
Definition: c_api_common.cc:16
int TreeliteDMatrixFree(DMatrixHandle handle)
delete DMatrix from memory
Definition: c_api_common.cc:57
int TreeliteDMatrixCreateFromCSR(const void *data, const char *data_type, const uint32_t *col_ind, const size_t *row_ptr, size_t num_row, size_t num_col, DMatrixHandle *out)
create DMatrix from a (in-memory) CSR matrix
Definition: c_api_common.cc:23
void * DMatrixHandle
handle to a data matrix
Definition: c_api_common.h:30
const char * TreeliteQueryTreeliteVersion(void)
Get the version string for the Treelite library.
Definition: c_api_error.cc:36
int TreeliteDMatrixGetDimension(DMatrixHandle handle, size_t *out_num_row, size_t *out_num_col, size_t *out_nelem)
get dimensions of a DMatrix
Definition: c_api_common.cc:45
const char * TreeliteGetLastError(void)
display last error; can be called by multiple threads Note. Each thread will get the last error occur...
Definition: c_api_error.cc:28
int TreeliteDMatrixCreateFromMat(const void *data, const char *data_type, size_t num_row, size_t num_col, const void *missing_value, DMatrixHandle *out)
create DMatrix from a (in-memory) dense matrix
Definition: c_api_common.cc:34