easytensor-2.1.1.0: Pure, type-indexed haskell vector, matrix, and tensor library.

Numeric.ProductOrd.Partial

Description

Compare product types using partial Ord instances:

• if nor $$a > b$$, nor $$b > a$$, neither, $$a = b$$, then compare a b == undefined

To remind yourself that ProductOrd is partial, you may import it qualified, e.g.

 import qualified Numeric.ProductOrd.Partial as Partial
Synopsis

# Documentation

newtype ProductOrd a Source #

Redefine Ord instance for a type which is a cartesian product -- as a partial product order.

Since vanilla Haskell Ord class is always about total order, ProductOrd instance is not particularly correct. However, it turns out to be very useful for comparing vector or tuple-like types.

The implementation of ProductOrd in this module workarounds this by using a partial compare function in an Eq instance: $\neg (a > b) \land \neg (b > a) \land \neg (a = b) \Rightarrow \mathtt{compare\ a\ b == undefined}$

Another inconsistency with the Haskell Report is the min and max functions; these are simply element-wise minimum and maximum here. Thus, these instances preserve important properties like min a b <= a && min a b <= b, but do not preserve a property that min a b == a || min a b == b.

All of this is really useful in geometry applications and for calculating things like Pareto dominance, but should be used with care. In particular, never use ProductOrd as a key to a Set or a Map!

Constructors

 ProductOrd FieldsgetProductOrd :: a

#### Instances

Instances details
 Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methods(>>=) :: ProductOrd a -> (a -> ProductOrd b) -> ProductOrd b #(>>) :: ProductOrd a -> ProductOrd b -> ProductOrd b #return :: a -> ProductOrd a # Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodsfmap :: (a -> b) -> ProductOrd a -> ProductOrd b #(<\$) :: a -> ProductOrd b -> ProductOrd a # Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodsmfix :: (a -> ProductOrd a) -> ProductOrd a # Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodspure :: a -> ProductOrd a #(<*>) :: ProductOrd (a -> b) -> ProductOrd a -> ProductOrd b #liftA2 :: (a -> b -> c) -> ProductOrd a -> ProductOrd b -> ProductOrd c #(*>) :: ProductOrd a -> ProductOrd b -> ProductOrd b #(<*) :: ProductOrd a -> ProductOrd b -> ProductOrd a # Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodsfold :: Monoid m => ProductOrd m -> m #foldMap :: Monoid m => (a -> m) -> ProductOrd a -> m #foldMap' :: Monoid m => (a -> m) -> ProductOrd a -> m #foldr :: (a -> b -> b) -> b -> ProductOrd a -> b #foldr' :: (a -> b -> b) -> b -> ProductOrd a -> b #foldl :: (b -> a -> b) -> b -> ProductOrd a -> b #foldl' :: (b -> a -> b) -> b -> ProductOrd a -> b #foldr1 :: (a -> a -> a) -> ProductOrd a -> a #foldl1 :: (a -> a -> a) -> ProductOrd a -> a #toList :: ProductOrd a -> [a] #null :: ProductOrd a -> Bool #length :: ProductOrd a -> Int #elem :: Eq a => a -> ProductOrd a -> Bool #maximum :: Ord a => ProductOrd a -> a #minimum :: Ord a => ProductOrd a -> a #sum :: Num a => ProductOrd a -> a #product :: Num a => ProductOrd a -> a # Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodstraverse :: Applicative f => (a -> f b) -> ProductOrd a -> f (ProductOrd b) #sequenceA :: Applicative f => ProductOrd (f a) -> f (ProductOrd a) #mapM :: Monad m => (a -> m b) -> ProductOrd a -> m (ProductOrd b) #sequence :: Monad m => ProductOrd (m a) -> m (ProductOrd a) # Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodsmzip :: ProductOrd a -> ProductOrd b -> ProductOrd (a, b) #mzipWith :: (a -> b -> c) -> ProductOrd a -> ProductOrd b -> ProductOrd c #munzip :: ProductOrd (a, b) -> (ProductOrd a, ProductOrd b) # Bounded a => Bounded (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methods Enum a => Enum (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodssucc :: ProductOrd a -> ProductOrd a #pred :: ProductOrd a -> ProductOrd a #toEnum :: Int -> ProductOrd a #fromEnum :: ProductOrd a -> Int #enumFrom :: ProductOrd a -> [ProductOrd a] #enumFromThen :: ProductOrd a -> ProductOrd a -> [ProductOrd a] #enumFromTo :: ProductOrd a -> ProductOrd a -> [ProductOrd a] #enumFromThenTo :: ProductOrd a -> ProductOrd a -> ProductOrd a -> [ProductOrd a] # Eq a => Eq (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methods(==) :: ProductOrd a -> ProductOrd a -> Bool #(/=) :: ProductOrd a -> ProductOrd a -> Bool # All Ord (Map f xs) => Eq (ProductOrd (TypedList f xs)) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methods(==) :: ProductOrd (TypedList f xs) -> ProductOrd (TypedList f xs) -> Bool #(/=) :: ProductOrd (TypedList f xs) -> ProductOrd (TypedList f xs) -> Bool # Floating a => Floating (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodsexp :: ProductOrd a -> ProductOrd a #log :: ProductOrd a -> ProductOrd a #sqrt :: ProductOrd a -> ProductOrd a #(**) :: ProductOrd a -> ProductOrd a -> ProductOrd a #logBase :: ProductOrd a -> ProductOrd a -> ProductOrd a #sin :: ProductOrd a -> ProductOrd a #cos :: ProductOrd a -> ProductOrd a #tan :: ProductOrd a -> ProductOrd a #asin :: ProductOrd a -> ProductOrd a #acos :: ProductOrd a -> ProductOrd a #atan :: ProductOrd a -> ProductOrd a #sinh :: ProductOrd a -> ProductOrd a #cosh :: ProductOrd a -> ProductOrd a #tanh :: ProductOrd a -> ProductOrd a #asinh :: ProductOrd a -> ProductOrd a #acosh :: ProductOrd a -> ProductOrd a #atanh :: ProductOrd a -> ProductOrd a #log1p :: ProductOrd a -> ProductOrd a #expm1 :: ProductOrd a -> ProductOrd a # Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methods(/) :: ProductOrd a -> ProductOrd a -> ProductOrd a #recip :: ProductOrd a -> ProductOrd a # (Ord (ProductOrd a), Integral a) => Integral (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodsquot :: ProductOrd a -> ProductOrd a -> ProductOrd a #rem :: ProductOrd a -> ProductOrd a -> ProductOrd a #div :: ProductOrd a -> ProductOrd a -> ProductOrd a #mod :: ProductOrd a -> ProductOrd a -> ProductOrd a #quotRem :: ProductOrd a -> ProductOrd a -> (ProductOrd a, ProductOrd a) #divMod :: ProductOrd a -> ProductOrd a -> (ProductOrd a, ProductOrd a) # Data a => Data (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodsgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ProductOrd a -> c (ProductOrd a) #gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ProductOrd a) #dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ProductOrd a)) #dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ProductOrd a)) #gmapT :: (forall b. Data b => b -> b) -> ProductOrd a -> ProductOrd a #gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ProductOrd a -> r #gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ProductOrd a -> r #gmapQ :: (forall d. Data d => d -> u) -> ProductOrd a -> [u] #gmapQi :: Int -> (forall d. Data d => d -> u) -> ProductOrd a -> u #gmapM :: Monad m => (forall d. Data d => d -> m d) -> ProductOrd a -> m (ProductOrd a) #gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ProductOrd a -> m (ProductOrd a) #gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ProductOrd a -> m (ProductOrd a) # Num a => Num (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methods(+) :: ProductOrd a -> ProductOrd a -> ProductOrd a #(-) :: ProductOrd a -> ProductOrd a -> ProductOrd a #(*) :: ProductOrd a -> ProductOrd a -> ProductOrd a #negate :: ProductOrd a -> ProductOrd a #abs :: ProductOrd a -> ProductOrd a #signum :: ProductOrd a -> ProductOrd a # (Ord a1, Ord a2) => Ord (ProductOrd (a1, a2)) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodscompare :: ProductOrd (a1, a2) -> ProductOrd (a1, a2) -> Ordering #(<) :: ProductOrd (a1, a2) -> ProductOrd (a1, a2) -> Bool #(<=) :: ProductOrd (a1, a2) -> ProductOrd (a1, a2) -> Bool #(>) :: ProductOrd (a1, a2) -> ProductOrd (a1, a2) -> Bool #(>=) :: ProductOrd (a1, a2) -> ProductOrd (a1, a2) -> Bool #max :: ProductOrd (a1, a2) -> ProductOrd (a1, a2) -> ProductOrd (a1, a2) #min :: ProductOrd (a1, a2) -> ProductOrd (a1, a2) -> ProductOrd (a1, a2) # (Ord a1, Ord a2, Ord a3) => Ord (ProductOrd (a1, a2, a3)) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodscompare :: ProductOrd (a1, a2, a3) -> ProductOrd (a1, a2, a3) -> Ordering #(<) :: ProductOrd (a1, a2, a3) -> ProductOrd (a1, a2, a3) -> Bool #(<=) :: ProductOrd (a1, a2, a3) -> ProductOrd (a1, a2, a3) -> Bool #(>) :: ProductOrd (a1, a2, a3) -> ProductOrd (a1, a2, a3) -> Bool #(>=) :: ProductOrd (a1, a2, a3) -> ProductOrd (a1, a2, a3) -> Bool #max :: ProductOrd (a1, a2, a3) -> ProductOrd (a1, a2, a3) -> ProductOrd (a1, a2, a3) #min :: ProductOrd (a1, a2, a3) -> ProductOrd (a1, a2, a3) -> ProductOrd (a1, a2, a3) # (Ord a1, Ord a2, Ord a3, Ord a4) => Ord (ProductOrd (a1, a2, a3, a4)) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodscompare :: ProductOrd (a1, a2, a3, a4) -> ProductOrd (a1, a2, a3, a4) -> Ordering #(<) :: ProductOrd (a1, a2, a3, a4) -> ProductOrd (a1, a2, a3, a4) -> Bool #(<=) :: ProductOrd (a1, a2, a3, a4) -> ProductOrd (a1, a2, a3, a4) -> Bool #(>) :: ProductOrd (a1, a2, a3, a4) -> ProductOrd (a1, a2, a3, a4) -> Bool #(>=) :: ProductOrd (a1, a2, a3, a4) -> ProductOrd (a1, a2, a3, a4) -> Bool #max :: ProductOrd (a1, a2, a3, a4) -> ProductOrd (a1, a2, a3, a4) -> ProductOrd (a1, a2, a3, a4) #min :: ProductOrd (a1, a2, a3, a4) -> ProductOrd (a1, a2, a3, a4) -> ProductOrd (a1, a2, a3, a4) # (Ord a1, Ord a2, Ord a3, Ord a4, Ord a5) => Ord (ProductOrd (a1, a2, a3, a4, a5)) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodscompare :: ProductOrd (a1, a2, a3, a4, a5) -> ProductOrd (a1, a2, a3, a4, a5) -> Ordering #(<) :: ProductOrd (a1, a2, a3, a4, a5) -> ProductOrd (a1, a2, a3, a4, a5) -> Bool #(<=) :: ProductOrd (a1, a2, a3, a4, a5) -> ProductOrd (a1, a2, a3, a4, a5) -> Bool #(>) :: ProductOrd (a1, a2, a3, a4, a5) -> ProductOrd (a1, a2, a3, a4, a5) -> Bool #(>=) :: ProductOrd (a1, a2, a3, a4, a5) -> ProductOrd (a1, a2, a3, a4, a5) -> Bool #max :: ProductOrd (a1, a2, a3, a4, a5) -> ProductOrd (a1, a2, a3, a4, a5) -> ProductOrd (a1, a2, a3, a4, a5) #min :: ProductOrd (a1, a2, a3, a4, a5) -> ProductOrd (a1, a2, a3, a4, a5) -> ProductOrd (a1, a2, a3, a4, a5) # (Ord a1, Ord a2, Ord a3, Ord a4, Ord a5, Ord a6) => Ord (ProductOrd (a1, a2, a3, a4, a5, a6)) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodscompare :: ProductOrd (a1, a2, a3, a4, a5, a6) -> ProductOrd (a1, a2, a3, a4, a5, a6) -> Ordering #(<) :: ProductOrd (a1, a2, a3, a4, a5, a6) -> ProductOrd (a1, a2, a3, a4, a5, a6) -> Bool #(<=) :: ProductOrd (a1, a2, a3, a4, a5, a6) -> ProductOrd (a1, a2, a3, a4, a5, a6) -> Bool #(>) :: ProductOrd (a1, a2, a3, a4, a5, a6) -> ProductOrd (a1, a2, a3, a4, a5, a6) -> Bool #(>=) :: ProductOrd (a1, a2, a3, a4, a5, a6) -> ProductOrd (a1, a2, a3, a4, a5, a6) -> Bool #max :: ProductOrd (a1, a2, a3, a4, a5, a6) -> ProductOrd (a1, a2, a3, a4, a5, a6) -> ProductOrd (a1, a2, a3, a4, a5, a6) #min :: ProductOrd (a1, a2, a3, a4, a5, a6) -> ProductOrd (a1, a2, a3, a4, a5, a6) -> ProductOrd (a1, a2, a3, a4, a5, a6) # (Ord a1, Ord a2, Ord a3, Ord a4, Ord a5, Ord a6, Ord a7) => Ord (ProductOrd (a1, a2, a3, a4, a5, a6, a7)) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodscompare :: ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> Ordering #(<) :: ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> Bool #(<=) :: ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> Bool #(>) :: ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> Bool #(>=) :: ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> Bool #max :: ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7) #min :: ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7) # (Ord a1, Ord a2, Ord a3, Ord a4, Ord a5, Ord a6, Ord a7, Ord a8) => Ord (ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8)) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodscompare :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> Ordering #(<) :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> Bool #(<=) :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> Bool #(>) :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> Bool #(>=) :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> Bool #max :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) #min :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8) # (Ord a1, Ord a2, Ord a3, Ord a4, Ord a5, Ord a6, Ord a7, Ord a8, Ord a9) => Ord (ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9)) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodscompare :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Ordering #(<) :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Bool #(<=) :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Bool #(>) :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Bool #(>=) :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Bool #max :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) #min :: ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> ProductOrd (a1, a2, a3, a4, a5, a6, a7, a8, a9) # All Ord (Map f xs) => Ord (ProductOrd (TypedList f xs)) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodscompare :: ProductOrd (TypedList f xs) -> ProductOrd (TypedList f xs) -> Ordering #(<) :: ProductOrd (TypedList f xs) -> ProductOrd (TypedList f xs) -> Bool #(<=) :: ProductOrd (TypedList f xs) -> ProductOrd (TypedList f xs) -> Bool #(>) :: ProductOrd (TypedList f xs) -> ProductOrd (TypedList f xs) -> Bool #(>=) :: ProductOrd (TypedList f xs) -> ProductOrd (TypedList f xs) -> Bool #max :: ProductOrd (TypedList f xs) -> ProductOrd (TypedList f xs) -> ProductOrd (TypedList f xs) #min :: ProductOrd (TypedList f xs) -> ProductOrd (TypedList f xs) -> ProductOrd (TypedList f xs) # (Ord (ProductOrd (DFBackend t ds)), Eq (DFBackend t ds)) => Ord (ProductOrd (DataFrame t ds)) Source # Instance detailsDefined in Numeric.DataFrame.Type Methodscompare :: ProductOrd (DataFrame t ds) -> ProductOrd (DataFrame t ds) -> Ordering #(<) :: ProductOrd (DataFrame t ds) -> ProductOrd (DataFrame t ds) -> Bool #(<=) :: ProductOrd (DataFrame t ds) -> ProductOrd (DataFrame t ds) -> Bool #(>) :: ProductOrd (DataFrame t ds) -> ProductOrd (DataFrame t ds) -> Bool #(>=) :: ProductOrd (DataFrame t ds) -> ProductOrd (DataFrame t ds) -> Bool #max :: ProductOrd (DataFrame t ds) -> ProductOrd (DataFrame t ds) -> ProductOrd (DataFrame t ds) #min :: ProductOrd (DataFrame t ds) -> ProductOrd (DataFrame t ds) -> ProductOrd (DataFrame t ds) # Read a => Read (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial MethodsreadsPrec :: Int -> ReadS (ProductOrd a) # (Ord (ProductOrd a), Real a) => Real (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methods (Ord (ProductOrd a), RealFloat a) => RealFloat (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial MethodsfloatRange :: ProductOrd a -> (Int, Int) #decodeFloat :: ProductOrd a -> (Integer, Int) #exponent :: ProductOrd a -> Int #scaleFloat :: Int -> ProductOrd a -> ProductOrd a #isNaN :: ProductOrd a -> Bool #isIEEE :: ProductOrd a -> Bool #atan2 :: ProductOrd a -> ProductOrd a -> ProductOrd a # (Ord (ProductOrd a), RealFrac a) => RealFrac (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial MethodsproperFraction :: Integral b => ProductOrd a -> (b, ProductOrd a) #truncate :: Integral b => ProductOrd a -> b #round :: Integral b => ProductOrd a -> b #ceiling :: Integral b => ProductOrd a -> b #floor :: Integral b => ProductOrd a -> b # Show a => Show (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial MethodsshowsPrec :: Int -> ProductOrd a -> ShowS #show :: ProductOrd a -> String #showList :: [ProductOrd a] -> ShowS # Source # Instance detailsDefined in Numeric.ProductOrd.Partial Associated Typestype Rep (ProductOrd a) :: Type -> Type # Methodsfrom :: ProductOrd a -> Rep (ProductOrd a) x #to :: Rep (ProductOrd a) x -> ProductOrd a # Semigroup a => Semigroup (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methods(<>) :: ProductOrd a -> ProductOrd a -> ProductOrd a #sconcat :: NonEmpty (ProductOrd a) -> ProductOrd a #stimes :: Integral b => b -> ProductOrd a -> ProductOrd a # Monoid a => Monoid (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methodsmappend :: ProductOrd a -> ProductOrd a -> ProductOrd a #mconcat :: [ProductOrd a] -> ProductOrd a # Storable a => Storable (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial MethodssizeOf :: ProductOrd a -> Int #alignment :: ProductOrd a -> Int #peekElemOff :: Ptr (ProductOrd a) -> Int -> IO (ProductOrd a) #pokeElemOff :: Ptr (ProductOrd a) -> Int -> ProductOrd a -> IO () #peekByteOff :: Ptr b -> Int -> IO (ProductOrd a) #pokeByteOff :: Ptr b -> Int -> ProductOrd a -> IO () #peek :: Ptr (ProductOrd a) -> IO (ProductOrd a) #poke :: Ptr (ProductOrd a) -> ProductOrd a -> IO () # Bits a => Bits (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methods(.&.) :: ProductOrd a -> ProductOrd a -> ProductOrd a #(.|.) :: ProductOrd a -> ProductOrd a -> ProductOrd a #xor :: ProductOrd a -> ProductOrd a -> ProductOrd a #shift :: ProductOrd a -> Int -> ProductOrd a #rotate :: ProductOrd a -> Int -> ProductOrd a #bit :: Int -> ProductOrd a #setBit :: ProductOrd a -> Int -> ProductOrd a #clearBit :: ProductOrd a -> Int -> ProductOrd a #testBit :: ProductOrd a -> Int -> Bool #bitSize :: ProductOrd a -> Int #isSigned :: ProductOrd a -> Bool #shiftL :: ProductOrd a -> Int -> ProductOrd a #unsafeShiftL :: ProductOrd a -> Int -> ProductOrd a #shiftR :: ProductOrd a -> Int -> ProductOrd a #unsafeShiftR :: ProductOrd a -> Int -> ProductOrd a #rotateL :: ProductOrd a -> Int -> ProductOrd a #rotateR :: ProductOrd a -> Int -> ProductOrd a #popCount :: ProductOrd a -> Int # Source # Instance detailsDefined in Numeric.ProductOrd.Partial Methods Source # Instance detailsDefined in Numeric.ProductOrd.Partial Associated Typestype Rep1 ProductOrd :: k -> Type # Methodsfrom1 :: forall (a :: k). ProductOrd a -> Rep1 ProductOrd a #to1 :: forall (a :: k). Rep1 ProductOrd a -> ProductOrd a # type Rep (ProductOrd a) Source # Instance detailsDefined in Numeric.ProductOrd.Partial type Rep (ProductOrd a) = D1 ('MetaData "ProductOrd" "Numeric.ProductOrd.Partial" "easytensor-2.1.1.0-K3wnLX20lxZC5twIGEvVbn" 'True) (C1 ('MetaCons "ProductOrd" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProductOrd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) type Rep1 ProductOrd Source # Instance detailsDefined in Numeric.ProductOrd.Partial type Rep1 ProductOrd = D1 ('MetaData "ProductOrd" "Numeric.ProductOrd.Partial" "easytensor-2.1.1.0-K3wnLX20lxZC5twIGEvVbn" 'True) (C1 ('MetaCons "ProductOrd" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProductOrd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Treat Incomparable as error (partial function).