Changeset 6315


Ignore:
Timestamp:
10/15/10 11:14:48 (15 years ago)
Author:
Mathieu Morlighem
Message:

Synchronized verbose.m

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/classes/verbose.m

    r6304 r6315  
    77%      verbose=verbose('module',true,'solver',false);
    88
     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
    912classdef 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
    2126
    22                          if nargin==1,
     27                        if nargin==1,
    2328
    24                                  binary=varargin{1};
    25                                  if ischar(binary),
    26                                          binary=bin2dec(binary);
    27                                  end
    28                                  verbose=BinaryToVerbose(verbose,binary);
     29                                binary=varargin{1};
     30                                if ischar(binary),
     31                                        binary=bin2dec(binary);
     32                                end
     33                                verbose=BinaryToVerbose(verbose,binary);
    2934
    30                          else
     35                        else
    3136
    32                                  options=pairoptions(varargin{:});
    33                                  for i=1:size(options.list,1),
    34                                          fieldname=options.list{i,1};
    35                                          fieldvalue=options.list{i,2};
    36                                          if ismember(fieldname,properties(verbose)),
    37                                                  verbose.(fieldname)=fieldvalue;
    38                                          else
    39                                                  disp(['''' fieldname ''' is not a property of verbose verbose']);
    40                                          end
    41                                  end
     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
    4247
    43                          end
    44                  end
    45                  %}}}
    46                  function binary=VerboseToBinary(verbose) % {{{1
     48                        end
     49                end
     50                %}}}
     51                function binary=VerboseToBinary(verbose) % {{{1
    4752
    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
    4960
    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
    5564
    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
    5971
    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
    6183
    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                %}}}
    7886        end
    7987end
Note: See TracChangeset for help on using the changeset viewer.