inline-r 0.7.0.0 → 0.7.1.0
raw patch · 3 files changed
+16/−5 lines, 3 files
Files
- inline-r.cabal +1/−1
- src/Data/Vector/SEXP.chs +4/−4
- tests/Test/Vector.hs +11/−0
inline-r.cabal view
@@ -1,5 +1,5 @@ name: inline-r-version: 0.7.0.0+version: 0.7.1.0 license: BSD3 copyright: Copyright (c) 2013-2015 Amgen, Inc. Copyright (c) 2015 Tweag I/O Limited.
src/Data/Vector/SEXP.chs view
@@ -327,15 +327,15 @@ -- directly. basicUnsafeSlice i l v = unsafeInlineIO $ do mv <- Mutable.new l- copyArray (toVecPtr v `plusPtr` i)- (toMVecPtr mv)+ copyArray (toMVecPtr mv)+ (toVecPtr v `plusPtr` i) l G.basicUnsafeFreeze mv basicUnsafeIndexM v i = return . unsafeInlineIO $ peekElemOff (toVecPtr v) i basicUnsafeCopy mv v = unsafePrimToPrim $- copyArray (toVecPtr v)- (toMVecPtr mv)+ copyArray (toMVecPtr mv)+ (toVecPtr v) (G.basicLength v) elemseq _ = seq
tests/Test/Vector.hs view
@@ -9,12 +9,14 @@ {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-}+{-# LANGUAGE OverloadedLists #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeSynonymInstances #-} {-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE ViewPatterns #-} {-# OPTIONS_GHC -fno-warn-orphans #-} @@ -31,6 +33,7 @@ import qualified Foreign.R as R import H.Prelude hiding (Show) import Language.R.QQ+import Language.R.HExp (HExp(..), hexp) import Test.Tasty import Test.Tasty.QuickCheck import Test.Tasty.HUnit@@ -119,6 +122,13 @@ return $ immV V.! 0 i @?= 1 +vectorCopy :: TestTree+vectorCopy = testCase "Copying vector of doubles works" $ runRegion $ do+ vs1 :: R.SEXP s 'R.Real <- V.toSEXP (V.fromList [1..3::Double])+ vs2 :: R.SEXP s 'R.Real <- V.unsafeToSEXP (V.fromList [1..3::Double])+ R.SomeSEXP (hexp -> Logical [R.True]) <- [r| identical(vs1_hs, vs2_hs) |]+ return ()+ tests :: TestTree tests = testGroup "Tests." [ testGroup "Data.Vector.Storable.Vector (Int32)"@@ -127,5 +137,6 @@ [testNumericSEXPVector (undefined :: Data.Vector.SEXP.Vector s 'R.Real Double)] , testGroup "Regression tests" [fromListLength ,vectorIsImmutable+ ,vectorCopy ] ]