Installing and using the C library

The core functionalities of FLAGLET are written in C and self-documented. The C library requires the FLAG, S2LET, SSHT and FFTW packages. Obviously suitable C compiler will be required to build the respective implementations. Both C and Matlab mex compilers will be required to build the Matlab interface.


Makefiles are provided to build the code. However the locations of FLAG, S2LET, SSHT and FFTW must be specified, i.e. the symbols must de properly defined in Bash/Shell since the default Makefile will look fro these symbols there. Alternatively you may declare them explicitely in the first section of the makefile. The compilers and their options may also be changed in the Makefile.

Once you have set the Makefile up for your system, FLAGLET may be compiled by running:

 >> make all

This will build the C library, Matlab interface, test programs, high-level programs and documentation. We recommend to run the tests (flaglet_test) to check that compilation worked and that the transform achieves floating-point precision.

You may alternatively build the individual components of FLAGLET. To build the library only run:

 >> make lib

To build the test framework for the exact flaglet transform run:

 >> make test

To build the Matlab interfaces:

 >> make matlab


The FLAGLET code is self documenting. Although the package ships with source documentation, you may generate html source documentation by running:

 >> make doc

Documentation is generated using doxygen, thus you must have doxygen installed on your system to generate the source documentation.

Cleaning up

To tidy up all temporary files and objects run:

 >> make tidy

To remove all compiled files and programs run:

 >> make clean

To remove all source documentation run:

 >> make cleandoc

Source code documentation

FLAGLET ships with source documentation that is generated by doxygen and is available here.

Testing and using the library

A test program may be run to test and familiarize yourself with the framework. It is extensively documented and may serve as starting point to learn to use the functionalities of FLAGLET. The command

 >> ./bin/flaglet_test

will run various performance and accuracy tests for the spherical Laguerre and Fourier-Laguerre transform as well as for the sampling theorems.

Finally, to check the version and build numbers of your version run:

 >> ./bin/flaglet_about