If you want to edit the Project then the steps are almost the same except you should also install the Eclipse IDE SICStus integration Spider.
Since it makes writing and running the prolog Code easier.
To test all methods there is a test_all.pl file in the root directory that you can compile with SICStus and then call :
```prolog
run_tests.
```
Just make sure the SICStus Toplevel is the prolog-mlpack-libary root directory. (If not it will cause the predicate open/3, for opening files, to not find the iris2.csv)
# **_Data Types_**
...
...
@@ -26,33 +53,33 @@ To connect mlpack and SICStus prolog i used the c interface of SICStus which can
## Data Types
***_integer_**
***_Integer_**
are the normal numbers 1,2,3...
c/c++ : _SP_integer_
***_float_**
***_Float_**
are the numbers like 0.0, 1.2, 5.7...
full definition prolog : float_32 shortend to float32 since this has the correct Byte size for its counter part double
c/c++ : _double_
***_string_**
***_String_**
are just atoms like: word, hello, nice7...
c/c++ : _char const \*_
***_integer(bool)_**
***_Integer(bool)_**
there are no bool atoms in Prolog that could translate to bool in c, so i chose integer numbers as replacement with 1 = true and 0(or any other int number) = false
c/c++ : _SP_integer (1)true, (0)false_
***_matrix_**
***_Matrix_**
is defined a just a long list/vector where you specify its row numbers
Internally it converts a normal prolog list like \[1, 2, 3\] to a float_array with the help of some of the predicates in helper.pl.
Internally it converts a normal prolog list like \[1, 2, 3\] to a float_array with the help of some of the predicates in helper.pl.
To be then able to convert it into a c++ array, with the c Interface.
...
...
@@ -63,7 +90,7 @@ To connect mlpack and SICStus prolog i used the c interface of SICStus which can
output :
* prolog : _\[\[1,2,3\],\[1,2,3\],...\], DataDimensionality_(Lenght of each DataPoint)