GRASS Programmer's Manual
6.5.svn(2014)-r66266
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
utrnhm.c
Go to the documentation of this file.
1
/* utrnhm.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 <stdlib.h>
9
#include "
ccmath.h
"
10
void
utrnhm
(
Cpx
* hm,
Cpx
* a,
Cpx
*
b
,
int
n
)
11
{
12
Cpx
z, *q0, *p, *
s
, *t;
13
14
int
i, j, k;
15
16
q0 = (
Cpx
*) calloc(n,
sizeof
(
Cpx
));
17
for
(i = 0; i <
n
; ++i) {
18
for
(j = 0, t = b; j <
n
; ++j) {
19
z.
re
= z.
im
= 0.;
20
for
(k = 0, s = a + i * n; k <
n
; ++k, ++
s
, ++t) {
21
z.
re
+= t->
re
* s->re + t->
im
* s->im;
22
z.
im
+= t->
im
* s->re - t->
re
* s->im;
23
}
24
q0[j] = z;
25
}
26
for
(j = 0, p = hm + i, t = a; j <= i; ++j, p +=
n
) {
27
z.
re
= z.
im
= 0.;
28
for
(k = 0, s = q0; k <
n
; ++k, ++t, ++
s
) {
29
z.
re
+= t->re * s->
re
- t->im * s->
im
;
30
z.
im
+= t->im * s->
re
+ t->re * s->
im
;
31
}
32
*p = z;
33
if
(j < i) {
34
z.
im
= -z.
im
;
35
hm[i * n + j] = z;
36
}
37
}
38
}
39
free
(q0);
40
}
b
float b
Definition:
named_colr.c:8
dialogs.s
tuple s
Definition:
psmap/dialogs.py:2766
utrnhm
void utrnhm(Cpx *ht, Cpx *u, Cpx *h0, int n)
Definition:
utrnhm.c:10
ccmath.h
complex::re
double re
Definition:
ccmath.h:38
complex::im
double im
Definition:
ccmath.h:38
free
void free(void *)
complex
Definition:
ccmath.h:38
n
int n
Definition:
dataquad.c:291
lib
external
ccmath
utrnhm.c
Generated on Sat Jan 2 2016 01:46:49 for GRASS Programmer's Manual by
1.8.5