Movatterモバイル変換
[0]ホーム
{-# LANGUAGE MagicHash #-}{-# LANGUAGE NoImplicitPrelude #-}{-# OPTIONS_HADDOCK not-home #-}------------------------------------------------------------------------------- |-- Module : GHC.Ix-- Copyright : (c) The University of Glasgow, 1994-2000-- License : see libraries/base/LICENSE---- Maintainer : cvs-ghc@haskell.org-- Stability : internal-- Portability : non-portable (GHC extensions)---- GHC\'s Ix typeclass implementation.-------------------------------------------------------------------------------moduleGHC.Ix(Ix(..),indexError)whereimportGHC.EnumimportGHC.NumimportGHC.BaseimportGHC.Real(fromIntegral)importGHC.ShowimportGHC.Tuple(Solo(..))-- | The 'Ix' class is used to map a contiguous subrange of values in-- a type onto integers. It is used primarily for array indexing-- (see the array package).---- The first argument @(l,u)@ of each of these operations is a pair-- specifying the lower and upper bounds of a contiguous subrange of values.---- An implementation is entitled to assume the following laws about these-- operations:---- * @'inRange' (l,u) i == 'elem' i ('range' (l,u))@ @ @---- * @'range' (l,u) '!!' 'index' (l,u) i == i@, when @'inRange' (l,u) i@---- * @'map' ('index' (l,u)) ('range' (l,u))) == [0..'rangeSize' (l,u)-1]@ @ @---- * @'rangeSize' (l,u) == 'length' ('range' (l,u))@ @ @--class(Orda)=>Ixawhere{-# MINIMALrange,(index|unsafeIndex),inRange#-}-- | The list of values in the subrange defined by a bounding pair.range::(a,a)->[a]-- | The position of a subscript in the subrange.index::(a,a)->a->Int-- | Like 'index', but without checking that the value is in range.unsafeIndex::(a,a)->a->Int-- | Returns 'True' the given subscript lies in the range defined-- the bounding pair.inRange::(a,a)->a->Bool-- | The size of the subrange defined by a bounding pair.rangeSize::(a,a)->Int-- | like 'rangeSize', but without checking that the upper bound is-- in range.unsafeRangeSize::(a,a)->Int-- Must specify one of index, unsafeIndex-- 'index' is typically over-ridden in instances, with essentially-- the same code, but using indexError instead of hopelessIndexError-- Reason: we have 'Show' at the instances{-# INLINEindex#-}-- See Note [Inlining index]index(a, a)bai|(a, a) -> a -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a, a)bai=(a, a) -> a -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a, a)bai|Boolotherwise=InthopelessIndexErrorunsafeIndex(a, a)bai=(a, a) -> a -> Intforall a. Ix a => (a, a) -> a -> Intindex(a, a)bairangeSizeb :: (a, a)b@(a_l,ah)|(a, a) -> a -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a, a)bah=(a, a) -> a -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a, a)bahInt -> Int -> Intforall a. Num a => a -> a -> a+Int1|Boolotherwise=Int0-- This case is only here to-- check for an empty range-- NB: replacing (inRange b h) by (l <= h) fails for-- tuples. E.g. (1,2) <= (2,1) but the range is emptyunsafeRangeSizeb :: (a, a)b@(a_l,ah)=(a, a) -> a -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a, a)bahInt -> Int -> Intforall a. Num a => a -> a -> a+Int1{-Note that the following is NOT right rangeSize (l,h) | l <= h = index b h + 1 | otherwise = 0Because it might be the case that l<h, but the rangeis nevertheless empty. Consider ((1,2),(2,1))Here l<h, but the second index ranges from 2..1 andhence is emptyNote [Inlining index]~~~~~~~~~~~~~~~~~~~~~We inline the 'index' operation, * Partly because it generates much faster code (although bigger); see #1216 * Partly because it exposes the bounds checks to the simplifier which might help a big.If you make a per-instance index method, you may consider inlining it.Note [Double bounds-checking of index values]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~When you index an array, a!x, there are two possible bounds checks we might make: (A) Check that (inRange (bounds a) x) holds. (A) is checked in the method for 'index' (B) Check that (index (bounds a) x) lies in the range 0..n, where n is the size of the underlying array (B) is checked in the top-level function (!), in safeIndex.Of course it *should* be the case that (A) holds iff (B) holds, but thatis a property of the particular instances of index, bounds, and inRange,so GHC cannot guarantee it. * If you do (A) and not (B), then you might get a seg-fault, by indexing at some bizarre location. #1610 * If you do (B) but not (A), you may get no complaint when you index an array out of its semantic bounds. #2120At various times we have had (A) and not (B), or (B) and not (A); bothled to complaints. So now we implement *both* checks (#2669).For 1-d, 2-d, and 3-d arrays of Int we have specialised instances to avoid this.Note [Out-of-bounds error messages]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~The default method for 'index' generates hoplelessIndexError, becauseIx doesn't have Show as a superclass. For particular base types wecan do better, so we override the default method for index.Note [indexError]~~~~~~~~~~~~~~~~~We abstract the guts of constructing an out-of-bounds error into `indexError`.We give it a NOINLINE pragma, because we don't want to duplicate thiscold-path code.We give it a SPECIALISE pragma because we really want it to takeits arguments unboxed, to avoid reboxing code in the caller, andperhaps even some reboxing code in the hot path of a caller.See Note [Boxity for bottoming functions] in GHC.Core.Opt.DmdAnal.The SPECIALISE pragma means that at least the Int-indexed caseof indexError /will/ unbox its arguments.The [2] phase is because if we don't give an activation we'll getthe one from the inline pragama (i.e. never) which is a bit silly.See Note [Activation pragmas for SPECIALISE] in GHC.HsToCore.Binds.-}-- indexError: see Note [indexError]{-# NOINLINEindexError#-}{-# SPECIALISE[2]indexError::(Int,Int)->Int->String->b#-}indexError::Showa=>(a,a)->a->String->bindexError :: forall a b. Show a => (a, a) -> a -> String -> bindexError(a, a)rngaiStringtp=String -> bforall a. String -> aerrorWithoutStackTrace(String -> ShowSshowStringString"Ix{"ShowS -> ShowS -> ShowSforall b c a. (b -> c) -> (a -> b) -> a -> c.String -> ShowSshowStringStringtpShowS -> ShowS -> ShowSforall b c a. (b -> c) -> (a -> b) -> a -> c.String -> ShowSshowStringString"}.index: Index "ShowS -> ShowS -> ShowSforall b c a. (b -> c) -> (a -> b) -> a -> c.Bool -> ShowS -> ShowSshowParenBoolTrue(Int -> a -> ShowSforall a. Show a => Int -> a -> ShowSshowsPrecInt0ai)ShowS -> ShowS -> ShowSforall b c a. (b -> c) -> (a -> b) -> a -> c.String -> ShowSshowStringString" out of range "ShowS -> ShowSforall a b. (a -> b) -> a -> b$Bool -> ShowS -> ShowSshowParenBoolTrue(Int -> (a, a) -> ShowSforall a. Show a => Int -> a -> ShowSshowsPrecInt0(a, a)rng)String"")hopelessIndexError::Int-- Try to use 'indexError' instead!hopelessIndexError :: InthopelessIndexError=String -> Intforall a. String -> aerrorWithoutStackTraceString"Error in array index"------------------------------------------------------------------------ | @since 2.01instanceIxCharwhere{-# INLINErange#-}range :: (Char, Char) -> Stringrange(Charm,Charn)=[Charm..Charn]{-# INLINEunsafeIndex#-}unsafeIndex :: (Char, Char) -> Char -> IntunsafeIndex(Charm,Char_n)Chari=Char -> Intforall a. Enum a => a -> IntfromEnumChariInt -> Int -> Intforall a. Num a => a -> a -> a-Char -> Intforall a. Enum a => a -> IntfromEnumCharm{-# INLINEindex#-}-- See Note [Out-of-bounds error messages]-- and Note [Inlining index]index :: (Char, Char) -> Char -> Intindex(Char, Char)bChari|(Char, Char) -> Char -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(Char, Char)bChari=(Char, Char) -> Char -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(Char, Char)bChari|Boolotherwise=(Char, Char) -> Char -> String -> Intforall a b. Show a => (a, a) -> a -> String -> bindexError(Char, Char)bChariString"Char"inRange :: (Char, Char) -> Char -> BoolinRange(Charm,Charn)Chari=CharmChar -> Char -> Boolforall a. Ord a => a -> a -> Bool<=ChariBool -> Bool -> Bool&&ChariChar -> Char -> Boolforall a. Ord a => a -> a -> Bool<=Charn------------------------------------------------------------------------ | @since 2.01instanceIxIntwhere{-# INLINErange#-}-- The INLINE stops the build in the RHS from getting inlined,-- so that callers can fuse with the result of rangerange :: (Int, Int) -> [Int]range(Intm,Intn)=[Intm..Intn]{-# INLINEunsafeIndex#-}unsafeIndex :: (Int, Int) -> Int -> IntunsafeIndex(Intm,Int_n)Inti=IntiInt -> Int -> Intforall a. Num a => a -> a -> a-Intm{-# INLINEindex#-}-- See Note [Out-of-bounds error messages]-- and Note [Inlining index]index :: (Int, Int) -> Int -> Intindex(Int, Int)bInti|(Int, Int) -> Int -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(Int, Int)bInti=(Int, Int) -> Int -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(Int, Int)bInti|Boolotherwise=(Int, Int) -> Int -> String -> Intforall a b. Show a => (a, a) -> a -> String -> bindexError(Int, Int)bIntiString"Int"{-# INLINEinRange#-}inRange :: (Int, Int) -> Int -> BoolinRange(I#Int#m,I#Int#n)(I#Int#i)=Int# -> BoolisTrue#(Int#mInt# -> Int# -> Int#<=#Int#i)Bool -> Bool -> Bool&&Int# -> BoolisTrue#(Int#iInt# -> Int# -> Int#<=#Int#n)-- | @since 4.6.0.0instanceIxWordwhererange :: (Word, Word) -> [Word]range(Wordm,Wordn)=[Wordm..Wordn]unsafeIndex :: (Word, Word) -> Word -> IntunsafeIndex(Wordm,Word_)Wordi=Word -> Intforall a b. (Integral a, Num b) => a -> bfromIntegral(WordiWord -> Word -> Wordforall a. Num a => a -> a -> a-Wordm)inRange :: (Word, Word) -> Word -> BoolinRange(Wordm,Wordn)Wordi=WordmWord -> Word -> Boolforall a. Ord a => a -> a -> Bool<=WordiBool -> Bool -> Bool&&WordiWord -> Word -> Boolforall a. Ord a => a -> a -> Bool<=Wordn------------------------------------------------------------------------ | @since 2.01instanceIxIntegerwhere{-# INLINErange#-}range :: (Integer, Integer) -> [Integer]range(Integerm,Integern)=[Integerm..Integern]{-# INLINEunsafeIndex#-}unsafeIndex :: (Integer, Integer) -> Integer -> IntunsafeIndex(Integerm,Integer_n)Integeri=Integer -> Intforall a. Num a => Integer -> afromInteger(IntegeriInteger -> Integer -> Integerforall a. Num a => a -> a -> a-Integerm){-# INLINEindex#-}-- See Note [Out-of-bounds error messages]-- and Note [Inlining index]index :: (Integer, Integer) -> Integer -> Intindex(Integer, Integer)bIntegeri|(Integer, Integer) -> Integer -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(Integer, Integer)bIntegeri=(Integer, Integer) -> Integer -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(Integer, Integer)bIntegeri|Boolotherwise=(Integer, Integer) -> Integer -> String -> Intforall a b. Show a => (a, a) -> a -> String -> bindexError(Integer, Integer)bIntegeriString"Integer"inRange :: (Integer, Integer) -> Integer -> BoolinRange(Integerm,Integern)Integeri=IntegermInteger -> Integer -> Boolforall a. Ord a => a -> a -> Bool<=IntegeriBool -> Bool -> Bool&&IntegeriInteger -> Integer -> Boolforall a. Ord a => a -> a -> Bool<=Integern------------------------------------------------------------------------ | @since 4.8.0.0instanceIxNaturalwhererange :: (Natural, Natural) -> [Natural]range(Naturalm,Naturaln)=[Naturalm..Naturaln]inRange :: (Natural, Natural) -> Natural -> BoolinRange(Naturalm,Naturaln)Naturali=NaturalmNatural -> Natural -> Boolforall a. Ord a => a -> a -> Bool<=NaturaliBool -> Bool -> Bool&&NaturaliNatural -> Natural -> Boolforall a. Ord a => a -> a -> Bool<=NaturalnunsafeIndex :: (Natural, Natural) -> Natural -> IntunsafeIndex(Naturalm,Natural_)Naturali=Natural -> Intforall a b. (Integral a, Num b) => a -> bfromIntegral(NaturaliNatural -> Natural -> Naturalforall a. Num a => a -> a -> a-Naturalm)index :: (Natural, Natural) -> Natural -> Intindex(Natural, Natural)bNaturali|(Natural, Natural) -> Natural -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(Natural, Natural)bNaturali=(Natural, Natural) -> Natural -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(Natural, Natural)bNaturali|Boolotherwise=(Natural, Natural) -> Natural -> String -> Intforall a b. Show a => (a, a) -> a -> String -> bindexError(Natural, Natural)bNaturaliString"Natural"------------------------------------------------------------------------ | @since 2.01instanceIxBoolwhere-- as derived{-# INLINErange#-}range :: (Bool, Bool) -> [Bool]range(Boolm,Booln)=[Boolm..Booln]{-# INLINEunsafeIndex#-}unsafeIndex :: (Bool, Bool) -> Bool -> IntunsafeIndex(Booll,Bool_)Booli=Bool -> Intforall a. Enum a => a -> IntfromEnumBooliInt -> Int -> Intforall a. Num a => a -> a -> a-Bool -> Intforall a. Enum a => a -> IntfromEnumBooll{-# INLINEindex#-}-- See Note [Out-of-bounds error messages]-- and Note [Inlining index]index :: (Bool, Bool) -> Bool -> Intindex(Bool, Bool)bBooli|(Bool, Bool) -> Bool -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(Bool, Bool)bBooli=(Bool, Bool) -> Bool -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(Bool, Bool)bBooli|Boolotherwise=(Bool, Bool) -> Bool -> String -> Intforall a b. Show a => (a, a) -> a -> String -> bindexError(Bool, Bool)bBooliString"Bool"inRange :: (Bool, Bool) -> Bool -> BoolinRange(Booll,Boolu)Booli=Bool -> Intforall a. Enum a => a -> IntfromEnumBooliInt -> Int -> Boolforall a. Ord a => a -> a -> Bool>=Bool -> Intforall a. Enum a => a -> IntfromEnumBoollBool -> Bool -> Bool&&Bool -> Intforall a. Enum a => a -> IntfromEnumBooliInt -> Int -> Boolforall a. Ord a => a -> a -> Bool<=Bool -> Intforall a. Enum a => a -> IntfromEnumBoolu------------------------------------------------------------------------ | @since 2.01instanceIxOrderingwhere-- as derived{-# INLINErange#-}range :: (Ordering, Ordering) -> [Ordering]range(Orderingm,Orderingn)=[Orderingm..Orderingn]{-# INLINEunsafeIndex#-}unsafeIndex :: (Ordering, Ordering) -> Ordering -> IntunsafeIndex(Orderingl,Ordering_)Orderingi=Ordering -> Intforall a. Enum a => a -> IntfromEnumOrderingiInt -> Int -> Intforall a. Num a => a -> a -> a-Ordering -> Intforall a. Enum a => a -> IntfromEnumOrderingl{-# INLINEindex#-}-- See Note [Out-of-bounds error messages]-- and Note [Inlining index]index :: (Ordering, Ordering) -> Ordering -> Intindex(Ordering, Ordering)bOrderingi|(Ordering, Ordering) -> Ordering -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(Ordering, Ordering)bOrderingi=(Ordering, Ordering) -> Ordering -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(Ordering, Ordering)bOrderingi|Boolotherwise=(Ordering, Ordering) -> Ordering -> String -> Intforall a b. Show a => (a, a) -> a -> String -> bindexError(Ordering, Ordering)bOrderingiString"Ordering"inRange :: (Ordering, Ordering) -> Ordering -> BoolinRange(Orderingl,Orderingu)Orderingi=Ordering -> Intforall a. Enum a => a -> IntfromEnumOrderingiInt -> Int -> Boolforall a. Ord a => a -> a -> Bool>=Ordering -> Intforall a. Enum a => a -> IntfromEnumOrderinglBool -> Bool -> Bool&&Ordering -> Intforall a. Enum a => a -> IntfromEnumOrderingiInt -> Int -> Boolforall a. Ord a => a -> a -> Bool<=Ordering -> Intforall a. Enum a => a -> IntfromEnumOrderingu------------------------------------------------------------------------ | @since 4.8.0.0instanceIxVoidwhererange :: (Void, Void) -> [Void]range(Void, Void)_=[]index :: (Void, Void) -> Void -> Intindex(Void, Void)_=Void -> Intforall a. Void -> aabsurdinRange :: (Void, Void) -> Void -> BoolinRange(Void, Void)_=Void -> Boolforall a. Void -> aabsurdrangeSize :: (Void, Void) -> IntrangeSize(Void, Void)_=Int0------------------------------------------------------------------------ | @since 2.01instanceIx()where{-# INLINErange#-}range :: ((), ()) -> [()]range((),())=[()]{-# INLINEunsafeIndex#-}unsafeIndex :: ((), ()) -> () -> IntunsafeIndex((),())()=Int0{-# INLINEinRange#-}inRange :: ((), ()) -> () -> BoolinRange((),())()=BoolTrue{-# INLINEindex#-}-- See Note [Inlining index]index :: ((), ()) -> () -> Intindex((), ())b()i=((), ()) -> () -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex((), ())b()iinstanceIxa=>Ix(Soloa)where-- as derived{-# SPECIALISEinstanceIx(SoloInt)#-}{-# INLINErange#-}range :: (Solo a, Solo a) -> [Solo a]range(MkSoloal,MkSoloau)=[a -> Solo aforall a. a -> Solo aMkSoloai|ai<-(a, a) -> [a]forall a. Ix a => (a, a) -> [a]range(al,au)]{-# INLINEunsafeIndex#-}unsafeIndex :: (Solo a, Solo a) -> Solo a -> IntunsafeIndex(MkSoloal,MkSoloau)(MkSoloai)=(a, a) -> a -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(al,au)ai{-# INLINEinRange#-}inRange :: (Solo a, Solo a) -> Solo a -> BoolinRange(MkSoloal,MkSoloau)(MkSoloai)=(a, a) -> a -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(al,au)ai-- Default method for index------------------------------------------------------------------------ | @since 2.01instance(Ixa,Ixb)=>Ix(a,b)where-- as derived{-# SPECIALISEinstanceIx(Int,Int)#-}{-# INLINErange#-}range :: ((a, b), (a, b)) -> [(a, b)]range((al1,bl2),(au1,bu2))=[(ai1,bi2)|ai1<-(a, a) -> [a]forall a. Ix a => (a, a) -> [a]range(al1,au1),bi2<-(b, b) -> [b]forall a. Ix a => (a, a) -> [a]range(bl2,bu2)]{-# INLINEunsafeIndex#-}unsafeIndex :: ((a, b), (a, b)) -> (a, b) -> IntunsafeIndex((al1,bl2),(au1,bu2))(ai1,bi2)=(a, a) -> a -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(al1,au1)ai1Int -> Int -> Intforall a. Num a => a -> a -> a*(b, b) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(bl2,bu2)Int -> Int -> Intforall a. Num a => a -> a -> a+(b, b) -> b -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(bl2,bu2)bi2{-# INLINEinRange#-}inRange :: ((a, b), (a, b)) -> (a, b) -> BoolinRange((al1,bl2),(au1,bu2))(ai1,bi2)=(a, a) -> a -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(al1,au1)ai1Bool -> Bool -> Bool&&(b, b) -> b -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(bl2,bu2)bi2-- Default method for index------------------------------------------------------------------------ | @since 2.01instance(Ixa1,Ixa2,Ixa3)=>Ix(a1,a2,a3)where{-# SPECIALISEinstanceIx(Int,Int,Int)#-}range :: ((a1, a2, a3), (a1, a2, a3)) -> [(a1, a2, a3)]range((a1l1,a2l2,a3l3),(a1u1,a2u2,a3u3))=[(a1i1,a2i2,a3i3)|a1i1<-(a1, a1) -> [a1]forall a. Ix a => (a, a) -> [a]range(a1l1,a1u1),a2i2<-(a2, a2) -> [a2]forall a. Ix a => (a, a) -> [a]range(a2l2,a2u2),a3i3<-(a3, a3) -> [a3]forall a. Ix a => (a, a) -> [a]range(a3l3,a3u3)]unsafeIndex :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> IntunsafeIndex((a1l1,a2l2,a3l3),(a1u1,a2u2,a3u3))(a1i1,a2i2,a3i3)=(a3, a3) -> a3 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a3l3,a3u3)a3i3Int -> Int -> Intforall a. Num a => a -> a -> a+(a3, a3) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a3l3,a3u3)Int -> Int -> Intforall a. Num a => a -> a -> a*((a2, a2) -> a2 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a2l2,a2u2)a2i2Int -> Int -> Intforall a. Num a => a -> a -> a+(a2, a2) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a2l2,a2u2)Int -> Int -> Intforall a. Num a => a -> a -> a*((a1, a1) -> a1 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a1l1,a1u1)a1i1))inRange :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> BoolinRange((a1l1,a2l2,a3l3),(a1u1,a2u2,a3u3))(a1i1,a2i2,a3i3)=(a1, a1) -> a1 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a1l1,a1u1)a1i1Bool -> Bool -> Bool&&(a2, a2) -> a2 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a2l2,a2u2)a2i2Bool -> Bool -> Bool&&(a3, a3) -> a3 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a3l3,a3u3)a3i3-- Default method for index------------------------------------------------------------------------ | @since 2.01instance(Ixa1,Ixa2,Ixa3,Ixa4)=>Ix(a1,a2,a3,a4)whererange :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> [(a1, a2, a3, a4)]range((a1l1,a2l2,a3l3,a4l4),(a1u1,a2u2,a3u3,a4u4))=[(a1i1,a2i2,a3i3,a4i4)|a1i1<-(a1, a1) -> [a1]forall a. Ix a => (a, a) -> [a]range(a1l1,a1u1),a2i2<-(a2, a2) -> [a2]forall a. Ix a => (a, a) -> [a]range(a2l2,a2u2),a3i3<-(a3, a3) -> [a3]forall a. Ix a => (a, a) -> [a]range(a3l3,a3u3),a4i4<-(a4, a4) -> [a4]forall a. Ix a => (a, a) -> [a]range(a4l4,a4u4)]unsafeIndex :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> IntunsafeIndex((a1l1,a2l2,a3l3,a4l4),(a1u1,a2u2,a3u3,a4u4))(a1i1,a2i2,a3i3,a4i4)=(a4, a4) -> a4 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a4l4,a4u4)a4i4Int -> Int -> Intforall a. Num a => a -> a -> a+(a4, a4) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a4l4,a4u4)Int -> Int -> Intforall a. Num a => a -> a -> a*((a3, a3) -> a3 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a3l3,a3u3)a3i3Int -> Int -> Intforall a. Num a => a -> a -> a+(a3, a3) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a3l3,a3u3)Int -> Int -> Intforall a. Num a => a -> a -> a*((a2, a2) -> a2 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a2l2,a2u2)a2i2Int -> Int -> Intforall a. Num a => a -> a -> a+(a2, a2) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a2l2,a2u2)Int -> Int -> Intforall a. Num a => a -> a -> a*((a1, a1) -> a1 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a1l1,a1u1)a1i1)))inRange :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> BoolinRange((a1l1,a2l2,a3l3,a4l4),(a1u1,a2u2,a3u3,a4u4))(a1i1,a2i2,a3i3,a4i4)=(a1, a1) -> a1 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a1l1,a1u1)a1i1Bool -> Bool -> Bool&&(a2, a2) -> a2 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a2l2,a2u2)a2i2Bool -> Bool -> Bool&&(a3, a3) -> a3 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a3l3,a3u3)a3i3Bool -> Bool -> Bool&&(a4, a4) -> a4 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a4l4,a4u4)a4i4-- Default method for index------------------------------------------------------------------------ | @since 2.01instance(Ixa1,Ixa2,Ixa3,Ixa4,Ixa5)=>Ix(a1,a2,a3,a4,a5)whererange :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5))-> [(a1, a2, a3, a4, a5)]range((a1l1,a2l2,a3l3,a4l4,a5l5),(a1u1,a2u2,a3u3,a4u4,a5u5))=[(a1i1,a2i2,a3i3,a4i4,a5i5)|a1i1<-(a1, a1) -> [a1]forall a. Ix a => (a, a) -> [a]range(a1l1,a1u1),a2i2<-(a2, a2) -> [a2]forall a. Ix a => (a, a) -> [a]range(a2l2,a2u2),a3i3<-(a3, a3) -> [a3]forall a. Ix a => (a, a) -> [a]range(a3l3,a3u3),a4i4<-(a4, a4) -> [a4]forall a. Ix a => (a, a) -> [a]range(a4l4,a4u4),a5i5<-(a5, a5) -> [a5]forall a. Ix a => (a, a) -> [a]range(a5l5,a5u5)]unsafeIndex :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5))-> (a1, a2, a3, a4, a5) -> IntunsafeIndex((a1l1,a2l2,a3l3,a4l4,a5l5),(a1u1,a2u2,a3u3,a4u4,a5u5))(a1i1,a2i2,a3i3,a4i4,a5i5)=(a5, a5) -> a5 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a5l5,a5u5)a5i5Int -> Int -> Intforall a. Num a => a -> a -> a+(a5, a5) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a5l5,a5u5)Int -> Int -> Intforall a. Num a => a -> a -> a*((a4, a4) -> a4 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a4l4,a4u4)a4i4Int -> Int -> Intforall a. Num a => a -> a -> a+(a4, a4) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a4l4,a4u4)Int -> Int -> Intforall a. Num a => a -> a -> a*((a3, a3) -> a3 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a3l3,a3u3)a3i3Int -> Int -> Intforall a. Num a => a -> a -> a+(a3, a3) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a3l3,a3u3)Int -> Int -> Intforall a. Num a => a -> a -> a*((a2, a2) -> a2 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a2l2,a2u2)a2i2Int -> Int -> Intforall a. Num a => a -> a -> a+(a2, a2) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a2l2,a2u2)Int -> Int -> Intforall a. Num a => a -> a -> a*((a1, a1) -> a1 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a1l1,a1u1)a1i1))))inRange :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5))-> (a1, a2, a3, a4, a5) -> BoolinRange((a1l1,a2l2,a3l3,a4l4,a5l5),(a1u1,a2u2,a3u3,a4u4,a5u5))(a1i1,a2i2,a3i3,a4i4,a5i5)=(a1, a1) -> a1 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a1l1,a1u1)a1i1Bool -> Bool -> Bool&&(a2, a2) -> a2 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a2l2,a2u2)a2i2Bool -> Bool -> Bool&&(a3, a3) -> a3 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a3l3,a3u3)a3i3Bool -> Bool -> Bool&&(a4, a4) -> a4 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a4l4,a4u4)a4i4Bool -> Bool -> Bool&&(a5, a5) -> a5 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a5l5,a5u5)a5i5-- Default method for index------------------------------------------------------------------------ | @since 4.15.0.0instance(Ixa1,Ixa2,Ixa3,Ixa4,Ixa5,Ixa6)=>Ix(a1,a2,a3,a4,a5,a6)whererange :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6))-> [(a1, a2, a3, a4, a5, a6)]range((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6))=[(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6)|a1i1<-(a1, a1) -> [a1]forall a. Ix a => (a, a) -> [a]range(a1l1,a1u1),a2i2<-(a2, a2) -> [a2]forall a. Ix a => (a, a) -> [a]range(a2l2,a2u2),a3i3<-(a3, a3) -> [a3]forall a. Ix a => (a, a) -> [a]range(a3l3,a3u3),a4i4<-(a4, a4) -> [a4]forall a. Ix a => (a, a) -> [a]range(a4l4,a4u4),a5i5<-(a5, a5) -> [a5]forall a. Ix a => (a, a) -> [a]range(a5l5,a5u5),a6i6<-(a6, a6) -> [a6]forall a. Ix a => (a, a) -> [a]range(a6l6,a6u6)]unsafeIndex :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6))-> (a1, a2, a3, a4, a5, a6) -> IntunsafeIndex((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6)=(a6, a6) -> a6 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a6l6,a6u6)a6i6Int -> Int -> Intforall a. Num a => a -> a -> a+(a6, a6) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a6l6,a6u6)Int -> Int -> Intforall a. Num a => a -> a -> a*((a5, a5) -> a5 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a5l5,a5u5)a5i5Int -> Int -> Intforall a. Num a => a -> a -> a+(a5, a5) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a5l5,a5u5)Int -> Int -> Intforall a. Num a => a -> a -> a*((a4, a4) -> a4 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a4l4,a4u4)a4i4Int -> Int -> Intforall a. Num a => a -> a -> a+(a4, a4) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a4l4,a4u4)Int -> Int -> Intforall a. Num a => a -> a -> a*((a3, a3) -> a3 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a3l3,a3u3)a3i3Int -> Int -> Intforall a. Num a => a -> a -> a+(a3, a3) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a3l3,a3u3)Int -> Int -> Intforall a. Num a => a -> a -> a*((a2, a2) -> a2 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a2l2,a2u2)a2i2Int -> Int -> Intforall a. Num a => a -> a -> a+(a2, a2) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a2l2,a2u2)Int -> Int -> Intforall a. Num a => a -> a -> a*((a1, a1) -> a1 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a1l1,a1u1)a1i1)))))inRange :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6))-> (a1, a2, a3, a4, a5, a6) -> BoolinRange((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6)=(a1, a1) -> a1 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a1l1,a1u1)a1i1Bool -> Bool -> Bool&&(a2, a2) -> a2 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a2l2,a2u2)a2i2Bool -> Bool -> Bool&&(a3, a3) -> a3 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a3l3,a3u3)a3i3Bool -> Bool -> Bool&&(a4, a4) -> a4 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a4l4,a4u4)a4i4Bool -> Bool -> Bool&&(a5, a5) -> a5 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a5l5,a5u5)a5i5Bool -> Bool -> Bool&&(a6, a6) -> a6 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a6l6,a6u6)a6i6-- Default method for index------------------------------------------------------------------------ | @since 4.15.0.0instance(Ixa1,Ixa2,Ixa3,Ixa4,Ixa5,Ixa6,Ixa7)=>Ix(a1,a2,a3,a4,a5,a6,a7)whererange :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7))-> [(a1, a2, a3, a4, a5, a6, a7)]range((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7))=[(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7)|a1i1<-(a1, a1) -> [a1]forall a. Ix a => (a, a) -> [a]range(a1l1,a1u1),a2i2<-(a2, a2) -> [a2]forall a. Ix a => (a, a) -> [a]range(a2l2,a2u2),a3i3<-(a3, a3) -> [a3]forall a. Ix a => (a, a) -> [a]range(a3l3,a3u3),a4i4<-(a4, a4) -> [a4]forall a. Ix a => (a, a) -> [a]range(a4l4,a4u4),a5i5<-(a5, a5) -> [a5]forall a. Ix a => (a, a) -> [a]range(a5l5,a5u5),a6i6<-(a6, a6) -> [a6]forall a. Ix a => (a, a) -> [a]range(a6l6,a6u6),a7i7<-(a7, a7) -> [a7]forall a. Ix a => (a, a) -> [a]range(a7l7,a7u7)]unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7))-> (a1, a2, a3, a4, a5, a6, a7) -> IntunsafeIndex((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7)=(a7, a7) -> a7 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a7l7,a7u7)a7i7Int -> Int -> Intforall a. Num a => a -> a -> a+(a7, a7) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a7l7,a7u7)Int -> Int -> Intforall a. Num a => a -> a -> a*((a6, a6) -> a6 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a6l6,a6u6)a6i6Int -> Int -> Intforall a. Num a => a -> a -> a+(a6, a6) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a6l6,a6u6)Int -> Int -> Intforall a. Num a => a -> a -> a*((a5, a5) -> a5 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a5l5,a5u5)a5i5Int -> Int -> Intforall a. Num a => a -> a -> a+(a5, a5) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a5l5,a5u5)Int -> Int -> Intforall a. Num a => a -> a -> a*((a4, a4) -> a4 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a4l4,a4u4)a4i4Int -> Int -> Intforall a. Num a => a -> a -> a+(a4, a4) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a4l4,a4u4)Int -> Int -> Intforall a. Num a => a -> a -> a*((a3, a3) -> a3 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a3l3,a3u3)a3i3Int -> Int -> Intforall a. Num a => a -> a -> a+(a3, a3) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a3l3,a3u3)Int -> Int -> Intforall a. Num a => a -> a -> a*((a2, a2) -> a2 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a2l2,a2u2)a2i2Int -> Int -> Intforall a. Num a => a -> a -> a+(a2, a2) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a2l2,a2u2)Int -> Int -> Intforall a. Num a => a -> a -> a*((a1, a1) -> a1 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a1l1,a1u1)a1i1))))))inRange :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7))-> (a1, a2, a3, a4, a5, a6, a7) -> BoolinRange((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7)=(a1, a1) -> a1 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a1l1,a1u1)a1i1Bool -> Bool -> Bool&&(a2, a2) -> a2 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a2l2,a2u2)a2i2Bool -> Bool -> Bool&&(a3, a3) -> a3 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a3l3,a3u3)a3i3Bool -> Bool -> Bool&&(a4, a4) -> a4 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a4l4,a4u4)a4i4Bool -> Bool -> Bool&&(a5, a5) -> a5 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a5l5,a5u5)a5i5Bool -> Bool -> Bool&&(a6, a6) -> a6 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a6l6,a6u6)a6i6Bool -> Bool -> Bool&&(a7, a7) -> a7 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a7l7,a7u7)a7i7-- Default method for index------------------------------------------------------------------------ | @since 4.15.0.0instance(Ixa1,Ixa2,Ixa3,Ixa4,Ixa5,Ixa6,Ixa7,Ixa8)=>Ix(a1,a2,a3,a4,a5,a6,a7,a8)whererange :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8))-> [(a1, a2, a3, a4, a5, a6, a7, a8)]range((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8))=[(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8)|a1i1<-(a1, a1) -> [a1]forall a. Ix a => (a, a) -> [a]range(a1l1,a1u1),a2i2<-(a2, a2) -> [a2]forall a. Ix a => (a, a) -> [a]range(a2l2,a2u2),a3i3<-(a3, a3) -> [a3]forall a. Ix a => (a, a) -> [a]range(a3l3,a3u3),a4i4<-(a4, a4) -> [a4]forall a. Ix a => (a, a) -> [a]range(a4l4,a4u4),a5i5<-(a5, a5) -> [a5]forall a. Ix a => (a, a) -> [a]range(a5l5,a5u5),a6i6<-(a6, a6) -> [a6]forall a. Ix a => (a, a) -> [a]range(a6l6,a6u6),a7i7<-(a7, a7) -> [a7]forall a. Ix a => (a, a) -> [a]range(a7l7,a7u7),a8i8<-(a8, a8) -> [a8]forall a. Ix a => (a, a) -> [a]range(a8l8,a8u8)]unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8))-> (a1, a2, a3, a4, a5, a6, a7, a8) -> IntunsafeIndex((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8)=(a8, a8) -> a8 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a8l8,a8u8)a8i8Int -> Int -> Intforall a. Num a => a -> a -> a+(a8, a8) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a8l8,a8u8)Int -> Int -> Intforall a. Num a => a -> a -> a*((a7, a7) -> a7 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a7l7,a7u7)a7i7Int -> Int -> Intforall a. Num a => a -> a -> a+(a7, a7) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a7l7,a7u7)Int -> Int -> Intforall a. Num a => a -> a -> a*((a6, a6) -> a6 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a6l6,a6u6)a6i6Int -> Int -> Intforall a. Num a => a -> a -> a+(a6, a6) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a6l6,a6u6)Int -> Int -> Intforall a. Num a => a -> a -> a*((a5, a5) -> a5 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a5l5,a5u5)a5i5Int -> Int -> Intforall a. Num a => a -> a -> a+(a5, a5) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a5l5,a5u5)Int -> Int -> Intforall a. Num a => a -> a -> a*((a4, a4) -> a4 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a4l4,a4u4)a4i4Int -> Int -> Intforall a. Num a => a -> a -> a+(a4, a4) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a4l4,a4u4)Int -> Int -> Intforall a. Num a => a -> a -> a*((a3, a3) -> a3 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a3l3,a3u3)a3i3Int -> Int -> Intforall a. Num a => a -> a -> a+(a3, a3) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a3l3,a3u3)Int -> Int -> Intforall a. Num a => a -> a -> a*((a2, a2) -> a2 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a2l2,a2u2)a2i2Int -> Int -> Intforall a. Num a => a -> a -> a+(a2, a2) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a2l2,a2u2)Int -> Int -> Intforall a. Num a => a -> a -> a*((a1, a1) -> a1 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a1l1,a1u1)a1i1)))))))inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8))-> (a1, a2, a3, a4, a5, a6, a7, a8) -> BoolinRange((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8)=(a1, a1) -> a1 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a1l1,a1u1)a1i1Bool -> Bool -> Bool&&(a2, a2) -> a2 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a2l2,a2u2)a2i2Bool -> Bool -> Bool&&(a3, a3) -> a3 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a3l3,a3u3)a3i3Bool -> Bool -> Bool&&(a4, a4) -> a4 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a4l4,a4u4)a4i4Bool -> Bool -> Bool&&(a5, a5) -> a5 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a5l5,a5u5)a5i5Bool -> Bool -> Bool&&(a6, a6) -> a6 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a6l6,a6u6)a6i6Bool -> Bool -> Bool&&(a7, a7) -> a7 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a7l7,a7u7)a7i7Bool -> Bool -> Bool&&(a8, a8) -> a8 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a8l8,a8u8)a8i8-- Default method for index------------------------------------------------------------------------ | @since 4.15.0.0instance(Ixa1,Ixa2,Ixa3,Ixa4,Ixa5,Ixa6,Ixa7,Ixa8,Ixa9)=>Ix(a1,a2,a3,a4,a5,a6,a7,a8,a9)whererange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9))-> [(a1, a2, a3, a4, a5, a6, a7, a8, a9)]range((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9))=[(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9)|a1i1<-(a1, a1) -> [a1]forall a. Ix a => (a, a) -> [a]range(a1l1,a1u1),a2i2<-(a2, a2) -> [a2]forall a. Ix a => (a, a) -> [a]range(a2l2,a2u2),a3i3<-(a3, a3) -> [a3]forall a. Ix a => (a, a) -> [a]range(a3l3,a3u3),a4i4<-(a4, a4) -> [a4]forall a. Ix a => (a, a) -> [a]range(a4l4,a4u4),a5i5<-(a5, a5) -> [a5]forall a. Ix a => (a, a) -> [a]range(a5l5,a5u5),a6i6<-(a6, a6) -> [a6]forall a. Ix a => (a, a) -> [a]range(a6l6,a6u6),a7i7<-(a7, a7) -> [a7]forall a. Ix a => (a, a) -> [a]range(a7l7,a7u7),a8i8<-(a8, a8) -> [a8]forall a. Ix a => (a, a) -> [a]range(a8l8,a8u8),a9i9<-(a9, a9) -> [a9]forall a. Ix a => (a, a) -> [a]range(a9l9,a9u9)]unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> IntunsafeIndex((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9)=(a9, a9) -> a9 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a9l9,a9u9)a9i9Int -> Int -> Intforall a. Num a => a -> a -> a+(a9, a9) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a9l9,a9u9)Int -> Int -> Intforall a. Num a => a -> a -> a*((a8, a8) -> a8 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a8l8,a8u8)a8i8Int -> Int -> Intforall a. Num a => a -> a -> a+(a8, a8) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a8l8,a8u8)Int -> Int -> Intforall a. Num a => a -> a -> a*((a7, a7) -> a7 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a7l7,a7u7)a7i7Int -> Int -> Intforall a. Num a => a -> a -> a+(a7, a7) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a7l7,a7u7)Int -> Int -> Intforall a. Num a => a -> a -> a*((a6, a6) -> a6 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a6l6,a6u6)a6i6Int -> Int -> Intforall a. Num a => a -> a -> a+(a6, a6) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a6l6,a6u6)Int -> Int -> Intforall a. Num a => a -> a -> a*((a5, a5) -> a5 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a5l5,a5u5)a5i5Int -> Int -> Intforall a. Num a => a -> a -> a+(a5, a5) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a5l5,a5u5)Int -> Int -> Intforall a. Num a => a -> a -> a*((a4, a4) -> a4 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a4l4,a4u4)a4i4Int -> Int -> Intforall a. Num a => a -> a -> a+(a4, a4) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a4l4,a4u4)Int -> Int -> Intforall a. Num a => a -> a -> a*((a3, a3) -> a3 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a3l3,a3u3)a3i3Int -> Int -> Intforall a. Num a => a -> a -> a+(a3, a3) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a3l3,a3u3)Int -> Int -> Intforall a. Num a => a -> a -> a*((a2, a2) -> a2 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a2l2,a2u2)a2i2Int -> Int -> Intforall a. Num a => a -> a -> a+(a2, a2) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a2l2,a2u2)Int -> Int -> Intforall a. Num a => a -> a -> a*((a1, a1) -> a1 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a1l1,a1u1)a1i1))))))))inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> BoolinRange((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9)=(a1, a1) -> a1 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a1l1,a1u1)a1i1Bool -> Bool -> Bool&&(a2, a2) -> a2 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a2l2,a2u2)a2i2Bool -> Bool -> Bool&&(a3, a3) -> a3 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a3l3,a3u3)a3i3Bool -> Bool -> Bool&&(a4, a4) -> a4 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a4l4,a4u4)a4i4Bool -> Bool -> Bool&&(a5, a5) -> a5 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a5l5,a5u5)a5i5Bool -> Bool -> Bool&&(a6, a6) -> a6 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a6l6,a6u6)a6i6Bool -> Bool -> Bool&&(a7, a7) -> a7 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a7l7,a7u7)a7i7Bool -> Bool -> Bool&&(a8, a8) -> a8 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a8l8,a8u8)a8i8Bool -> Bool -> Bool&&(a9, a9) -> a9 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a9l9,a9u9)a9i9-- Default method for index------------------------------------------------------------------------ | @since 4.15.0.0instance(Ixa1,Ixa2,Ixa3,Ixa4,Ixa5,Ixa6,Ixa7,Ixa8,Ixa9,IxaA)=>Ix(a1,a2,a3,a4,a5,a6,a7,a8,a9,aA)whererange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA))-> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)]range((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA))=[(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA)|a1i1<-(a1, a1) -> [a1]forall a. Ix a => (a, a) -> [a]range(a1l1,a1u1),a2i2<-(a2, a2) -> [a2]forall a. Ix a => (a, a) -> [a]range(a2l2,a2u2),a3i3<-(a3, a3) -> [a3]forall a. Ix a => (a, a) -> [a]range(a3l3,a3u3),a4i4<-(a4, a4) -> [a4]forall a. Ix a => (a, a) -> [a]range(a4l4,a4u4),a5i5<-(a5, a5) -> [a5]forall a. Ix a => (a, a) -> [a]range(a5l5,a5u5),a6i6<-(a6, a6) -> [a6]forall a. Ix a => (a, a) -> [a]range(a6l6,a6u6),a7i7<-(a7, a7) -> [a7]forall a. Ix a => (a, a) -> [a]range(a7l7,a7u7),a8i8<-(a8, a8) -> [a8]forall a. Ix a => (a, a) -> [a]range(a8l8,a8u8),a9i9<-(a9, a9) -> [a9]forall a. Ix a => (a, a) -> [a]range(a9l9,a9u9),aAiA<-(aA, aA) -> [aA]forall a. Ix a => (a, a) -> [a]range(aAlA,aAuA)]unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> IntunsafeIndex((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA)=(aA, aA) -> aA -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aAlA,aAuA)aAiAInt -> Int -> Intforall a. Num a => a -> a -> a+(aA, aA) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aAlA,aAuA)Int -> Int -> Intforall a. Num a => a -> a -> a*((a9, a9) -> a9 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a9l9,a9u9)a9i9Int -> Int -> Intforall a. Num a => a -> a -> a+(a9, a9) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a9l9,a9u9)Int -> Int -> Intforall a. Num a => a -> a -> a*((a8, a8) -> a8 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a8l8,a8u8)a8i8Int -> Int -> Intforall a. Num a => a -> a -> a+(a8, a8) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a8l8,a8u8)Int -> Int -> Intforall a. Num a => a -> a -> a*((a7, a7) -> a7 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a7l7,a7u7)a7i7Int -> Int -> Intforall a. Num a => a -> a -> a+(a7, a7) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a7l7,a7u7)Int -> Int -> Intforall a. Num a => a -> a -> a*((a6, a6) -> a6 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a6l6,a6u6)a6i6Int -> Int -> Intforall a. Num a => a -> a -> a+(a6, a6) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a6l6,a6u6)Int -> Int -> Intforall a. Num a => a -> a -> a*((a5, a5) -> a5 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a5l5,a5u5)a5i5Int -> Int -> Intforall a. Num a => a -> a -> a+(a5, a5) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a5l5,a5u5)Int -> Int -> Intforall a. Num a => a -> a -> a*((a4, a4) -> a4 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a4l4,a4u4)a4i4Int -> Int -> Intforall a. Num a => a -> a -> a+(a4, a4) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a4l4,a4u4)Int -> Int -> Intforall a. Num a => a -> a -> a*((a3, a3) -> a3 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a3l3,a3u3)a3i3Int -> Int -> Intforall a. Num a => a -> a -> a+(a3, a3) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a3l3,a3u3)Int -> Int -> Intforall a. Num a => a -> a -> a*((a2, a2) -> a2 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a2l2,a2u2)a2i2Int -> Int -> Intforall a. Num a => a -> a -> a+(a2, a2) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a2l2,a2u2)Int -> Int -> Intforall a. Num a => a -> a -> a*((a1, a1) -> a1 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a1l1,a1u1)a1i1)))))))))inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> BoolinRange((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA)=(a1, a1) -> a1 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a1l1,a1u1)a1i1Bool -> Bool -> Bool&&(a2, a2) -> a2 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a2l2,a2u2)a2i2Bool -> Bool -> Bool&&(a3, a3) -> a3 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a3l3,a3u3)a3i3Bool -> Bool -> Bool&&(a4, a4) -> a4 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a4l4,a4u4)a4i4Bool -> Bool -> Bool&&(a5, a5) -> a5 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a5l5,a5u5)a5i5Bool -> Bool -> Bool&&(a6, a6) -> a6 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a6l6,a6u6)a6i6Bool -> Bool -> Bool&&(a7, a7) -> a7 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a7l7,a7u7)a7i7Bool -> Bool -> Bool&&(a8, a8) -> a8 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a8l8,a8u8)a8i8Bool -> Bool -> Bool&&(a9, a9) -> a9 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a9l9,a9u9)a9i9Bool -> Bool -> Bool&&(aA, aA) -> aA -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aAlA,aAuA)aAiA-- Default method for index------------------------------------------------------------------------ | @since 4.15.0.0instance(Ixa1,Ixa2,Ixa3,Ixa4,Ixa5,Ixa6,Ixa7,Ixa8,Ixa9,IxaA,IxaB)=>Ix(a1,a2,a3,a4,a5,a6,a7,a8,a9,aA,aB)whererange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB))-> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)]range((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB))=[(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB)|a1i1<-(a1, a1) -> [a1]forall a. Ix a => (a, a) -> [a]range(a1l1,a1u1),a2i2<-(a2, a2) -> [a2]forall a. Ix a => (a, a) -> [a]range(a2l2,a2u2),a3i3<-(a3, a3) -> [a3]forall a. Ix a => (a, a) -> [a]range(a3l3,a3u3),a4i4<-(a4, a4) -> [a4]forall a. Ix a => (a, a) -> [a]range(a4l4,a4u4),a5i5<-(a5, a5) -> [a5]forall a. Ix a => (a, a) -> [a]range(a5l5,a5u5),a6i6<-(a6, a6) -> [a6]forall a. Ix a => (a, a) -> [a]range(a6l6,a6u6),a7i7<-(a7, a7) -> [a7]forall a. Ix a => (a, a) -> [a]range(a7l7,a7u7),a8i8<-(a8, a8) -> [a8]forall a. Ix a => (a, a) -> [a]range(a8l8,a8u8),a9i9<-(a9, a9) -> [a9]forall a. Ix a => (a, a) -> [a]range(a9l9,a9u9),aAiA<-(aA, aA) -> [aA]forall a. Ix a => (a, a) -> [a]range(aAlA,aAuA),aBiB<-(aB, aB) -> [aB]forall a. Ix a => (a, a) -> [a]range(aBlB,aBuB)]unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> IntunsafeIndex((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB)=(aB, aB) -> aB -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aBlB,aBuB)aBiBInt -> Int -> Intforall a. Num a => a -> a -> a+(aB, aB) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aBlB,aBuB)Int -> Int -> Intforall a. Num a => a -> a -> a*((aA, aA) -> aA -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aAlA,aAuA)aAiAInt -> Int -> Intforall a. Num a => a -> a -> a+(aA, aA) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aAlA,aAuA)Int -> Int -> Intforall a. Num a => a -> a -> a*((a9, a9) -> a9 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a9l9,a9u9)a9i9Int -> Int -> Intforall a. Num a => a -> a -> a+(a9, a9) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a9l9,a9u9)Int -> Int -> Intforall a. Num a => a -> a -> a*((a8, a8) -> a8 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a8l8,a8u8)a8i8Int -> Int -> Intforall a. Num a => a -> a -> a+(a8, a8) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a8l8,a8u8)Int -> Int -> Intforall a. Num a => a -> a -> a*((a7, a7) -> a7 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a7l7,a7u7)a7i7Int -> Int -> Intforall a. Num a => a -> a -> a+(a7, a7) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a7l7,a7u7)Int -> Int -> Intforall a. Num a => a -> a -> a*((a6, a6) -> a6 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a6l6,a6u6)a6i6Int -> Int -> Intforall a. Num a => a -> a -> a+(a6, a6) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a6l6,a6u6)Int -> Int -> Intforall a. Num a => a -> a -> a*((a5, a5) -> a5 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a5l5,a5u5)a5i5Int -> Int -> Intforall a. Num a => a -> a -> a+(a5, a5) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a5l5,a5u5)Int -> Int -> Intforall a. Num a => a -> a -> a*((a4, a4) -> a4 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a4l4,a4u4)a4i4Int -> Int -> Intforall a. Num a => a -> a -> a+(a4, a4) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a4l4,a4u4)Int -> Int -> Intforall a. Num a => a -> a -> a*((a3, a3) -> a3 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a3l3,a3u3)a3i3Int -> Int -> Intforall a. Num a => a -> a -> a+(a3, a3) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a3l3,a3u3)Int -> Int -> Intforall a. Num a => a -> a -> a*((a2, a2) -> a2 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a2l2,a2u2)a2i2Int -> Int -> Intforall a. Num a => a -> a -> a+(a2, a2) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a2l2,a2u2)Int -> Int -> Intforall a. Num a => a -> a -> a*((a1, a1) -> a1 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a1l1,a1u1)a1i1))))))))))inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> BoolinRange((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB)=(a1, a1) -> a1 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a1l1,a1u1)a1i1Bool -> Bool -> Bool&&(a2, a2) -> a2 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a2l2,a2u2)a2i2Bool -> Bool -> Bool&&(a3, a3) -> a3 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a3l3,a3u3)a3i3Bool -> Bool -> Bool&&(a4, a4) -> a4 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a4l4,a4u4)a4i4Bool -> Bool -> Bool&&(a5, a5) -> a5 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a5l5,a5u5)a5i5Bool -> Bool -> Bool&&(a6, a6) -> a6 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a6l6,a6u6)a6i6Bool -> Bool -> Bool&&(a7, a7) -> a7 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a7l7,a7u7)a7i7Bool -> Bool -> Bool&&(a8, a8) -> a8 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a8l8,a8u8)a8i8Bool -> Bool -> Bool&&(a9, a9) -> a9 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a9l9,a9u9)a9i9Bool -> Bool -> Bool&&(aA, aA) -> aA -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aAlA,aAuA)aAiABool -> Bool -> Bool&&(aB, aB) -> aB -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aBlB,aBuB)aBiB-- Default method for index------------------------------------------------------------------------ | @since 4.15.0.0instance(Ixa1,Ixa2,Ixa3,Ixa4,Ixa5,Ixa6,Ixa7,Ixa8,Ixa9,IxaA,IxaB,IxaC)=>Ix(a1,a2,a3,a4,a5,a6,a7,a8,a9,aA,aB,aC)whererange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC))-> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)]range((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB,aClC),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB,aCuC))=[(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB,aCiC)|a1i1<-(a1, a1) -> [a1]forall a. Ix a => (a, a) -> [a]range(a1l1,a1u1),a2i2<-(a2, a2) -> [a2]forall a. Ix a => (a, a) -> [a]range(a2l2,a2u2),a3i3<-(a3, a3) -> [a3]forall a. Ix a => (a, a) -> [a]range(a3l3,a3u3),a4i4<-(a4, a4) -> [a4]forall a. Ix a => (a, a) -> [a]range(a4l4,a4u4),a5i5<-(a5, a5) -> [a5]forall a. Ix a => (a, a) -> [a]range(a5l5,a5u5),a6i6<-(a6, a6) -> [a6]forall a. Ix a => (a, a) -> [a]range(a6l6,a6u6),a7i7<-(a7, a7) -> [a7]forall a. Ix a => (a, a) -> [a]range(a7l7,a7u7),a8i8<-(a8, a8) -> [a8]forall a. Ix a => (a, a) -> [a]range(a8l8,a8u8),a9i9<-(a9, a9) -> [a9]forall a. Ix a => (a, a) -> [a]range(a9l9,a9u9),aAiA<-(aA, aA) -> [aA]forall a. Ix a => (a, a) -> [a]range(aAlA,aAuA),aBiB<-(aB, aB) -> [aB]forall a. Ix a => (a, a) -> [a]range(aBlB,aBuB),aCiC<-(aC, aC) -> [aC]forall a. Ix a => (a, a) -> [a]range(aClC,aCuC)]unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> IntunsafeIndex((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB,aClC),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB,aCuC))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB,aCiC)=(aC, aC) -> aC -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aClC,aCuC)aCiCInt -> Int -> Intforall a. Num a => a -> a -> a+(aC, aC) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aClC,aCuC)Int -> Int -> Intforall a. Num a => a -> a -> a*((aB, aB) -> aB -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aBlB,aBuB)aBiBInt -> Int -> Intforall a. Num a => a -> a -> a+(aB, aB) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aBlB,aBuB)Int -> Int -> Intforall a. Num a => a -> a -> a*((aA, aA) -> aA -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aAlA,aAuA)aAiAInt -> Int -> Intforall a. Num a => a -> a -> a+(aA, aA) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aAlA,aAuA)Int -> Int -> Intforall a. Num a => a -> a -> a*((a9, a9) -> a9 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a9l9,a9u9)a9i9Int -> Int -> Intforall a. Num a => a -> a -> a+(a9, a9) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a9l9,a9u9)Int -> Int -> Intforall a. Num a => a -> a -> a*((a8, a8) -> a8 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a8l8,a8u8)a8i8Int -> Int -> Intforall a. Num a => a -> a -> a+(a8, a8) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a8l8,a8u8)Int -> Int -> Intforall a. Num a => a -> a -> a*((a7, a7) -> a7 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a7l7,a7u7)a7i7Int -> Int -> Intforall a. Num a => a -> a -> a+(a7, a7) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a7l7,a7u7)Int -> Int -> Intforall a. Num a => a -> a -> a*((a6, a6) -> a6 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a6l6,a6u6)a6i6Int -> Int -> Intforall a. Num a => a -> a -> a+(a6, a6) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a6l6,a6u6)Int -> Int -> Intforall a. Num a => a -> a -> a*((a5, a5) -> a5 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a5l5,a5u5)a5i5Int -> Int -> Intforall a. Num a => a -> a -> a+(a5, a5) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a5l5,a5u5)Int -> Int -> Intforall a. Num a => a -> a -> a*((a4, a4) -> a4 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a4l4,a4u4)a4i4Int -> Int -> Intforall a. Num a => a -> a -> a+(a4, a4) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a4l4,a4u4)Int -> Int -> Intforall a. Num a => a -> a -> a*((a3, a3) -> a3 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a3l3,a3u3)a3i3Int -> Int -> Intforall a. Num a => a -> a -> a+(a3, a3) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a3l3,a3u3)Int -> Int -> Intforall a. Num a => a -> a -> a*((a2, a2) -> a2 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a2l2,a2u2)a2i2Int -> Int -> Intforall a. Num a => a -> a -> a+(a2, a2) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a2l2,a2u2)Int -> Int -> Intforall a. Num a => a -> a -> a*((a1, a1) -> a1 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a1l1,a1u1)a1i1)))))))))))inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> BoolinRange((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB,aClC),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB,aCuC))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB,aCiC)=(a1, a1) -> a1 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a1l1,a1u1)a1i1Bool -> Bool -> Bool&&(a2, a2) -> a2 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a2l2,a2u2)a2i2Bool -> Bool -> Bool&&(a3, a3) -> a3 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a3l3,a3u3)a3i3Bool -> Bool -> Bool&&(a4, a4) -> a4 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a4l4,a4u4)a4i4Bool -> Bool -> Bool&&(a5, a5) -> a5 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a5l5,a5u5)a5i5Bool -> Bool -> Bool&&(a6, a6) -> a6 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a6l6,a6u6)a6i6Bool -> Bool -> Bool&&(a7, a7) -> a7 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a7l7,a7u7)a7i7Bool -> Bool -> Bool&&(a8, a8) -> a8 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a8l8,a8u8)a8i8Bool -> Bool -> Bool&&(a9, a9) -> a9 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a9l9,a9u9)a9i9Bool -> Bool -> Bool&&(aA, aA) -> aA -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aAlA,aAuA)aAiABool -> Bool -> Bool&&(aB, aB) -> aB -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aBlB,aBuB)aBiBBool -> Bool -> Bool&&(aC, aC) -> aC -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aClC,aCuC)aCiC-- Default method for index------------------------------------------------------------------------ | @since 4.15.0.0instance(Ixa1,Ixa2,Ixa3,Ixa4,Ixa5,Ixa6,Ixa7,Ixa8,Ixa9,IxaA,IxaB,IxaC,IxaD)=>Ix(a1,a2,a3,a4,a5,a6,a7,a8,a9,aA,aB,aC,aD)whererange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD))-> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)]range((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB,aClC,aDlD),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB,aCuC,aDuD))=[(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB,aCiC,aDiD)|a1i1<-(a1, a1) -> [a1]forall a. Ix a => (a, a) -> [a]range(a1l1,a1u1),a2i2<-(a2, a2) -> [a2]forall a. Ix a => (a, a) -> [a]range(a2l2,a2u2),a3i3<-(a3, a3) -> [a3]forall a. Ix a => (a, a) -> [a]range(a3l3,a3u3),a4i4<-(a4, a4) -> [a4]forall a. Ix a => (a, a) -> [a]range(a4l4,a4u4),a5i5<-(a5, a5) -> [a5]forall a. Ix a => (a, a) -> [a]range(a5l5,a5u5),a6i6<-(a6, a6) -> [a6]forall a. Ix a => (a, a) -> [a]range(a6l6,a6u6),a7i7<-(a7, a7) -> [a7]forall a. Ix a => (a, a) -> [a]range(a7l7,a7u7),a8i8<-(a8, a8) -> [a8]forall a. Ix a => (a, a) -> [a]range(a8l8,a8u8),a9i9<-(a9, a9) -> [a9]forall a. Ix a => (a, a) -> [a]range(a9l9,a9u9),aAiA<-(aA, aA) -> [aA]forall a. Ix a => (a, a) -> [a]range(aAlA,aAuA),aBiB<-(aB, aB) -> [aB]forall a. Ix a => (a, a) -> [a]range(aBlB,aBuB),aCiC<-(aC, aC) -> [aC]forall a. Ix a => (a, a) -> [a]range(aClC,aCuC),aDiD<-(aD, aD) -> [aD]forall a. Ix a => (a, a) -> [a]range(aDlD,aDuD)]unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> IntunsafeIndex((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB,aClC,aDlD),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB,aCuC,aDuD))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB,aCiC,aDiD)=(aD, aD) -> aD -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aDlD,aDuD)aDiDInt -> Int -> Intforall a. Num a => a -> a -> a+(aD, aD) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aDlD,aDuD)Int -> Int -> Intforall a. Num a => a -> a -> a*((aC, aC) -> aC -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aClC,aCuC)aCiCInt -> Int -> Intforall a. Num a => a -> a -> a+(aC, aC) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aClC,aCuC)Int -> Int -> Intforall a. Num a => a -> a -> a*((aB, aB) -> aB -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aBlB,aBuB)aBiBInt -> Int -> Intforall a. Num a => a -> a -> a+(aB, aB) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aBlB,aBuB)Int -> Int -> Intforall a. Num a => a -> a -> a*((aA, aA) -> aA -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aAlA,aAuA)aAiAInt -> Int -> Intforall a. Num a => a -> a -> a+(aA, aA) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aAlA,aAuA)Int -> Int -> Intforall a. Num a => a -> a -> a*((a9, a9) -> a9 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a9l9,a9u9)a9i9Int -> Int -> Intforall a. Num a => a -> a -> a+(a9, a9) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a9l9,a9u9)Int -> Int -> Intforall a. Num a => a -> a -> a*((a8, a8) -> a8 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a8l8,a8u8)a8i8Int -> Int -> Intforall a. Num a => a -> a -> a+(a8, a8) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a8l8,a8u8)Int -> Int -> Intforall a. Num a => a -> a -> a*((a7, a7) -> a7 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a7l7,a7u7)a7i7Int -> Int -> Intforall a. Num a => a -> a -> a+(a7, a7) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a7l7,a7u7)Int -> Int -> Intforall a. Num a => a -> a -> a*((a6, a6) -> a6 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a6l6,a6u6)a6i6Int -> Int -> Intforall a. Num a => a -> a -> a+(a6, a6) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a6l6,a6u6)Int -> Int -> Intforall a. Num a => a -> a -> a*((a5, a5) -> a5 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a5l5,a5u5)a5i5Int -> Int -> Intforall a. Num a => a -> a -> a+(a5, a5) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a5l5,a5u5)Int -> Int -> Intforall a. Num a => a -> a -> a*((a4, a4) -> a4 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a4l4,a4u4)a4i4Int -> Int -> Intforall a. Num a => a -> a -> a+(a4, a4) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a4l4,a4u4)Int -> Int -> Intforall a. Num a => a -> a -> a*((a3, a3) -> a3 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a3l3,a3u3)a3i3Int -> Int -> Intforall a. Num a => a -> a -> a+(a3, a3) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a3l3,a3u3)Int -> Int -> Intforall a. Num a => a -> a -> a*((a2, a2) -> a2 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a2l2,a2u2)a2i2Int -> Int -> Intforall a. Num a => a -> a -> a+(a2, a2) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a2l2,a2u2)Int -> Int -> Intforall a. Num a => a -> a -> a*((a1, a1) -> a1 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a1l1,a1u1)a1i1))))))))))))inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> BoolinRange((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB,aClC,aDlD),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB,aCuC,aDuD))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB,aCiC,aDiD)=(a1, a1) -> a1 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a1l1,a1u1)a1i1Bool -> Bool -> Bool&&(a2, a2) -> a2 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a2l2,a2u2)a2i2Bool -> Bool -> Bool&&(a3, a3) -> a3 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a3l3,a3u3)a3i3Bool -> Bool -> Bool&&(a4, a4) -> a4 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a4l4,a4u4)a4i4Bool -> Bool -> Bool&&(a5, a5) -> a5 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a5l5,a5u5)a5i5Bool -> Bool -> Bool&&(a6, a6) -> a6 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a6l6,a6u6)a6i6Bool -> Bool -> Bool&&(a7, a7) -> a7 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a7l7,a7u7)a7i7Bool -> Bool -> Bool&&(a8, a8) -> a8 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a8l8,a8u8)a8i8Bool -> Bool -> Bool&&(a9, a9) -> a9 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a9l9,a9u9)a9i9Bool -> Bool -> Bool&&(aA, aA) -> aA -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aAlA,aAuA)aAiABool -> Bool -> Bool&&(aB, aB) -> aB -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aBlB,aBuB)aBiBBool -> Bool -> Bool&&(aC, aC) -> aC -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aClC,aCuC)aCiCBool -> Bool -> Bool&&(aD, aD) -> aD -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aDlD,aDuD)aDiD-- Default method for index------------------------------------------------------------------------ | @since 4.15.0.0instance(Ixa1,Ixa2,Ixa3,Ixa4,Ixa5,Ixa6,Ixa7,Ixa8,Ixa9,IxaA,IxaB,IxaC,IxaD,IxaE)=>Ix(a1,a2,a3,a4,a5,a6,a7,a8,a9,aA,aB,aC,aD,aE)whererange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE))-> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)]range((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB,aClC,aDlD,aElE),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB,aCuC,aDuD,aEuE))=[(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB,aCiC,aDiD,aEiE)|a1i1<-(a1, a1) -> [a1]forall a. Ix a => (a, a) -> [a]range(a1l1,a1u1),a2i2<-(a2, a2) -> [a2]forall a. Ix a => (a, a) -> [a]range(a2l2,a2u2),a3i3<-(a3, a3) -> [a3]forall a. Ix a => (a, a) -> [a]range(a3l3,a3u3),a4i4<-(a4, a4) -> [a4]forall a. Ix a => (a, a) -> [a]range(a4l4,a4u4),a5i5<-(a5, a5) -> [a5]forall a. Ix a => (a, a) -> [a]range(a5l5,a5u5),a6i6<-(a6, a6) -> [a6]forall a. Ix a => (a, a) -> [a]range(a6l6,a6u6),a7i7<-(a7, a7) -> [a7]forall a. Ix a => (a, a) -> [a]range(a7l7,a7u7),a8i8<-(a8, a8) -> [a8]forall a. Ix a => (a, a) -> [a]range(a8l8,a8u8),a9i9<-(a9, a9) -> [a9]forall a. Ix a => (a, a) -> [a]range(a9l9,a9u9),aAiA<-(aA, aA) -> [aA]forall a. Ix a => (a, a) -> [a]range(aAlA,aAuA),aBiB<-(aB, aB) -> [aB]forall a. Ix a => (a, a) -> [a]range(aBlB,aBuB),aCiC<-(aC, aC) -> [aC]forall a. Ix a => (a, a) -> [a]range(aClC,aCuC),aDiD<-(aD, aD) -> [aD]forall a. Ix a => (a, a) -> [a]range(aDlD,aDuD),aEiE<-(aE, aE) -> [aE]forall a. Ix a => (a, a) -> [a]range(aElE,aEuE)]unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> IntunsafeIndex((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB,aClC,aDlD,aElE),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB,aCuC,aDuD,aEuE))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB,aCiC,aDiD,aEiE)=(aE, aE) -> aE -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aElE,aEuE)aEiEInt -> Int -> Intforall a. Num a => a -> a -> a+(aE, aE) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aElE,aEuE)Int -> Int -> Intforall a. Num a => a -> a -> a*((aD, aD) -> aD -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aDlD,aDuD)aDiDInt -> Int -> Intforall a. Num a => a -> a -> a+(aD, aD) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aDlD,aDuD)Int -> Int -> Intforall a. Num a => a -> a -> a*((aC, aC) -> aC -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aClC,aCuC)aCiCInt -> Int -> Intforall a. Num a => a -> a -> a+(aC, aC) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aClC,aCuC)Int -> Int -> Intforall a. Num a => a -> a -> a*((aB, aB) -> aB -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aBlB,aBuB)aBiBInt -> Int -> Intforall a. Num a => a -> a -> a+(aB, aB) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aBlB,aBuB)Int -> Int -> Intforall a. Num a => a -> a -> a*((aA, aA) -> aA -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aAlA,aAuA)aAiAInt -> Int -> Intforall a. Num a => a -> a -> a+(aA, aA) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aAlA,aAuA)Int -> Int -> Intforall a. Num a => a -> a -> a*((a9, a9) -> a9 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a9l9,a9u9)a9i9Int -> Int -> Intforall a. Num a => a -> a -> a+(a9, a9) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a9l9,a9u9)Int -> Int -> Intforall a. Num a => a -> a -> a*((a8, a8) -> a8 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a8l8,a8u8)a8i8Int -> Int -> Intforall a. Num a => a -> a -> a+(a8, a8) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a8l8,a8u8)Int -> Int -> Intforall a. Num a => a -> a -> a*((a7, a7) -> a7 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a7l7,a7u7)a7i7Int -> Int -> Intforall a. Num a => a -> a -> a+(a7, a7) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a7l7,a7u7)Int -> Int -> Intforall a. Num a => a -> a -> a*((a6, a6) -> a6 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a6l6,a6u6)a6i6Int -> Int -> Intforall a. Num a => a -> a -> a+(a6, a6) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a6l6,a6u6)Int -> Int -> Intforall a. Num a => a -> a -> a*((a5, a5) -> a5 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a5l5,a5u5)a5i5Int -> Int -> Intforall a. Num a => a -> a -> a+(a5, a5) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a5l5,a5u5)Int -> Int -> Intforall a. Num a => a -> a -> a*((a4, a4) -> a4 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a4l4,a4u4)a4i4Int -> Int -> Intforall a. Num a => a -> a -> a+(a4, a4) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a4l4,a4u4)Int -> Int -> Intforall a. Num a => a -> a -> a*((a3, a3) -> a3 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a3l3,a3u3)a3i3Int -> Int -> Intforall a. Num a => a -> a -> a+(a3, a3) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a3l3,a3u3)Int -> Int -> Intforall a. Num a => a -> a -> a*((a2, a2) -> a2 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a2l2,a2u2)a2i2Int -> Int -> Intforall a. Num a => a -> a -> a+(a2, a2) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a2l2,a2u2)Int -> Int -> Intforall a. Num a => a -> a -> a*((a1, a1) -> a1 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a1l1,a1u1)a1i1)))))))))))))inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> BoolinRange((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB,aClC,aDlD,aElE),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB,aCuC,aDuD,aEuE))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB,aCiC,aDiD,aEiE)=(a1, a1) -> a1 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a1l1,a1u1)a1i1Bool -> Bool -> Bool&&(a2, a2) -> a2 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a2l2,a2u2)a2i2Bool -> Bool -> Bool&&(a3, a3) -> a3 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a3l3,a3u3)a3i3Bool -> Bool -> Bool&&(a4, a4) -> a4 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a4l4,a4u4)a4i4Bool -> Bool -> Bool&&(a5, a5) -> a5 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a5l5,a5u5)a5i5Bool -> Bool -> Bool&&(a6, a6) -> a6 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a6l6,a6u6)a6i6Bool -> Bool -> Bool&&(a7, a7) -> a7 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a7l7,a7u7)a7i7Bool -> Bool -> Bool&&(a8, a8) -> a8 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a8l8,a8u8)a8i8Bool -> Bool -> Bool&&(a9, a9) -> a9 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a9l9,a9u9)a9i9Bool -> Bool -> Bool&&(aA, aA) -> aA -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aAlA,aAuA)aAiABool -> Bool -> Bool&&(aB, aB) -> aB -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aBlB,aBuB)aBiBBool -> Bool -> Bool&&(aC, aC) -> aC -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aClC,aCuC)aCiCBool -> Bool -> Bool&&(aD, aD) -> aD -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aDlD,aDuD)aDiDBool -> Bool -> Bool&&(aE, aE) -> aE -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aElE,aEuE)aEiE-- Default method for index------------------------------------------------------------------------ | @since 4.15.0.0instance(Ixa1,Ixa2,Ixa3,Ixa4,Ixa5,Ixa6,Ixa7,Ixa8,Ixa9,IxaA,IxaB,IxaC,IxaD,IxaE,IxaF)=>Ix(a1,a2,a3,a4,a5,a6,a7,a8,a9,aA,aB,aC,aD,aE,aF)whererange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF))-> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)]range((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB,aClC,aDlD,aElE,aFlF),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB,aCuC,aDuD,aEuE,aFuF))=[(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB,aCiC,aDiD,aEiE,aFiF)|a1i1<-(a1, a1) -> [a1]forall a. Ix a => (a, a) -> [a]range(a1l1,a1u1),a2i2<-(a2, a2) -> [a2]forall a. Ix a => (a, a) -> [a]range(a2l2,a2u2),a3i3<-(a3, a3) -> [a3]forall a. Ix a => (a, a) -> [a]range(a3l3,a3u3),a4i4<-(a4, a4) -> [a4]forall a. Ix a => (a, a) -> [a]range(a4l4,a4u4),a5i5<-(a5, a5) -> [a5]forall a. Ix a => (a, a) -> [a]range(a5l5,a5u5),a6i6<-(a6, a6) -> [a6]forall a. Ix a => (a, a) -> [a]range(a6l6,a6u6),a7i7<-(a7, a7) -> [a7]forall a. Ix a => (a, a) -> [a]range(a7l7,a7u7),a8i8<-(a8, a8) -> [a8]forall a. Ix a => (a, a) -> [a]range(a8l8,a8u8),a9i9<-(a9, a9) -> [a9]forall a. Ix a => (a, a) -> [a]range(a9l9,a9u9),aAiA<-(aA, aA) -> [aA]forall a. Ix a => (a, a) -> [a]range(aAlA,aAuA),aBiB<-(aB, aB) -> [aB]forall a. Ix a => (a, a) -> [a]range(aBlB,aBuB),aCiC<-(aC, aC) -> [aC]forall a. Ix a => (a, a) -> [a]range(aClC,aCuC),aDiD<-(aD, aD) -> [aD]forall a. Ix a => (a, a) -> [a]range(aDlD,aDuD),aEiE<-(aE, aE) -> [aE]forall a. Ix a => (a, a) -> [a]range(aElE,aEuE),aFiF<-(aF, aF) -> [aF]forall a. Ix a => (a, a) -> [a]range(aFlF,aFuF)]unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)-> IntunsafeIndex((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB,aClC,aDlD,aElE,aFlF),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB,aCuC,aDuD,aEuE,aFuF))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB,aCiC,aDiD,aEiE,aFiF)=(aF, aF) -> aF -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aFlF,aFuF)aFiFInt -> Int -> Intforall a. Num a => a -> a -> a+(aF, aF) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aFlF,aFuF)Int -> Int -> Intforall a. Num a => a -> a -> a*((aE, aE) -> aE -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aElE,aEuE)aEiEInt -> Int -> Intforall a. Num a => a -> a -> a+(aE, aE) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aElE,aEuE)Int -> Int -> Intforall a. Num a => a -> a -> a*((aD, aD) -> aD -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aDlD,aDuD)aDiDInt -> Int -> Intforall a. Num a => a -> a -> a+(aD, aD) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aDlD,aDuD)Int -> Int -> Intforall a. Num a => a -> a -> a*((aC, aC) -> aC -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aClC,aCuC)aCiCInt -> Int -> Intforall a. Num a => a -> a -> a+(aC, aC) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aClC,aCuC)Int -> Int -> Intforall a. Num a => a -> a -> a*((aB, aB) -> aB -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aBlB,aBuB)aBiBInt -> Int -> Intforall a. Num a => a -> a -> a+(aB, aB) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aBlB,aBuB)Int -> Int -> Intforall a. Num a => a -> a -> a*((aA, aA) -> aA -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(aAlA,aAuA)aAiAInt -> Int -> Intforall a. Num a => a -> a -> a+(aA, aA) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(aAlA,aAuA)Int -> Int -> Intforall a. Num a => a -> a -> a*((a9, a9) -> a9 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a9l9,a9u9)a9i9Int -> Int -> Intforall a. Num a => a -> a -> a+(a9, a9) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a9l9,a9u9)Int -> Int -> Intforall a. Num a => a -> a -> a*((a8, a8) -> a8 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a8l8,a8u8)a8i8Int -> Int -> Intforall a. Num a => a -> a -> a+(a8, a8) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a8l8,a8u8)Int -> Int -> Intforall a. Num a => a -> a -> a*((a7, a7) -> a7 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a7l7,a7u7)a7i7Int -> Int -> Intforall a. Num a => a -> a -> a+(a7, a7) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a7l7,a7u7)Int -> Int -> Intforall a. Num a => a -> a -> a*((a6, a6) -> a6 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a6l6,a6u6)a6i6Int -> Int -> Intforall a. Num a => a -> a -> a+(a6, a6) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a6l6,a6u6)Int -> Int -> Intforall a. Num a => a -> a -> a*((a5, a5) -> a5 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a5l5,a5u5)a5i5Int -> Int -> Intforall a. Num a => a -> a -> a+(a5, a5) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a5l5,a5u5)Int -> Int -> Intforall a. Num a => a -> a -> a*((a4, a4) -> a4 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a4l4,a4u4)a4i4Int -> Int -> Intforall a. Num a => a -> a -> a+(a4, a4) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a4l4,a4u4)Int -> Int -> Intforall a. Num a => a -> a -> a*((a3, a3) -> a3 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a3l3,a3u3)a3i3Int -> Int -> Intforall a. Num a => a -> a -> a+(a3, a3) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a3l3,a3u3)Int -> Int -> Intforall a. Num a => a -> a -> a*((a2, a2) -> a2 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a2l2,a2u2)a2i2Int -> Int -> Intforall a. Num a => a -> a -> a+(a2, a2) -> Intforall a. Ix a => (a, a) -> IntunsafeRangeSize(a2l2,a2u2)Int -> Int -> Intforall a. Num a => a -> a -> a*((a1, a1) -> a1 -> Intforall a. Ix a => (a, a) -> a -> IntunsafeIndex(a1l1,a1u1)a1i1))))))))))))))inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF))-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)-> BoolinRange((a1l1,a2l2,a3l3,a4l4,a5l5,a6l6,a7l7,a8l8,a9l9,aAlA,aBlB,aClC,aDlD,aElE,aFlF),(a1u1,a2u2,a3u3,a4u4,a5u5,a6u6,a7u7,a8u8,a9u9,aAuA,aBuB,aCuC,aDuD,aEuE,aFuF))(a1i1,a2i2,a3i3,a4i4,a5i5,a6i6,a7i7,a8i8,a9i9,aAiA,aBiB,aCiC,aDiD,aEiE,aFiF)=(a1, a1) -> a1 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a1l1,a1u1)a1i1Bool -> Bool -> Bool&&(a2, a2) -> a2 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a2l2,a2u2)a2i2Bool -> Bool -> Bool&&(a3, a3) -> a3 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a3l3,a3u3)a3i3Bool -> Bool -> Bool&&(a4, a4) -> a4 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a4l4,a4u4)a4i4Bool -> Bool -> Bool&&(a5, a5) -> a5 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a5l5,a5u5)a5i5Bool -> Bool -> Bool&&(a6, a6) -> a6 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a6l6,a6u6)a6i6Bool -> Bool -> Bool&&(a7, a7) -> a7 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a7l7,a7u7)a7i7Bool -> Bool -> Bool&&(a8, a8) -> a8 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a8l8,a8u8)a8i8Bool -> Bool -> Bool&&(a9, a9) -> a9 -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(a9l9,a9u9)a9i9Bool -> Bool -> Bool&&(aA, aA) -> aA -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aAlA,aAuA)aAiABool -> Bool -> Bool&&(aB, aB) -> aB -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aBlB,aBuB)aBiBBool -> Bool -> Bool&&(aC, aC) -> aC -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aClC,aCuC)aCiCBool -> Bool -> Bool&&(aD, aD) -> aD -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aDlD,aDuD)aDiDBool -> Bool -> Bool&&(aE, aE) -> aE -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aElE,aEuE)aEiEBool -> Bool -> Bool&&(aF, aF) -> aF -> Boolforall a. Ix a => (a, a) -> a -> BoolinRange(aFlF,aFuF)aFiF-- Default method for index
[8]ページ先頭