octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Checking octave_value equality (==) without generating an error?


From: Michael Goffioul
Subject: Re: Checking octave_value equality (==) without generating an error?
Date: Sat, 22 Nov 2014 18:43:47 -0500

On Sat, Nov 22, 2014 at 5:48 PM, John W. Eaton <address@hidden> wrote:
On 11/22/2014 04:40 PM, Michael Goffioul wrote:
Hi,

I'm looking for a function/method that would check whether 2
octave_value objects are equal, but I don't want to generate an error
(e.g. if objects are not comparable, then I simply want to return
false). AFAIK do_binary_op will generate an error if required. Is there
such method in octave?

For the record: this is in the context of property set-accessor [1][2]

Michael.


[1]
http://www.mathworks.com/help/matlab/matlab_oop/property-access-methods.html#brgsek9-3
[2] http://www.mathworks.com/help/matlab/ref/meta.property.html (AbortSet)

There is isequal, but it is a .m file.  Maybe it's a candidate for conversion to C++?

Indeed, isequal.m does more than the equivalent '==' operator overloads. If I understand correctly, == is not even implemented for octave_cell, so I wouldn't be able to compare 2 objects like octave_value(Cell()). So what I'm really looking for is calling isequal from C++ with error/warning disabled.

 
  I don't think you would need to use try/catch if done by dispatching within the octave_value class heirarchy.

I wasn't sure about the try/catch, but considering that I could compare class objects with overloaded eq operator, I could be executing any code.

Michael.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]