diff --git a/Makefile b/Makefile index d00cad509311850e2bd6d4e476b14b6b336c50ac..b242dbbb1662a2684f1f502b3625eb0d84cf28ac 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ splfr=/usr/local/sicstus4.7.1/bin/splfr main.so: main.pl main.cpp - $(splfr) -lmlpack -lstdc++ -cxx --struct main.pl main.cpp mlpack-3.4.2/src/mlpack/methods/bayesian_linear_regression/bayesian_linear_regression.cpp + $(splfr) -larmadillo -lmlpack -lstdc++ -cxx --struct main.pl main.cpp mlpack-3.4.2/src/mlpack/methods/bayesian_linear_regression/bayesian_linear_regression.cpp clean: rm main.so diff --git a/main.pl b/main.pl index 805abd7ff97f46dbbfaf2caa07581fdac2e4a05e..99db83d97836f95605ad9f93c98b91a7866281b5 100644 --- a/main.pl +++ b/main.pl @@ -41,7 +41,7 @@ convert_list_to_float_array(Arr, array(Size,Mem)) :- new(float_array, Size, Mem), fill_float_array(Arr, 0, Mem). -fill_float_array([], _, _). +fill_float_array([], _, _):- !. fill_float_array([H|Tail], Index, Mem) :- put_contents(Mem, Index, H), New_index is Index + 1, @@ -50,7 +50,7 @@ fill_float_array([H|Tail], Index, Mem) :- convert_float_array_to_list(Mem, Count, Out) :- convert_float_array_to_list(Mem, 0, Count, Out). -convert_float_array_to_list(_, Count, Count, []). +convert_float_array_to_list(_, Count, Count, []) :- !. convert_float_array_to_list(Mem, Index, Count, [Val|Rest]) :- NewIndex is Index + 1, @@ -61,13 +61,13 @@ convert_float_array_to_list(Mem, Index, Count, [Val|Rest]) :- %% Funktions for reading the csv Files %% returns the length of a list -len([], 0). +len([], 0):- !. len([_|Tail], List_L) :- len(Tail, Tail_L), List_L is Tail_L + 1. %% take the elements in a csv record and put them in a list -convert_record_to_arr([], []). +convert_record_to_arr([], []):- !. convert_record_to_arr([float(Num,_)|Tail], [Num|Rest]) :- convert_record_to_arr(Tail, Rest). convert_record_to_arr([string(_)|Tail], Rest) :-