Hallo,
ich habe ein Problem mit einer Konvertierung.
mein funktionierendes Beispiel sieht so aus:
1 | typedef std::complex<double> Complex;
|
2 | typedef std::valarray<Complex> CArray;
|
3 |
|
4 | const Complex test[] = { 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0 };
|
5 | CArray data(test, 8);
|
ich möchte nun gern Daten aus einem Array vom Typ int konvertieren,
damit ich dynamische Daten hier verarbeiten kann.
Leider ist das Ergebnis immer 0:
1 | int do_fft(int* daten,int points)
|
2 | {
|
3 | Complex *f_arr;
|
4 |
|
5 | f_arr=(Complex*)malloc((points+1)*sizeof(Complex));
|
6 | if(f_arr==NULL)
|
7 | {
|
8 | cerr << "Kein Ram vorhanden"<<endl;
|
9 | exit(1);
|
10 | }
|
11 | int i=0;
|
12 |
|
13 | //Float Werte erzeugen
|
14 |
|
15 | for(i=0;i<points;i++)
|
16 | {
|
17 | *f_arr=*daten*1.0;
|
18 | f_arr++;
|
19 | daten++;
|
20 | }
|
21 |
|
22 |
|
23 |
|
24 | const Complex test[] = { 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0 };
|
25 | //CArray data(test, 8);
|
26 | //CArray data(*f_arr, points);
|
27 | CArray data((Complex*)daten, points);
|
28 | }
|
Ich habe es mit allesn drei Varianten (Die letzten drei Zeilen im Code)
getestet, es funktioniert nur mit den Konstanten.
Wäre nett wenn jemand hier helfen könnte.
Dank und Gruß Michael