algebra-4.3: Constructive abstract algebra

Numeric.Algebra.Factorable

Synopsis

# Factorable Multiplicative Semigroups

class Multiplicative m => Factorable m where Source #

factorWith f c returns a non-empty list containing f a b for all a, b such that a * b = c.

Results of factorWith f 0 are undefined and may result in either an error or an infinite list.

Minimal complete definition

factorWith

Methods

factorWith :: (m -> m -> r) -> m -> NonEmpty r Source #

Instances

 Source # MethodsfactorWith :: (Bool -> Bool -> r) -> Bool -> NonEmpty r Source # Source # MethodsfactorWith :: (() -> () -> r) -> () -> NonEmpty r Source # Partitionable r => Factorable (Exp r) Source # MethodsfactorWith :: (Exp r -> Exp r -> r) -> Exp r -> NonEmpty r Source # (Factorable a, Factorable b) => Factorable (a, b) Source # MethodsfactorWith :: ((a, b) -> (a, b) -> r) -> (a, b) -> NonEmpty r Source # (Factorable a, Factorable b, Factorable c) => Factorable (a, b, c) Source # MethodsfactorWith :: ((a, b, c) -> (a, b, c) -> r) -> (a, b, c) -> NonEmpty r Source # (Factorable a, Factorable b, Factorable c, Factorable d) => Factorable (a, b, c, d) Source # MethodsfactorWith :: ((a, b, c, d) -> (a, b, c, d) -> r) -> (a, b, c, d) -> NonEmpty r Source # (Factorable a, Factorable b, Factorable c, Factorable d, Factorable e) => Factorable (a, b, c, d, e) Source # MethodsfactorWith :: ((a, b, c, d, e) -> (a, b, c, d, e) -> r) -> (a, b, c, d, e) -> NonEmpty r Source #