The definition of gr_sincosf and doxygen related question

Hi all,

I can’t find the definition of class gr_sincosf() used in
gr_frequency_modulator_fc.cc in doxygen C++ API online.

i.e. gr_sincosf (d_phase, &oq, &oi)

Can anyone tell me how to find that?

BTW, if I installed gnuradio3.2.2 through binanry installation by
“apt-get”, how to find the doxygen generated APIs on my computer?

Thanks in advice,

Milo

On Mon, Sep 14, 2009 at 11:13:01AM -0700, Yuan Wang wrote:

Hi all,

I can’t find the definition of class gr_sincosf() used in
gr_frequency_modulator_fc.cc in doxygen C++ API online.

i.e. gr_sincosf (d_phase, &oq, &oi)

Can anyone tell me how to find that?

It’s worth learning basic *nix command line tools:

[eb@octo gnuradio-eb]$ find . -print | xargs grep gr_sincosf
./gnuradio-core/src/lib/general/gr_frequency_modulator_fc.cc: 

gr_sincosf (d_phase, &oq, &oi);
./gnuradio-core/src/lib/general/gr_expj.h: gr_sincosf(phase,
&t_imag, &t_real);
./gnuradio-core/src/lib/general/gr_pll_refout_cc.cc:
gr_sincosf(d_phase,&t_imag,&t_real);
./gnuradio-core/src/lib/general/gr_pll_carriertracking_cc.cc:
gr_sincosf(d_phase,&t_imag,&t_real);
./gnuradio-core/src/lib/general/gr_phase_modulator_fc.cc:
gr_sincosf (d_phase, &oq, &oi);
./gnuradio-core/src/lib/general/gr_dd_mpsk_sync_cc.cc:
gr_sincosf(d_phase, &t_imag, &t_real);
./gnuradio-core/src/lib/general/gr_vco.h: gr_sincosf (d_phase,
sinx, cosx);
./gnuradio-core/src/lib/general/gr_nco.h: gr_sincosf (phase, sinx,
cosx);
./gnuradio-core/src/lib/filter/gr_sincos.h:void gr_sincosf (float x,
float *sin, float *cos);
./gnuradio-core/src/lib/filter/gr_sincos.c:gr_sincosf (float x,
float *sinx, float *cosx)
./gnuradio-core/src/lib/filter/gr_sincos.c:gr_sincosf (float x,
float *sinx, float *cosx)
./gnuradio-core/src/lib/filter/gr_sincos.c:gr_sincosf (float x,
float *sinx, float *cosx)

ctags or etags is another way to find the same info.

Eric

On Mon, Sep 14, 2009 at 11:13:01AM -0700, Yuan Wang wrote:

Hi all,

I can’t find the definition of class gr_sincosf() used in
gr_frequency_modulator_fc.cc in doxygen C++ API online.

i.e. gr_sincosf (d_phase, &oq, &oi)

Can anyone tell me how to find that?

Hello,

I found out the gr_sincosf function is declared in :
gnuradio-core/src/lib/filter/gr_sincos.h and defined in gr_sincos.c. It
is C
therefore there isn’t anything
found about it from doxygen. On the Gnurradio site it says: C++ API.

The default dir where gnuradio is installed is /usr/local/share you can
change this
with configure. But if you don’t have doxygen isntalled then no
documentation would
be generated. You can check this in the config.log, when it say
somewhere
checking for doxygen reulst no, then no documentation will be generated.

Hm, the gr_sincosf function uses the standard C library function sincos
which is in
math.h declared you must link with -lm to use it. To look at the source
you
have to
find out which libc library is installed on your system (mine is Glibc
2.9)
and download the source for it. to find the version information you can
write a testporgram with a macro something like __LIBC in it I think, or
look in your lib dir.

This things can be found like eric mentioned with the tools find, grep
and
vi which I
used alternating during the search. When you have installed the library
man
pages
properly you can man sincosf for some explanatations.

Josef V.