/*
* \file Verbosity.cpp:
* \brief: Manage verbosity levels
*
*   WARNING: DO NOT MODIFY THIS FILE
*            this file has been automatically generated by Synchronize.sh
*            Please read README for more information
*/

/*include*/
/*{{{*/
#ifdef HAVE_CONFIG_H
   #include <config.h>
#else
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
#include "./Verbosity.h"
#include "../Exceptions/exceptions.h"
/*}}}*/

/*Verbosityt levels*/
bool VerboseMProcessor(void){return (GetVerbosityLevel() & 1);} /* 2^0*/
bool VerboseModule(void){return (GetVerbosityLevel() & 2);} /* 2^1*/
bool VerboseSolution(void){return (GetVerbosityLevel() & 4);} /* 2^2*/
bool VerboseSolver(void){return (GetVerbosityLevel() & 8);} /* 2^3*/
bool VerboseConvergence(void){return (GetVerbosityLevel() & 16);} /* 2^4*/
bool VerboseControl(void){return (GetVerbosityLevel() & 32);} /* 2^5*/
bool VerboseQmu(void){return (GetVerbosityLevel() & 64);} /* 2^6*/
bool VerboseAutodiff(void){return (GetVerbosityLevel() & 128);} /* 2^7*/

/*Verbosity Setup*/
static int verbositylevel=-1;
/*FUNCTION SetVerbosityLevel {{{*/
void SetVerbosityLevel(int level){

	if(level<0) _error_("vebosity level should be a positive integer (user provided " << level << ")");

	verbositylevel = level;

}/*}}}*/
/*FUNCTION GetVerbosityLevel {{{*/
int  GetVerbosityLevel(void){
	_assert_(verbositylevel>=0);
	return verbositylevel;
}/*}}}*/
