hsignal 0.1.3.4 → 0.1.3.5
raw patch · 4 files changed
+23/−6 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGES +5/−0
- hsignal.cabal +1/−1
- lib/Numeric/Signal/Internal.hs +4/−4
- lib/Numeric/Signal/signal-aux.c +13/−1
CHANGES view
@@ -64,3 +64,8 @@ 0.1.3.4: renamed unwrap to unwrap_double added unwrap_float++0.1.3.5:+ renamed vector_deriv to vector_diff_double+ added vector_diff_float+
hsignal.cabal view
@@ -1,5 +1,5 @@ Name: hsignal-Version: 0.1.3.4+Version: 0.1.3.5 License: BSD3 License-file: LICENSE Copyright: (c) A.V.H. McPhail 2010, 2011
lib/Numeric/Signal/Internal.hs view
@@ -304,19 +304,19 @@ derivD :: Vector Double -> Vector Double derivD v = unsafePerformIO $ do r <- createVector (dim v - 1)- app2 (signal_deriv_double) vec v vec r "diff"+ app2 (signal_diff_double) vec v vec r "diff" return r -foreign import ccall "signal-aux.h vector_deriv_double" signal_deriv_double :: CInt -> PD -> CInt -> PD -> IO CInt+foreign import ccall "signal-aux.h vector_diff_double" signal_diff_double :: CInt -> PD -> CInt -> PD -> IO CInt -- | the difference between consecutive elements of a vector derivF :: Vector Float -> Vector Float derivF v = unsafePerformIO $ do r <- createVector (dim v - 1)- app2 (signal_deriv_float) vec v vec r "diff"+ app2 (signal_diff_float) vec v vec r "diff" return r -foreign import ccall "signal-aux.h vector_deriv_float" signal_deriv_float :: CInt -> PF -> CInt -> PF -> IO CInt+foreign import ccall "signal-aux.h vector_diff_float" signal_diff_float :: CInt -> PF -> CInt -> PF -> IO CInt -----------------------------------------------------------------------------
lib/Numeric/Signal/signal-aux.c view
@@ -265,7 +265,19 @@ return 0; } -int vector_deriv(int xs, const double* x, int rs, double* r)+int vector_diff_double(int xs, const double* x, int rs, double* r)+{+ if (rs != xs - 1) return 2000; // BAD_SIZE++ int i;++ for (i = 0; i < rs; i++)+ r[i] = x[i+1] - x[i];++ return 0;+}++int vector_diff_float(int xs, const float* x, int rs, float* r) { if (rs != xs - 1) return 2000; // BAD_SIZE