FFT 2D avec FFTW

Programmation d'applications complexes
Avatar de l’utilisateur
François
Messages : 26
Inscription : mar. 14/juin/2016 12:31

FFT 2D avec FFTW

Message par François »

Bonjour à tous,

Je cherche à utiliser la bibliothèque FFTW qui permet de calculer rapidement des transformées de Fourier. Mon objectif est de traduire des codes python qui fonctionnent bien en Purebasic pour faire un logiciel exécutable, rapide et simple à installer. En plus, cela m'amuse de le faire en PB.

J'ai repéré deux rubriques traitant de ce sujet :
- la plus ancienne : http://www.purebasic.fr/english/viewtop ... 27&t=34813. J'ai tenté de faire tourner ce code sans succès.
- la plus récente, qui reprend le code de la précédente, qui semble avoir trouvé une solution mais est en allemand (je vais devoir m'y remettre après XX années : http://www.purebasic.fr/german/viewtopi ... =3&t=28827

Le code appelle les .LIB via "ImportC".

Je pensais plutôt utiliser les .DLL et les prototypes mais je n'y parviens pas. J'ai donc tenté avec CallFunction et CallCFunction sans succès : le programme tourne (du moins il ne se plante pas) mais affecte 0 aux vecteurs d'entrée et de sortie après l'appel de "fftw_plan_dft_1d".

Quelqu'un a-t-il déjà utilisé cette bibliothèque ?

Par avance merci pour vos retours. Je place mon code ci-après.

François

Code : Tout sélectionner

;*************************************************************************************************:
;*************************************************************************************************:
;*************************************************************************************************:
;                                                                                                 :
;                                                                                                 :
;                              **********************************                                 :
;                              ***           FFTW_X           ***                                 :
;                              **********************************                                 :
;                                                                                                 :
;                                                                                                 :
; VERSION 0 : - Essai avec prototypes pour contrôler les fonctions de la DLL.                     :
; ----------- - La fonction "fftw_malloc" retourne la taille, en octet, réservée en méloire ?     :
;             - Dans cette version, on peut lister les fonctions de la DLL.                       :
;                                                                                                 :
; VERSION 1 : - Programme provenant du forum allemand PureBasic :                                 :
; ----------- - http://www.purebasic.fr/german/viewtopic.php?f=3&t=28827                          :
;                                                                                                 :
; VERSION 2 : - Essai en appelant les fonctions dans la bibliothèque "fftw.lib".                  :
; ----------  - Cela ne marche pas.                                                               :
;                                                                                                 :
; VERSION 3 : - Essai d'appel de "fftw_malloc" via "CallFunction" : une adresse semble être       :
; -----------   retournée.                                                                        :
;                                                                                                 :
; VERSION 4 : - Essai de FFT 1D sur un signal "porte" : la FFT doit être un sinc.                 :
; ----------- - Utilisation de la fonction "CPlot" élémentaire.                                   :
;                                                                                                 :
;*************************************************************************************************:
;=================================================================================================:
;                        ===         ENUMERATIONS ET STRUCTURES         ===                       :
;=================================================================================================:
Enumeration
    #_FFTW                            ; Constante pour la DLL "FFTW".
EndEnumeration

#FFTW_FORWARD = -1
#FFTW_BACKWARD = 1
#FFTW_MEASURE = (0)
;_________________________________________________________________________________________________:
; Construction de la structurecomplexe suivant l'exemple de la version 1.                         :
; TESTER : passage d'une structure simple partie réelle et partie imaginaire comme dans FFTW_0.   :
;_________________________________________________________________________________________________:
Structure fftw_complexArray
    d.d[2]
EndStructure

Structure fftw_complex
    StructureUnion
        d.d[2]
        c.fftw_complexArray[0]
    EndStructureUnion
EndStructure

Structure fftw_plan
EndStructure

;-------------------------------------------------------------------------------------------------:
;                         ---           PARAMETRES ET VARIABLES         ---                       :
;-------------------------------------------------------------------------------------------------:
    inSize.l = 1000          ; Taille du vecteur.
    Lp = 100               ; Largeur de la porte.
    
;-------------------------:
;   Ouverture de la DLL   :
;-------------------------:
    Ret =  OpenLibrary(#_FFTW, "C:\Users\Utilisateur\Documents\Projets\HoloScope\Logiciels\FFT\FFTW\FFTW64\libfftw3-3.dll")
    Debug "Ouverture DLL : " + Str(Ret)

;--------------------------------------------------------------------------------:
;   INFO : contrôle de la profondeur de codage de la structure "fftw_complexe"   :
;--------------------------------------------------------------------------------:
    Debug "Profondeur de codage de la structure fftw_complex: " + Str(SizeOf(fftw_complex))

;----------------------------------------------------:
;   Test d'allocation de mémoire avec "fftw_maloc"   :
;----------------------------------------------------:   
    *in.fftw_complex  = CallFunction(#_FFTW,"fftw_malloc",SizeOf(fftw_complex)*inSize)
    *out.fftw_complex = CallFunction(#_FFTW,"fftw_malloc",SizeOf(fftw_complex)*inSize)
    
    Debug "Pointeur sur mémoire allouée à in  : " + Str(*in)
    Debug "Pointeur sur mémoire allouée à out : " + Str(*out)

;-----------------------------------------------------------------------:
;   Affectation partie réelle et partie imaginaire du vecteur initial   :
;-----------------------------------------------------------------------:
   For i = 0 To inSize-1
      *in\c[i]\d[0] = Cos(2 * #PI * i / 100)
      *in\c[i]\d[1] = Sin(2 * #PI * i / inSize)
      *out\c[i]\d[0] = 1
      *out\c[i]\d[1] = 2
      Debug (RSet(Str(i), 5, " ") + " = " + StrD(*in\c[i]\d[0]) + "   +   " + RSet(StrD(*in\c[i]\d[1], 5), 10, " ") + " . i")
   Next

;------------------------------:   
;   Test du calcul de la FFT   :
;------------------------------:  
    *plan = CallFunction(#_FFTW, "fftw_plan_dft_1d", inSize, *in, *out, #FFTW_FORWARD, #FFTW_MEASURE)

    CallFunction(#_FFTW, "fftw_execute", *plan)

;-----------------------:
;   Valeurs de sortie   :
;-----------------------:   
   For i = 0 To inSize-1
      Debug (RSet(Str(i), 5, " ") + " = " + StrD(*in\c[i]\d[0]) + "   +   " + RSet(StrD(*in\c[i]\d[1], 5), 10, " ") + " . i")

   Next   
      
;-------------------------------------------------------------------------------------------------:
;   Test de libération de la mémoire : si la taille allouée est importante, "fftw_free" libère    :
;   bien la mémoire. Le deuxième appel à la zone mémoire renvoie une erreur.                       :
;   Pour des tailles plus petites, il semble que la mémoire est toujours accessible               :
;   (pas d'erreur).                                                                               :
;-------------------------------------------------------------------------------------------------:
    Debug "Avant fftw_free : " + Str(*in\c[inSize-1]\d[0])
    CallFunction(#_FFTW, "fftw_destroy_plan", *plan)
    CallFunction(#_FFTW, "fftw_free", *in)
    CallFunction(#_FFTW, "fftw_free", *out)
    Debug "Après fftw_free : " + Str(*in\c[inSize-1]\d[0])

Mesa
Messages : 1097
Inscription : mer. 14/sept./2011 16:59

Re: FFT 2D avec FFTW

Message par Mesa »

Si je remplace tous les "CallFunction" par des "CallCFunction", ça marche sur mon Windows XP 32 et la dll 32.

Voici ce que j'obtiens:
Ouverture DLL : 1885863936
Profondeur de codage de la structure fftw_complex: 16
Pointeur sur mémoire allouée à in : 3433344
Pointeur sur mémoire allouée à out : 32899168
0 = 1 + 0.00000 . i
1 = 0.9980267284 + 0.00628 . i
2 = 0.9921147013 + 0.01257 . i
3 = 0.9822872507 + 0.01885 . i
4 = 0.9685831611 + 0.02513 . i
5 = 0.9510565163 + 0.03141 . i
6 = 0.9297764859 + 0.03769 . i
7 = 0.9048270525 + 0.04397 . i
8 = 0.87630668 + 0.05024 . i
9 = 0.8443279255 + 0.05652 . i
10 = 0.8090169944 + 0.06279 . i
11 = 0.7705132428 + 0.06906 . i
12 = 0.7289686274 + 0.07533 . i
13 = 0.6845471059 + 0.08159 . i
14 = 0.6374239897 + 0.08785 . i
15 = 0.5877852523 + 0.09411 . i
16 = 0.535826795 + 0.10036 . i
17 = 0.4817536741 + 0.10661 . i
18 = 0.4257792916 + 0.11286 . i
19 = 0.3681245527 + 0.11910 . i
20 = 0.3090169944 + 0.12533 . i
21 = 0.2486898872 + 0.13156 . i
22 = 0.1873813146 + 0.13779 . i
23 = 0.1253332336 + 0.14401 . i
24 = 0.0627905195 + 0.15023 . i
25 = 0 + 0.15643 . i
26 = -0.0627905195 + 0.16264 . i
27 = -0.1253332336 + 0.16883 . i
28 = -0.1873813146 + 0.17502 . i
29 = -0.2486898872 + 0.18121 . i
30 = -0.3090169944 + 0.18738 . i
31 = -0.3681245527 + 0.19355 . i
32 = -0.4257792916 + 0.19971 . i
33 = -0.4817536741 + 0.20586 . i
34 = -0.535826795 + 0.21201 . i
35 = -0.5877852523 + 0.21814 . i
36 = -0.6374239897 + 0.22427 . i
37 = -0.6845471059 + 0.23039 . i
38 = -0.7289686274 + 0.23650 . i
39 = -0.7705132428 + 0.24260 . i
40 = -0.8090169944 + 0.24869 . i
41 = -0.8443279255 + 0.25477 . i
42 = -0.87630668 + 0.26084 . i
43 = -0.9048270525 + 0.26690 . i
44 = -0.9297764859 + 0.27295 . i
45 = -0.9510565163 + 0.27899 . i
46 = -0.9685831611 + 0.28502 . i
47 = -0.9822872507 + 0.29104 . i
48 = -0.9921147013 + 0.29704 . i
49 = -0.9980267284 + 0.30304 . i
50 = -1 + 0.30902 . i
51 = -0.9980267284 + 0.31499 . i
52 = -0.9921147013 + 0.32094 . i
53 = -0.9822872507 + 0.32689 . i
54 = -0.9685831611 + 0.33282 . i
55 = -0.9510565163 + 0.33874 . i
56 = -0.9297764859 + 0.34464 . i
57 = -0.9048270525 + 0.35053 . i
58 = -0.87630668 + 0.35641 . i
59 = -0.8443279255 + 0.36228 . i
60 = -0.8090169944 + 0.36812 . i
61 = -0.7705132428 + 0.37396 . i
62 = -0.7289686274 + 0.37978 . i
63 = -0.6845471059 + 0.38558 . i
64 = -0.6374239897 + 0.39137 . i
65 = -0.5877852523 + 0.39715 . i
66 = -0.535826795 + 0.40291 . i
67 = -0.4817536741 + 0.40865 . i
68 = -0.4257792916 + 0.41438 . i
69 = -0.3681245527 + 0.42009 . i
70 = -0.3090169944 + 0.42578 . i
71 = -0.2486898872 + 0.43146 . i
72 = -0.1873813146 + 0.43712 . i
73 = -0.1253332336 + 0.44276 . i
74 = -0.0627905195 + 0.44838 . i
75 = -0 + 0.45399 . i
76 = 0.0627905195 + 0.45958 . i
77 = 0.1253332336 + 0.46515 . i
78 = 0.1873813146 + 0.47070 . i
79 = 0.2486898872 + 0.47624 . i
80 = 0.3090169944 + 0.48175 . i
81 = 0.3681245527 + 0.48725 . i
82 = 0.4257792916 + 0.49273 . i
83 = 0.4817536741 + 0.49819 . i
84 = 0.535826795 + 0.50362 . i
85 = 0.5877852523 + 0.50904 . i
86 = 0.6374239897 + 0.51444 . i
87 = 0.6845471059 + 0.51982 . i
88 = 0.7289686274 + 0.52517 . i
89 = 0.7705132428 + 0.53051 . i
90 = 0.8090169944 + 0.53583 . i
91 = 0.8443279255 + 0.54112 . i
92 = 0.87630668 + 0.54639 . i
93 = 0.9048270525 + 0.55165 . i
94 = 0.9297764859 + 0.55688 . i
95 = 0.9510565163 + 0.56208 . i
96 = 0.9685831611 + 0.56727 . i
97 = 0.9822872507 + 0.57243 . i
98 = 0.9921147013 + 0.57757 . i
99 = 0.9980267284 + 0.58269 . i
100 = 1 + 0.58779 . i
101 = 0.9980267284 + 0.59286 . i
102 = 0.9921147013 + 0.59790 . i
103 = 0.9822872507 + 0.60293 . i
104 = 0.9685831611 + 0.60793 . i
105 = 0.9510565163 + 0.61291 . i
106 = 0.9297764859 + 0.61786 . i
107 = 0.9048270525 + 0.62279 . i
108 = 0.87630668 + 0.62769 . i
109 = 0.8443279255 + 0.63257 . i
110 = 0.8090169944 + 0.63742 . i
111 = 0.7705132428 + 0.64225 . i
112 = 0.7289686274 + 0.64706 . i
113 = 0.6845471059 + 0.65183 . i
114 = 0.6374239897 + 0.65659 . i
115 = 0.5877852523 + 0.66131 . i
116 = 0.535826795 + 0.66601 . i
117 = 0.4817536741 + 0.67069 . i
118 = 0.4257792916 + 0.67533 . i
119 = 0.3681245527 + 0.67995 . i
120 = 0.3090169944 + 0.68455 . i
121 = 0.2486898872 + 0.68911 . i
122 = 0.1873813146 + 0.69365 . i
123 = 0.1253332336 + 0.69817 . i
124 = 0.0627905195 + 0.70265 . i
125 = 0 + 0.70711 . i
126 = -0.0627905195 + 0.71154 . i
127 = -0.1253332336 + 0.71594 . i
128 = -0.1873813146 + 0.72031 . i
129 = -0.2486898872 + 0.72465 . i
130 = -0.3090169944 + 0.72897 . i
131 = -0.3681245527 + 0.73326 . i
132 = -0.4257792916 + 0.73751 . i
133 = -0.4817536741 + 0.74174 . i
134 = -0.535826795 + 0.74594 . i
135 = -0.5877852523 + 0.75011 . i
136 = -0.6374239897 + 0.75425 . i
137 = -0.6845471059 + 0.75836 . i
138 = -0.7289686274 + 0.76244 . i
139 = -0.7705132428 + 0.76649 . i
140 = -0.8090169944 + 0.77051 . i
141 = -0.8443279255 + 0.77450 . i
142 = -0.87630668 + 0.77846 . i
143 = -0.9048270525 + 0.78239 . i
144 = -0.9297764859 + 0.78629 . i
145 = -0.9510565163 + 0.79016 . i
146 = -0.9685831611 + 0.79399 . i
147 = -0.9822872507 + 0.79779 . i
148 = -0.9921147013 + 0.80157 . i
149 = -0.9980267284 + 0.80531 . i
150 = -1 + 0.80902 . i
151 = -0.9980267284 + 0.81269 . i
152 = -0.9921147013 + 0.81634 . i
153 = -0.9822872507 + 0.81995 . i
154 = -0.9685831611 + 0.82353 . i
155 = -0.9510565163 + 0.82708 . i
156 = -0.9297764859 + 0.83060 . i
157 = -0.9048270525 + 0.83408 . i
158 = -0.87630668 + 0.83753 . i
159 = -0.8443279255 + 0.84094 . i
160 = -0.8090169944 + 0.84433 . i
161 = -0.7705132428 + 0.84768 . i
162 = -0.7289686274 + 0.85099 . i
163 = -0.6845471059 + 0.85428 . i
164 = -0.6374239897 + 0.85753 . i
165 = -0.5877852523 + 0.86074 . i
166 = -0.535826795 + 0.86392 . i
167 = -0.4817536741 + 0.86707 . i
168 = -0.4257792916 + 0.87018 . i
169 = -0.3681245527 + 0.87326 . i
170 = -0.3090169944 + 0.87631 . i
171 = -0.2486898872 + 0.87932 . i
172 = -0.1873813146 + 0.88229 . i
173 = -0.1253332336 + 0.88523 . i
174 = -0.0627905195 + 0.88814 . i
175 = -0 + 0.89101 . i
176 = 0.0627905195 + 0.89384 . i
177 = 0.1253332336 + 0.89664 . i
178 = 0.1873813146 + 0.89941 . i
179 = 0.2486898872 + 0.90213 . i
180 = 0.3090169944 + 0.90483 . i
181 = 0.3681245527 + 0.90748 . i
182 = 0.4257792916 + 0.91011 . i
183 = 0.4817536741 + 0.91269 . i
184 = 0.535826795 + 0.91524 . i
185 = 0.5877852523 + 0.91775 . i
186 = 0.6374239897 + 0.92023 . i
187 = 0.6845471059 + 0.92267 . i
188 = 0.7289686274 + 0.92508 . i
189 = 0.7705132428 + 0.92745 . i
190 = 0.8090169944 + 0.92978 . i
191 = 0.8443279255 + 0.93207 . i
192 = 0.87630668 + 0.93433 . i
193 = 0.9048270525 + 0.93655 . i
194 = 0.9297764859 + 0.93873 . i
195 = 0.9510565163 + 0.94088 . i
196 = 0.9685831611 + 0.94299 . i
197 = 0.9822872507 + 0.94506 . i
198 = 0.9921147013 + 0.94710 . i
199 = 0.9980267284 + 0.94910 . i
200 = 1 + 0.95106 . i
201 = 0.9980267284 + 0.95298 . i
202 = 0.9921147013 + 0.95486 . i
203 = 0.9822872507 + 0.95671 . i
204 = 0.9685831611 + 0.95852 . i
205 = 0.9510565163 + 0.96029 . i
206 = 0.9297764859 + 0.96203 . i
207 = 0.9048270525 + 0.96372 . i
208 = 0.87630668 + 0.96538 . i
209 = 0.8443279255 + 0.96700 . i
210 = 0.8090169944 + 0.96858 . i
211 = 0.7705132428 + 0.97013 . i
212 = 0.7289686274 + 0.97163 . i
213 = 0.6845471059 + 0.97310 . i
214 = 0.6374239897 + 0.97453 . i
215 = 0.5877852523 + 0.97592 . i
216 = 0.535826795 + 0.97727 . i
217 = 0.4817536741 + 0.97858 . i
218 = 0.4257792916 + 0.97986 . i
219 = 0.3681245527 + 0.98109 . i
220 = 0.3090169944 + 0.98229 . i
221 = 0.2486898872 + 0.98345 . i
222 = 0.1873813146 + 0.98456 . i
223 = 0.1253332336 + 0.98564 . i
224 = 0.0627905195 + 0.98669 . i
225 = 0 + 0.98769 . i
226 = -0.0627905195 + 0.98865 . i
227 = -0.1253332336 + 0.98958 . i
228 = -0.1873813146 + 0.99046 . i
229 = -0.2486898872 + 0.99131 . i
230 = -0.3090169944 + 0.99211 . i
231 = -0.3681245527 + 0.99288 . i
232 = -0.4257792916 + 0.99361 . i
233 = -0.4817536741 + 0.99430 . i
234 = -0.535826795 + 0.99495 . i
235 = -0.5877852523 + 0.99556 . i
236 = -0.6374239897 + 0.99613 . i
237 = -0.6845471059 + 0.99667 . i
238 = -0.7289686274 + 0.99716 . i
239 = -0.7705132428 + 0.99761 . i
240 = -0.8090169944 + 0.99803 . i
241 = -0.8443279255 + 0.99840 . i
242 = -0.87630668 + 0.99874 . i
243 = -0.9048270525 + 0.99903 . i
244 = -0.9297764859 + 0.99929 . i
245 = -0.9510565163 + 0.99951 . i
246 = -0.9685831611 + 0.99968 . i
247 = -0.9822872507 + 0.99982 . i
248 = -0.9921147013 + 0.99992 . i
249 = -0.9980267284 + 0.99998 . i
250 = -1 + 1.00000 . i
251 = -0.9980267284 + 0.99998 . i
252 = -0.9921147013 + 0.99992 . i
253 = -0.9822872507 + 0.99982 . i
254 = -0.9685831611 + 0.99968 . i
255 = -0.9510565163 + 0.99951 . i
256 = -0.9297764859 + 0.99929 . i
257 = -0.9048270525 + 0.99903 . i
258 = -0.87630668 + 0.99874 . i
259 = -0.8443279255 + 0.99840 . i
260 = -0.8090169944 + 0.99803 . i
261 = -0.7705132428 + 0.99761 . i
262 = -0.7289686274 + 0.99716 . i
263 = -0.6845471059 + 0.99667 . i
264 = -0.6374239897 + 0.99613 . i
265 = -0.5877852523 + 0.99556 . i
266 = -0.535826795 + 0.99495 . i
267 = -0.4817536741 + 0.99430 . i
268 = -0.4257792916 + 0.99361 . i
269 = -0.3681245527 + 0.99288 . i
270 = -0.3090169944 + 0.99211 . i
271 = -0.2486898872 + 0.99131 . i
272 = -0.1873813146 + 0.99046 . i
273 = -0.1253332336 + 0.98958 . i
274 = -0.0627905195 + 0.98865 . i
275 = 0 + 0.98769 . i
276 = 0.0627905195 + 0.98669 . i
277 = 0.1253332336 + 0.98564 . i
278 = 0.1873813146 + 0.98456 . i
279 = 0.2486898872 + 0.98345 . i
280 = 0.3090169944 + 0.98229 . i
281 = 0.3681245527 + 0.98109 . i
282 = 0.4257792916 + 0.97986 . i
283 = 0.4817536741 + 0.97858 . i
284 = 0.535826795 + 0.97727 . i
285 = 0.5877852523 + 0.97592 . i
286 = 0.6374239897 + 0.97453 . i
287 = 0.6845471059 + 0.97310 . i
288 = 0.7289686274 + 0.97163 . i
289 = 0.7705132428 + 0.97013 . i
290 = 0.8090169944 + 0.96858 . i
291 = 0.8443279255 + 0.96700 . i
292 = 0.87630668 + 0.96538 . i
293 = 0.9048270525 + 0.96372 . i
294 = 0.9297764859 + 0.96203 . i
295 = 0.9510565163 + 0.96029 . i
296 = 0.9685831611 + 0.95852 . i
297 = 0.9822872507 + 0.95671 . i
298 = 0.9921147013 + 0.95486 . i
299 = 0.9980267284 + 0.95298 . i
300 = 1 + 0.95106 . i
301 = 0.9980267284 + 0.94910 . i
302 = 0.9921147013 + 0.94710 . i
303 = 0.9822872507 + 0.94506 . i
304 = 0.9685831611 + 0.94299 . i
305 = 0.9510565163 + 0.94088 . i
306 = 0.9297764859 + 0.93873 . i
307 = 0.9048270525 + 0.93655 . i
308 = 0.87630668 + 0.93433 . i
309 = 0.8443279255 + 0.93207 . i
310 = 0.8090169944 + 0.92978 . i
311 = 0.7705132428 + 0.92745 . i
312 = 0.7289686274 + 0.92508 . i
313 = 0.6845471059 + 0.92267 . i
314 = 0.6374239897 + 0.92023 . i
315 = 0.5877852523 + 0.91775 . i
316 = 0.535826795 + 0.91524 . i
317 = 0.4817536741 + 0.91269 . i
318 = 0.4257792916 + 0.91011 . i
319 = 0.3681245527 + 0.90748 . i
320 = 0.3090169944 + 0.90483 . i
321 = 0.2486898872 + 0.90213 . i
322 = 0.1873813146 + 0.89941 . i
323 = 0.1253332336 + 0.89664 . i
324 = 0.0627905195 + 0.89384 . i
325 = 0 + 0.89101 . i
326 = -0.0627905195 + 0.88814 . i
327 = -0.1253332336 + 0.88523 . i
328 = -0.1873813146 + 0.88229 . i
329 = -0.2486898872 + 0.87932 . i
330 = -0.3090169944 + 0.87631 . i
331 = -0.3681245527 + 0.87326 . i
332 = -0.4257792916 + 0.87018 . i
333 = -0.4817536741 + 0.86707 . i
334 = -0.535826795 + 0.86392 . i
335 = -0.5877852523 + 0.86074 . i
336 = -0.6374239897 + 0.85753 . i
337 = -0.6845471059 + 0.85428 . i
338 = -0.7289686274 + 0.85099 . i
339 = -0.7705132428 + 0.84768 . i
340 = -0.8090169944 + 0.84433 . i
341 = -0.8443279255 + 0.84094 . i
342 = -0.87630668 + 0.83753 . i
343 = -0.9048270525 + 0.83408 . i
344 = -0.9297764859 + 0.83060 . i
345 = -0.9510565163 + 0.82708 . i
346 = -0.9685831611 + 0.82353 . i
347 = -0.9822872507 + 0.81995 . i
348 = -0.9921147013 + 0.81634 . i
349 = -0.9980267284 + 0.81269 . i
350 = -1 + 0.80902 . i
351 = -0.9980267284 + 0.80531 . i
352 = -0.9921147013 + 0.80157 . i
353 = -0.9822872507 + 0.79779 . i
354 = -0.9685831611 + 0.79399 . i
355 = -0.9510565163 + 0.79016 . i
356 = -0.9297764859 + 0.78629 . i
357 = -0.9048270525 + 0.78239 . i
358 = -0.87630668 + 0.77846 . i
359 = -0.8443279255 + 0.77450 . i
360 = -0.8090169944 + 0.77051 . i
361 = -0.7705132428 + 0.76649 . i
362 = -0.7289686274 + 0.76244 . i
363 = -0.6845471059 + 0.75836 . i
364 = -0.6374239897 + 0.75425 . i
365 = -0.5877852523 + 0.75011 . i
366 = -0.535826795 + 0.74594 . i
367 = -0.4817536741 + 0.74174 . i
368 = -0.4257792916 + 0.73751 . i
369 = -0.3681245527 + 0.73326 . i
370 = -0.3090169944 + 0.72897 . i
371 = -0.2486898872 + 0.72465 . i
372 = -0.1873813146 + 0.72031 . i
373 = -0.1253332336 + 0.71594 . i
374 = -0.0627905195 + 0.71154 . i
375 = -0 + 0.70711 . i
376 = 0.0627905195 + 0.70265 . i
377 = 0.1253332336 + 0.69817 . i
378 = 0.1873813146 + 0.69365 . i
379 = 0.2486898872 + 0.68911 . i
380 = 0.3090169944 + 0.68455 . i
381 = 0.3681245527 + 0.67995 . i
382 = 0.4257792916 + 0.67533 . i
383 = 0.4817536741 + 0.67069 . i
384 = 0.535826795 + 0.66601 . i
385 = 0.5877852523 + 0.66131 . i
386 = 0.6374239897 + 0.65659 . i
387 = 0.6845471059 + 0.65183 . i
388 = 0.7289686274 + 0.64706 . i
389 = 0.7705132428 + 0.64225 . i
390 = 0.8090169944 + 0.63742 . i
391 = 0.8443279255 + 0.63257 . i
392 = 0.87630668 + 0.62769 . i
393 = 0.9048270525 + 0.62279 . i
394 = 0.9297764859 + 0.61786 . i
395 = 0.9510565163 + 0.61291 . i
396 = 0.9685831611 + 0.60793 . i
397 = 0.9822872507 + 0.60293 . i
398 = 0.9921147013 + 0.59790 . i
399 = 0.9980267284 + 0.59286 . i
400 = 1 + 0.58779 . i
401 = 0.9980267284 + 0.58269 . i
402 = 0.9921147013 + 0.57757 . i
403 = 0.9822872507 + 0.57243 . i
404 = 0.9685831611 + 0.56727 . i
405 = 0.9510565163 + 0.56208 . i
406 = 0.9297764859 + 0.55688 . i
407 = 0.9048270525 + 0.55165 . i
408 = 0.87630668 + 0.54639 . i
409 = 0.8443279255 + 0.54112 . i
410 = 0.8090169944 + 0.53583 . i
411 = 0.7705132428 + 0.53051 . i
412 = 0.7289686274 + 0.52517 . i
413 = 0.6845471059 + 0.51982 . i
414 = 0.6374239897 + 0.51444 . i
415 = 0.5877852523 + 0.50904 . i
416 = 0.535826795 + 0.50362 . i
417 = 0.4817536741 + 0.49819 . i
418 = 0.4257792916 + 0.49273 . i
419 = 0.3681245527 + 0.48725 . i
420 = 0.3090169944 + 0.48175 . i
421 = 0.2486898872 + 0.47624 . i
422 = 0.1873813146 + 0.47070 . i
423 = 0.1253332336 + 0.46515 . i
424 = 0.0627905195 + 0.45958 . i
425 = 0 + 0.45399 . i
426 = -0.0627905195 + 0.44838 . i
427 = -0.1253332336 + 0.44276 . i
428 = -0.1873813146 + 0.43712 . i
429 = -0.2486898872 + 0.43146 . i
430 = -0.3090169944 + 0.42578 . i
431 = -0.3681245527 + 0.42009 . i
432 = -0.4257792916 + 0.41438 . i
433 = -0.4817536741 + 0.40865 . i
434 = -0.535826795 + 0.40291 . i
435 = -0.5877852523 + 0.39715 . i
436 = -0.6374239897 + 0.39137 . i
437 = -0.6845471059 + 0.38558 . i
438 = -0.7289686274 + 0.37978 . i
439 = -0.7705132428 + 0.37396 . i
440 = -0.8090169944 + 0.36812 . i
441 = -0.8443279255 + 0.36228 . i
442 = -0.87630668 + 0.35641 . i
443 = -0.9048270525 + 0.35053 . i
444 = -0.9297764859 + 0.34464 . i
445 = -0.9510565163 + 0.33874 . i
446 = -0.9685831611 + 0.33282 . i
447 = -0.9822872507 + 0.32689 . i
448 = -0.9921147013 + 0.32094 . i
449 = -0.9980267284 + 0.31499 . i
450 = -1 + 0.30902 . i
451 = -0.9980267284 + 0.30304 . i
452 = -0.9921147013 + 0.29704 . i
453 = -0.9822872507 + 0.29104 . i
454 = -0.9685831611 + 0.28502 . i
455 = -0.9510565163 + 0.27899 . i
456 = -0.9297764859 + 0.27295 . i
457 = -0.9048270525 + 0.26690 . i
458 = -0.87630668 + 0.26084 . i
459 = -0.8443279255 + 0.25477 . i
460 = -0.8090169944 + 0.24869 . i
461 = -0.7705132428 + 0.24260 . i
462 = -0.7289686274 + 0.23650 . i
463 = -0.6845471059 + 0.23039 . i
464 = -0.6374239897 + 0.22427 . i
465 = -0.5877852523 + 0.21814 . i
466 = -0.535826795 + 0.21201 . i
467 = -0.4817536741 + 0.20586 . i
468 = -0.4257792916 + 0.19971 . i
469 = -0.3681245527 + 0.19355 . i
470 = -0.3090169944 + 0.18738 . i
471 = -0.2486898872 + 0.18121 . i
472 = -0.1873813146 + 0.17502 . i
473 = -0.1253332336 + 0.16883 . i
474 = -0.0627905195 + 0.16264 . i
475 = 0 + 0.15643 . i
476 = 0.0627905195 + 0.15023 . i
477 = 0.1253332336 + 0.14401 . i
478 = 0.1873813146 + 0.13779 . i
479 = 0.2486898872 + 0.13156 . i
480 = 0.3090169944 + 0.12533 . i
481 = 0.3681245527 + 0.11910 . i
482 = 0.4257792916 + 0.11286 . i
483 = 0.4817536741 + 0.10661 . i
484 = 0.535826795 + 0.10036 . i
485 = 0.5877852523 + 0.09411 . i
486 = 0.6374239897 + 0.08785 . i
487 = 0.6845471059 + 0.08159 . i
488 = 0.7289686274 + 0.07533 . i
489 = 0.7705132428 + 0.06906 . i
490 = 0.8090169944 + 0.06279 . i
491 = 0.8443279255 + 0.05652 . i
492 = 0.87630668 + 0.05024 . i
493 = 0.9048270525 + 0.04397 . i
494 = 0.9297764859 + 0.03769 . i
495 = 0.9510565163 + 0.03141 . i
496 = 0.9685831611 + 0.02513 . i
497 = 0.9822872507 + 0.01885 . i
498 = 0.9921147013 + 0.01257 . i
499 = 0.9980267284 + 0.00628 . i
500 = 1 + 0.00000 . i
501 = 0.9980267284 + -0.00628 . i
502 = 0.9921147013 + -0.01257 . i
503 = 0.9822872507 + -0.01885 . i
504 = 0.9685831611 + -0.02513 . i
505 = 0.9510565163 + -0.03141 . i
506 = 0.9297764859 + -0.03769 . i
507 = 0.9048270525 + -0.04397 . i
508 = 0.87630668 + -0.05024 . i
509 = 0.8443279255 + -0.05652 . i
510 = 0.8090169944 + -0.06279 . i
511 = 0.7705132428 + -0.06906 . i
512 = 0.7289686274 + -0.07533 . i
513 = 0.6845471059 + -0.08159 . i
514 = 0.6374239897 + -0.08785 . i
515 = 0.5877852523 + -0.09411 . i
516 = 0.535826795 + -0.10036 . i
517 = 0.4817536741 + -0.10661 . i
518 = 0.4257792916 + -0.11286 . i
519 = 0.3681245527 + -0.11910 . i
520 = 0.3090169944 + -0.12533 . i
521 = 0.2486898872 + -0.13156 . i
522 = 0.1873813146 + -0.13779 . i
523 = 0.1253332336 + -0.14401 . i
524 = 0.0627905195 + -0.15023 . i
525 = -0 + -0.15643 . i
526 = -0.0627905195 + -0.16264 . i
527 = -0.1253332336 + -0.16883 . i
528 = -0.1873813146 + -0.17502 . i
529 = -0.2486898872 + -0.18121 . i
530 = -0.3090169944 + -0.18738 . i
531 = -0.3681245527 + -0.19355 . i
532 = -0.4257792916 + -0.19971 . i
533 = -0.4817536741 + -0.20586 . i
534 = -0.535826795 + -0.21201 . i
535 = -0.5877852523 + -0.21814 . i
536 = -0.6374239897 + -0.22427 . i
537 = -0.6845471059 + -0.23039 . i
538 = -0.7289686274 + -0.23650 . i
539 = -0.7705132428 + -0.24260 . i
540 = -0.8090169944 + -0.24869 . i
541 = -0.8443279255 + -0.25477 . i
542 = -0.87630668 + -0.26084 . i
543 = -0.9048270525 + -0.26690 . i
544 = -0.9297764859 + -0.27295 . i
545 = -0.9510565163 + -0.27899 . i
546 = -0.9685831611 + -0.28502 . i
547 = -0.9822872507 + -0.29104 . i
548 = -0.9921147013 + -0.29704 . i
549 = -0.9980267284 + -0.30304 . i
550 = -1 + -0.30902 . i
551 = -0.9980267284 + -0.31499 . i
552 = -0.9921147013 + -0.32094 . i
553 = -0.9822872507 + -0.32689 . i
554 = -0.9685831611 + -0.33282 . i
555 = -0.9510565163 + -0.33874 . i
556 = -0.9297764859 + -0.34464 . i
557 = -0.9048270525 + -0.35053 . i
558 = -0.87630668 + -0.35641 . i
559 = -0.8443279255 + -0.36228 . i
560 = -0.8090169944 + -0.36812 . i
561 = -0.7705132428 + -0.37396 . i
562 = -0.7289686274 + -0.37978 . i
563 = -0.6845471059 + -0.38558 . i
564 = -0.6374239897 + -0.39137 . i
565 = -0.5877852523 + -0.39715 . i
566 = -0.535826795 + -0.40291 . i
567 = -0.4817536741 + -0.40865 . i
568 = -0.4257792916 + -0.41438 . i
569 = -0.3681245527 + -0.42009 . i
570 = -0.3090169944 + -0.42578 . i
571 = -0.2486898872 + -0.43146 . i
572 = -0.1873813146 + -0.43712 . i
573 = -0.1253332336 + -0.44276 . i
574 = -0.0627905195 + -0.44838 . i
575 = -0 + -0.45399 . i
576 = 0.0627905195 + -0.45958 . i
577 = 0.1253332336 + -0.46515 . i
578 = 0.1873813146 + -0.47070 . i
579 = 0.2486898872 + -0.47624 . i
580 = 0.3090169944 + -0.48175 . i
581 = 0.3681245527 + -0.48725 . i
582 = 0.4257792916 + -0.49273 . i
583 = 0.4817536741 + -0.49819 . i
584 = 0.535826795 + -0.50362 . i
585 = 0.5877852523 + -0.50904 . i
586 = 0.6374239897 + -0.51444 . i
587 = 0.6845471059 + -0.51982 . i
588 = 0.7289686274 + -0.52517 . i
589 = 0.7705132428 + -0.53051 . i
590 = 0.8090169944 + -0.53583 . i
591 = 0.8443279255 + -0.54112 . i
592 = 0.87630668 + -0.54639 . i
593 = 0.9048270525 + -0.55165 . i
594 = 0.9297764859 + -0.55688 . i
595 = 0.9510565163 + -0.56208 . i
596 = 0.9685831611 + -0.56727 . i
597 = 0.9822872507 + -0.57243 . i
598 = 0.9921147013 + -0.57757 . i
599 = 0.9980267284 + -0.58269 . i
600 = 1 + -0.58779 . i
601 = 0.9980267284 + -0.59286 . i
602 = 0.9921147013 + -0.59790 . i
603 = 0.9822872507 + -0.60293 . i
604 = 0.9685831611 + -0.60793 . i
605 = 0.9510565163 + -0.61291 . i
606 = 0.9297764859 + -0.61786 . i
607 = 0.9048270525 + -0.62279 . i
608 = 0.87630668 + -0.62769 . i
609 = 0.8443279255 + -0.63257 . i
610 = 0.8090169944 + -0.63742 . i
611 = 0.7705132428 + -0.64225 . i
612 = 0.7289686274 + -0.64706 . i
613 = 0.6845471059 + -0.65183 . i
614 = 0.6374239897 + -0.65659 . i
615 = 0.5877852523 + -0.66131 . i
616 = 0.535826795 + -0.66601 . i
617 = 0.4817536741 + -0.67069 . i
618 = 0.4257792916 + -0.67533 . i
619 = 0.3681245527 + -0.67995 . i
620 = 0.3090169944 + -0.68455 . i
621 = 0.2486898872 + -0.68911 . i
622 = 0.1873813146 + -0.69365 . i
623 = 0.1253332336 + -0.69817 . i
624 = 0.0627905195 + -0.70265 . i
625 = -0 + -0.70711 . i
626 = -0.0627905195 + -0.71154 . i
627 = -0.1253332336 + -0.71594 . i
628 = -0.1873813146 + -0.72031 . i
629 = -0.2486898872 + -0.72465 . i
630 = -0.3090169944 + -0.72897 . i
631 = -0.3681245527 + -0.73326 . i
632 = -0.4257792916 + -0.73751 . i
633 = -0.4817536741 + -0.74174 . i
634 = -0.535826795 + -0.74594 . i
635 = -0.5877852523 + -0.75011 . i
636 = -0.6374239897 + -0.75425 . i
637 = -0.6845471059 + -0.75836 . i
638 = -0.7289686274 + -0.76244 . i
639 = -0.7705132428 + -0.76649 . i
640 = -0.8090169944 + -0.77051 . i
641 = -0.8443279255 + -0.77450 . i
642 = -0.87630668 + -0.77846 . i
643 = -0.9048270525 + -0.78239 . i
644 = -0.9297764859 + -0.78629 . i
645 = -0.9510565163 + -0.79016 . i
646 = -0.9685831611 + -0.79399 . i
647 = -0.9822872507 + -0.79779 . i
648 = -0.9921147013 + -0.80157 . i
649 = -0.9980267284 + -0.80531 . i
650 = -1 + -0.80902 . i
651 = -0.9980267284 + -0.81269 . i
652 = -0.9921147013 + -0.81634 . i
653 = -0.9822872507 + -0.81995 . i
654 = -0.9685831611 + -0.82353 . i
655 = -0.9510565163 + -0.82708 . i
656 = -0.9297764859 + -0.83060 . i
657 = -0.9048270525 + -0.83408 . i
658 = -0.87630668 + -0.83753 . i
659 = -0.8443279255 + -0.84094 . i
660 = -0.8090169944 + -0.84433 . i
661 = -0.7705132428 + -0.84768 . i
662 = -0.7289686274 + -0.85099 . i
663 = -0.6845471059 + -0.85428 . i
664 = -0.6374239897 + -0.85753 . i
665 = -0.5877852523 + -0.86074 . i
666 = -0.535826795 + -0.86392 . i
667 = -0.4817536741 + -0.86707 . i
668 = -0.4257792916 + -0.87018 . i
669 = -0.3681245527 + -0.87326 . i
670 = -0.3090169944 + -0.87631 . i
671 = -0.2486898872 + -0.87932 . i
672 = -0.1873813146 + -0.88229 . i
673 = -0.1253332336 + -0.88523 . i
674 = -0.0627905195 + -0.88814 . i
675 = 0 + -0.89101 . i
676 = 0.0627905195 + -0.89384 . i
677 = 0.1253332336 + -0.89664 . i
678 = 0.1873813146 + -0.89941 . i
679 = 0.2486898872 + -0.90213 . i
680 = 0.3090169944 + -0.90483 . i
681 = 0.3681245527 + -0.90748 . i
682 = 0.4257792916 + -0.91011 . i
683 = 0.4817536741 + -0.91269 . i
684 = 0.535826795 + -0.91524 . i
685 = 0.5877852523 + -0.91775 . i
686 = 0.6374239897 + -0.92023 . i
687 = 0.6845471059 + -0.92267 . i
688 = 0.7289686274 + -0.92508 . i
689 = 0.7705132428 + -0.92745 . i
690 = 0.8090169944 + -0.92978 . i
691 = 0.8443279255 + -0.93207 . i
692 = 0.87630668 + -0.93433 . i
693 = 0.9048270525 + -0.93655 . i
694 = 0.9297764859 + -0.93873 . i
695 = 0.9510565163 + -0.94088 . i
696 = 0.9685831611 + -0.94299 . i
697 = 0.9822872507 + -0.94506 . i
698 = 0.9921147013 + -0.94710 . i
699 = 0.9980267284 + -0.94910 . i
700 = 1 + -0.95106 . i
701 = 0.9980267284 + -0.95298 . i
702 = 0.9921147013 + -0.95486 . i
703 = 0.9822872507 + -0.95671 . i
704 = 0.9685831611 + -0.95852 . i
705 = 0.9510565163 + -0.96029 . i
706 = 0.9297764859 + -0.96203 . i
707 = 0.9048270525 + -0.96372 . i
708 = 0.87630668 + -0.96538 . i
709 = 0.8443279255 + -0.96700 . i
710 = 0.8090169944 + -0.96858 . i
711 = 0.7705132428 + -0.97013 . i
712 = 0.7289686274 + -0.97163 . i
713 = 0.6845471059 + -0.97310 . i
714 = 0.6374239897 + -0.97453 . i
715 = 0.5877852523 + -0.97592 . i
716 = 0.535826795 + -0.97727 . i
717 = 0.4817536741 + -0.97858 . i
718 = 0.4257792916 + -0.97986 . i
719 = 0.3681245527 + -0.98109 . i
720 = 0.3090169944 + -0.98229 . i
721 = 0.2486898872 + -0.98345 . i
722 = 0.1873813146 + -0.98456 . i
723 = 0.1253332336 + -0.98564 . i
724 = 0.0627905195 + -0.98669 . i
725 = 0 + -0.98769 . i
726 = -0.0627905195 + -0.98865 . i
727 = -0.1253332336 + -0.98958 . i
728 = -0.1873813146 + -0.99046 . i
729 = -0.2486898872 + -0.99131 . i
730 = -0.3090169944 + -0.99211 . i
731 = -0.3681245527 + -0.99288 . i
732 = -0.4257792916 + -0.99361 . i
733 = -0.4817536741 + -0.99430 . i
734 = -0.535826795 + -0.99495 . i
735 = -0.5877852523 + -0.99556 . i
736 = -0.6374239897 + -0.99613 . i
737 = -0.6845471059 + -0.99667 . i
738 = -0.7289686274 + -0.99716 . i
739 = -0.7705132428 + -0.99761 . i
740 = -0.8090169944 + -0.99803 . i
741 = -0.8443279255 + -0.99840 . i
742 = -0.87630668 + -0.99874 . i
743 = -0.9048270525 + -0.99903 . i
744 = -0.9297764859 + -0.99929 . i
745 = -0.9510565163 + -0.99951 . i
746 = -0.9685831611 + -0.99968 . i
747 = -0.9822872507 + -0.99982 . i
748 = -0.9921147013 + -0.99992 . i
749 = -0.9980267284 + -0.99998 . i
750 = -1 + -1.00000 . i
751 = -0.9980267284 + -0.99998 . i
752 = -0.9921147013 + -0.99992 . i
753 = -0.9822872507 + -0.99982 . i
754 = -0.9685831611 + -0.99968 . i
755 = -0.9510565163 + -0.99951 . i
756 = -0.9297764859 + -0.99929 . i
757 = -0.9048270525 + -0.99903 . i
758 = -0.87630668 + -0.99874 . i
759 = -0.8443279255 + -0.99840 . i
760 = -0.8090169944 + -0.99803 . i
761 = -0.7705132428 + -0.99761 . i
762 = -0.7289686274 + -0.99716 . i
763 = -0.6845471059 + -0.99667 . i
764 = -0.6374239897 + -0.99613 . i
765 = -0.5877852523 + -0.99556 . i
766 = -0.535826795 + -0.99495 . i
767 = -0.4817536741 + -0.99430 . i
768 = -0.4257792916 + -0.99361 . i
769 = -0.3681245527 + -0.99288 . i
770 = -0.3090169944 + -0.99211 . i
771 = -0.2486898872 + -0.99131 . i
772 = -0.1873813146 + -0.99046 . i
773 = -0.1253332336 + -0.98958 . i
774 = -0.0627905195 + -0.98865 . i
775 = -0 + -0.98769 . i
776 = 0.0627905195 + -0.98669 . i
777 = 0.1253332336 + -0.98564 . i
778 = 0.1873813146 + -0.98456 . i
779 = 0.2486898872 + -0.98345 . i
780 = 0.3090169944 + -0.98229 . i
781 = 0.3681245527 + -0.98109 . i
782 = 0.4257792916 + -0.97986 . i
783 = 0.4817536741 + -0.97858 . i
784 = 0.535826795 + -0.97727 . i
785 = 0.5877852523 + -0.97592 . i
786 = 0.6374239897 + -0.97453 . i
787 = 0.6845471059 + -0.97310 . i
788 = 0.7289686274 + -0.97163 . i
789 = 0.7705132428 + -0.97013 . i
790 = 0.8090169944 + -0.96858 . i
791 = 0.8443279255 + -0.96700 . i
792 = 0.87630668 + -0.96538 . i
793 = 0.9048270525 + -0.96372 . i
794 = 0.9297764859 + -0.96203 . i
795 = 0.9510565163 + -0.96029 . i
796 = 0.9685831611 + -0.95852 . i
797 = 0.9822872507 + -0.95671 . i
798 = 0.9921147013 + -0.95486 . i
799 = 0.9980267284 + -0.95298 . i
800 = 1 + -0.95106 . i
801 = 0.9980267284 + -0.94910 . i
802 = 0.9921147013 + -0.94710 . i
803 = 0.9822872507 + -0.94506 . i
804 = 0.9685831611 + -0.94299 . i
805 = 0.9510565163 + -0.94088 . i
806 = 0.9297764859 + -0.93873 . i
807 = 0.9048270525 + -0.93655 . i
808 = 0.87630668 + -0.93433 . i
809 = 0.8443279255 + -0.93207 . i
810 = 0.8090169944 + -0.92978 . i
811 = 0.7705132428 + -0.92745 . i
812 = 0.7289686274 + -0.92508 . i
813 = 0.6845471059 + -0.92267 . i
814 = 0.6374239897 + -0.92023 . i
815 = 0.5877852523 + -0.91775 . i
816 = 0.535826795 + -0.91524 . i
817 = 0.4817536741 + -0.91269 . i
818 = 0.4257792916 + -0.91011 . i
819 = 0.3681245527 + -0.90748 . i
820 = 0.3090169944 + -0.90483 . i
821 = 0.2486898872 + -0.90213 . i
822 = 0.1873813146 + -0.89941 . i
823 = 0.1253332336 + -0.89664 . i
824 = 0.0627905195 + -0.89384 . i
825 = 0 + -0.89101 . i
826 = -0.0627905195 + -0.88814 . i
827 = -0.1253332336 + -0.88523 . i
828 = -0.1873813146 + -0.88229 . i
829 = -0.2486898872 + -0.87932 . i
830 = -0.3090169944 + -0.87631 . i
831 = -0.3681245527 + -0.87326 . i
832 = -0.4257792916 + -0.87018 . i
833 = -0.4817536741 + -0.86707 . i
834 = -0.535826795 + -0.86392 . i
835 = -0.5877852523 + -0.86074 . i
836 = -0.6374239897 + -0.85753 . i
837 = -0.6845471059 + -0.85428 . i
838 = -0.7289686274 + -0.85099 . i
839 = -0.7705132428 + -0.84768 . i
840 = -0.8090169944 + -0.84433 . i
841 = -0.8443279255 + -0.84094 . i
842 = -0.87630668 + -0.83753 . i
843 = -0.9048270525 + -0.83408 . i
844 = -0.9297764859 + -0.83060 . i
845 = -0.9510565163 + -0.82708 . i
846 = -0.9685831611 + -0.82353 . i
847 = -0.9822872507 + -0.81995 . i
848 = -0.9921147013 + -0.81634 . i
849 = -0.9980267284 + -0.81269 . i
850 = -1 + -0.80902 . i
851 = -0.9980267284 + -0.80531 . i
852 = -0.9921147013 + -0.80157 . i
853 = -0.9822872507 + -0.79779 . i
854 = -0.9685831611 + -0.79399 . i
855 = -0.9510565163 + -0.79016 . i
856 = -0.9297764859 + -0.78629 . i
857 = -0.9048270525 + -0.78239 . i
858 = -0.87630668 + -0.77846 . i
859 = -0.8443279255 + -0.77450 . i
860 = -0.8090169944 + -0.77051 . i
861 = -0.7705132428 + -0.76649 . i
862 = -0.7289686274 + -0.76244 . i
863 = -0.6845471059 + -0.75836 . i
864 = -0.6374239897 + -0.75425 . i
865 = -0.5877852523 + -0.75011 . i
866 = -0.535826795 + -0.74594 . i
867 = -0.4817536741 + -0.74174 . i
868 = -0.4257792916 + -0.73751 . i
869 = -0.3681245527 + -0.73326 . i
870 = -0.3090169944 + -0.72897 . i
871 = -0.2486898872 + -0.72465 . i
872 = -0.1873813146 + -0.72031 . i
873 = -0.1253332336 + -0.71594 . i
874 = -0.0627905195 + -0.71154 . i
875 = -0 + -0.70711 . i
876 = 0.0627905195 + -0.70265 . i
877 = 0.1253332336 + -0.69817 . i
878 = 0.1873813146 + -0.69365 . i
879 = 0.2486898872 + -0.68911 . i
880 = 0.3090169944 + -0.68455 . i
881 = 0.3681245527 + -0.67995 . i
882 = 0.4257792916 + -0.67533 . i
883 = 0.4817536741 + -0.67069 . i
884 = 0.535826795 + -0.66601 . i
885 = 0.5877852523 + -0.66131 . i
886 = 0.6374239897 + -0.65659 . i
887 = 0.6845471059 + -0.65183 . i
888 = 0.7289686274 + -0.64706 . i
889 = 0.7705132428 + -0.64225 . i
890 = 0.8090169944 + -0.63742 . i
891 = 0.8443279255 + -0.63257 . i
892 = 0.87630668 + -0.62769 . i
893 = 0.9048270525 + -0.62279 . i
894 = 0.9297764859 + -0.61786 . i
895 = 0.9510565163 + -0.61291 . i
896 = 0.9685831611 + -0.60793 . i
897 = 0.9822872507 + -0.60293 . i
898 = 0.9921147013 + -0.59790 . i
899 = 0.9980267284 + -0.59286 . i
900 = 1 + -0.58779 . i
901 = 0.9980267284 + -0.58269 . i
902 = 0.9921147013 + -0.57757 . i
903 = 0.9822872507 + -0.57243 . i
904 = 0.9685831611 + -0.56727 . i
905 = 0.9510565163 + -0.56208 . i
906 = 0.9297764859 + -0.55688 . i
907 = 0.9048270525 + -0.55165 . i
908 = 0.87630668 + -0.54639 . i
909 = 0.8443279255 + -0.54112 . i
910 = 0.8090169944 + -0.53583 . i
911 = 0.7705132428 + -0.53051 . i
912 = 0.7289686274 + -0.52517 . i
913 = 0.6845471059 + -0.51982 . i
914 = 0.6374239897 + -0.51444 . i
915 = 0.5877852523 + -0.50904 . i
916 = 0.535826795 + -0.50362 . i
917 = 0.4817536741 + -0.49819 . i
918 = 0.4257792916 + -0.49273 . i
919 = 0.3681245527 + -0.48725 . i
920 = 0.3090169944 + -0.48175 . i
921 = 0.2486898872 + -0.47624 . i
922 = 0.1873813146 + -0.47070 . i
923 = 0.1253332336 + -0.46515 . i
924 = 0.0627905195 + -0.45958 . i
925 = 0 + -0.45399 . i
926 = -0.0627905195 + -0.44838 . i
927 = -0.1253332336 + -0.44276 . i
928 = -0.1873813146 + -0.43712 . i
929 = -0.2486898872 + -0.43146 . i
930 = -0.3090169944 + -0.42578 . i
931 = -0.3681245527 + -0.42009 . i
932 = -0.4257792916 + -0.41438 . i
933 = -0.4817536741 + -0.40865 . i
934 = -0.535826795 + -0.40291 . i
935 = -0.5877852523 + -0.39715 . i
936 = -0.6374239897 + -0.39137 . i
937 = -0.6845471059 + -0.38558 . i
938 = -0.7289686274 + -0.37978 . i
939 = -0.7705132428 + -0.37396 . i
940 = -0.8090169944 + -0.36812 . i
941 = -0.8443279255 + -0.36228 . i
942 = -0.87630668 + -0.35641 . i
943 = -0.9048270525 + -0.35053 . i
944 = -0.9297764859 + -0.34464 . i
945 = -0.9510565163 + -0.33874 . i
946 = -0.9685831611 + -0.33282 . i
947 = -0.9822872507 + -0.32689 . i
948 = -0.9921147013 + -0.32094 . i
949 = -0.9980267284 + -0.31499 . i
950 = -1 + -0.30902 . i
951 = -0.9980267284 + -0.30304 . i
952 = -0.9921147013 + -0.29704 . i
953 = -0.9822872507 + -0.29104 . i
954 = -0.9685831611 + -0.28502 . i
955 = -0.9510565163 + -0.27899 . i
956 = -0.9297764859 + -0.27295 . i
957 = -0.9048270525 + -0.26690 . i
958 = -0.87630668 + -0.26084 . i
959 = -0.8443279255 + -0.25477 . i
960 = -0.8090169944 + -0.24869 . i
961 = -0.7705132428 + -0.24260 . i
962 = -0.7289686274 + -0.23650 . i
963 = -0.6845471059 + -0.23039 . i
964 = -0.6374239897 + -0.22427 . i
965 = -0.5877852523 + -0.21814 . i
966 = -0.535826795 + -0.21201 . i
967 = -0.4817536741 + -0.20586 . i
968 = -0.4257792916 + -0.19971 . i
969 = -0.3681245527 + -0.19355 . i
970 = -0.3090169944 + -0.18738 . i
971 = -0.2486898872 + -0.18121 . i
972 = -0.1873813146 + -0.17502 . i
973 = -0.1253332336 + -0.16883 . i
974 = -0.0627905195 + -0.16264 . i
975 = 0 + -0.15643 . i
976 = 0.0627905195 + -0.15023 . i
977 = 0.1253332336 + -0.14401 . i
978 = 0.1873813146 + -0.13779 . i
979 = 0.2486898872 + -0.13156 . i
980 = 0.3090169944 + -0.12533 . i
981 = 0.3681245527 + -0.11910 . i
982 = 0.4257792916 + -0.11286 . i
983 = 0.4817536741 + -0.10661 . i
984 = 0.535826795 + -0.10036 . i
985 = 0.5877852523 + -0.09411 . i
986 = 0.6374239897 + -0.08785 . i
987 = 0.6845471059 + -0.08159 . i
988 = 0.7289686274 + -0.07533 . i
989 = 0.7705132428 + -0.06906 . i
990 = 0.8090169944 + -0.06279 . i
991 = 0.8443279255 + -0.05652 . i
992 = 0.87630668 + -0.05024 . i
993 = 0.9048270525 + -0.04397 . i
994 = 0.9297764859 + -0.03769 . i
995 = 0.9510565163 + -0.03141 . i
996 = 0.9685831611 + -0.02513 . i
997 = 0.9822872507 + -0.01885 . i
998 = 0.9921147013 + -0.01257 . i
999 = 0.9980267284 + -0.00628 . i

suite dans le post suivant...
Mesa.
Mesa
Messages : 1097
Inscription : mer. 14/sept./2011 16:59

Re: FFT 2D avec FFTW

Message par Mesa »

...suite
0 = 0 + 0.00000 . i
1 = 0 + 0.00000 . i
2 = 0 + 0.00000 . i
3 = 0 + 0.00000 . i
4 = 0 + 0.00000 . i
5 = 0 + 0.00000 . i
6 = 0 + 0.00000 . i
7 = 0 + 0.00000 . i
8 = 0 + 0.00000 . i
9 = 0 + 0.00000 . i
10 = 0 + 0.00000 . i
11 = 0 + 0.00000 . i
12 = 0 + 0.00000 . i
13 = 0 + 0.00000 . i
14 = 0 + 0.00000 . i
15 = 0 + 0.00000 . i
16 = 0 + 0.00000 . i
17 = 0 + 0.00000 . i
18 = 0 + 0.00000 . i
19 = 0 + 0.00000 . i
20 = 0 + 0.00000 . i
21 = 0 + 0.00000 . i
22 = 0 + 0.00000 . i
23 = 0 + 0.00000 . i
24 = 0 + 0.00000 . i
25 = 0 + 0.00000 . i
26 = 0 + 0.00000 . i
27 = 0 + 0.00000 . i
28 = 0 + 0.00000 . i
29 = 0 + 0.00000 . i
30 = 0 + 0.00000 . i
31 = 0 + 0.00000 . i
32 = 0 + 0.00000 . i
33 = 0 + 0.00000 . i
34 = 0 + 0.00000 . i
35 = 0 + 0.00000 . i
36 = 0 + 0.00000 . i
37 = 0 + 0.00000 . i
38 = 0 + 0.00000 . i
39 = 0 + 0.00000 . i
40 = 0 + 0.00000 . i
41 = 0 + 0.00000 . i
42 = 0 + 0.00000 . i
43 = 0 + 0.00000 . i
44 = 0 + 0.00000 . i
45 = 0 + 0.00000 . i
46 = 0 + 0.00000 . i
47 = 0 + 0.00000 . i
48 = 0 + 0.00000 . i
49 = 0 + 0.00000 . i
50 = 0 + 0.00000 . i
51 = 0 + 0.00000 . i
52 = 0 + 0.00000 . i
53 = 0 + 0.00000 . i
54 = 0 + 0.00000 . i
55 = 0 + 0.00000 . i
56 = 0 + 0.00000 . i
57 = 0 + 0.00000 . i
58 = 0 + 0.00000 . i
59 = 0 + 0.00000 . i
60 = 0 + 0.00000 . i
61 = 0 + 0.00000 . i
62 = 0 + 0.00000 . i
63 = 0 + 0.00000 . i
64 = 0 + 0.00000 . i
65 = 0 + 0.00000 . i
66 = 0 + 0.00000 . i
67 = 0 + 0.00000 . i
68 = 0 + 0.00000 . i
69 = 0 + 0.00000 . i
70 = 0 + 0.00000 . i
71 = 0 + 0.00000 . i
72 = 0 + 0.00000 . i
73 = 0 + 0.00000 . i
74 = 0 + 0.00000 . i
75 = 0 + 0.00000 . i
76 = 0 + 0.00000 . i
77 = 0 + 0.00000 . i
78 = 0 + 0.00000 . i
79 = 0 + 0.00000 . i
80 = 0 + 0.00000 . i
81 = 0 + 0.00000 . i
82 = 0 + 0.00000 . i
83 = 0 + 0.00000 . i
84 = 0 + 0.00000 . i
85 = 0 + 0.00000 . i
86 = 0 + 0.00000 . i
87 = 0 + 0.00000 . i
88 = 0 + 0.00000 . i
89 = 0 + 0.00000 . i
90 = 0 + 0.00000 . i
91 = 0 + 0.00000 . i
92 = 0 + 0.00000 . i
93 = 0 + 0.00000 . i
94 = 0 + 0.00000 . i
95 = 0 + 0.00000 . i
96 = 0 + 0.00000 . i
97 = 0 + 0.00000 . i
98 = 0 + 0.00000 . i
99 = 0 + 0.00000 . i
100 = 0 + 0.00000 . i
101 = 0 + 0.00000 . i
102 = 0 + 0.00000 . i
103 = 0 + 0.00000 . i
104 = 0 + 0.00000 . i
105 = 0 + 0.00000 . i
106 = 0 + 0.00000 . i
107 = 0 + 0.00000 . i
108 = 0 + 0.00000 . i
109 = 0 + 0.00000 . i
110 = 0 + 0.00000 . i
111 = 0 + 0.00000 . i
112 = 0 + 0.00000 . i
113 = 0 + 0.00000 . i
114 = 0 + 0.00000 . i
115 = 0 + 0.00000 . i
116 = 0 + 0.00000 . i
117 = 0 + 0.00000 . i
118 = 0 + 0.00000 . i
119 = 0 + 0.00000 . i
120 = 0 + 0.00000 . i
121 = 0 + 0.00000 . i
122 = 0 + 0.00000 . i
123 = 0 + 0.00000 . i
124 = 0 + 0.00000 . i
125 = 0 + 0.00000 . i
126 = 0 + 0.00000 . i
127 = 0 + 0.00000 . i
128 = 0 + 0.00000 . i
129 = 0 + 0.00000 . i
130 = 0 + 0.00000 . i
131 = 0 + 0.00000 . i
132 = 0 + 0.00000 . i
133 = 0 + 0.00000 . i
134 = 0 + 0.00000 . i
135 = 0 + 0.00000 . i
136 = 0 + 0.00000 . i
137 = 0 + 0.00000 . i
138 = 0 + 0.00000 . i
139 = 0 + 0.00000 . i
140 = 0 + 0.00000 . i
141 = 0 + 0.00000 . i
142 = 0 + 0.00000 . i
143 = 0 + 0.00000 . i
144 = 0 + 0.00000 . i
145 = 0 + 0.00000 . i
146 = 0 + 0.00000 . i
147 = 0 + 0.00000 . i
148 = 0 + 0.00000 . i
149 = 0 + 0.00000 . i
150 = 0 + 0.00000 . i
151 = 0 + 0.00000 . i
152 = 0 + 0.00000 . i
153 = 0 + 0.00000 . i
154 = 0 + 0.00000 . i
155 = 0 + 0.00000 . i
156 = 0 + 0.00000 . i
157 = 0 + 0.00000 . i
158 = 0 + 0.00000 . i
159 = 0 + 0.00000 . i
160 = 0 + 0.00000 . i
161 = 0 + 0.00000 . i
162 = 0 + 0.00000 . i
163 = 0 + 0.00000 . i
164 = 0 + 0.00000 . i
165 = 0 + 0.00000 . i
166 = 0 + 0.00000 . i
167 = 0 + 0.00000 . i
168 = 0 + 0.00000 . i
169 = 0 + 0.00000 . i
170 = 0 + 0.00000 . i
171 = 0 + 0.00000 . i
172 = 0 + 0.00000 . i
173 = 0 + 0.00000 . i
174 = 0 + 0.00000 . i
175 = 0 + 0.00000 . i
176 = 0 + 0.00000 . i
177 = 0 + 0.00000 . i
178 = 0 + 0.00000 . i
179 = 0 + 0.00000 . i
180 = 0 + 0.00000 . i
181 = 0 + 0.00000 . i
182 = 0 + 0.00000 . i
183 = 0 + 0.00000 . i
184 = 0 + 0.00000 . i
185 = 0 + 0.00000 . i
186 = 0 + 0.00000 . i
187 = 0 + 0.00000 . i
188 = 0 + 0.00000 . i
189 = 0 + 0.00000 . i
190 = 0 + 0.00000 . i
191 = 0 + 0.00000 . i
192 = 0 + 0.00000 . i
193 = 0 + 0.00000 . i
194 = 0 + 0.00000 . i
195 = 0 + 0.00000 . i
196 = 0 + 0.00000 . i
197 = 0 + 0.00000 . i
198 = 0 + 0.00000 . i
199 = 0 + 0.00000 . i
200 = 0 + 0.00000 . i
201 = 0 + 0.00000 . i
202 = 0 + 0.00000 . i
203 = 0 + 0.00000 . i
204 = 0 + 0.00000 . i
205 = 0 + 0.00000 . i
206 = 0 + 0.00000 . i
207 = 0 + 0.00000 . i
208 = 0 + 0.00000 . i
209 = 0 + 0.00000 . i
210 = 0 + 0.00000 . i
211 = 0 + 0.00000 . i
212 = 0 + 0.00000 . i
213 = 0 + 0.00000 . i
214 = 0 + 0.00000 . i
215 = 0 + 0.00000 . i
216 = 0 + 0.00000 . i
217 = 0 + 0.00000 . i
218 = 0 + 0.00000 . i
219 = 0 + 0.00000 . i
220 = 0 + 0.00000 . i
221 = 0 + 0.00000 . i
222 = 0 + 0.00000 . i
223 = 0 + 0.00000 . i
224 = 0 + 0.00000 . i
225 = 0 + 0.00000 . i
226 = 0 + 0.00000 . i
227 = 0 + 0.00000 . i
228 = 0 + 0.00000 . i
229 = 0 + 0.00000 . i
230 = 0 + 0.00000 . i
231 = 0 + 0.00000 . i
232 = 0 + 0.00000 . i
233 = 0 + 0.00000 . i
234 = 0 + 0.00000 . i
235 = 0 + 0.00000 . i
236 = 0 + 0.00000 . i
237 = 0 + 0.00000 . i
238 = 0 + 0.00000 . i
239 = 0 + 0.00000 . i
240 = 0 + 0.00000 . i
241 = 0 + 0.00000 . i
242 = 0 + 0.00000 . i
243 = 0 + 0.00000 . i
244 = 0 + 0.00000 . i
245 = 0 + 0.00000 . i
246 = 0 + 0.00000 . i
247 = 0 + 0.00000 . i
248 = 0 + 0.00000 . i
249 = 0 + 0.00000 . i
250 = 0 + 0.00000 . i
251 = 0 + 0.00000 . i
252 = 0 + 0.00000 . i
253 = 0 + 0.00000 . i
254 = 0 + 0.00000 . i
255 = 0 + 0.00000 . i
256 = 0 + 0.00000 . i
257 = 0 + 0.00000 . i
258 = 0 + 0.00000 . i
259 = 0 + 0.00000 . i
260 = 0 + 0.00000 . i
261 = 0 + 0.00000 . i
262 = 0 + 0.00000 . i
263 = 0 + 0.00000 . i
264 = 0 + 0.00000 . i
265 = 0 + 0.00000 . i
266 = 0 + 0.00000 . i
267 = 0 + 0.00000 . i
268 = 0 + 0.00000 . i
269 = 0 + 0.00000 . i
270 = 0 + 0.00000 . i
271 = 0 + 0.00000 . i
272 = 0 + 0.00000 . i
273 = 0 + 0.00000 . i
274 = 0 + 0.00000 . i
275 = 0 + 0.00000 . i
276 = 0 + 0.00000 . i
277 = 0 + 0.00000 . i
278 = 0 + 0.00000 . i
279 = 0 + 0.00000 . i
280 = 0 + 0.00000 . i
281 = 0 + 0.00000 . i
282 = 0 + 0.00000 . i
283 = 0 + 0.00000 . i
284 = 0 + 0.00000 . i
285 = 0 + 0.00000 . i
286 = 0 + 0.00000 . i
287 = 0 + 0.00000 . i
288 = 0 + 0.00000 . i
289 = 0 + 0.00000 . i
290 = 0 + 0.00000 . i
291 = 0 + 0.00000 . i
292 = 0 + 0.00000 . i
293 = 0 + 0.00000 . i
294 = 0 + 0.00000 . i
295 = 0 + 0.00000 . i
296 = 0 + 0.00000 . i
297 = 0 + 0.00000 . i
298 = 0 + 0.00000 . i
299 = 0 + 0.00000 . i
300 = 0 + 0.00000 . i
301 = 0 + 0.00000 . i
302 = 0 + 0.00000 . i
303 = 0 + 0.00000 . i
304 = 0 + 0.00000 . i
305 = 0 + 0.00000 . i
306 = 0 + 0.00000 . i
307 = 0 + 0.00000 . i
308 = 0 + 0.00000 . i
309 = 0 + 0.00000 . i
310 = 0 + 0.00000 . i
311 = 0 + 0.00000 . i
312 = 0 + 0.00000 . i
313 = 0 + 0.00000 . i
314 = 0 + 0.00000 . i
315 = 0 + 0.00000 . i
316 = 0 + 0.00000 . i
317 = 0 + 0.00000 . i
318 = 0 + 0.00000 . i
319 = 0 + 0.00000 . i
320 = 0 + 0.00000 . i
321 = 0 + 0.00000 . i
322 = 0 + 0.00000 . i
323 = 0 + 0.00000 . i
324 = 0 + 0.00000 . i
325 = 0 + 0.00000 . i
326 = 0 + 0.00000 . i
327 = 0 + 0.00000 . i
328 = 0 + 0.00000 . i
329 = 0 + 0.00000 . i
330 = 0 + 0.00000 . i
331 = 0 + 0.00000 . i
332 = 0 + 0.00000 . i
333 = 0 + 0.00000 . i
334 = 0 + 0.00000 . i
335 = 0 + 0.00000 . i
336 = 0 + 0.00000 . i
337 = 0 + 0.00000 . i
338 = 0 + 0.00000 . i
339 = 0 + 0.00000 . i
340 = 0 + 0.00000 . i
341 = 0 + 0.00000 . i
342 = 0 + 0.00000 . i
343 = 0 + 0.00000 . i
344 = 0 + 0.00000 . i
345 = 0 + 0.00000 . i
346 = 0 + 0.00000 . i
347 = 0 + 0.00000 . i
348 = 0 + 0.00000 . i
349 = 0 + 0.00000 . i
350 = 0 + 0.00000 . i
351 = 0 + 0.00000 . i
352 = 0 + 0.00000 . i
353 = 0 + 0.00000 . i
354 = 0 + 0.00000 . i
355 = 0 + 0.00000 . i
356 = 0 + 0.00000 . i
357 = 0 + 0.00000 . i
358 = 0 + 0.00000 . i
359 = 0 + 0.00000 . i
360 = 0 + 0.00000 . i
361 = 0 + 0.00000 . i
362 = 0 + 0.00000 . i
363 = 0 + 0.00000 . i
364 = 0 + 0.00000 . i
365 = 0 + 0.00000 . i
366 = 0 + 0.00000 . i
367 = 0 + 0.00000 . i
368 = 0 + 0.00000 . i
369 = 0 + 0.00000 . i
370 = 0 + 0.00000 . i
371 = 0 + 0.00000 . i
372 = 0 + 0.00000 . i
373 = 0 + 0.00000 . i
374 = 0 + 0.00000 . i
375 = 0 + 0.00000 . i
376 = 0 + 0.00000 . i
377 = 0 + 0.00000 . i
378 = 0 + 0.00000 . i
379 = 0 + 0.00000 . i
380 = 0 + 0.00000 . i
381 = 0 + 0.00000 . i
382 = 0 + 0.00000 . i
383 = 0 + 0.00000 . i
384 = 0 + 0.00000 . i
385 = 0 + 0.00000 . i
386 = 0 + 0.00000 . i
387 = 0 + 0.00000 . i
388 = 0 + 0.00000 . i
389 = 0 + 0.00000 . i
390 = 0 + 0.00000 . i
391 = 0 + 0.00000 . i
392 = 0 + 0.00000 . i
393 = 0 + 0.00000 . i
394 = 0 + 0.00000 . i
395 = 0 + 0.00000 . i
396 = 0 + 0.00000 . i
397 = 0 + 0.00000 . i
398 = 0 + 0.00000 . i
399 = 0 + 0.00000 . i
400 = 0 + 0.00000 . i
401 = 0 + 0.00000 . i
402 = 0 + 0.00000 . i
403 = 0 + 0.00000 . i
404 = 0 + 0.00000 . i
405 = 0 + 0.00000 . i
406 = 0 + 0.00000 . i
407 = 0 + 0.00000 . i
408 = 0 + 0.00000 . i
409 = 0 + 0.00000 . i
410 = 0 + 0.00000 . i
411 = 0 + 0.00000 . i
412 = 0 + 0.00000 . i
413 = 0 + 0.00000 . i
414 = 0 + 0.00000 . i
415 = 0 + 0.00000 . i
416 = 0 + 0.00000 . i
417 = 0 + 0.00000 . i
418 = 0 + 0.00000 . i
419 = 0 + 0.00000 . i
420 = 0 + 0.00000 . i
421 = 0 + 0.00000 . i
422 = 0 + 0.00000 . i
423 = 0 + 0.00000 . i
424 = 0 + 0.00000 . i
425 = 0 + 0.00000 . i
426 = 0 + 0.00000 . i
427 = 0 + 0.00000 . i
428 = 0 + 0.00000 . i
429 = 0 + 0.00000 . i
430 = 0 + 0.00000 . i
431 = 0 + 0.00000 . i
432 = 0 + 0.00000 . i
433 = 0 + 0.00000 . i
434 = 0 + 0.00000 . i
435 = 0 + 0.00000 . i
436 = 0 + 0.00000 . i
437 = 0 + 0.00000 . i
438 = 0 + 0.00000 . i
439 = 0 + 0.00000 . i
440 = 0 + 0.00000 . i
441 = 0 + 0.00000 . i
442 = 0 + 0.00000 . i
443 = 0 + 0.00000 . i
444 = 0 + 0.00000 . i
445 = 0 + 0.00000 . i
446 = 0 + 0.00000 . i
447 = 0 + 0.00000 . i
448 = 0 + 0.00000 . i
449 = 0 + 0.00000 . i
450 = 0 + 0.00000 . i
451 = 0 + 0.00000 . i
452 = 0 + 0.00000 . i
453 = 0 + 0.00000 . i
454 = 0 + 0.00000 . i
455 = 0 + 0.00000 . i
456 = 0 + 0.00000 . i
457 = 0 + 0.00000 . i
458 = 0 + 0.00000 . i
459 = 0 + 0.00000 . i
460 = 0 + 0.00000 . i
461 = 0 + 0.00000 . i
462 = 0 + 0.00000 . i
463 = 0 + 0.00000 . i
464 = 0 + 0.00000 . i
465 = 0 + 0.00000 . i
466 = 0 + 0.00000 . i
467 = 0 + 0.00000 . i
468 = 0 + 0.00000 . i
469 = 0 + 0.00000 . i
470 = 0 + 0.00000 . i
471 = 0 + 0.00000 . i
472 = 0 + 0.00000 . i
473 = 0 + 0.00000 . i
474 = 0 + 0.00000 . i
475 = 0 + 0.00000 . i
476 = 0 + 0.00000 . i
477 = 0 + 0.00000 . i
478 = 0 + 0.00000 . i
479 = 0 + 0.00000 . i
480 = 0 + 0.00000 . i
481 = 0 + 0.00000 . i
482 = 0 + 0.00000 . i
483 = 0 + 0.00000 . i
484 = 0 + 0.00000 . i
485 = 0 + 0.00000 . i
486 = 0 + 0.00000 . i
487 = 0 + 0.00000 . i
488 = 0 + 0.00000 . i
489 = 0 + 0.00000 . i
490 = 0 + 0.00000 . i
491 = 0 + 0.00000 . i
492 = 0 + 0.00000 . i
493 = 0 + 0.00000 . i
494 = 0 + 0.00000 . i
495 = 0 + 0.00000 . i
496 = 0 + 0.00000 . i
497 = 0 + 0.00000 . i
498 = 0 + 0.00000 . i
499 = 0 + 0.00000 . i
500 = 0 + 0.00000 . i
501 = 0 + 0.00000 . i
502 = 0 + 0.00000 . i
503 = 0 + 0.00000 . i
504 = 0 + 0.00000 . i
505 = 0 + 0.00000 . i
506 = 0 + 0.00000 . i
507 = 0 + 0.00000 . i
508 = 0 + 0.00000 . i
509 = 0 + 0.00000 . i
510 = 0 + 0.00000 . i
511 = 0 + 0.00000 . i
512 = 0 + 0.00000 . i
513 = 0 + 0.00000 . i
514 = 0 + 0.00000 . i
515 = 0 + 0.00000 . i
516 = 0 + 0.00000 . i
517 = 0 + 0.00000 . i
518 = 0 + 0.00000 . i
519 = 0 + 0.00000 . i
520 = 0 + 0.00000 . i
521 = 0 + 0.00000 . i
522 = 0 + 0.00000 . i
523 = 0 + 0.00000 . i
524 = 0 + 0.00000 . i
525 = 0 + 0.00000 . i
526 = 0 + 0.00000 . i
527 = 0 + 0.00000 . i
528 = 0 + 0.00000 . i
529 = 0 + 0.00000 . i
530 = 0 + 0.00000 . i
531 = 0 + 0.00000 . i
532 = 0 + 0.00000 . i
533 = 0 + 0.00000 . i
534 = 0 + 0.00000 . i
535 = 0 + 0.00000 . i
536 = 0 + 0.00000 . i
537 = 0 + 0.00000 . i
538 = 0 + 0.00000 . i
539 = 0 + 0.00000 . i
540 = 0 + 0.00000 . i
541 = 0 + 0.00000 . i
542 = 0 + 0.00000 . i
543 = 0 + 0.00000 . i
544 = 0 + 0.00000 . i
545 = 0 + 0.00000 . i
546 = 0 + 0.00000 . i
547 = 0 + 0.00000 . i
548 = 0 + 0.00000 . i
549 = 0 + 0.00000 . i
550 = 0 + 0.00000 . i
551 = 0 + 0.00000 . i
552 = 0 + 0.00000 . i
553 = 0 + 0.00000 . i
554 = 0 + 0.00000 . i
555 = 0 + 0.00000 . i
556 = 0 + 0.00000 . i
557 = 0 + 0.00000 . i
558 = 0 + 0.00000 . i
559 = 0 + 0.00000 . i
560 = 0 + 0.00000 . i
561 = 0 + 0.00000 . i
562 = 0 + 0.00000 . i
563 = 0 + 0.00000 . i
564 = 0 + 0.00000 . i
565 = 0 + 0.00000 . i
566 = 0 + 0.00000 . i
567 = 0 + 0.00000 . i
568 = 0 + 0.00000 . i
569 = 0 + 0.00000 . i
570 = 0 + 0.00000 . i
571 = 0 + 0.00000 . i
572 = 0 + 0.00000 . i
573 = 0 + 0.00000 . i
574 = 0 + 0.00000 . i
575 = 0 + 0.00000 . i
576 = 0 + 0.00000 . i
577 = 0 + 0.00000 . i
578 = 0 + 0.00000 . i
579 = 0 + 0.00000 . i
580 = 0 + 0.00000 . i
581 = 0 + 0.00000 . i
582 = 0 + 0.00000 . i
583 = 0 + 0.00000 . i
584 = 0 + 0.00000 . i
585 = 0 + 0.00000 . i
586 = 0 + 0.00000 . i
587 = 0 + 0.00000 . i
588 = 0 + 0.00000 . i
589 = 0 + 0.00000 . i
590 = 0 + 0.00000 . i
591 = 0 + 0.00000 . i
592 = 0 + 0.00000 . i
593 = 0 + 0.00000 . i
594 = 0 + 0.00000 . i
595 = 0 + 0.00000 . i
596 = 0 + 0.00000 . i
597 = 0 + 0.00000 . i
598 = 0 + 0.00000 . i
599 = 0 + 0.00000 . i
600 = 0 + 0.00000 . i
601 = 0 + 0.00000 . i
602 = 0 + 0.00000 . i
603 = 0 + 0.00000 . i
604 = 0 + 0.00000 . i
605 = 0 + 0.00000 . i
606 = 0 + 0.00000 . i
607 = 0 + 0.00000 . i
608 = 0 + 0.00000 . i
609 = 0 + 0.00000 . i
610 = 0 + 0.00000 . i
611 = 0 + 0.00000 . i
612 = 0 + 0.00000 . i
613 = 0 + 0.00000 . i
614 = 0 + 0.00000 . i
615 = 0 + 0.00000 . i
616 = 0 + 0.00000 . i
617 = 0 + 0.00000 . i
618 = 0 + 0.00000 . i
619 = 0 + 0.00000 . i
620 = 0 + 0.00000 . i
621 = 0 + 0.00000 . i
622 = 0 + 0.00000 . i
623 = 0 + 0.00000 . i
624 = 0 + 0.00000 . i
625 = 0 + 0.00000 . i
626 = 0 + 0.00000 . i
627 = 0 + 0.00000 . i
628 = 0 + 0.00000 . i
629 = 0 + 0.00000 . i
630 = 0 + 0.00000 . i
631 = 0 + 0.00000 . i
632 = 0 + 0.00000 . i
633 = 0 + 0.00000 . i
634 = 0 + 0.00000 . i
635 = 0 + 0.00000 . i
636 = 0 + 0.00000 . i
637 = 0 + 0.00000 . i
638 = 0 + 0.00000 . i
639 = 0 + 0.00000 . i
640 = 0 + 0.00000 . i
641 = 0 + 0.00000 . i
642 = 0 + 0.00000 . i
643 = 0 + 0.00000 . i
644 = 0 + 0.00000 . i
645 = 0 + 0.00000 . i
646 = 0 + 0.00000 . i
647 = 0 + 0.00000 . i
648 = 0 + 0.00000 . i
649 = 0 + 0.00000 . i
650 = 0 + 0.00000 . i
651 = 0 + 0.00000 . i
652 = 0 + 0.00000 . i
653 = 0 + 0.00000 . i
654 = 0 + 0.00000 . i
655 = 0 + 0.00000 . i
656 = 0 + 0.00000 . i
657 = 0 + 0.00000 . i
658 = 0 + 0.00000 . i
659 = 0 + 0.00000 . i
660 = 0 + 0.00000 . i
661 = 0 + 0.00000 . i
662 = 0 + 0.00000 . i
663 = 0 + 0.00000 . i
664 = 0 + 0.00000 . i
665 = 0 + 0.00000 . i
666 = 0 + 0.00000 . i
667 = 0 + 0.00000 . i
668 = 0 + 0.00000 . i
669 = 0 + 0.00000 . i
670 = 0 + 0.00000 . i
671 = 0 + 0.00000 . i
672 = 0 + 0.00000 . i
673 = 0 + 0.00000 . i
674 = 0 + 0.00000 . i
675 = 0 + 0.00000 . i
676 = 0 + 0.00000 . i
677 = 0 + 0.00000 . i
678 = 0 + 0.00000 . i
679 = 0 + 0.00000 . i
680 = 0 + 0.00000 . i
681 = 0 + 0.00000 . i
682 = 0 + 0.00000 . i
683 = 0 + 0.00000 . i
684 = 0 + 0.00000 . i
685 = 0 + 0.00000 . i
686 = 0 + 0.00000 . i
687 = 0 + 0.00000 . i
688 = 0 + 0.00000 . i
689 = 0 + 0.00000 . i
690 = 0 + 0.00000 . i
691 = 0 + 0.00000 . i
692 = 0 + 0.00000 . i
693 = 0 + 0.00000 . i
694 = 0 + 0.00000 . i
695 = 0 + 0.00000 . i
696 = 0 + 0.00000 . i
697 = 0 + 0.00000 . i
698 = 0 + 0.00000 . i
699 = 0 + 0.00000 . i
700 = 0 + 0.00000 . i
701 = 0 + 0.00000 . i
702 = 0 + 0.00000 . i
703 = 0 + 0.00000 . i
704 = 0 + 0.00000 . i
705 = 0 + 0.00000 . i
706 = 0 + 0.00000 . i
707 = 0 + 0.00000 . i
708 = 0 + 0.00000 . i
709 = 0 + 0.00000 . i
710 = 0 + 0.00000 . i
711 = 0 + 0.00000 . i
712 = 0 + 0.00000 . i
713 = 0 + 0.00000 . i
714 = 0 + 0.00000 . i
715 = 0 + 0.00000 . i
716 = 0 + 0.00000 . i
717 = 0 + 0.00000 . i
718 = 0 + 0.00000 . i
719 = 0 + 0.00000 . i
720 = 0 + 0.00000 . i
721 = 0 + 0.00000 . i
722 = 0 + 0.00000 . i
723 = 0 + 0.00000 . i
724 = 0 + 0.00000 . i
725 = 0 + 0.00000 . i
726 = 0 + 0.00000 . i
727 = 0 + 0.00000 . i
728 = 0 + 0.00000 . i
729 = 0 + 0.00000 . i
730 = 0 + 0.00000 . i
731 = 0 + 0.00000 . i
732 = 0 + 0.00000 . i
733 = 0 + 0.00000 . i
734 = 0 + 0.00000 . i
735 = 0 + 0.00000 . i
736 = 0 + 0.00000 . i
737 = 0 + 0.00000 . i
738 = 0 + 0.00000 . i
739 = 0 + 0.00000 . i
740 = 0 + 0.00000 . i
741 = 0 + 0.00000 . i
742 = 0 + 0.00000 . i
743 = 0 + 0.00000 . i
744 = 0 + 0.00000 . i
745 = 0 + 0.00000 . i
746 = 0 + 0.00000 . i
747 = 0 + 0.00000 . i
748 = 0 + 0.00000 . i
749 = 0 + 0.00000 . i
750 = 0 + 0.00000 . i
751 = 0 + 0.00000 . i
752 = 0 + 0.00000 . i
753 = 0 + 0.00000 . i
754 = 0 + 0.00000 . i
755 = 0 + 0.00000 . i
756 = 0 + 0.00000 . i
757 = 0 + 0.00000 . i
758 = 0 + 0.00000 . i
759 = 0 + 0.00000 . i
760 = 0 + 0.00000 . i
761 = 0 + 0.00000 . i
762 = 0 + 0.00000 . i
763 = 0 + 0.00000 . i
764 = 0 + 0.00000 . i
765 = 0 + 0.00000 . i
766 = 0 + 0.00000 . i
767 = 0 + 0.00000 . i
768 = 0 + 0.00000 . i
769 = 0 + 0.00000 . i
770 = 0 + 0.00000 . i
771 = 0 + 0.00000 . i
772 = 0 + 0.00000 . i
773 = 0 + 0.00000 . i
774 = 0 + 0.00000 . i
775 = 0 + 0.00000 . i
776 = 0 + 0.00000 . i
777 = 0 + 0.00000 . i
778 = 0 + 0.00000 . i
779 = 0 + 0.00000 . i
780 = 0 + 0.00000 . i
781 = 0 + 0.00000 . i
782 = 0 + 0.00000 . i
783 = 0 + 0.00000 . i
784 = 0 + 0.00000 . i
785 = 0 + 0.00000 . i
786 = 0 + 0.00000 . i
787 = 0 + 0.00000 . i
788 = 0 + 0.00000 . i
789 = 0 + 0.00000 . i
790 = 0 + 0.00000 . i
791 = 0 + 0.00000 . i
792 = 0 + 0.00000 . i
793 = 0 + 0.00000 . i
794 = 0 + 0.00000 . i
795 = 0 + 0.00000 . i
796 = 0 + 0.00000 . i
797 = 0 + 0.00000 . i
798 = 0 + 0.00000 . i
799 = 0 + 0.00000 . i
800 = 0 + 0.00000 . i
801 = 0 + 0.00000 . i
802 = 0 + 0.00000 . i
803 = 0 + 0.00000 . i
804 = 0 + 0.00000 . i
805 = 0 + 0.00000 . i
806 = 0 + 0.00000 . i
807 = 0 + 0.00000 . i
808 = 0 + 0.00000 . i
809 = 0 + 0.00000 . i
810 = 0 + 0.00000 . i
811 = 0 + 0.00000 . i
812 = 0 + 0.00000 . i
813 = 0 + 0.00000 . i
814 = 0 + 0.00000 . i
815 = 0 + 0.00000 . i
816 = 0 + 0.00000 . i
817 = 0 + 0.00000 . i
818 = 0 + 0.00000 . i
819 = 0 + 0.00000 . i
820 = 0 + 0.00000 . i
821 = 0 + 0.00000 . i
822 = 0 + 0.00000 . i
823 = 0 + 0.00000 . i
824 = 0 + 0.00000 . i
825 = 0 + 0.00000 . i
826 = 0 + 0.00000 . i
827 = 0 + 0.00000 . i
828 = 0 + 0.00000 . i
829 = 0 + 0.00000 . i
830 = 0 + 0.00000 . i
831 = 0 + 0.00000 . i
832 = 0 + 0.00000 . i
833 = 0 + 0.00000 . i
834 = 0 + 0.00000 . i
835 = 0 + 0.00000 . i
836 = 0 + 0.00000 . i
837 = 0 + 0.00000 . i
838 = 0 + 0.00000 . i
839 = 0 + 0.00000 . i
840 = 0 + 0.00000 . i
841 = 0 + 0.00000 . i
842 = 0 + 0.00000 . i
843 = 0 + 0.00000 . i
844 = 0 + 0.00000 . i
845 = 0 + 0.00000 . i
846 = 0 + 0.00000 . i
847 = 0 + 0.00000 . i
848 = 0 + 0.00000 . i
849 = 0 + 0.00000 . i
850 = 0 + 0.00000 . i
851 = 0 + 0.00000 . i
852 = 0 + 0.00000 . i
853 = 0 + 0.00000 . i
854 = 0 + 0.00000 . i
855 = 0 + 0.00000 . i
856 = 0 + 0.00000 . i
857 = 0 + 0.00000 . i
858 = 0 + 0.00000 . i
859 = 0 + 0.00000 . i
860 = 0 + 0.00000 . i
861 = 0 + 0.00000 . i
862 = 0 + 0.00000 . i
863 = 0 + 0.00000 . i
864 = 0 + 0.00000 . i
865 = 0 + 0.00000 . i
866 = 0 + 0.00000 . i
867 = 0 + 0.00000 . i
868 = 0 + 0.00000 . i
869 = 0 + 0.00000 . i
870 = 0 + 0.00000 . i
871 = 0 + 0.00000 . i
872 = 0 + 0.00000 . i
873 = 0 + 0.00000 . i
874 = 0 + 0.00000 . i
875 = 0 + 0.00000 . i
876 = 0 + 0.00000 . i
877 = 0 + 0.00000 . i
878 = 0 + 0.00000 . i
879 = 0 + 0.00000 . i
880 = 0 + 0.00000 . i
881 = 0 + 0.00000 . i
882 = 0 + 0.00000 . i
883 = 0 + 0.00000 . i
884 = 0 + 0.00000 . i
885 = 0 + 0.00000 . i
886 = 0 + 0.00000 . i
887 = 0 + 0.00000 . i
888 = 0 + 0.00000 . i
889 = 0 + 0.00000 . i
890 = 0 + 0.00000 . i
891 = 0 + 0.00000 . i
892 = 0 + 0.00000 . i
893 = 0 + 0.00000 . i
894 = 0 + 0.00000 . i
895 = 0 + 0.00000 . i
896 = 0 + 0.00000 . i
897 = 0 + 0.00000 . i
898 = 0 + 0.00000 . i
899 = 0 + 0.00000 . i
900 = 0 + 0.00000 . i
901 = 0 + 0.00000 . i
902 = 0 + 0.00000 . i
903 = 0 + 0.00000 . i
904 = 0 + 0.00000 . i
905 = 0 + 0.00000 . i
906 = 0 + 0.00000 . i
907 = 0 + 0.00000 . i
908 = 0 + 0.00000 . i
909 = 0 + 0.00000 . i
910 = 0 + 0.00000 . i
911 = 0 + 0.00000 . i
912 = 0 + 0.00000 . i
913 = 0 + 0.00000 . i
914 = 0 + 0.00000 . i
915 = 0 + 0.00000 . i
916 = 0 + 0.00000 . i
917 = 0 + 0.00000 . i
918 = 0 + 0.00000 . i
919 = 0 + 0.00000 . i
920 = 0 + 0.00000 . i
921 = 0 + 0.00000 . i
922 = 0 + 0.00000 . i
923 = 0 + 0.00000 . i
924 = 0 + 0.00000 . i
925 = 0 + 0.00000 . i
926 = 0 + 0.00000 . i
927 = 0 + 0.00000 . i
928 = 0 + 0.00000 . i
929 = 0 + 0.00000 . i
930 = 0 + 0.00000 . i
931 = 0 + 0.00000 . i
932 = 0 + 0.00000 . i
933 = 0 + 0.00000 . i
934 = 0 + 0.00000 . i
935 = 0 + 0.00000 . i
936 = 0 + 0.00000 . i
937 = 0 + 0.00000 . i
938 = 0 + 0.00000 . i
939 = 0 + 0.00000 . i
940 = 0 + 0.00000 . i
941 = 0 + 0.00000 . i
942 = 0 + 0.00000 . i
943 = 0 + 0.00000 . i
944 = 0 + 0.00000 . i
945 = 0 + 0.00000 . i
946 = 0 + 0.00000 . i
947 = 0 + 0.00000 . i
948 = 0 + 0.00000 . i
949 = 0 + 0.00000 . i
950 = 0 + 0.00000 . i
951 = 0 + 0.00000 . i
952 = 0 + 0.00000 . i
953 = 0 + 0.00000 . i
954 = 0 + 0.00000 . i
955 = 0 + 0.00000 . i
956 = 0 + 0.00000 . i
957 = 0 + 0.00000 . i
958 = 0 + 0.00000 . i
959 = 0 + 0.00000 . i
960 = 0 + 0.00000 . i
961 = 0 + 0.00000 . i
962 = 0 + 0.00000 . i
963 = 0 + 0.00000 . i
964 = 0 + 0.00000 . i
965 = 0 + 0.00000 . i
966 = 0 + 0.00000 . i
967 = 0 + 0.00000 . i
968 = 0 + 0.00000 . i
969 = 0 + 0.00000 . i
970 = 0 + 0.00000 . i
971 = 0 + 0.00000 . i
972 = 0 + 0.00000 . i
973 = 0 + 0.00000 . i
974 = 0 + 0.00000 . i
975 = 0 + 0.00000 . i
976 = 0 + 0.00000 . i
977 = 0 + 0.00000 . i
978 = 0 + 0.00000 . i
979 = 0 + 0.00000 . i
980 = 0 + 0.00000 . i
981 = 0 + 0.00000 . i
982 = 0 + 0.00000 . i
983 = 0 + 0.00000 . i
984 = 0 + 0.00000 . i
985 = 0 + 0.00000 . i
986 = 0 + 0.00000 . i
987 = 0 + 0.00000 . i
988 = 0 + 0.00000 . i
989 = 0 + 0.00000 . i
990 = 0 + 0.00000 . i
991 = 0 + 0.00000 . i
992 = 0 + 0.00000 . i
993 = 0 + 0.00000 . i
994 = 0 + 0.00000 . i
995 = 0 + 0.00000 . i
996 = 0 + 0.00000 . i
997 = 0 + 0.00000 . i
998 = 0 + 0.00000 . i
999 = 0 + 0.00000 . i
Avant fftw_free : 0
Après fftw_free : 0
M.
Avatar de l’utilisateur
François
Messages : 26
Inscription : mar. 14/juin/2016 12:31

Re: FFT 2D avec FFTW

Message par François »

Merci Mesa pour ton retour.

J'obtiens la même chose que toi. Normalement, il doit y avoir des valeurs non nulles (idéalement, une seule valeur est non nulle) car les données d'entrée (*in) représentent une sinusoïde : la transformée de Fourier doit donc avoir une seule valeur non nulle correspondant à la fréquence de la sinusoïde.

J'ai réussi à utiliser les *.lib après "compilation" en suivant les instructions du forum allemand et le résultat est le même ("ImportC XXX").
J'ai testé les 32, 64 bit, différentes versions de DLL.

Peut-être est-ce un problème de type de variable ? (je me suis déjà fait avoir par les StrX").

Mais comme je débute en PureBasic, je ne suis pas sûr de moi.

Cordialement,

François
Mesa
Messages : 1097
Inscription : mer. 14/sept./2011 16:59

Re: FFT 2D avec FFTW

Message par Mesa »

Oui, je pense aussi.

Pour le sport, le même code mais avec les prototypes:

Code : Tout sélectionner

;*************************************************************************************************:
;*************************************************************************************************:
;*************************************************************************************************:
;                                                                                                 :
;                                                                                                 :
;                              **********************************                                 :
;                              ***           FFTW_X           ***                                 :
;                              **********************************                                 :
;                                                                                                 :
;                                                                                                 :
; VERSION 0 : - Essai avec prototypes pour contrôler les fonctions de la DLL.                     :
; ----------- - La fonction "fftw_malloc" retourne la taille, en octet, réservée en méloire ?     :
;             - Dans cette version, on peut lister les fonctions de la DLL.                       :
;                                                                                                 :
; VERSION 1 : - Programme provenant du forum allemand PureBasic :                                 :
; ----------- - http://www.purebasic.fr/german/viewtopic.php?f=3&t=28827                          :
;                                                                                                 :
; VERSION 2 : - Essai en appelant les fonctions dans la bibliothèque "fftw.lib".                  :
; ----------  - Cela ne marche pas.                                                               :
;                                                                                                 :
; VERSION 3 : - Essai d'appel de "fftw_malloc" via "CallFunction" : une adresse semble être       :
; -----------   retournée.                                                                        :
;                                                                                                 :
; VERSION 4 : - Essai de FFT 1D sur un signal "porte" : la FFT doit être un sinc.                 :
; ----------- - Utilisation de la fonction "CPlot" élémentaire.                                   :
;                                                                                                 :
;*************************************************************************************************:
;=================================================================================================:
;                        ===         ENUMERATIONS ET STRUCTURES         ===                       :
;=================================================================================================:
Enumeration
  #_FFTW                            ; Constante pour la DLL "FFTW".
EndEnumeration

#FFTW_FORWARD = -1
#FFTW_BACKWARD = 1
#FFTW_MEASURE = (0)
;_________________________________________________________________________________________________:
; Construction de la structurecomplexe suivant l'exemple de la version 1.                         :
; TESTER : passage d'une structure simple partie réelle et partie imaginaire comme dans FFTW_0.   :
;_________________________________________________________________________________________________:
Structure fftw_complexArray
  d.d[2]
EndStructure

Structure fftw_complex
  StructureUnion
    d.d[2]
    c.fftw_complexArray[0]
  EndStructureUnion
EndStructure

Structure fftw_plan
EndStructure

;-------------------------------------------------------------------------------------------------:
;                         ---           PARAMETRES ET VARIABLES         ---                       :
;-------------------------------------------------------------------------------------------------:
inSize.l = 1000          ; Taille du vecteur.
Lp = 100                 ; Largeur de la porte.

;-------------------------:
;   Ouverture de la DLL   :
;-------------------------:
RET =  OpenLibrary(#_FFTW, "libfftw3-3.dll")
Debug "Ouverture DLL : " + Str(RET)

;--------------------------------------------------------------------------------:
;   INFO : contrôle de la profondeur de codage de la structure "fftw_complexe"   :
;--------------------------------------------------------------------------------:
Debug "Profondeur de codage de la structure fftw_complex: " + Str(SizeOf(fftw_complex))

;----------------------------------------------------:
;   Test d'allocation de mémoire avec "fftw_maloc"   :
;----------------------------------------------------:
;La doc de Prototype dit: Par défaut, la fonction utilisera la convention d'appel 'stdcall' sur x86, 
;ou 'fastcall' sur x64. Si le pointeur de fonction appelle une fonction C utilisant la convention 
;d'appel 'cdecl', PrototypeC est fortement conseillé. 
;Apparemment cette dll a été compilée avec la convention d'appel 'cdecl'


PrototypeC.i Protofftw_malloc(taille.i) 
; comme fftw_malloc renvoie un pointeur, j'utilise .i pour PrototypeC
; car les pointeurs sont toujours en .i avec pb
fftw_malloc.Protofftw_malloc=GetFunction(#_FFTW,"fftw_malloc")
*in.fftw_complex   = fftw_malloc(SizeOf(fftw_complex)*inSize)
*out.fftw_complex  = fftw_malloc(SizeOf(fftw_complex)*inSize)

;*in.fftw_complex  = CallCFunction(#_FFTW,"fftw_malloc",SizeOf(fftw_complex)*inSize)
;*out.fftw_complex = CallCFunction(#_FFTW,"fftw_malloc",SizeOf(fftw_complex)*inSize)

Debug "Pointeur sur mémoire allouée à in  : " + Str(*in)
Debug "Pointeur sur mémoire allouée à out : " + Str(*out)

;-----------------------------------------------------------------------:
;   Affectation partie réelle et partie imaginaire du vecteur initial   :
;-----------------------------------------------------------------------:
For i = 0 To inSize-1
  *in\c[i]\d[0] = Cos(2 * #PI * i / 100)
  *in\c[i]\d[1] = Sin(2 * #PI * i / inSize)
  *out\c[i]\d[0] = 1
  *out\c[i]\d[1] = 2
  Debug (RSet(Str(i), 5, " ") + " = " + StrD(*in\c[i]\d[0]) + "   +   " + RSet(StrD(*in\c[i]\d[1], 5), 10, " ") + " . i")
Next

;------------------------------:   
;   Test du calcul de la FFT   :
;------------------------------:
PrototypeC.i Protofftw_plan_dft_1d(Taille.l, Pin.i, Pout.i, const1.i, const2.i)
fftw_plan_dft_1d.Protofftw_plan_dft_1d=GetFunction(#_FFTW,"fftw_plan_dft_1d")
*plan = fftw_plan_dft_1d(inSize, *in, *out, #FFTW_FORWARD, #FFTW_MEASURE)
;*plan = CallCFunction(#_FFTW, "fftw_plan_dft_1d", inSize, *in, *out, #FFTW_FORWARD, #FFTW_MEASURE)


PrototypeC.i Protofftw_execute(P.i)
fftw_execute.Protofftw_execute=GetFunction(#_FFTW,"fftw_execute")
fftw_execute(*plan)
;CallCFunction(#_FFTW, "fftw_execute", *plan)

;-----------------------:
;   Valeurs de sortie   :
;-----------------------:   
For i = 0 To inSize-1
  Debug (RSet(Str(i), 5, " ") + " = " + StrD(*in\c[i]\d[0]) + "   +   " + RSet(StrD(*in\c[i]\d[1], 5), 10, " ") + " . i")
  
Next   

;-------------------------------------------------------------------------------------------------:
;   Test de libération de la mémoire : si la taille allouée est importante, "fftw_free" libère    :
;   bien la mémoire. Le deuxième appel à la zone mémoire renvoie une erreur.                       :
;   Pour des tailles plus petites, il semble que la mémoire est toujours accessible               :
;   (pas d'erreur).                                                                               :
;-------------------------------------------------------------------------------------------------:
PrototypeC.i Protofftw_destroy_plan(P.i)
fftw_destroy_plan.Protofftw_destroy_plan=GetFunction(#_FFTW,"fftw_destroy_plan")

PrototypeC.i Protofftw_free(P.i)
fftw_free.Protofftw_free=GetFunction(#_FFTW,"fftw_free")

Debug "Avant fftw_free : " + Str(*in\c[inSize-1]\d[0])
fftw_destroy_plan(*plan)
fftw_free(*in)
fftw_free(*out)
; 		CallCFunction(#_FFTW, "fftw_destroy_plan", *plan)
; 		CallCFunction(#_FFTW, "fftw_free", *in)
; 		CallCFunction(#_FFTW, "fftw_free", *out)
Debug "Après fftw_free : " + Str(*in\c[inSize-1]\d[0])


M.
Avatar de l’utilisateur
François
Messages : 26
Inscription : mar. 14/juin/2016 12:31

Re: FFT 2D avec FFTW

Message par François »

Re-bonjour Mesa,

Encore merci pour l'ajout des protos. J'avais tenté également de les utiliser, avec le même résultat : que des zéros. Je pense que le premier zéro, c'est moi.

Cela fait un moment que je bloque sur ce problème. Je vais donc changer mon approche en faisant un essai en C pour vérifier qu'il n'y a pas d'erreur de ma part et je vais tenter de faire les calculs avec OpenCV (il y a un wrapper d'écrit). OpenCv apporte d'autres fonctions dont je vais avoir besoin.

Lien sur le wrapper : http://www.purebasic.fr/english/viewtop ... lit=opencv

Si cela fonctionne bien, je mettrai les outils sur le forum.

Bien cordialement,

François - 33°C
Répondre