From 335c5462a33e45d40e1d74262212b6b8086f7ecd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jori=20M=C3=A4ntysalo?= Date: Mon, 3 Nov 2014 16:01:45 +0200 Subject: [PATCH] Correction for BooleanLattice(n) for n=0 and n=1; some checks for input. --- src/sage/combinat/posets/poset_examples.py | 36 ++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/src/sage/combinat/posets/poset_examples.py b/src/sage/combinat/posets/poset_examples.py index 1ac6d8ed409..899fbaeb49c 100644 --- a/src/sage/combinat/posets/poset_examples.py +++ b/src/sage/combinat/posets/poset_examples.py @@ -74,6 +74,12 @@ def __classcall__(cls, n = None): """ if n is None: return sage.categories.posets.Posets() + try: + n = Integer(n) + except TypeError: + raise TypeError("Number of elements must be an integer, not {0}.".format(n)) + if n < 0: + raise ValueError("Number of elements must be non-negative, not {0}.".format(n)) return FinitePosets_n(n) @staticmethod @@ -86,6 +92,16 @@ def BooleanLattice(n): sage: Posets.BooleanLattice(5) Finite lattice containing 32 elements """ + try: + n = Integer(n) + except TypeError: + raise TypeError("Number of elements must be an integer, not {0}.".format(n)) + if n < 0: + raise ValueError("Number of elements must be non-negative, not {0}.".format(n)) + if n==0: + return LatticePoset( ([0], []) ) + if n==1: + return LatticePoset( ([0,1], [[0,1]]) ) return LatticePoset([[Integer(x|(1<