-
Notifications
You must be signed in to change notification settings - Fork 2
[no merge] Octave devel branch summer 2025 #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
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.
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 b1165b5.
This reverts commit 45a8b00.
See bug #67348 (https://savannah.gnu.org/bugs/?67348) for more details.
This reverts commit d1c5725.
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.
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'
| %% 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); |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
The
octave_dev25branch is a target for other pull requests.As of 2025 April, its not intended for merging.