- master print function that regulates cmd line output based on verbosity flags copyright 2009-2012 Blair Armstrong, Christine Watson, David Plaut This file is part of SOS SOS is free software: you can redistribute it and/or modify it for academic and non-commercial purposes under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. For commercial or for-profit uses, please contact the authors (sos@cnbc.cmu.edu). SOS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
0001 % - master print function that regulates cmd line output based on verbosity flags 0002 % 0003 % copyright 2009-2012 Blair Armstrong, Christine Watson, David Plaut 0004 % 0005 % This file is part of SOS 0006 % 0007 % SOS is free software: you can redistribute it and/or modify 0008 % it for academic and non-commercial purposes 0009 % under the terms of the GNU General Public License as published by 0010 % the Free Software Foundation, either version 3 of the License, or 0011 % (at your option) any later version. For commercial or for-profit 0012 % uses, please contact the authors (sos@cnbc.cmu.edu). 0013 % 0014 % SOS is distributed in the hope that it will be useful, 0015 % but WITHOUT ANY WARRANTY; without even the implied warranty of 0016 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0017 % GNU General Public License for more details. 0018 0019 % You should have received a copy of the GNU General Public License 0020 % along with SOS (see COPYING.txt). 0021 % If not, see <http://www.gnu.org/licenses/>. 0022 0023 function verbosePrint(msg,fieldName) 0024 % the main output driver for SOS information. 0025 % provides support for displaying data to the standard output. It's 0026 % associated functions (e.g., setVerbosePrintVerbosity) can also be 0027 % used to set what messages will be printed and to what output stream 0028 % (though only stdout is currently supported). 0029 0030 %check that what was supplied is a string 0031 if (ischar(msg) == false) 0032 error('{msg} supplied to verbosePrint is not a String'); 0033 end 0034 0035 if (ischar(fieldName) == false) 0036 error('{fieldName} supplied to verbosePrint is not a String'); 0037 end 0038 0039 global verbosityFlags; 0040 if(isempty(verbosityFlags)) 0041 initVerbosePrint(); 0042 end 0043 0044 %try looking up the string, 0045 if (isfield(verbosityFlags,fieldName)) 0046 if getfield(verbosityFlags,fieldName) == 1 0047 disp(msg); 0048 end 0049 else 0050 error('{fieldName} is not a registered verbosityFlag'); 0051 end 0052 end 0053 0054 0055