Changeset 6315
- Timestamp:
- 10/15/10 11:14:48 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/classes/verbose.m
r6304 r6315 7 7 % verbose=verbose('module',true,'solver',false); 8 8 9 %WARNING: some parts of this file are Synchronized with src/c/shared/Numerics/Verbosity.h 10 % Do not modify these sections. See src/c/shared/Numerics/README for more info 11 9 12 classdef verbose 10 properties (SetAccess=public) 11 % {{{1 12 module=false; 13 convergence=false; 14 modelprocessor=false; 15 solver=false; 16 % }}} 17 end 18 %}}} 19 methods 20 function verbose=verbose(varargin) % {{{1 13 properties (SetAccess=public) 14 % {{{1 15 %BEGINFIELDS 16 module=false; 17 converge=false; 18 modproc=false; 19 solver=false; 20 %ENDFIELDS 21 % }}} 22 end 23 %}}} 24 methods 25 function verbose=verbose(varargin) % {{{1 21 26 22 27 if nargin==1, 23 28 24 25 26 27 28 29 binary=varargin{1}; 30 if ischar(binary), 31 binary=bin2dec(binary); 32 end 33 verbose=BinaryToVerbose(verbose,binary); 29 34 30 35 else 31 36 32 33 34 35 36 37 38 39 40 41 37 options=pairoptions(varargin{:}); 38 for i=1:size(options.list,1), 39 fieldname=options.list{i,1}; 40 fieldvalue=options.list{i,2}; 41 if ismember(fieldname,properties(verbose)), 42 verbose.(fieldname)=fieldvalue; 43 else 44 disp(['''' fieldname ''' is not a property of verbose verbose']); 45 end 46 end 42 47 43 44 45 46 48 end 49 end 50 %}}} 51 function binary=VerboseToBinary(verbose) % {{{1 47 52 48 %WARNING: Must be synchronized with src/c/shared/Numerics/Verbosity.cpp 53 %BEGINVERB2BIN 54 binary=0; 55 if (verbose.module), binary=bitor(binary,1); end 56 if (verbose.converge), binary=bitor(binary,2); end 57 if (verbose.modproc), binary=bitor(binary,4); end 58 if (verbose.solver), binary=bitor(binary,8); end 59 %ENDVERB2BIN 49 60 50 binary=0; 51 if (verbose.module), binary=bitor(binary,1); end 52 if (verbose.convergence), binary=bitor(binary,2); end 53 if (verbose.modelprocessor), binary=bitor(binary,4); end 54 if (verbose.solver), binary=bitor(binary,8); end 61 end 62 %}}} 63 function verbose=BinaryToVerbose(verbose,binary) % {{{1 55 64 56 end 57 %}}} 58 function verbose=BinaryToVerbose(verbose,binary) % {{{1 65 %BEGINBIN2VERB 66 if bitand(binary,1), verbose.module=true; else verbose.module=false; end 67 if bitand(binary,2), verbose.converge=true; else verbose.converge=false; end 68 if bitand(binary,4), verbose.modproc=true; else verbose.modproc=false; end 69 if bitand(binary,8), verbose.solver=true; else verbose.solver=false; end 70 %ENDBIN2VERB 59 71 60 %WARNING: Must be synchronized with src/c/shared/Numerics/Verbosity.cpp 72 end 73 %}}} 74 function disp(verbose) % {{{1 75 76 %BEGINDISP 77 disp(sprintf('class ''%s'' = ',class(verbose))); 78 disp(sprintf(' %10s : %s','module',mat2str(verbose.module))); 79 disp(sprintf(' %10s : %s','converge',mat2str(verbose.converge))); 80 disp(sprintf(' %10s : %s','modproc',mat2str(verbose.modproc))); 81 disp(sprintf(' %10s : %s','solver',mat2str(verbose.solver))); 82 %ENDDISP 61 83 62 if bitand(binary,1), verbose.module=true; else verbose.module=false; end 63 if bitand(binary,2), verbose.convergence=true; else verbose.convergence=false; end 64 if bitand(binary,4), verbose.modelprocessor=true; else verbose.modelprocessor=false; end 65 if bitand(binary,8), verbose.solver=true; else verbose.solver=false; end 66 67 end 68 %}}} 69 function disp(verbose) % {{{1 70 % display the object 71 disp(sprintf('class ''%s'' = ',class(verbose))); 72 disp(sprintf(' module : %s',mat2str(verbose.module))); 73 disp(sprintf(' convergence : %s',mat2str(verbose.convergence))); 74 disp(sprintf(' modelprocessor: %s',mat2str(verbose.modelprocessor))); 75 disp(sprintf(' solver : %s',mat2str(verbose.solver))); 76 end 77 %}}} 84 end 85 %}}} 78 86 end 79 87 end
Note:
See TracChangeset
for help on using the changeset viewer.