Returns a ranker from the list l.
INPUT:
OUTPUT:
EXAMPLES:
sage: import sage.combinat.ranker as ranker
sage: l = [1,2,3]
sage: r,u = ranker.from_list(l)
sage: r(1)
0
sage: r(3)
2
sage: u(2)
3
sage: u(0)
1
Returns a pair of enumeration functions rank / unrank.
rank assigns on the fly an integer, starting from 0, to any object passed as argument. The object should be hashable. unrank is the inverse function; it returns None for indices that have not yet been assigned.
EXAMPLES:
sage: [rank, unrank] = sage.combinat.ranker.on_fly()
sage: rank('a')
0
sage: rank('b')
1
sage: rank('c')
2
sage: rank('a')
0
sage: unrank(2)
'c'
sage: unrank(3)
sage: rank('d')
3
sage: unrank(3)
'd'
TODO: add tests as in combinat::rankers
Returns a rank function given a list l.
EXAMPLES:
sage: import sage.combinat.ranker as ranker
sage: l = [1,2,3]
sage: r = ranker.rank_from_list(l)
sage: r(1)
0
sage: r(3)
2
Returns an unrank function from a list.
EXAMPLES:
sage: import sage.combinat.ranker as ranker
sage: l = [1,2,3]
sage: u = ranker.unrank_from_list(l)
sage: u(2)
3
sage: u(0)
1