1+
2+ #include <stdio.h>
3+ #include <volk/volk_complex.h>
4+
5+ int main (int argc , char * argv [])
6+ {
7+ lv_32fc_t fc_cpl [4 ];
8+ printf ("float=%lu, complex float=%lu, complex float array[4]=%lu\n" ,
9+ sizeof (float ),
10+ sizeof (lv_32fc_t ),
11+ sizeof (fc_cpl ));
12+
13+ for (int i = 0 ; i < 4 ; i ++ ) {
14+ fc_cpl [i ] = (i + 3 ) + I * (i + 8 );
15+
16+ fc_cpl [i ] = lv_cmake (i + 3 , i + 8 );
17+ }
18+ for (int i = 0 ; i < 4 ; i ++ ) {
19+ lv_32fc_t val = fc_cpl [i ];
20+ lv_32fc_t cval = conj (val );
21+ lv_32fc_t gval = ~val ;
22+ lv_32fc_t mult = val * val ;
23+ printf ("val = %+.1f%+.1fj\n" , creal (val ), cimag (val ));
24+ printf ("conj(val)= %+.1f%+.1fj\n" , creal (cval ), cimag (cval ));
25+ printf ("gcc: ~val= %+.1f%+.1fj\n" , creal (gval ), cimag (gval ));
26+ printf ("val*val = %+.1f%+.1fj\n" , creal (mult ), cimag (mult ));
27+ }
28+
29+ lv_8sc_t sc_cpl [4 ];
30+ printf ("\n\nchar=%lu, complex char=%lu, complex char array[4]=%lu\n" ,
31+ sizeof (char ),
32+ sizeof (lv_8sc_t ),
33+ sizeof (sc_cpl ));
34+
35+ for (int i = 0 ; i < 4 ; i ++ ) {
36+ // lv_8sc_t value = (i + 3) + I * (i + 8);
37+ // printf("value=%+hhi%+hhij\n", creal(value), cimag(value));
38+ // sc_cpl[i] = (i + 3) + I * (i + 8);
39+ sc_cpl [i ] = lv_cmake (i + 3 , i + 8 );
40+ // printf("%i + j %i\n", creal(sc_cpl[i]), cimag(sc_cpl[i]));
41+ }
42+ for (int i = 0 ; i < 4 ; i ++ ) {
43+ lv_8sc_t val = sc_cpl [i ];
44+ lv_8sc_t cval = conj (val );
45+ // lv_8sc_t cval = lv_cmake(creal(val), -cimag(val));
46+ lv_8sc_t gval = ~val ;
47+ lv_8sc_t mult = val * val ;
48+ printf ("val = %+hhi%+hhij\n" , __real__ val , __imag__ val );
49+ printf ("conj(val)= %+hhi%+hhij\n" , __real__ cval , __imag__ cval );
50+ printf ("gcc: ~val= %+hhi%+hhij\n" , __real__ gval , __imag__ gval );
51+ printf ("val*val = %+hhi%+hhij\n" , __real__ mult , __imag__ mult );
52+ }
53+
54+ // char* values = (char*) sc_cpl;
55+ // for (int i = 0; i < 8; i++) {
56+ // printf("%hhi\n", values[i]);
57+ // }
58+ }
0 commit comments