hasktorch-0.2.2.0: test/RandomSpec.hs
{-# LANGUAGE ScopedTypeVariables #-}
module RandomSpec (spec) where
import Control.Exception.Safe
import Test.Hspec
import Torch.Device
import Torch.Random
import Torch.Tensor
import Torch.TensorOptions
spec :: Spec
spec = do
it "pure functional random with seed" $ do
generator <- mkGenerator (Device CPU 0) 0
let (t, next) = randn' [4] generator
(_, next') = randn' [4] next
(t2, next'') = randn' [4] next'
(t3, _) = randn' [5] generator
shape t2 `shouldBe` [4]
((asValue t) :: [Float]) `shouldBe` take 4 (asValue t3)