This is the documentation for the Project Prolog MLpack Library.
Here you can find documentaion on the used Datatypes, a detailed documentation for the available Methods and for the helper files.
# Quickstart
[[_TOC_]]
# **_Quickstart_**
## Todo
# Data Types
# **_Data Types_**
To connect mlpack and SICStus prolog i used the c interface of SICStus which can convert prolog datatypes to c datatypes and vise versa.
[Here](https://sicstus.sics.se/sicstus/docs/latest4/html/sicstus.html/Conversions-between-Prolog-Arguments-and-C-Types.html) you can find a list of the available conversion types.
[Here](https://sicstus.sics.se/sicstus/docs/latest4/html/sicstus.html/Conversions-between-Prolog-Arguments-and-C-Types.html) you can find a list of the available conversion types.
## Extra Symbols
* +
is the symbol for inupting a concret value from prolog to c/c++
* -
is the symbol for inputing a variable from prolog to c/c++ that then gets assigned a value in one c side, that then can be used on the prolog side.
* is the symbol for inupting a concret value from prolog to c/c++
* is the symbol for inputing a variable from prolog to c/c++ that then gets assigned a value in one c side, that then can be used on the prolog side.
*\[-\]
is the symbol for an output value from c/c++ to prolog, in its function very similar to -.
...
...
@@ -32,12 +28,12 @@ To connect mlpack and SICStus prolog i used the c interface of SICStus which can
***_integer_**
are the normal numbers 1,2,3...
are the normal numbers 1,2,3...
c/c++ : _SP_integer_
***_float_**
are the numbers like 0.0, 1.2, 5.7...
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
...
...
@@ -46,7 +42,7 @@ To connect mlpack and SICStus prolog i used the c interface of SICStus which can
are just atoms like: word, hello, nice7...
c/c++ : _char const \*_
c/c++ : _char const \*_
***_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
...
...
@@ -58,13 +54,13 @@ To connect mlpack and SICStus prolog i used the c interface of SICStus which can
currently on the prolog side you have to convert a normal list like \[1, 2, 3\] to a float_array with the help of some helper predicates in helper.pl.