|
|
|
|
|
Description |
This module defines types of a general nature that are used by the Lava,
Layout and Wired libraries. It also defines operations on those types.
|
|
Synopsis |
|
data Res t a = R {} | | (.+) :: ShowS -> ShowS -> ShowS | | unwordS :: [ShowS] -> ShowS | | unlineS :: [ShowS] -> ShowS | | type Name = String | | type Tag = String | | class Num n => IntCast n where | | | class Num n => DoubleCast n where | | | icast :: (IntCast m, IntCast n) => m -> n | | dcast :: (DoubleCast m, DoubleCast n) => m -> n | | class Multiply n1 n2 n3 | n1 n2 -> n3, n1 n3 -> n2, n2 n3 -> n1 where | | | newtype InPin = InPin Int | | newtype OutPin = OutPin Int | | newtype PrimInpId = PrimInpId Int | | newtype CellId = CellId Int | | newtype Length = Length {} | | type XPos = Length | | type YPos = Length | | type Width = Length | | type Height = Length | | class Value v where | | | addLen :: Length -> Length -> Length | | subLen :: Length -> Length -> Length | | mulLen :: Integral n => Length -> n -> Length | | mulLen2 :: Length -> Length -> Integer | | divLen :: Integral n => Length -> n -> Length | | newtype Layer_ = Layer Int | | type Layer = Int | | newtype Capacitance = Cap Double | | newtype Resistance = Res Double | | newtype Time = Time Double | | type Delay = Time | | newtype TransitionTime = TransitionTime Double | | class DoubleCast t => IsTime t | | timeCast :: (IsTime t1, IsTime t2) => t1 -> t2 | | type Position = (XPos, YPos) | | type Size = (Width, Height) | | | | | | type Orientation = (Bool, Direction) | | directionAngle :: Direction -> Angle | | north :: Orientation | | totalLookup :: Ord k => k -> Map k [a] -> [a] | | spanning :: ((Position, Position) -> Double) -> [Position] -> [(Position, Position)] | | euclidDistance :: (Position, Position) -> Double | | rectiDistance :: (Position, Position) -> Double | | euclidSpanning :: [Position] -> [(Position, Position)] | | rectiSpanning :: [Position] -> [(Position, Position)] | | data Table2D i x y q = Table2D {} | | nearestPoints :: (Num i, Ord a) => i -> (i -> a) -> a -> ((i, a), (i, a)) | | bilinInterpolate1 :: (Fractional x, Fractional y, Fractional q, DoubleCast x, DoubleCast y, DoubleCast q) => (x, y) -> (x, y) -> (q, q, q, q) -> x -> y -> q | | findPoints :: (Num i, Ord x, Ord y) => Table2D i x y q -> x -> y -> ((x, y), (x, y), (q, q, q, q)) | | bilinInterpolate :: (Num i, Ord x, Ord y, Fractional x, Fractional y, Fractional q, DoubleCast x, DoubleCast y, DoubleCast q) => Table2D i x y q -> x -> y -> q |
|
|
|
Type-parameterized results
|
|
|
The phantom parameter t can be used to pass a type constraint to an
overloaded function.
| Constructors | | Instances | |
|
|
Difference strings
|
|
|
|
|
|
|
|
Identifiers
|
|
|
|
|
|
Numerical types
|
|
|
| Methods | | | Instances | |
|
|
|
| Methods | | | Instances | |
|
|
|
|
|
|
class Multiply n1 n2 n3 | n1 n2 -> n3, n1 n3 -> n2, n2 n3 -> n1 where | Source |
|
| Methods | | | Instances | |
|
|
|
Constructors | | Instances | |
|
|
|
Constructors | | Instances | |
|
|
|
Constructors | | Instances | |
|
|
|
Constructors | | Instances | |
|
|
|
Constructors | | Instances | |
|
|
|
|
|
|
|
|
|
|
|
| Methods | | | Instances | |
|
|
|
|
|
|
|
|
|
|
|
|
|
Constructors | | Instances | |
|
|
|
|
|
Constructors | | Instances | |
|
|
|
Constructors | | Instances | |
|
|
|
Constructors | | Instances | |
|
|
|
|
|
Constructors | | Instances | |
|
|
|
| Instances | |
|
|
|
|
Misc. types
|
|
|
|
|
|
|
Constructors | | Instances | |
|
|
|
Constructors | Rightwards | | Leftwards | | Upwards | | Downwards | |
| Instances | |
|
|
|
|
|
|
|
|
Total lookup in partial maps
|
|
|
A lookup function that is defined for all keys.
|
|
Spanning trees
|
|
|
Computes the minimal spanning tree based on the given distance function.
|
|
|
|
|
|
|
|
|
|
Properties
|
|
Bilinear interpolation
|
|
|
Constructors | Table2D | | tableLengthX :: i | | tableLengthY :: i | | tableAxisX :: i -> x | | tableAxisY :: i -> y | | tableValues :: i -> i -> q | |
|
|
|
|
nearestPoints :: (Num i, Ord a) => i -> (i -> a) -> a -> ((i, a), (i, a)) | Source |
|
|
bilinInterpolate1 :: (Fractional x, Fractional y, Fractional q, DoubleCast x, DoubleCast y, DoubleCast q) => (x, y) -> (x, y) -> (q, q, q, q) -> x -> y -> q | Source |
|
|
|
|
|
|
Produced by Haddock version 2.4.2 |