summaryrefslogtreecommitdiff
path: root/gnuradio-core
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-core')
-rw-r--r--gnuradio-core/src/lib/general/gr_fxpt.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gnuradio-core/src/lib/general/gr_fxpt.h b/gnuradio-core/src/lib/general/gr_fxpt.h
index 5cf736dfb..9f5937d1a 100644
--- a/gnuradio-core/src/lib/general/gr_fxpt.h
+++ b/gnuradio-core/src/lib/general/gr_fxpt.h
@@ -26,7 +26,7 @@
#include <gr_types.h>
/*!
- * \brief fixed point sine and cosine and friend GR_CORE_APIs.
+ * \brief fixed point sine and cosine and friends.
* \ingroup misc
*
* fixed pt radians
@@ -48,6 +48,10 @@ public:
static gr_int32
float_to_fixed (float x)
{
+ // Fold x into -PI to PI.
+ int d = (int)floor(x/2/PI+0.5);
+ x -= d*2*PI;
+ // And convert to an integer.
return (gr_int32) ((float) x * TWO_TO_THE_31 / PI);
}