- I found a possible bug in the code and/or documentation. How do I report it ?
Please make a small self-contained program which exposes the bug,
and then send the corresponding source code to the developers.
We appreciate your time to make a bug report.
What is the distribution license for Bandicoot ?
Bandicoot is permissively licensed under the Apache License, Version 2.0.
Can I use Bandicoot in commercial products without releasing the source code ?
Bandicoot can be used in proprietary software, without releasing the source code.
However, any software that incorporates or distributes Bandicoot in source or binary form must include,
in the documentation and/or other materials provided with the software,
a readable copy of the attribution notices present in the NOTICE.txt file that comes with Bandicoot.
- Who are the developers ?
Development is done by Conrad Sanderson and Ryan Curtin.
- Can you implement features on request ?
If you'd like to see a feature in Bandicoot, please contribute code.
The contributed code must have accompanying tests and user documentation.
- Is there a source code repository ?
Yes. See https://github.com/conradsnicta/bandicoot-code.
Note that the repository may contain work-in-progress code that has not been tested.
Features / Functions
- I can't find my favourite function in the documentation. Where is it ?
If it's not in the documentation, it doesn't exist.
See also the answers to development questions.
- Can Bandicoot make use of C++11 features ?
Yes. Bandicoot will enable extra features (such as move constructors) when a C++11 compiler is detected.
You may need to explicitly enable C++11 mode in your compiler (eg. -std=c++11 in gcc & clang).
- Can I use the C++11 auto keyword with Bandicoot objects and/or expressions?
Use of C++11 auto is not recommended with Bandicoot objects and expressions.
Bandicoot has a template meta-programming framework which creates lots of short lived temporaries that are not handled by auto.
- Is Bandicoot a C++11 only library ?
No. Bandicoot will work with compilers supporting the older C++98 and C++03 standards, as well as the newer C++11 and C++14 standards.
- Does Bandicoot take into account possible aliasing ?
Yes. Bandicoot checks for aliasing wherever it's possible to do so.
In normal usage of the library this means aliasing is always checked.
However, if you're evil enough you can always construct an artificial case to defeat any alias checking mechanism.
- Is it possible to use Bandicoot matrices with user-defined/custom element types ?
Bandicoot supports matrices with the following element types:
float, double, std::complex<float>, std::complex<double>, int32, int64, and unsigned versions of int32, int64.
Support for other types is beyond the scope of Bandicoot.
Related Software & Libraries
- How is Bandicoot related to Armadillo ?
Bandicoot aims to provide a a subset of Armadillo functions (with the same or similar API) which process Armadillo matrices on GPUs.
- Are there code examples ?
See "examples/example1.cpp" which comes with the Bandicoot archive.
See also the code snippets within the documentation,
including the short example program.
- How can I do ... ?
Check the documentation
and/or the README.txt file that comes with the Bandicoot archive.