algebra-3.1: Constructive abstract algebra

Safe Haskell | None

Numeric.Algebra.Factorable

Contents

- Factorable Multiplicative Semigroups

Synopsis

- class Multiplicative m => Factorable m where
  - factorWith :: (m -> m -> r) -> m -> NonEmpty r

# 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.

Methods

factorWith :: (m -> m -> r) -> m -> NonEmpty rSource

Instances

Factorable Bool |
Factorable () |
Partitionable r => Factorable (Exp r) |
(Factorable a, Factorable b) => Factorable (a, b) |
(Factorable a, Factorable b, Factorable c) => Factorable (a, b, c) |
(Factorable a, Factorable b, Factorable c, Factorable d) => Factorable (a, b, c, d) |
(Factorable a, Factorable b, Factorable c, Factorable d, Factorable e) => Factorable (a, b, c, d, e) |