GRASS 8 Programmer's Manual
8.5.0(2026)-8d6ceba290
Toggle main menu visibility
Loading...
Searching...
No Matches
solvps.c
Go to the documentation of this file.
1
/* solvps.c CCMATH mathematics library source code.
2
*
3
* Copyright (C) 2000 Daniel A. Atkinson All rights reserved.
4
* This code may be redistributed under the terms of the GNU library
5
* public license (LGPL). ( See the lgpl.license file for details.)
6
* ------------------------------------------------------------------------
7
*/
8
#include "
ccmath.h
"
9
int
solvps
(
double
*a,
double
*
b
,
int
n)
10
{
11
double
*p, *q, *
r
, *s,
t
;
12
13
int
j, k;
14
15
for
(j = 0, p = a; j < n; ++j, p += n + 1) {
16
for
(q = a + j * n; q < p; ++q)
17
*p -= *q * *q;
18
if
(*p <= 0.)
19
return
-1;
20
*p = sqrt(*p);
21
for
(k = j + 1, q = p + n; k < n; ++k, q += n) {
22
for
(
r
= a + j * n, s = a + k * n,
t
= 0.;
r
< p;)
23
t
+= *
r
++ * *s++;
24
*q -=
t
;
25
*q /= *p;
26
}
27
}
28
for
(j = 0, p = a; j < n; ++j, p += n + 1) {
29
for
(k = 0, q = a + j * n; k < j;)
30
b
[j] -=
b
[k++] * *q++;
31
b
[j] /= *p;
32
}
33
for
(j = n - 1, p = a + n * n - 1; j >= 0; --j, p -= n + 1) {
34
for
(k = j + 1, q = p + n; k < n; q += n)
35
b
[j] -=
b
[k++] * *q;
36
b
[j] /= *p;
37
}
38
return
0;
39
}
ccmath.h
b
double b
Definition
driver/set_window.c:5
t
double t
Definition
driver/set_window.c:5
r
double r
Definition
driver/set_window.c:5
solvps
int solvps(double *a, double *b, int n)
Definition
solvps.c:9
external
ccmath
solvps.c
Generated on
for GRASS 8 Programmer's Manual by
1.17.0