// Mode is: -*- C++ -*- // --- General.cc --- Created: Sun Sep 21 16:12:10 1997 // // Time-stamp: // Update Count: 4 // // RCS: $Id: General.cxx,v 1.1 2003/11/19 23:42:16 jcheng Exp $ $Locker: $ $Log: General.cxx,v $ // RCS: $Id: General.cxx,v 1.1 2003/11/19 23:42:16 jcheng Exp $ $Locker: $ Revision 1.1 2003/11/19 23:42:16 jcheng // RCS: $Id: General.cxx,v 1.1 2003/11/19 23:42:16 jcheng Exp $ $Locker: $ *** empty log message *** // RCS: $Id: General.cxx,v 1.1 2003/11/19 23:42:16 jcheng Exp $ $Locker: $ // RCS: $Id: General.cxx,v 1.1 2003/11/19 23:42:16 jcheng Exp $ $Locker: $ Revision 1.1 2003/07/21 21:02:13 jcheng // RCS: $Id: General.cxx,v 1.1 2003/11/19 23:42:16 jcheng Exp $ $Locker: $ *** empty log message *** // RCS: $Id: General.cxx,v 1.1 2003/11/19 23:42:16 jcheng Exp $ $Locker: $ // = FILENAME // General.cc // = LIBRARY // // = AUTHOR // Paolo Frasconi (paolo@mcculloch.ing.unifi.it) // = COPYRIGHT // Copyright (C) 1997 Paolo Frasconi #include "General.h" #include int debugLevel=3; int argmax(const Float* x, int n) { Float xmax=x[0]; int amax=0; for (int i=1; ixmax) { xmax=x[i]; amax=i; } } return amax; } void meanvar(Float* v, int n, Float& mean, Float& std) { mean = 0.0; int i; for (i=0; i int matherr(struct exception *x) { char msg[1024]; switch (x->type) { case DOMAIN: sprintf(msg, "DOMAIN"); break; case SING: sprintf(msg, "SING"); break; case OVERFLOW: sprintf(msg, "OVERFLOW"); break; case UNDERFLOW: sprintf(msg, "UNDERFLOW"); break; case TLOSS: sprintf(msg, "TLOSS"); break; case PLOSS: sprintf(msg, "PLOSS"); break; } if (!strcmp(x->name, "log")) { explain = "You probably need to increase IOHMM.scalingFactor"; } FAULT("Type=" << msg << "\nname = " << x->name << " args= " << x->arg1 << " " << x->arg2 << "\nHint: " << explain); return 0; } #endif