Flint2-0.1.0.5: Haskell bindings for the flint library for number theory
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Number.Flint.Fmpz.Instances

Synopsis

Documentation

data Fmpz Source #

Integer (opaque pointer)

Instances

Instances details
FlintExpression Fmpz Source # 
Instance details

Defined in Data.Number.Flint.Calcium.Fexpr.Instances

Methods

toFexpr :: Fmpz -> IO Fexpr Source #

UFD Fmpz Source # 
Instance details

Defined in Data.Number.Flint.Fmpz.Instances

Methods

factor :: Fmpz -> [(Fmpz, Int)] Source #

unfactor :: [(Fmpz, Int)] -> Fmpz Source #

Arbitrary Fmpz 
Instance details

Defined in Data.Number.Flint.Fmpz.Instances

Methods

arbitrary :: Gen Fmpz

shrink :: Fmpz -> [Fmpz]

Storable CFmpz Source # 
Instance details

Defined in Data.Number.Flint.Fmpz.FFI

Methods

sizeOf :: CFmpz -> Int #

alignment :: CFmpz -> Int #

peekElemOff :: Ptr CFmpz -> Int -> IO CFmpz #

pokeElemOff :: Ptr CFmpz -> Int -> CFmpz -> IO () #

peekByteOff :: Ptr b -> Int -> IO CFmpz #

pokeByteOff :: Ptr b -> Int -> CFmpz -> IO () #

peek :: Ptr CFmpz -> IO CFmpz #

poke :: Ptr CFmpz -> CFmpz -> IO () #

Enum Fmpz Source # 
Instance details

Defined in Data.Number.Flint.Fmpz.Instances

Methods

succ :: Fmpz -> Fmpz #

pred :: Fmpz -> Fmpz #

toEnum :: Int -> Fmpz #

fromEnum :: Fmpz -> Int #

enumFrom :: Fmpz -> [Fmpz] #

enumFromThen :: Fmpz -> Fmpz -> [Fmpz] #

enumFromTo :: Fmpz -> Fmpz -> [Fmpz] #

enumFromThenTo :: Fmpz -> Fmpz -> Fmpz -> [Fmpz] #

Num Fmpz Source # 
Instance details

Defined in Data.Number.Flint.Fmpz.Instances

Methods

(+) :: Fmpz -> Fmpz -> Fmpz #

(-) :: Fmpz -> Fmpz -> Fmpz #

(*) :: Fmpz -> Fmpz -> Fmpz #

negate :: Fmpz -> Fmpz #

abs :: Fmpz -> Fmpz #

signum :: Fmpz -> Fmpz #

fromInteger :: Integer -> Fmpz #

Read Fmpz Source # 
Instance details

Defined in Data.Number.Flint.Fmpz.Instances

Integral Fmpz Source # 
Instance details

Defined in Data.Number.Flint.Fmpz.Instances

Methods

quot :: Fmpz -> Fmpz -> Fmpz #

rem :: Fmpz -> Fmpz -> Fmpz #

div :: Fmpz -> Fmpz -> Fmpz #

mod :: Fmpz -> Fmpz -> Fmpz #

quotRem :: Fmpz -> Fmpz -> (Fmpz, Fmpz) #

divMod :: Fmpz -> Fmpz -> (Fmpz, Fmpz) #

toInteger :: Fmpz -> Integer #

Real Fmpz Source # 
Instance details

Defined in Data.Number.Flint.Fmpz.Instances

Methods

toRational :: Fmpz -> Rational #

Show Fmpz Source # 
Instance details

Defined in Data.Number.Flint.Fmpz.Instances

Methods

showsPrec :: Int -> Fmpz -> ShowS #

show :: Fmpz -> String #

showList :: [Fmpz] -> ShowS #

Eq Fmpz Source # 
Instance details

Defined in Data.Number.Flint.Fmpz.Instances

Methods

(==) :: Fmpz -> Fmpz -> Bool #

(/=) :: Fmpz -> Fmpz -> Bool #

Ord Fmpz Source # 
Instance details

Defined in Data.Number.Flint.Fmpz.Instances

Methods

compare :: Fmpz -> Fmpz -> Ordering #

(<) :: Fmpz -> Fmpz -> Bool #

(<=) :: Fmpz -> Fmpz -> Bool #

(>) :: Fmpz -> Fmpz -> Bool #

(>=) :: Fmpz -> Fmpz -> Bool #

max :: Fmpz -> Fmpz -> Fmpz #

min :: Fmpz -> Fmpz -> Fmpz #

Quotient Fmpq Fmpz Source # 
Instance details

Defined in Data.Number.Flint.Fmpq.FFI

class Num a => UFD a where Source #

Minimal complete definition

factor

Methods

factor :: a -> [(a, Int)] Source #

factor x

Factor x into prime factors \(x = p_1^{e_1}\ldots p_n^{e_n}\) with the representation \([(p_1, e_1) \ldots (p_n, e_n)]\)

unfactor :: [(a, Int)] -> a Source #

unfactor f

Find x which has the unique factorization f.

Instances

Instances details
UFD Fmpz Source # 
Instance details

Defined in Data.Number.Flint.Fmpz.Instances

Methods

factor :: Fmpz -> [(Fmpz, Int)] Source #

unfactor :: [(Fmpz, Int)] -> Fmpz Source #

UFD FmpzPoly Source # 
Instance details

Defined in Data.Number.Flint.Fmpz.Poly.Instances

UFD NModPoly Source # 
Instance details

Defined in Data.Number.Flint.NMod.Poly.Instances

Orphan instances

UFD Fmpz Source # 
Instance details

Methods

factor :: Fmpz -> [(Fmpz, Int)] Source #

unfactor :: [(Fmpz, Int)] -> Fmpz Source #

Arbitrary Fmpz Source # 
Instance details

Methods

arbitrary :: Gen Fmpz

shrink :: Fmpz -> [Fmpz]

Enum Fmpz Source # 
Instance details

Methods

succ :: Fmpz -> Fmpz #

pred :: Fmpz -> Fmpz #

toEnum :: Int -> Fmpz #

fromEnum :: Fmpz -> Int #

enumFrom :: Fmpz -> [Fmpz] #

enumFromThen :: Fmpz -> Fmpz -> [Fmpz] #

enumFromTo :: Fmpz -> Fmpz -> [Fmpz] #

enumFromThenTo :: Fmpz -> Fmpz -> Fmpz -> [Fmpz] #

Num Fmpz Source # 
Instance details

Methods

(+) :: Fmpz -> Fmpz -> Fmpz #

(-) :: Fmpz -> Fmpz -> Fmpz #

(*) :: Fmpz -> Fmpz -> Fmpz #

negate :: Fmpz -> Fmpz #

abs :: Fmpz -> Fmpz #

signum :: Fmpz -> Fmpz #

fromInteger :: Integer -> Fmpz #

Read Fmpz Source # 
Instance details

Integral Fmpz Source # 
Instance details

Methods

quot :: Fmpz -> Fmpz -> Fmpz #

rem :: Fmpz -> Fmpz -> Fmpz #

div :: Fmpz -> Fmpz -> Fmpz #

mod :: Fmpz -> Fmpz -> Fmpz #

quotRem :: Fmpz -> Fmpz -> (Fmpz, Fmpz) #

divMod :: Fmpz -> Fmpz -> (Fmpz, Fmpz) #

toInteger :: Fmpz -> Integer #

Real Fmpz Source # 
Instance details

Methods

toRational :: Fmpz -> Rational #

Show Fmpz Source # 
Instance details

Methods

showsPrec :: Int -> Fmpz -> ShowS #

show :: Fmpz -> String #

showList :: [Fmpz] -> ShowS #

Eq Fmpz Source # 
Instance details

Methods

(==) :: Fmpz -> Fmpz -> Bool #

(/=) :: Fmpz -> Fmpz -> Bool #

Ord Fmpz Source # 
Instance details

Methods

compare :: Fmpz -> Fmpz -> Ordering #

(<) :: Fmpz -> Fmpz -> Bool #

(<=) :: Fmpz -> Fmpz -> Bool #

(>) :: Fmpz -> Fmpz -> Bool #

(>=) :: Fmpz -> Fmpz -> Bool #

max :: Fmpz -> Fmpz -> Fmpz #

min :: Fmpz -> Fmpz -> Fmpz #