1
1
mirror of https://github.com/github/semantic.git synced 2024-12-24 15:35:14 +03:00

Generate random numbers in batches.

This commit is contained in:
Rob Rix 2017-02-02 16:24:24 -05:00
parent b653534ddf
commit afa04822dd

View File

@ -277,7 +277,7 @@ pqGramDecorator getLabel p q = cata algebra
-- | Computes a unit vector of the specified dimension from a hash.
unitVector :: Int -> Int -> Vector.Vector Double
unitVector d hash = normalize ((`evalRand` mkQCGen hash) (sequenceA (Vector.replicate d getRandom)))
unitVector d hash = normalize ((`evalRand` mkQCGen hash) (Vector.fromList . take d <$> getRandoms))
where
normalize vec = fmap (/ vmagnitude vec) vec
vmagnitude = sqrtDouble . Vector.sum . fmap (** 2)