Changeset 6310
- Timestamp:
- 10/15/10 08:28:17 (14 years ago)
- Location:
- issm/trunk/src/c/shared/Numerics
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/shared/Numerics/Synchronize.sh
r6301 r6310 7 7 8 8 #Get all lines of Verbosity.cpp 9 cat Verbosity.cpp | grep "bool" | grep "GetVerbosityLevel()" | awk '{ printf "%s %s\n", NR, $0 }' > temp 9 cat Verbosity.h | grep "bool Verb" | awk '{print $2}' | sed -e "s/(/ /" | awk '{print $1}' | awk '{ printf "%s %s\n", NR, $0 }' >temp 10 #Build header of Verbosity.cpp {{{1 11 cat <<END > Verbosity.cpp 12 /* 13 * \file Verbosity.cpp: 14 * \brief: Manage verbosity levels 15 * 16 * WARNING: DO NOT MODIFY THIS FILE 17 * this file has been automatically generated by Synchronize.sh 18 * Please read README for more information 19 */ 20 21 /*include*/ 22 /*{{{*/ 23 #ifdef HAVE_CONFIG_H 24 #include "config.h" 25 #else 26 #error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!" 27 #endif 28 #include "./Verbosity.h" 29 #include "../../include/macros.h" 30 #include "../Exceptions/exceptions.h" 31 #ifdef _SERIAL_ 32 #include <mex.h> 33 #endif 34 /*}}}*/ 35 36 /*Verbosityt levels*/ 37 END 38 #}}} 10 39 11 40 #get number of lines in temp … … 16 45 17 46 #Get name of the line i 18 FILENAME=$(cat temp | grep "^[ ]*$i " | awk '{printf("%s",$3);}'); 19 ENUM=$(cat temp | grep "^[ ]*$i " | awk '{printf("%s",$7);}'); 47 FILENAME=$(cat temp | grep "^[ ]*$i " | awk '{printf("%s",$2);}'); 48 49 let POWER=$i-1 50 let BINARY=2**$POWER 51 52 echo "$FILENAME -> 2^$POWER = $BINARY" 20 53 21 54 #Add Verbosity Matlab file{{{ … … 31 64 % bool=$FILENAME() 32 65 33 bool=logical(bitand(GetVerbosityLevel(),$ENUM)); 66 bool=logical(bitand(GetVerbosityLevel(),$BINARY)); 67 END 68 #}}} 69 #Add case to Verbosity.cpp {{{ 70 cat <<END >> Verbosity.cpp 71 bool $FILENAME(void){return (GetVerbosityLevel() & $BINARY);} /* 2^$POWER*/ 72 END 73 #}}} 74 75 done 76 77 #Add footer of Verbosity.cpp{{{1 78 cat <<END >> Verbosity.cpp 79 80 /*Verbosity Setup*/ 81 static int verbositylevel=-1; 82 /*FUNCTION SetVerbosityLevel {{{*/ 83 void SetVerbosityLevel(int level){ 84 85 if(level<0) ISSMERROR("vebosity level should be a positive integer (user provided %i)",level); 86 87 #ifdef _SERIAL_ 88 89 mxArray* output=NULL; 90 mxArray* input=NULL; 91 input=mxCreateDoubleScalar((double)level); 92 93 mexCallMATLAB(0,&output,1,&input,"SetVerbosityLevel"); 94 #else 95 96 verbositylevel = level; 97 98 #endif 99 }/*}}}*/ 100 /*FUNCTION GetVerbosityLevel {{{*/ 101 int GetVerbosityLevel(void){ 102 #ifdef _SERIAL_ 103 104 mxArray* output=NULL; 105 mxArray* input=NULL; 106 double level; 107 108 mexCallMATLAB(1,&output,0,&input,"GetVerbosityLevel"); 109 level=mxGetScalar(output); 110 111 verbositylevel = (int)level; 112 113 #else 114 115 ISSMASSERT(verbositylevel>=0); 116 return verbositylevel; 117 118 #endif 119 }/*}}}*/ 34 120 END 35 121 #}}} 36 122 37 done38 123 #clean up{{{ 39 124 rm temp -
issm/trunk/src/c/shared/Numerics/Verbosity.cpp
r6301 r6310 1 /* 2 * \file Verbosity.cpp: 3 * \brief: Manage verbosity levels 4 * 5 * WARNING: DO NOT MODIFY THIS FILE 6 * this file has been automatically generated by Synchronize.sh 7 * Please read README for more information 8 */ 1 9 2 10 /*include*/ 3 /*{{{ 1*/11 /*{{{*/ 4 12 #ifdef HAVE_CONFIG_H 5 13 #include "config.h" … … 16 24 17 25 /*Verbosityt levels*/ 18 bool VerbModule (void){return (GetVerbosityLevel() & 1 );}/* 2^0 -> 000000001*/19 bool VerbConverge (void){return (GetVerbosityLevel() & 2 );}/* 2^1 -> 000000010*/20 bool VerbModProc (void){return (GetVerbosityLevel() & 4 );}/* 2^2 -> 000000100*/21 bool VerbSolver (void){return (GetVerbosityLevel() & 8 );}/* 2^3 -> 000001000*/26 bool VerbModule(void){return (GetVerbosityLevel() & 1);} /* 2^0*/ 27 bool VerbConverge(void){return (GetVerbosityLevel() & 2);} /* 2^1*/ 28 bool VerbModProc(void){return (GetVerbosityLevel() & 4);} /* 2^2*/ 29 bool VerbSolver(void){return (GetVerbosityLevel() & 8);} /* 2^3*/ 22 30 23 31 /*Verbosity Setup*/ 24 32 static int verbositylevel=-1; 25 /*FUNCTION SetVerbosityLevel {{{ 1*/33 /*FUNCTION SetVerbosityLevel {{{*/ 26 34 void SetVerbosityLevel(int level){ 27 35 … … 40 48 41 49 #endif 42 43 50 }/*}}}*/ 44 /*FUNCTION GetVerbosityLevel {{{ 1*/51 /*FUNCTION GetVerbosityLevel {{{*/ 45 52 int GetVerbosityLevel(void){ 46 47 53 #ifdef _SERIAL_ 48 54 -
issm/trunk/src/c/shared/Numerics/Verbosity.h
r6305 r6310 1 /*!\file: isnan.h2 * \brief: only used for intel compiler.1 /*!\file:Verbosity.h 2 * \brief: Deal with verbosity levels 3 3 */ 4 4 … … 6 6 #define _VERBOSITY_H_ 7 7 8 void SetVerbosityLevel(int level); 9 int GetVerbosityLevel(void); 10 8 /*List of Verbosity levels (Add your own and Synchronize)*/ 11 9 bool VerbModule(void); 12 10 bool VerbConverge(void); … … 14 12 bool VerbSolver(void); 15 13 14 /*Setup Verbosity level*/ 15 void SetVerbosityLevel(int level); 16 int GetVerbosityLevel(void); 17 16 18 #endif
Note:
See TracChangeset
for help on using the changeset viewer.