Mercurial > octave
view test/classdef/struct_wrapper.m @ 31240:bf8f33249e86
delaunayn simplex check consistency and performance improvement (bug #60818)
* delaunayn.m: Apply consistent volume calculation across all trivial simplex
removal code paths. Vectorize 3D simplex removal code path and minimize
function calls within >3D loop for performance improvement. Update FIXME note
for future performance improvement. Add input type validation checks. Add BISTs
for dimensions other than 2D, simplex removal, and input validation.
* etc/News.8.md: Describe function improvements under General Improvements.
author | Nicholas R. Jankowski <jankowski.nicholas@gmail.com> |
---|---|
date | Wed, 28 Sep 2022 14:35:30 -0400 |
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