1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
/*
** -*- C -*-
**
**
** Made by Raffaele.Nutricato@tiscali.it
**
** Copyright Raffaele Nutricato
*/
#include "RealToComplex.h"
floatComplex s0floatcomplexc0(float in)
{
floatComplex out;
out = FloatComplex(in,0);
return out;
}
floatComplex d0floatcomplexc0(double in)
{
floatComplex out;
out = FloatComplex(in,0);
return out;
}
floatComplex c0floatcomplexc0(floatComplex in)
{
return in;
}
floatComplex z0floatcomplexc0(doubleComplex in)
{
floatComplex out;
out = FloatComplex((float)zreals(in),(float)zimags(in));
return out;
}
void s2floatcomplexc2(float* in, int* inSize, floatComplex* out)
{
int i = 0;
for (i=0;i<inSize[0]*inSize[1];i++)
{
out[i] = s0floatcomplexc0(in[i]);
}
}
void d2floatcomplexc2(double* in, int* inSize, floatComplex* out)
{
int i = 0;
for (i=0;i<inSize[0]*inSize[1];i++)
{
out[i] = d0floatcomplexc0(in[i]);
}
}
void c2floatcomplexc2(floatComplex* in, int* inSize, floatComplex* out)
{
int i = 0;
for (i=0;i<inSize[0]*inSize[1];i++)
{
out[i] = c0floatcomplexc0(in[i]);
}
}
void z2floatcomplexc2(doubleComplex* in, int* inSize, floatComplex* out)
{
int i = 0;
for (i=0;i<inSize[0]*inSize[1];i++)
{
out[i] = z0floatcomplexc0(in[i]);
}
}
doubleComplex s0doublecomplexz0(float in)
{
doubleComplex out;
out = DoubleComplex((double)(in),0);
return out;
}
doubleComplex d0doublecomplexz0(double in)
{
doubleComplex out;
out = DoubleComplex(in,0);
return out;
}
doubleComplex c0doublecomplexz0(floatComplex in)
{
doubleComplex out;
out = DoubleComplex((double) creals(in),(double) cimags(in));
return out;
}
doubleComplex z0doublecomplexz0(doubleComplex in)
{
return in;
}
void s2doublecomplexz2(float* in, int* inSize, doubleComplex* out)
{
int i = 0;
for (i=0;i<inSize[0]*inSize[1];i++)
{
out[i] = s0doublecomplexz0(in[i]);
}
}
void d2doublecomplexz2(double* in, int* inSize, doubleComplex* out)
{
int i = 0;
for (i=0;i<inSize[0]*inSize[1];i++)
{
out[i] = d0doublecomplexz0(in[i]);
}
}
void c2doublecomplexz2(floatComplex* in, int* inSize, doubleComplex* out)
{
int i = 0;
for (i=0;i<inSize[0]*inSize[1];i++)
{
out[i] = c0doublecomplexz0(in[i]);
}
}
void z2doublecomplexz2(doubleComplex* in, int* inSize, doubleComplex* out)
{
int i = 0;
for (i=0;i<inSize[0]*inSize[1];i++)
{
out[i] = z0doublecomplexz0(in[i]);
}
}
|