Copyright | (c) Matti A. Eskelinen 2016-2017 |
---|---|
License | MIT |
Maintainer | matti.a.eskelinen@gmail.com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | Safe |
Language | Haskell2010 |
This module provides (orphan) Arbitrary instances and various other generators for creating random Clif
s and Basis
elements using Test.QuickCheck.
Generators
ascList :: (Ord a, Arbitrary a) => Gen [a] Source #
orderedList
with only unique elements.
Useful for generating blades with e.g.
blade
<$>
ascList
ascLists :: (Ord a, Arbitrary a) => Gen ([a], [a]) Source #
An ascending list split into two at a random point. Useful for generating a pair of blades without common vectors.
kBlade :: (Eq a, Basis b a, Arbitrary a, Arbitrary b) => Int -> Gen (Clif b a) Source #
Given k, returns a generator for k-blades (Clif
s containing only a single blade of grade k).