Portability | portable |
---|---|
Stability | provisional |
Maintainer | echbar137@yahoo.co.in |
Safe Haskell | Safe |
Orientation group is used to represent orientation of cubies, and cube as a whole.
- class Monoid a => Group a where
- inv :: a -> a
- data Orient = Orient [Vec]
- cons :: Char -> Orient
- to :: Orient -> Matrix
- eid :: Orient -> Char
- getVec :: Orient -> [Vec]
- vecToSide :: Vec -> Side
- sideToVec :: Side -> Vec
- rawToOrientNumber :: Numb -> Numb
- orientNumberToRaw :: Numb -> Numb
- rawOrientNum :: Orient -> Numb
- spanDomain :: (Enum a, Num a, Ord b) => (Orient -> b) -> [(a, b)]
- vecToColor :: Vec -> Color
- colorToVec :: Color -> Vec
- orientChrDomain :: [Char]
Documentation
Representation of Cubie orientation.
Maps an element of the orientation group to a matrix. Orient tranformation matrix is determined by specifing, (1,0,0) goes to v1 and (0,1,0) goes to v2.
rawToOrientNumber :: Numb -> NumbSource
Raw number is an intermediate step in associating two vectors to an orientation. The orientation number 1 corresponds to an orientation of ''a'' and so on.
orientNumberToRaw :: Numb -> NumbSource
Inverse of rawToOrientNumber
rawOrientNum :: Orient -> NumbSource
Converts the orientation to the raw orientation number.
spanDomain :: (Enum a, Num a, Ord b) => (Orient -> b) -> [(a, b)]Source
Maps a function of orientation over orient domain.
vecToColor :: Vec -> ColorSource
Inverse of colorToVec.
colorToVec :: Color -> VecSource
Gives the color of the side identified by the vector, in a solved state.
orientChrDomain :: [Char]Source
List of names for elements of the orientation group.