Skip to content

Conversation

@cbm755
Copy link
Owner

@cbm755 cbm755 commented Apr 28, 2025

The octave_dev25 branch is a target for other pull requests.

As of 2025 April, its not intended for merging.

cbm755 and others added 11 commits April 28, 2025 08:51
This type of local functions are not supported in Octave (?)
Maybe this is a temporary hack so don't re-indent code (this
is to keep the diff smaller).
We cannot subclass double, which is causing lots of trouble for
"domain" (which is only a very thin wrapper around double).
TEMPORARY workaround for some fight between between subsref and
the .domain class property causing infinite loops.
Maybe this is just temporary?  I'm sure this is used in other places
so hopefully can fix it instead of working around with temp variables
like is done here.
On Octave calling fieldnames on a classdef is a warning.  Put that
case last in chebfun/get so that we don't trigger the warning when
accessing more common public properties.

I assume this is not recommended OOP practice so probably this is
a good change on Matlab too.  Or maybe it should raise a warning
on Matlab?
This was mostly a thin wrapper around double, but it did have some
methods that will probably need to be restored: "validate" and
"merge" maybe others...?
Either this needs some workaround in subsref or perhaps its an
Octave bug.  I think there are subtle differences about how this
sort of subsref chaining works b/w Octave and Matlab.
@cbm755 cbm755 mentioned this pull request Apr 28, 2025
cbm755 and others added 18 commits April 28, 2025 09:43
This reverts commit b5a9a93.

It wasn't the correct action to fix the 2*f issue, broke a lot of other behaviours like 'f + 2*f' et cetera.
This reverts commit 22aac25.

Issue was fixed in core Octave (hg id 34756:b12978fb1380) (see https://savannah.gnu.org/bugs/index.php?65179).
test_atan2 passes without error after this change.
Previously, calling `verLessThan('matlab', version)` caused an error on Octave. With this change, querying the `matlab` version will silently query the Octave version on Octave. All invocations of `verLessThan` must be changed to `compatible_verLessThan`.
Octave does not support bvpinit() as of now.
This reverts commit 0232943.

Methods inside a classdef .m file that do not belong to the class itself are now supported in Octave.
Octave does not currently support the InferiorClasses attribute, so often two classes with the same method will conflict, and the order of function resolution will be messed up.
kolmanthomas and others added 6 commits August 8, 2025 18:30
Currently, Octave does not declare the whole class to be abstract if a method or a property is abstract, unlike MATLAB, which does even for a single abstract method or property.
The former doesn't exist in Octave, nor can I find official MATLAB documentation for the 'fields' method, but it seems to do the exact same thing as the 'fieldnames' method.
…essThan'.

See commit 2a6a136 for details on the reasoning.
…ch function name.

Silences an Octave warning.
New PR for property/funciton conflict of 'domain'
Comment on lines -11 to 17
%% Scalar-valued, tan(f, g):
x = chebfun(@(x) x, [a, b], pref);
f = .5+sin(x).*exp(-.1*x.^2);
g = cos(x).*(1+x.^2);
%x = chebfun(@(x) x, [a, b], pref);
%f = .5+sin(x).*exp(-.1*x.^2);
f = chebfun('.5+sin(x).*exp(-.1*x.^2)', [a, b]);

%g = cos(x).*(1+x.^2);
g = chebfun('cos(x).*(1+x.^2)', [a, b]);
h = atan2(f, g);
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kolmanthomas what is this about? I gather there is some error about complex values when I try this?

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I played with this and filed #8 based on what I found so far.

@cbm755 cbm755 changed the title [no merge] Octave devel branch [no merge] Octave devel branch summer 2025 Aug 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants