#include "BSprivate.h"

/*@ BSlocal_flops - Returns the number of flops accumulated by BlockSolve

    Input Parameters:
.   none -

    Output Parameters:
.   double - the current number of flops executed by BlockSolve95 on
    this processor.

    Returns:
	the current number of flops

@*/
double BSlocal_flops()
{
#ifdef MLOG
	return(MLOG_flops);
#else
	MY_SETERRCN(MLOG_ERROR,"To log flops, you must compile src with MLOG defined.");
#endif
}

/*@ BSglobal_flops - Returns the global number of flops accumulated
				by BlockSolve

    Input Parameters:
.   procinfo - the usual processor info

    Output Parameters:
.   double - the current number of flops executed by BlockSolve95 on
    all processor in this procset.

    Returns:
    the global number of flops accumulated by BlockSolve95

@*/
double BSglobal_flops(BSprocinfo *procinfo)
{
	double	global_flops, work;
#ifdef MLOG
	global_flops = MLOG_flops;
    GDSUM(&global_flops,1,&work,procinfo->procset);
	return(global_flops);
#else
	MY_SETERRCN(MLOG_ERROR,"To log flops, you must compile src with MLOG defined.");
#endif

}



syntax highlighted by Code2HTML, v. 0.9.1