GRASS 8 Programmer's Manual 8.6.0dev(2026)-ddeab64dbf
Loading...
Searching...
No Matches
gmath.h
Go to the documentation of this file.
1/******************************************************************************
2 * gmath.h
3 * Top level header file for gmath units
4
5 * @Copyright David D.Gray <ddgray@armadce.demon.co.uk>
6 * 27th. Sep. 2000
7 * Last updated: $Id$
8 *
9
10 * This file is part of GRASS. It is free software. You can
11 * redistribute it and/or modify it under the terms of
12 * the GNU General Public License as published by the Free Software
13 * Foundation; either version 2 of the License, or (at your option)
14 * any later version.
15
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20
21 ******************************************************************************/
22
23#ifndef GRASS_GMATH_H
24#define GRASS_GMATH_H
25
26#include <grass/config.h>
27
28#ifdef CTYPESGEN
29#undef __attribute__
30#define __attribute__(x)
31#endif
32
33#include <stddef.h>
34
35/*solver names */
36#define G_MATH_SOLVER_DIRECT_GAUSS "gauss"
37#define G_MATH_SOLVER_DIRECT_LU "lu"
38#define G_MATH_SOLVER_DIRECT_CHOLESKY "cholesky"
39#define G_MATH_SOLVER_ITERATIVE_JACOBI "jacobi"
40#define G_MATH_SOLVER_ITERATIVE_SOR "sor"
41#define G_MATH_SOLVER_ITERATIVE_CG "cg"
42#define G_MATH_SOLVER_ITERATIVE_PCG "pcg"
43#define G_MATH_SOLVER_ITERATIVE_BICGSTAB "bicgstab"
44
45/*preconditioner */
46#define G_MATH_DIAGONAL_PRECONDITION 1
47#define G_MATH_ROWSCALE_ABSSUMNORM_PRECONDITION 2
48#define G_MATH_ROWSCALE_EUKLIDNORM_PRECONDITION 3
49#define G_MATH_ROWSCALE_MAXNORM_PRECONDITION 4
50
51/*!
52 * \brief The row vector of the sparse matrix
53 * */
54typedef struct {
55 double *values; /*The non null values of the row */
56 unsigned int cols; /*Number of entries */
57 unsigned int *index; /*the index number */
59
60#include <grass/defs/gmath.h>
61
62#endif /* GRASS_GMATH_H */
The row vector of the sparse matrix.
Definition gmath.h:54
double * values
Definition gmath.h:55
unsigned int cols
Definition gmath.h:56
unsigned int * index
Definition gmath.h:57