Skip to content

dfki-ric/c_bagel

Repository files navigation

c_bagel

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.

General {#general}

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.

Test

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

Notes About the c_bagel Implementation

Division by Zero and Other Floating Point Errors

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

License

c_bagel is distributed under the 3-clause BSD license. 0;95;0c

About

C implementation for the execution of Bagel graphs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published