Mercurial > octave
view test/classdef/struct_wrapper.m @ 31198:863730dd0f83 stable
nextpow2: Fix for input between 0.5 and 1 (bug #62947).
* scripts/general/nextpow2.m: Switch to a naïve implementation using log2 with
a single output argument and ceil.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Wed, 24 Aug 2022 17:15:34 +0200 |
parents | ad71c8d87cff |
children |
line wrap: on
line source
classdef struct_wrapper properties s; end methods function o = struct_wrapper () if (nargin == 0) o.s = struct (); else error ('struct_wrapper:SyntaxError', ... 'struct_wrapper: Invalid syntax'); end end function n = numel (o, varargin) n = 1; end function varargout = subsref (o, p) if (isequal (p(1).type, '{}')) r = []; for i = 1:numel (p(1).subs) r = [r, getfield(o.s, p(1).subs{i})]; end varargout = {r}; else error ('struct_wrapper:SyntaxError', ... 'struct_wrapper: Invalid syntax'); end end function o = subsasgn (o, p, varargin) if (isequal (p(1).type, '{}')) for i = 1:numel (p(1).subs) o.s = setfield (o.s, p(1).subs{i}, varargin{1}(i)); end else error ('struct_wrapper:SyntaxError', ... 'struct_wrapper: Invalid syntax'); end end end end