SMath Studio Forum
»
SMath Studio
»
Bugs & Problems
»
Some bugs calling composite functions with if() or cases()
Rank: Advanced Member Groups: Registered
Joined: 28/08/2014(UTC) Posts: 1,356 Was thanked: 815 time(s) in 516 post(s)
|
Hi. I don't know if this is a know one. I guess they are related to the fact that functions with if can neither be derived nor integrated. Notice that seems that there are a bug in cases() too. FunctionBug.sm (14kb) downloaded 9 time(s). FunctionBug.pdf (49kb) downloaded 10 time(s).Best regards. Alvaro.
|
1 user thanked Razonar for this useful post.
|
|
|
Rank: Advanced Member Groups: Registered
Joined: 28/08/2014(UTC) Posts: 1,356 Was thanked: 815 time(s) in 516 post(s)
|
... and issues in composite functions with loops. FunctionBug2.sm (18kb) downloaded 7 time(s). FunctionBug2.pdf (77kb) downloaded 8 time(s).Best regards. Alvaro.
|
1 user thanked Razonar for this useful post.
|
|
|
Rank: Advanced Member Groups: Registered
Joined: 28/08/2014(UTC) Posts: 1,356 Was thanked: 815 time(s) in 516 post(s)
|
Originally Posted by: Razonar ... and issues in composite functions with loops. FunctionBug2.sm (18kb) downloaded 7 time(s). FunctionBug2.pdf (77kb) downloaded 8 time(s).Best regards. Alvaro. Debugging with trace(), what I see is that when calling g, f takes phi=1, (this is the first phi=1 in the output window) but don't do the loop. Calling f isolated shows another phi=1 and subsequent values for phi. With for(3) gives an error, so I can't debug that. Additionally, calling with for(4) seems to have the same behavior than while.
|
|
|
|
Rank: Guest
Groups: Registered
Joined: 04/07/2015(UTC) Posts: 6,866 Was thanked: 981 time(s) in 809 post(s)
|
Originally Posted by: Razonar I don't know if this is a know one. I guess they are related to the fact that functions with if can neither be derived nor integrated. Notice that seems that there are a bug in cases() too. 1. You must assign "cases" like in your last example. 2. Before Davide introduced "cases" it was a damned job integrate unless from discrete finite differences like in the old days. The min(x) style [undocumented] is quite smart, mostly OK Simpson. Cheers ... Jean Integrate Discontinuous [min(x)].sm (17kb) downloaded 11 time(s).
|
|
|
|
Rank: Advanced Member Groups: Registered, Advanced Member Joined: 13/01/2012(UTC) Posts: 2,647 Location: Italy Was thanked: 1329 time(s) in 875 post(s)
|
As I've already mentioned here and there, assignments shouldn't be made inside cases() arguments, because: Originally Posted by: Davide Carpi Please be careful however, since a symbolic evaluation to show the function content or a failed evaluation with an error triggered on the conditions leads to the evalution of all the options. In general currently is better to use cases to host just dead content (numbers, strings, variables). This is a downside that currently can't be prevented. As you can see making the assignment outside cases() works as expected. |
If you like my plugins consider to support SMath Studio buying a plan; to offer me a coffee: paypal.me/dcprojects |
|
|
|
SMath Studio Forum
»
SMath Studio
»
Bugs & Problems
»
Some bugs calling composite functions with if() or cases()
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.