Bagel (Biologically inspired Graph-Based Language) is a cross-platform graph-based dataflow language developed at the Robotics Innovation Center of the German Research Center for Artificial Intelligence (DFKI-RIC) and the University of Bremen. It runs on (Ubuntu) Linux, Mac and Windows.
This library provides a C implementation to load, save, modify, and execute Bagel graphs.
The main user documentation of Bagel can be found at: https://github.com/dfki-ric/bagel_wiki/wiki
The API documentation of c_bagel
can be build in the doc
sub-folder with the make
command. The documentation is build into
the doc/build
folder.
To compile the test folder the test
package is required:
Ubuntu:
sudo apt-get install test
Mac OSX:
sudo port install test
Windows (msys2)
pacman -S mingw-w64-x86_64-test
Then run cmake with -DUNIT_TESTS=ON
:
cd build; rm -rf *; cmake_release -DUNIT_TESTS=ON
The tests can be executed in build/tests
with: ./test_c_bagel
Some nodes may perform operations that can fail for certain inputs.
Examples include div, mod, acos, and pow. We do nothing to prevent
these failures. This means that if the implementation does not follow
the IEEE 754
_ standard recommendation of using NaN and/or Inf these
operations will result in undefined behavior. However, all x86, x64
and RISC systems we are aware of do follow the IEEE 754 standard. In
any case, the results of a behavior graph should always be checked
before further processing.
.. _IEEE 754: https://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57469
c_bagel is distributed under the 3-clause BSD license. 0;95;0c