ZipWith a b c (:. a ()) (:. b ()) (:. c ()) |
ZipWith a b c (:. a ()) (:. b (:. b bs)) (:. c ()) |
ZipWith a b c (:. a (:. a as)) (:. b ()) (:. c ()) |
ZipWith a b c (:. a' u) (:. b' v) (:. c' w) => ZipWith a b c (:. a (:. a' u)) (:. b (:. b' v)) (:. c (:. c' w)) |
Vec N1 a (:. a ()) |
Access N0 a (:. a v) |
Snoc () a (:. a ()) |
(Access n a r, Append p (:. a ()) p', GetDiagonal' (Succ n) p' (:. r m) v) => GetDiagonal' n p (:. r (:. r m)) v |
(Access n a r, Append p (:. a ()) (:. a p)) => GetDiagonal' n p (:. r ()) (:. a p) |
(Append p (:. a v) x, Append p (:. a ()) y, ReplConsec' a y v z) => ReplConsec' a p (:. a v) (:. x z) |
Map a b (:. a ()) (:. b ()) |
Map a b (:. a' u) (:. b' v) => Map a b (:. a (:. a' u)) (:. b (:. b' v)) |
(VecArrayRW (:. a v), PackedVec (:. a v)) => IArray UArray (Packed (:. a v)) |
(IfB bool a, IfB bool b) => IfB bool (:. a b) |
(EqB bool a, EqB bool b) => EqB bool (:. a b) |
(Fractional a, NearZero a) => Pivot1 a (:. (:. a ()) ()) |
(Fractional a, NearZero a, Map a a (:. a r) (:. a r)) => Pivot1 a (:. (:. a (:. a r)) ()) |
(Fractional a, NearZero a, Map a a (:. a r) (:. a r), ZipWith a a a (:. a r) (:. a r) (:. a r), Map (:. a r) (:. a r) (:. (:. a r) rs) (:. (:. a r) rs), Pivot1 a (:. (:. a r) rs)) => Pivot1 a (:. (:. a r) (:. (:. a r) rs)) |
Pivot a (:. () v) |
(Fractional a, NearZero a, Pivot1 a rs, Tail (:. a r) r, Map (:. a r) r (:. (:. a r) rs) (:. r rs'), Map r (:. a r) (:. r rs') (:. (:. a r) rs), Pivot1 a (:. (:. a r) rs), Pivot a (:. r rs')) => Pivot a (:. (:. a r) rs) |
(Num a, Pivot a (:. r ())) => GaussElim a (:. r ()) |
(Fractional a, Map (:. a r) r (:. (:. a r) rs) rs_, Map r (:. a r) rs_ (:. (:. a r) rs), Pivot a (:. (:. a r) (:. (:. a r) rs)), GaussElim a rs_) => GaussElim a (:. (:. a r) (:. (:. a r) rs)) |
VecList a (:. a ()) |
VecList a (:. a' v) => VecList a (:. a (:. a' v)) |
VecArrayRW (:. a v) => IArray UArray (:. a v) |
Reverse' (:. a p) v v' => Reverse' p (:. a v) v' |
(SetDiagonal' (Succ n) v m, Access n a r) => SetDiagonal' n (:. a v) (:. r m) |
DropConsec' p (:. a ()) (:. p ()) |
(Append p (:. a v) x, Append p (:. a ()) y, DropConsec' y (:. a v) z) => DropConsec' p (:. a (:. a v)) (:. x z) |
Vec (Succ n) a (:. a' v) => Vec (Succ (Succ n)) a (:. a (:. a' v)) |
Access n a v => Access (Succ n) a (:. a v) |
(VecArrayRW (:. a v), PackedVec (:. a v)) => MArray (STUArray s) (Packed (:. a v)) (ST s) |
Drop n (:. a v) v' => Drop (Succ n) (:. a (:. a v)) v' |
VecArrayRW (:. a v) => MArray (STUArray s) (:. a v) (ST s) |
Take n v v' => Take (Succ n) (:. a v) (:. a v') |
(Eq a, Eq b) => Eq (:. a b) |
(Fractional a, Ord (:. a u), ZipWith a a a (:. a u) (:. a u) (:. a u), Map a a (:. a u) (:. a u), Vec (Succ l) a (:. a u), Show (:. a u)) => Fractional (:. a u) |
(Eq (:. a u), Show (:. a u), Num a, Map a a (:. a u) (:. a u), ZipWith a a a (:. a u) (:. a u) (:. a u), Vec (Succ l) a (:. a u)) => Num (:. a u) |
(Ord a, Ord b) => Ord (:. a b) |
(Read a, Read b) => Read (:. a b) |
(Show a, ShowVec v) => Show (:. a v) |
Arbitrary a => Arbitrary (:. a ()) |
(Length (:. a v) (Succ n), Arbitrary a', Arbitrary (:. a v)) => Arbitrary (:. a' (:. a v)) |
(Num a, NegateEvens v) => NegateOdds (:. a v) |
(Num a, NegateOdds v) => NegateEvens (:. a v) |
BackSubstitute (:. (:. a r) ()) |
(Map (:. a r) r (:. (:. a r) rs) rs_, Map r (:. a r) rs_ (:. (:. a r) rs), Fold aas (a, :. a r), ZipWith a a a (:. a r) (:. a r) (:. a r), Map a a (:. a r) (:. a r), ZipWith a (:. a r) (a, :. a r) r (:. (:. a r) rs) aas, Num a, NearZero a, BackSubstitute rs_) => BackSubstitute (:. (:. a r) (:. (:. a r) rs)) |
BackSubstitute' (:. (:. a r) ()) |
(Map (:. a r) r (:. (:. a r) rs) rs_, Map r (:. a r) rs_ (:. (:. a r) rs), Fold aas (a, :. a r), ZipWith a a a (:. a r) (:. a r) (:. a r), Map a a (:. a r) (:. a r), ZipWith a (:. a r) (a, :. a r) r (:. (:. a r) rs) aas, Num a, BackSubstitute' rs_) => BackSubstitute' (:. (:. a r) (:. (:. a r) rs)) |
(Show a, ShowVec v) => ShowVec (:. a v) |
VecArrayRW (:. Double ()) |
VecArrayRW (:. Double v) => VecArrayRW (:. Double (:. Double v)) |
VecArrayRW (:. Float ()) |
VecArrayRW (:. Float v) => VecArrayRW (:. Float (:. Float v)) |
VecArrayRW (:. Int ()) |
VecArrayRW (:. Int v) => VecArrayRW (:. Int (:. Int v)) |
VecArrayRW (:. Word8 ()) |
VecArrayRW (:. Word8 v) => VecArrayRW (:. Word8 (:. Word8 v)) |
Storable a => Storable (:. a ()) |
(Vec (Succ (Succ n)) a (:. a (:. a v)), Storable a, Storable (:. a v)) => Storable (:. a (:. a v)) |
(GPU a, GPU b) => GPU (:. a b) |
(VertexOutput a, VertexOutput b) => VertexOutput (:. a b) |
(VertexInput a, VertexInput b) => VertexInput (:. a b) |
Transpose' vs vs' => Transpose' (:. () vs) vs' |
Det' (:. (:. a ()) ()) a |
(:. a (:. a v) ~ r, :. (:. a (:. a v)) (:. (:. a (:. a v)) vs) ~ m, :. (:. a v) (:. (:. a v) vs_) ~ m_, :. (:. (:. a v) vs_) (:. x y) ~ mm, Map (:. a (:. a v)) (:. a v) m m_, DropConsec m_ mm, Det' (:. (:. a v) vs_) a, Map (:. (:. a v) vs_) a mm r, Map r a m r, NegateOdds r, Fold r a, Num r, Num a) => Det' (:. (:. a (:. a v)) (:. (:. a (:. a v)) vs)) a |
Head (:. a as) a |
Tail (:. a as) as |
Fold (:. a ()) a |
Fold (:. a' u) a => Fold (:. a (:. a' u)) a |
Last (:. a ()) a |
Last (:. a' v) a => Last (:. a (:. a' v)) a |
Append (:. a ()) v (:. a v) |
Append (:. a' v1) v2 v3 => Append (:. a (:. a' v1)) v2 (:. a v3) |
Snoc v a (:. a v) => Snoc (:. a v) a (:. a (:. a v)) |
Length v n => Length (:. a v) (Succ n) |
(Vec (Succ n) s (:. s ra), Vec (Succ m) (:. s ra) (:. (:. s ra) a), Vec (Succ m) s (:. s rb), Vec (Succ n) (:. s rb) (:. (:. s rb) b), Transpose' (:. (:. s ra) a) (:. (:. s rb) b)) => Transpose (:. (:. s ra) a) (:. (:. s rb) b) |
Transpose' (:. (:. x ()) ()) (:. (:. x ()) ()) |
(Head xss_h xss_hh, Map xss_h xss_hh (:. xss_h xss_t) xs', Tail xss_h xss_ht, Map xss_h xss_ht (:. xss_h xss_t) xss_, Transpose' (:. xs xss_) xss') => Transpose' (:. (:. x xs) (:. xss_h xss_t)) (:. (:. x xs') xss') |