# Multiset SΒΆ

mset.spad line 1 [edit on github]

S: SetCategory

A multiset is a set with multiplicities.

- #: % -> NonNegativeInteger
from Aggregate

- <=: (%, %) -> Boolean
from PartialOrder

- <: (%, %) -> Boolean
from PartialOrder

- >=: (%, %) -> Boolean
from PartialOrder

- >: (%, %) -> Boolean
from PartialOrder

- any?: (S -> Boolean, %) -> Boolean
from HomogeneousAggregate S

- coerce: % -> OutputForm
from CoercibleTo OutputForm

- construct: List S -> %
from Collection S

- convert: % -> InputForm if S has ConvertibleTo InputForm
from ConvertibleTo InputForm

- count: (S -> Boolean, %) -> NonNegativeInteger
from HomogeneousAggregate S

- count: (S, %) -> NonNegativeInteger
from HomogeneousAggregate S

- dictionary: () -> %
from DictionaryOperations S

- dictionary: List S -> %
from DictionaryOperations S

- difference: (%, %) -> %
from SetAggregate S

- difference: (%, S) -> %
from SetAggregate S

- duplicates: % -> List Record(entry: S, count: NonNegativeInteger)
from MultiDictionary S

- eval: (%, Equation S) -> % if S has Evalable S
from Evalable S

- eval: (%, List Equation S) -> % if S has Evalable S
from Evalable S

- eval: (%, List S, List S) -> % if S has Evalable S
from InnerEvalable(S, S)

- eval: (%, S, S) -> % if S has Evalable S
from InnerEvalable(S, S)

- every?: (S -> Boolean, %) -> Boolean
from HomogeneousAggregate S

- extract!: % -> S
from BagAggregate S

- find: (S -> Boolean, %) -> Union(S, failed)
from Collection S

- hash: % -> SingleInteger
from SetCategory

- hashUpdate!: (HashState, %) -> HashState
from SetCategory

- insert!: (S, %) -> %
from BagAggregate S

- insert!: (S, %, NonNegativeInteger) -> %
from MultiDictionary S

- inspect: % -> S
from BagAggregate S

- intersect: (%, %) -> %
from SetAggregate S

- latex: % -> String
from SetCategory

- less?: (%, NonNegativeInteger) -> Boolean
from Aggregate

- map!: (S -> S, %) -> %
from HomogeneousAggregate S

- map: (S -> S, %) -> %
from HomogeneousAggregate S

- max: % -> S if S has OrderedSet
from HomogeneousAggregate S

- max: ((S, S) -> Boolean, %) -> S
from HomogeneousAggregate S

- member?: (S, %) -> Boolean
from HomogeneousAggregate S

- members: % -> List S
from HomogeneousAggregate S

- min: % -> S if S has OrderedSet
from HomogeneousAggregate S

- more?: (%, NonNegativeInteger) -> Boolean
from Aggregate

- multiset: () -> %
`multiset()`

$`D`

creates an empty multiset of domain`D`

.

- multiset: List S -> %
`multiset(ls)`

creates a multiset with elements from`ls`

.

- multiset: S -> %
`multiset(s)`

creates a multiset with singleton`s`

.

- parts: % -> List S
from HomogeneousAggregate S

- reduce: ((S, S) -> S, %) -> S
from Collection S

- reduce: ((S, S) -> S, %, S) -> S
from Collection S

- reduce: ((S, S) -> S, %, S, S) -> S
from Collection S

- remove!: (S -> Boolean, %) -> %
from DictionaryOperations S

- remove!: (S -> Boolean, %, Integer) -> %
`remove!(p, ms, number)`

removes destructively at most`number`

copies of elements`x`

such that`p(x)`

is ``true` if ``number` is positive, all of them if`number`

equals zero, and all but at most`-number`

if`number`

is negative.- remove!: (S, %) -> %
from DictionaryOperations S

- remove!: (S, %, Integer) -> %
`remove!(x, ms, number)`

removes destructively at most`number`

copies of element`x`

if`number`

is positive, all of them if`number`

equals zero, and all but at most`-number`

if`number`

is negative.

- remove: (S -> Boolean, %) -> %
from Collection S

- remove: (S -> Boolean, %, Integer) -> %
`remove(p, ms, number)`

removes at most`number`

copies of elements`x`

such that`p(x)`

is ``true` if ``number` is positive, all of them if`number`

equals zero, and all but at most`-number`

if`number`

is negative.- remove: (S, %) -> %
from Collection S

- remove: (S, %, Integer) -> %
`remove(x, ms, number)`

removes at most`number`

copies of element`x`

if`number`

is positive, all of them if`number`

equals zero, and all but at most`-number`

if`number`

is negative.

- removeDuplicates!: % -> %
from MultiDictionary S

- removeDuplicates: % -> %
from Collection S

- select!: (S -> Boolean, %) -> %
from DictionaryOperations S

- select: (S -> Boolean, %) -> %
from Collection S

- set: () -> %
from SetAggregate S

- set: List S -> %
from SetAggregate S

- size?: (%, NonNegativeInteger) -> Boolean
from Aggregate

- subset?: (%, %) -> Boolean
from SetAggregate S

- symmetricDifference: (%, %) -> %
from SetAggregate S

- union: (%, %) -> %
from SetAggregate S

- union: (%, S) -> %
from SetAggregate S

- union: (S, %) -> %
from SetAggregate S

ConvertibleTo InputForm if S has ConvertibleTo InputForm

Evalable S if S has Evalable S

InnerEvalable(S, S) if S has Evalable S