| Copyright | (c) Matti A. Eskelinen 2016-2017 |
|---|---|
| License | MIT |
| Maintainer | matti.a.eskelinen@gmail.com |
| Stability | experimental |
| Portability | POSIX |
| Safe Haskell | None |
| Language | Haskell2010 |
Clif.Arbitrary
Contents
Description
This module provides (orphan) Arbitrary instances and various other generators for creating random Clifs 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 (Clifs containing only a single blade of grade k).