[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-gsl] Why must k be less than n in a multiset?
From: |
Michael Underwood |
Subject: |
[Help-gsl] Why must k be less than n in a multiset? |
Date: |
Thu, 8 Sep 2011 15:18:39 -0600 |
Hello,
I'm trying to create all multisets of length k=3 on sets of the form
{1,...,n}, where n ranges from 1 to 9. So for n=1 I would expect to
get only the multiset {{1,1,1}}; for n=2 I'd get {{1,1,1}}, {{1,1,2}},
{{1,2,2}}, and {{2,2,2}}. However, when I call gsl_multiset_calloc(n,
3) with n<3, I receive the run-time error:
> gsl: init.c:42: ERROR: multiset length k must be an integer less than or
> equal to n
> Default GSL error handler invoked.
> Abort trap
I looked at line 42 in init.c, and it simply throws that error message
inside an "if (k>n)" block, which doesn't really explain why the check
is in place. I haven't looked further into the GSL source than that
though.
So my questions are (1) does anybody know why there is a check to
ensure k<=n when this is not required of a multiset, and (2) what is
the best way to obtain the behaviour I'm after, hopefully without
having to rewrite existing code that works for n=3 to 9 (and
presumably higher)?
Thanks,
Michael
- [Help-gsl] Why must k be less than n in a multiset?,
Michael Underwood <=