    Madagascar Programming Reference Manual    Next: Introduction Up: Madagascar Programming Reference Manual Previous: Contents

# Preface

This document is a contribution to the Madagascar developers community and it is meant to help out with Programming in Madagascar. It also came out of our selfish need to learn more about the libraries described in Madagascar. This document specifically lists and describes the RSF API functions supported by Madagascar for C.

The first chapter is an introduction, summarizing the key information needed to understand Madagascar and its history. In the second chapter there is an example program with explanation for every line of the code. The example program is a finite difference modeling code.

The RSF Function Library starts from Chapter 3, which is a description of the data types used in Madagascar. Some data types are defined in Madagascar and some are from the standard C library headers.

The subsequent chapters group different subroutines (the .c files) which are used for a particular task. Chapter 4 lists the .c files which have the functions used in the preparation for input, such as sf_alloc, which allocates the required space.

Chapter 5 is related to the handling of the .rsf files, for example file input/output, extracting or inserting a parameter from a file.

Chapter 6 is for the error handling subroutines. It lists the functions which print the required error messages.

Chapter 7 lists the linear operators. There is a detailed introduction in the beginning of the chapter.

Chapter 8 is for data analysis subroutines, for example kiss_fftr.c for the Fourier inverse and forward transform of real time signals.

Chapter 9 lists the subroutines for the filtering and convolution.

Chapter 10 lists the solvers. It has the subroutines for tasks like solving a first order ODE using the Runge-Kutta solver. There are subroutines in this chapter which perform the iterations for the conjugate gradient method for real and complex data. Some other functions include the root finder and tridagonal matrix solver.

Chapter 11 is for the interpolation subroutines. It has subroutines for 1D, 2D and 3D interpolation. There are functions for B-Spline interpolation, calculation for B-spline coefficients, ENO and ENO power-p interpolation.

Chapter 12 has the subroutines for of smoothing and edge detection. It has functions for 1D and 2D triangle smoothing.

Chapter 13 lists the Ray Tracing functions.

Chapter 14 has some general purpose tools like functions for evaluating a mathematical expression and generating random numbers.

Chapter 15 is concerned with the geometry. It has the functions which define vectors and points which can be used to define the source and receiver coordinates. It also has the axa.c file which defines the functions for creating and operating on axes.

Chapter 16 is for the miscellaneous functions.

Chapter 17 lists the function which are system specific for example system.c file defines functions which can run a given command on the terminal from within the program.    Madagascar Programming Reference Manual    Next: Introduction Up: Madagascar Programming Reference Manual Previous: Contents

2011-07-02