00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 #ifndef INCLUDED_GR_COMPLEX_TO_XXX_H
00024 #define INCLUDED_GR_COMPLEX_TO_XXX_H
00025 
00026 #include <gr_sync_block.h>
00027 #include <gr_complex.h>
00028 
00029 class gr_complex_to_float;
00030 class gr_complex_to_real;
00031 class gr_complex_to_imag;
00032 class gr_complex_to_mag;
00033 class gr_complex_to_arg;
00034 
00035 typedef boost::shared_ptr<gr_complex_to_float> gr_complex_to_float_sptr;
00036 typedef boost::shared_ptr<gr_complex_to_real> gr_complex_to_real_sptr;
00037 typedef boost::shared_ptr<gr_complex_to_imag> gr_complex_to_imag_sptr;
00038 typedef boost::shared_ptr<gr_complex_to_mag> gr_complex_to_mag_sptr;
00039 typedef boost::shared_ptr<gr_complex_to_arg> gr_complex_to_arg_sptr;
00040 
00041 gr_complex_to_float_sptr gr_make_complex_to_float ();
00042 gr_complex_to_real_sptr gr_make_complex_to_real ();
00043 gr_complex_to_imag_sptr gr_make_complex_to_imag ();
00044 gr_complex_to_mag_sptr gr_make_complex_to_mag ();
00045 gr_complex_to_arg_sptr gr_make_complex_to_arg ();
00046 
00051 class gr_complex_to_float : public gr_sync_block
00052 {
00053   friend gr_complex_to_float_sptr gr_make_complex_to_float ();
00054   gr_complex_to_float ();
00055 
00056  public:
00057   virtual int work (int noutput_items,
00058                     gr_vector_const_void_star &input_items,
00059                     gr_vector_void_star &output_items);
00060 };
00061 
00066 class gr_complex_to_real : public gr_sync_block
00067 {
00068   friend gr_complex_to_real_sptr gr_make_complex_to_real ();
00069   gr_complex_to_real ();
00070 
00071  public:
00072   virtual int work (int noutput_items,
00073                     gr_vector_const_void_star &input_items,
00074                     gr_vector_void_star &output_items);
00075 };
00076 
00081 class gr_complex_to_imag : public gr_sync_block
00082 {
00083   friend gr_complex_to_imag_sptr gr_make_complex_to_imag ();
00084   gr_complex_to_imag ();
00085 
00086  public:
00087   virtual int work (int noutput_items,
00088                     gr_vector_const_void_star &input_items,
00089                     gr_vector_void_star &output_items);
00090 };
00091 
00096 class gr_complex_to_mag : public gr_sync_block
00097 {
00098   friend gr_complex_to_mag_sptr gr_make_complex_to_mag ();
00099   gr_complex_to_mag ();
00100 
00101  public:
00102   virtual int work (int noutput_items,
00103                     gr_vector_const_void_star &input_items,
00104                     gr_vector_void_star &output_items);
00105 };
00106 
00111 class gr_complex_to_arg : public gr_sync_block
00112 {
00113   friend gr_complex_to_arg_sptr gr_make_complex_to_arg ();
00114   gr_complex_to_arg ();
00115 
00116  public:
00117   virtual int work (int noutput_items,
00118                     gr_vector_const_void_star &input_items,
00119                     gr_vector_void_star &output_items);
00120 };
00121 
00122 #endif