hi,

while I m working with github, can you check this patch. I addressed all the
comments.

thank you,
kasun

On Sat, Apr 17, 2010 at 10:42 PM, Aaron S. Meurer <[email protected]>wrote:

> This patch is not applying for me.  Can you squash all of your patches into
> one commit (use git rebase -i master)?  Also, things would be easier if you
> pushed up to a github repository.
>
> Now that it works, I can comment on the actual code.
>
> In [2]: a = PrimeField(5)
>
> In [4]: a.elements()
> Out[4]: [0, 1, 2, 3, 4]
>
> In [5]: a.multiplicative_inverse(4) # I think this should return 4, not -1.
> Out[5]: -1
>
> In [7]: 4 in a # This ought to work (__contains__)
> ---------------------------------------------------------------------------
> TypeError                                 Traceback (most recent call last)
>
> /Users/aaronmeurer/Documents/python/sympy/sympy/<ipython console> in
> <module>()
>
> TypeError: argument of type 'instance' is not iterable
>
> In [9]: a = PrimeField(4)
> ValueError: Invalid Argument
>
> Use more descriptive messages than "Invalid Argument" for your errors.  For
> example, for this one, you might use "Argument of PrimeField must be a prime
> number (received 4)", or something similar.
>
> In [22]: a
> Out[22]: <sympy.abstractalgebra.finitefield.PrimeField instance at
> 0x175ca08>
>
> Like David said, please include some kind of __str__ or __repr__ method so
> this prints nicer.
>
> In your doctests, and elsewhere, use one space around an =, such as "gf7 =
> PrimeField(7)".
>
> I think this is almost ready.
>
> Aaron Meurer
> On Apr 16, 2010, at 4:29 PM, Kasun Samarasinghe wrote:
>
> hi aaron,
>
> i managed to fix the doctest problem, here is the patch for that part
> only.
>
> kasun
>
> On Sat, Apr 17, 2010 at 12:12 AM, Kasun Samarasinghe <
> [email protected]> wrote:
>
>> I have fixed the nested problem and white spaces problem. In my machine it
>> passes the tests.
>>
>> here __init__.patch is the import statement in sympy/__init__.py
>>
>> thank you,
>> kasun
>>
>>
>> On Fri, Apr 16, 2010 at 11:27 PM, Kasun Samarasinghe <
>> [email protected]> wrote:
>>
>>> also can you please have a look at my doctests, since it fails.
>>>
>>> thanks
>>>
>>>
>>> On Fri, Apr 16, 2010 at 11:20 PM, Kasun Samarasinghe <
>>> [email protected]> wrote:
>>>
>>>> hi aaron
>>>>
>>>> will it convert the tab into four spaces if I run the strip utility?
>>>>
>>>> thanks
>>>> kasun
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Apr 16, 2010 at 10:20 PM, Aaron S. Meurer 
>>>> <[email protected]>wrote:
>>>>
>>>>> Sorry, it still doesn't work for me.  The problem is that you have
>>>>> abstractalgebra nested twice.  Also, I think you might need to add 
>>>>> something
>>>>> to the main sympy/__init__.py (assuming we want this imported with from
>>>>> sympy import *; do we?).
>>>>>
>>>>> The ./bin/strip_whitespace utility will help with the other failure.
>>>>>  Setup your text editor to use 4 spaces instead of tabs:
>>>>>
>>>>>
>>>>> ________________________________________________________________________________
>>>>>
>>>>>  
>>>>> /users/aaronmeurer/documents/python/sympy/sympy/sympy/abstractalgebra/abstractalgebra/test_primefield.py
>>>>>   File
>>>>> "/users/aaronmeurer/documents/python/sympy/sympy/sympy/abstractalgebra/abstractalgebra/test_primefield.py",
>>>>> line 1, in <module>
>>>>>     from sympy.abstractalgebra.finitefield import PrimeField
>>>>> ImportError: No module named abstractalgebra.finitefield
>>>>>
>>>>>
>>>>> ________________________________________________________________________________
>>>>> __
>>>>> sympy/utilities/tests/test_code_quality.py:test_whitespace_and_exceptions
>>>>> ___
>>>>>   File
>>>>> "/users/aaronmeurer/documents/python/sympy/sympy/sympy/utilities/tests/test_code_quality.py",
>>>>> line 97, in test_whitespace_and_exceptions
>>>>>     check_directory_tree(SYMPY_PATH, test, exclude)
>>>>>   File
>>>>> "/users/aaronmeurer/documents/python/sympy/sympy/sympy/utilities/tests/test_code_quality.py",
>>>>> line 58, in check_directory_tree
>>>>>     file_check(fname)
>>>>>   File
>>>>> "/users/aaronmeurer/documents/python/sympy/sympy/sympy/utilities/tests/test_code_quality.py",
>>>>> line 82, in test
>>>>>     assert False, message_tabs % (fname, idx+1)
>>>>> AssertionError: File contains tabs instead of spaces:
>>>>> /users/aaronmeurer/documents/python/sympy/sympy/sympy/abstractalgebra/abstractalgebra/finitefield.py,
>>>>> line 11.
>>>>>
>>>>> Aaron Meurer
>>>>> On Apr 15, 2010, at 5:49 PM, Kasun Samarasinghe wrote:
>>>>>
>>>>> hi aaron,
>>>>>
>>>>> I managed to make it passed test, please give me the comment. attached
>>>>> the patch with this
>>>>>
>>>>> thank you
>>>>> kasun
>>>>>
>>>>> On Fri, Apr 16, 2010 at 12:31 AM, Ronan Lamy <[email protected]>wrote:
>>>>>
>>>>>> Le jeudi 15 avril 2010 à 13:46 -0600, Aaron S. Meurer a écrit :
>>>>>> > - I think PrimeField should subclass from Expr or Basic (though I
>>>>>> could be wrong on this one).
>>>>>> >
>>>>>> No, it should not. Instances of PrimeField are equivalent to classes
>>>>>> like Integer or Rational. I think sympy is not quite ready for this
>>>>>> yet.
>>>>>> In the current model, PrimeField "should" be a metaclass and can only
>>>>>> subclass BasicType (which is empty). It is its instances which
>>>>>> "should"
>>>>>> be subclasses of Basic. And yes, this would probably be very messy.
>>>>>>
>>>>>> So, it is reasonable to implement finite fields outside the main
>>>>>> hierarchy (note that polynomials are also outside the main hierarchy,
>>>>>> ultimately for the same reason). When sympy grows ways to manipulate
>>>>>> types, they can be brought back into the fold.
>>>>>>
>>>>>> > - How is this different from the GF
>>>>>> >  implementation in polys?  Should this rather just be providing a
>>>>>> user
>>>>>> >  interface to that?
>>>>>>
>>>>>> I think it's the opposite: polys should interface with the generic
>>>>>> implementation. Ultimately, the implementations should be merged, but
>>>>>> the code should move out of polys and into the new module.
>>>>>>
>>>>>> Ronan
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "sympy" group.
>>>>>> To post to this group, send email to [email protected].
>>>>>> To unsubscribe from this group, send email to
>>>>>> [email protected]<sympy%[email protected]>
>>>>>> .
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/sympy?hl=en.
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "sympy" group.
>>>>> To post to this group, send email to [email protected].
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected].
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/sympy?hl=en.
>>>>> <0001-Finite-Field-Implementation-Prime-Field-Only.patch>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "sympy" group.
>>>>> To post to this group, send email to [email protected].
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected]<sympy%[email protected]>
>>>>> .
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/sympy?hl=en.
>>>>>
>>>>
>>>>
>>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/sympy?hl=en.
> <doctestfix.patch>
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected] <sympy%[email protected]>.
> For more options, visit this group at
> http://groups.google.com/group/sympy?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Attachment: 0001-Prime-Field-Implementation.patch
Description: Binary data

Reply via email to