diff options
Diffstat (limited to 'gnuradio-core/src/lib/general/gr_feval.h')
-rw-r--r-- | gnuradio-core/src/lib/general/gr_feval.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/gnuradio-core/src/lib/general/gr_feval.h b/gnuradio-core/src/lib/general/gr_feval.h index 18bb4007e..a2f7020a4 100644 --- a/gnuradio-core/src/lib/general/gr_feval.h +++ b/gnuradio-core/src/lib/general/gr_feval.h @@ -85,11 +85,31 @@ public: }; /*! + * \brief base class for evaluating a function: void -> void + * + * This class is designed to be subclassed in Python or C++ + * and is callable from both places. It uses SWIG's + * "director" feature to implement the magic. + * It's slow. Don't use it in a performance critical path. + */ +class gr_feval +{ +public: + gr_feval() {} + virtual ~gr_feval(); + + /*! + * \brief override this to define the function + */ + virtual void eval(); +}; + +/*! * \brief trivial examples / test cases showing C++ calling Python code */ double gr_feval_dd_example(gr_feval_dd *f, double x); gr_complex gr_feval_cc_example(gr_feval_cc *f, gr_complex x); long gr_feval_ll_example(gr_feval_ll *f, long x); - +void gr_feval_example(gr_feval *f); #endif /* INCLUDED_GR_FEVAL_H */ |