Safe Haskell | None |
---|
- data Res t a = R {
- result :: !a
- (.+) :: 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
- toDouble :: n -> Double
- fromDouble :: Double -> n
- 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
- (><) :: n1 -> n2 -> n3
- 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)
- data Angle
- = Horizontal
- | Vertical
- data Direction
- = Rightwards
- | Leftwards
- | Upwards
- | Downwards
- 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)]
- prop_span1 :: ((Position, Position) -> Double) -> [Position] -> Property
- prop_span2 :: ((Position, Position) -> Double) -> [Position] -> Property
- prop_span3 :: ((Position, Position) -> Double) -> [Position] -> Property
- prop_span4 :: ((Position, Position) -> Double) -> [(XPos, YPos)] -> Bool
- prop_span5 :: ((Position, Position) -> Double) -> [(Length, Length)] -> Int -> Bool
- prop_span6 :: ((Position, Position) -> Double) -> [Position] -> Bool
- checkAll :: IO ()
- data Table2D i x y q = Table2D {
- tableLengthX :: i
- tableLengthY :: i
- tableAxisX :: i -> x
- tableAxisY :: i -> y
- tableValues :: i -> i -> q
- nearestPoints :: (Num i, Eq 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, Eq i, Ord x, Ord y) => Table2D i x y q -> x -> y -> ((x, y), (x, y), (q, q, q, q))
- bilinInterpolate :: (Num i, Eq 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.
Difference strings
Identifiers
Numerical types
class Num n => DoubleCast n whereSource
dcast :: (DoubleCast m, DoubleCast n) => m -> nSource
class Multiply n1 n2 n3 | n1 n2 -> n3, n1 n3 -> n2, n2 n3 -> n1 whereSource
DoubleCast n => Multiply Double n n | |
DoubleCast n => Multiply n Double n | |
Multiply Resistance Capacitance Time | |
Multiply Capacitance Resistance Time |
newtype Capacitance Source
newtype Resistance Source
newtype TransitionTime Source
class DoubleCast t => IsTime t Source
Misc. types
type Orientation = (Bool, Direction)Source
Total lookup in partial maps
totalLookup :: Ord k => k -> Map k [a] -> [a]Source
A lookup function that is defined for all keys.
Spanning trees
spanning :: ((Position, Position) -> Double) -> [Position] -> [(Position, Position)]Source
Computes the minimal spanning tree based on the given distance function.
euclidDistance :: (Position, Position) -> DoubleSource
rectiDistance :: (Position, Position) -> DoubleSource
euclidSpanning :: [Position] -> [(Position, Position)]Source
rectiSpanning :: [Position] -> [(Position, Position)]Source
Properties
Bilinear interpolation
Table2D | |
|
nearestPoints :: (Num i, Eq 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 -> qSource
findPoints :: (Num i, Eq i, Ord x, Ord y) => Table2D i x y q -> x -> y -> ((x, y), (x, y), (q, q, q, q))Source
bilinInterpolate :: (Num i, Eq i, Ord x, Ord y, Fractional x, Fractional y, Fractional q, DoubleCast x, DoubleCast y, DoubleCast q) => Table2D i x y q -> x -> y -> qSource