Mercurial > repos > public > sbplib
view +util/ReplaceableString.m @ 1031:2ef20d00b386 feature/advectionRV
For easier comparison, return both the first order and residual viscosity when evaluating the residual. Add the first order and residual viscosity to the state of the RungekuttaRV time steppers
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Thu, 17 Jan 2019 10:25:06 +0100 |
parents | f30eafd6d4dc |
children |
line wrap: on
line source
classdef ReplaceableString < handle properties n fmt param end methods function obj = ReplaceableString(fmt, varargin) default_arg('fmt', ''); obj.n = 0; obj.setFormat(fmt); obj.param = varargin; end function setFormat(obj, fmt) obj.fmt = fmt; end function appendFormat(obj, fmt) obj.fmt = [obj.fmt, fmt]; end function update(obj, fmt, varargin) obj.setFormat(fmt); obj.param = varargin; obj.display(); end function updateParam(obj, varargin) obj.param = varargin; obj.display(); end function show(obj, varargin) obj.param = varargin; obj.display(); end function remove(obj) obj.update(''); end function display(obj) reverseStr = repmat(sprintf('\b'), 1, obj.n); cleareStr = repmat(sprintf(' '), 1, obj.n); newStr = sprintf(obj.fmt, obj.param{:}); fprintf([reverseStr, cleareStr, reverseStr, newStr]); obj.n = length(newStr); end end end function b = padStr(a, n) b = sprintf('%-*s', n, a); end % TODO: Add a debug mode which prints without replacing?