4f513300588e0728dc8232bcbebf4e48652d11fd
[blender.git] / intern / iksolver / intern / TNT / fortran.h
1 /**
2  * $Id$
3  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the License, or (at your option) any later version. The Blender
9  * Foundation also sells licenses for use in proprietary software under
10  * the Blender License.  See http://www.blender.org/BL/ for information
11  * about this.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software Foundation,
20  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21  *
22  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
23  * All rights reserved.
24  *
25  * The Original Code is: all of this file.
26  *
27  * Contributor(s): none yet.
28  *
29  * ***** END GPL/BL DUAL LICENSE BLOCK *****
30  */
31
32 /*
33
34 *
35 * Template Numerical Toolkit (TNT): Linear Algebra Module
36 *
37 * Mathematical and Computational Sciences Division
38 * National Institute of Technology,
39 * Gaithersburg, MD USA
40 *
41 *
42 * This software was developed at the National Institute of Standards and
43 * Technology (NIST) by employees of the Federal Government in the course
44 * of their official duties. Pursuant to title 17 Section 105 of the
45 * United States Code, this software is not subject to copyright protection
46 * and is in the public domain.  The Template Numerical Toolkit (TNT) is
47 * an experimental system.  NIST assumes no responsibility whatsoever for
48 * its use by other parties, and makes no guarantees, expressed or implied,
49 * about its quality, reliability, or any other characteristic.
50 *
51 * BETA VERSION INCOMPLETE AND SUBJECT TO CHANGE
52 * see http://math.nist.gov/tnt for latest updates.
53 *
54 */
55
56
57
58 // Header file to define C/Fortran conventions (Platform specific)
59
60 #ifndef FORTRAN_H
61 #define FORTRAN_H
62
63 // help map between C/C++ data types and Fortran types
64
65 typedef int     Fortran_integer;
66 typedef float   Fortran_float;
67 typedef double  Fortran_double;
68
69
70 typedef Fortran_double *fda_;        // (in/out) double precision array
71 typedef const Fortran_double *cfda_; // (in) double precsion array
72
73 typedef Fortran_double *fd_;        // (in/out)  single double precision
74 typedef const Fortran_double *cfd_; // (in) single double precision
75
76 typedef Fortran_float *ffa_;        // (in/out) float precision array
77 typedef const Fortran_float *cffa_; // (in) float precsion array
78
79 typedef Fortran_float *ff_;         // (in/out)  single float precision
80 typedef const Fortran_float *cff_;  // (in) single float precision
81
82 typedef Fortran_integer *fia_;          // (in/out)  single integer array
83 typedef const Fortran_integer *cfia_;   // (in) single integer array
84
85 typedef Fortran_integer *fi_;           // (in/out)  single integer
86 typedef const Fortran_integer *cfi_;    // (in) single integer
87
88 typedef char *fch_;                // (in/out) single character
89 typedef char *cfch_;               // (in) single character
90
91
92
93 #ifndef TNT_SUBSCRIPT_TYPE
94 #define TNT_SUBSCRIPT_TYPE TNT::Fortran_integer
95 #endif
96
97
98 #endif
99 // FORTRAN_H