[Scilab-users] == and : relative priorities, as in 0==-1:1

Rafael Guerra jrafaelbguerra at hotmail.com
Tue Jul 31 22:04:08 CEST 2018


Hi Samuel,

Parsing p==-1:1 as  p==(-1:1) would make Scilab output:
ans  =
  F T F

consistent with Matlab:
ans =
   1x3 logical array
   0   1   0

And with Octave:
ans =
  0  1  0

Regards,
Rafael

From: users <users-bounces at lists.scilab.org> On Behalf Of Samuel Gougeon
Sent: Tuesday, July 31, 2018 9:52 PM
To: International users mailing list for Scilab. <users at lists.scilab.org>
Subject: [Scilab-users] == and : relative priorities, as in 0==-1:1

Hello,

Here is a strange -- rather unexpected -- trivial behavior:

--> p = 0; p==-1:1
Undefined operation for the given operands.
check or define function %b_b_s for overloading.

I would have expected [%f %t %f], but "==" 's priority is higher than ":"'s one,
and the expression is parsed (p==-1):1.
It's the same with other comparisons, like p>-1:1.

It was the same behavior in Scilab 5.5.2.

Since by default ":" is defined and meaningful for a very limited
set of operands types: numbers and text (, and that ":" does not
accept a vector as  operands), what about inverting the comparisons
and ":" relative priorities, in order to parse p==(-1:1) ?

"~" and comparisons relative priorities are inverted in Scilab 6.
That's more handy. IMO here is another opportunity get a more
relevant and handy behavior, by inverting ":" and comparisons ones.

Don't you think so?
Regards

Samuel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20180731/e3e482d4/attachment.htm>


More information about the users mailing list