fixed issue for user module
This commit is contained in:
+7
-1
@@ -1,5 +1,11 @@
|
||||
OPT_FLASG =
|
||||
ifneq ($(DEBUG), 1)
|
||||
OPT_FLAGS = -Ofast -march=native -flto -DNDEBUG
|
||||
else
|
||||
OPT_FLAGS = -g3 -D_DEBUG -fsanitize=leak -fsanitize=address
|
||||
endif
|
||||
example:
|
||||
$(CXX) -shared -fPIC example.cpp aquery_mem.cpp -fno-semantic-interposition -Ofast -march=native -flto --std=c++1z -o ../test.so
|
||||
irf:
|
||||
$(CXX) -shared -fPIC RF.cpp irf.cpp incrementalDecisionTree.cpp aquery_mem.cpp Evaluation.cpp -fno-semantic-interposition -Ofast -march=native -flto --std=c++1z -o ../libirf.so
|
||||
$(CXX) -shared -fPIC RF.cpp irf.cpp incrementalDecisionTree.cpp aquery_mem.cpp Evaluation.cpp -fno-semantic-interposition $(OPT_FLAGS) --std=c++1z -o ../libirf.so
|
||||
all: example
|
||||
|
||||
+23
-10
@@ -36,19 +36,32 @@ __AQEXPORT__(bool) additem(ColRef<double>X, long y, long size){
|
||||
pt ++;
|
||||
return 1;
|
||||
}
|
||||
__AQEXPORT__(bool) fit(){
|
||||
if(pt<=0)return 0;
|
||||
dt->fit(data, result, pt);
|
||||
return 1;
|
||||
__AQEXPORT__(bool) fit(vector_type<vector_type<double>> v, vector_type<long> res){
|
||||
double** data = (double**)malloc(v.size*sizeof(double*));
|
||||
for(int i = 0; i < v.size; ++i)
|
||||
data[i] = v.container[i].container;
|
||||
dt->fit(data, res.container, v.size);
|
||||
return true;
|
||||
}
|
||||
|
||||
__AQEXPORT__(ColRef_storage) predict(){
|
||||
int* result = (int*)malloc(pt*sizeof(int));
|
||||
for(long i=0; i<pt; i++){
|
||||
result[i]=dt->Test(data[i], dt->DTree);
|
||||
}
|
||||
__AQEXPORT__(vectortype_cstorage) predict(vector_type<vector_type<double>> v){
|
||||
int* result = (int*)malloc(v.size*sizeof(int));
|
||||
|
||||
return ColRef_storage(new ColRef_storage(result, pt, 0, "prediction", 0), 1, 0, "prediction", 0);
|
||||
for(long i=0; i<v.size; i++){
|
||||
result[i]=dt->Test(v.container[i].container, dt->DTree);
|
||||
//printf("%d ", result[i]);
|
||||
}
|
||||
auto container = (vector_type<int>*)malloc(sizeof(vector_type<int>));
|
||||
container->size = v.size;
|
||||
container->capacity = 0;
|
||||
container->container = result;
|
||||
// container->out(10);
|
||||
// ColRef<vector_type<int>>* col = (ColRef<vector_type<int>>*)malloc(sizeof(ColRef<vector_type<int>>));
|
||||
auto ret = vectortype_cstorage{.container = container, .size = 1, .capacity = 0};
|
||||
// col->initfrom(ret, "sibal");
|
||||
// print(*col);
|
||||
return ret;
|
||||
//return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user