Back to index

plt-scheme  4.2.1
matrix.h
Go to the documentation of this file.
00001 /* $Id: matrix.h,v 1.5 2005/03/15 23:23:56 eli Exp $ */
00002 
00003 /* GNUPLOT - matrix.h */
00004 
00005 /*  NOTICE: Change of Copyright Status
00006  *
00007  *  The author of this module, Carsten Grammes, has expressed in
00008  *  personal email that he has no more interest in this code, and
00009  *  doesn't claim any copyright. He has agreed to put this module
00010  *  into the public domain.
00011  *
00012  *  Lars Hecking  15-02-1999
00013  */
00014 
00015 /*
00016  *     Header file: public functions in matrix.c
00017  *
00018  *
00019  *     Copyright of this module:   Carsten Grammes, 1993
00020  *      Experimental Physics, University of Saarbruecken, Germany
00021  *
00022  *     Internet address: cagr@rz.uni-sb.de
00023  *
00024  *     Permission to use, copy, and distribute this software and its
00025  *     documentation for any purpose with or without fee is hereby granted,
00026  *     provided that the above copyright notice appear in all copies and
00027  *     that both that copyright notice and this permission notice appear
00028  *     in supporting documentation.
00029  *
00030  *      This software is provided "as is" without express or implied warranty.
00031  */
00032 
00033 
00034 #ifndef MATRIX_H
00035 #define MATRIX_H
00036 
00037 #include <scheme.h>
00038 
00039 
00040 #ifdef EXT
00041 #undef EXT
00042 #endif
00043 
00044 #ifdef MATRIX_MAIN
00045 #define EXT
00046 #else
00047 #define EXT extern
00048 #endif
00049 
00050 
00051 /******* public functions ******/
00052 
00053 MZ_DLLEXPORT
00054 EXT double  *vec (int n);
00055 MZ_DLLEXPORT
00056 EXT int     *ivec (int n);
00057 MZ_DLLEXPORT
00058 EXT double  **matr (int r, int c);
00059 MZ_DLLEXPORT
00060 EXT double  *redim_vec (double **v, int n);
00061 MZ_DLLEXPORT
00062 EXT void    redim_ivec (int **v, int n);
00063 EXT void    solve (double **a, int n, double **b, int m);
00064 MZ_DLLEXPORT
00065 EXT void    Givens (double **C, double *d, double *x, double *r, int N, int n, int want_r); 
00066 MZ_DLLEXPORT
00067 EXT void    Invert_RtR (double **R, double **I, int n);
00068 
00069 #endif
00070 
00071 // a kludgy version of a malloc
00072 
00073 void * my_gc_malloc(int size);
00074 void gc_cleanup();
00075