Menu

Tree [5a0e12] master /
 History

HTTPS access


File Date Author Commit
 cmake 2013-12-09 Thomas Natschlger Thomas Natschlger [9d84ba] First working version under Windows
 include 2013-12-09 Thomas Natschlger Thomas Natschlger [8cc67f] Unix line endings; not tabs
 test 2013-12-11 Thomas Natschlger Thomas Natschlger [5a0e12] fixed a typo
 .gitignore 2013-12-09 Thomas Natschlger Thomas Natschlger [9d84ba] First working version under Windows
 README.txt 2013-12-09 Thomas Natschlger Thomas Natschlger [9d84ba] First working version under Windows

Read Me

What is ArmaMx?
----------------

ArmaMx is a set of SWIG interface files which allows generating
Matlab bindings to C++ code which uses the Armadillo matrix library.
From within Matlab any Armadillo matrices are represented as NumPy matrices.
This is possible due to the same memory layout used.
Copying of memory is avoided whenever possible.
It also supports boost::shared_ptr wrapped return values of Armadillo matrices.

Usage
-----

See the file test/tests.i how to use ArmaMx to generate bindings for a set of classes
defined in test/tests.hpp. See test/*.m for the Matlab side of usage.

How to compile and run the tests?
---------------------------------

1) Use CMake to generate your build system based on the provided CMakeLists.txt file in the test dir.
2) Build the resulting project.
3) Run the Matlab script tests.m

From the command line this can be done as follows for the test dir (adapt to your path settings and use '\' instedead of '/' on Windows).

cd /path/to/armamx/test
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DARMADILLO_INCLUDE_DIR=/path/to/your/armadillo/include
cmake --build . --config Release
cd ..
matlab -nojvm
tests

*Note* : This generates the two folders 'build' and '+test' as subfolders in armamx/test.

Copyright
---------

Copyright (C) 2013 Thomas Natschläger (thomas.natschlaeger@gmail.com)

License
-------

ArmaMx is provided without any warranty of fitness
for any purpose. You can redistribute this file
and/or modify it under the terms of the GNU
Lesser General Public License (LGPL) as published
by the Free Software Foundation, either version 3
of the License or (at your option) any later version.
(see http://www.opensource.org/licenses for more info)