Yes, this implementation looks correct.

Aaron Meurer

On Fri, Jul 29, 2016 at 7:04 AM, Felipe Vieira <[email protected]> wrote:
> Let me try again:
> class Double(Function):
>     u"""A simple function that doubles the input."""
>
>     nargs = 1
>
>     @classmethod
>     def eval(cls, arg):
>         pass
>         if arg.is_Number:
>             return sympy.Mul(2, arg)
>
>     def fdiff(self, argindex = 1):
>         return sympy.Integer(2)
> This generates:
> In [47]: Double(x)
> Out[47]: Double(x)
>
> In [48]: Double(2*x)
> Out[48]: Double(2*x)
>
> In [49]: Double(2*x).fdiff()
> Out[49]: 2
>
> In [50]: Double(2*x).diff()
> Out[50]: 4
>
> So now it looks like it is working as expected.
> I thought the same way I could do: f = Function('f') I could also do d =
> Double('d') then d(2).
>
> As mentioned above, is this the expected way of doing things?
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/ac199e4a-62cf-4635-80fb-d45a5a828613%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAKgW%3D6%2Baak5zK60TK0WrxES-F6SBF%2BuCJQSqwjgAuTnt4HWeew%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to