Exemple #1
0
void FB::Log::initLogging()
{
    if (logging_started)
        return;

    bool addedAppender = false;

    log4cplus::Logger logger = log4cplus::Logger::getInstance(L"FireBreath");

    FB::Log::LogLevel ll = getFactoryInstance()->getLogLevel();
    logger.setLogLevel(translate_logLevel(ll));

    FB::Log::LogMethodList mlist;
    getFactoryInstance()->getLoggingMethods(mlist);

    for (FB::Log::LogMethodList::const_iterator it = mlist.begin(); it != mlist.end(); ++it) {
        switch( it->first ) {
        case FB::Log::LogMethod_Console: {
#ifdef FB_WIN
            log4cplus::SharedAppenderPtr debugAppender(new log4cplus::Win32DebugAppender());
            std::auto_ptr<log4cplus::Layout> layout2(new log4cplus::TTCCLayout());
            debugAppender->setLayout(layout2);
            logger.addAppender(debugAppender);
            addedAppender = true;
#else
            log4cplus::SharedAppenderPtr debugAppender(new log4cplus::ConsoleAppender());
            std::auto_ptr<log4cplus::Layout> layout2(new log4cplus::TTCCLayout());
            debugAppender->setLayout(layout2);
            logger.addAppender(debugAppender);
            addedAppender = true;
#endif
            } break;
        case FB::Log::LogMethod_File: {
            log4cplus::SharedAppenderPtr fileAppender(new log4cplus::FileAppender(FB::utf8_to_wstring(it->second)));
            std::auto_ptr<log4cplus::Layout> layout(new log4cplus::TTCCLayout());
            fileAppender->setLayout(layout);
            logger.addAppender(fileAppender);
            addedAppender = true;
          }
        }
    }

    // If there are no other appenders, add a NULL appender
    if (!addedAppender) {
        log4cplus::SharedAppenderPtr nullAppender(new log4cplus::NullAppender());
        std::auto_ptr<log4cplus::Layout> layout3(new log4cplus::TTCCLayout());
        nullAppender->setLayout(layout3);
        logger.addAppender(nullAppender);
    }
    
    logging_started = true;
}
void tryLayout(Rectangle rectangles[4]){
	layout1(rectangles);
	layout2(rectangles);
	layout3(rectangles);
	layout4(rectangles);
	layout5(rectangles);
}
int main(int argc, char *argv[])
{
  Pooma::initialize(argc,argv);
  Pooma::Tester tester(argc,argv);

  int i;
  
  // Create the total domain.
  
  Interval<1> domain(12);
  
  // Create the block sizes.
  
  Loc<1> blocks(3), blocks2(4);

  // Create the partitioners.
  
  UniformGridPartition<1> partition(blocks), partition2(blocks2);
  
  // Create the layouts.
  
  UniformGridLayout<1> layout(domain, partition, ReplicatedTag());
  UniformGridLayout<1> layout2(domain, partition2, ReplicatedTag());
  
  // Make some UMP arrays and fill them.
  
  Array<1, double, Brick > a(12), ans(12);
  Array<1, double, MultiPatch<UniformTag,Brick> > bb(layout), cc(layout2);
  for (i = 0; i < 12; i++)
    {
      bb(i) = 1.0 + i;
      cc(i) = -2.3 * i;
      ans(i) = bb(i) + 3.0 * cc(i);
    }
  
  a = bb + 3.0 * cc;

  Pooma::blockAndEvaluate();

  for (i = 0; i < 12; i++)
    {
      tester.check(a(i) == ans(i));
    }
  
  int ret = tester.results("ump_test2");
  Pooma::finalize();
  return ret;
}
int main(int argc, char *argv[])
{
  // Initialize POOMA and output stream, using Tester class
  Pooma::initialize(argc, argv);
  Pooma::Tester tester(argc, argv);

  tester.out() << argv[0] << ": Tests of global ID database." << std::endl;
  tester.out() << "------------------------------------------------" << std::endl;

  int size = 120;

  Interval<1> domain(size);

  UniformGridPartition<1> partition1(Loc<1>(10));
  UniformGridLayout<1> layout1(domain,partition1, ReplicatedTag());

  UniformGridPartition<1> partition2(Loc<1>(6));
  UniformGridLayout<1> layout2(domain,partition2, ReplicatedTag());

  std::vector<INode<1> > inodes;
  GlobalIDDataBase gidStore;

  UniformGridLayout<1>::const_iterator p = layout1.beginGlobal();
  while (p != layout1.endGlobal())
  {
    inodes.push_back(INode<1>(*p, layout1.ID(), &gidStore));
    ++p;
  }
  int i;
  int ni = inodes.size();
  for (i = 0; i < ni; ++i)
  {
    layout2.touches(inodes[i].domain(), std::back_inserter(inodes),
		    TouchesConstructINode<1>(layout2.ID(),inodes[i].key(),
					     &gidStore)
		    );
  }
  inodes.erase(inodes.begin(), inodes.begin() + ni);

  int gid1,gid2;
  int gidStore1,gidStore2;
  for (i = 0; i < inodes.size(); ++i)
  {
    gid1 = layout1.globalID(inodes[i].domain().firsts());
    gid2 = layout2.globalID(inodes[i].domain().firsts());
    gidStore1 = inodes[i].globalID(layout1.ID());
    gidStore2 = inodes[i].globalID(layout2.ID());

    tester.check(gid1 == gidStore1);
    tester.check(gid2 == gidStore2);

    tester.out() << "domain " << inodes[i].domain()
		 << ", key " << inodes[i].key()
		 << ", gid #1 - (" << gid1 << " == " << gidStore1 << ")"
		 << ", gid #2 - (" << gid2 << " == " << gidStore2 << ")"
		 << std::endl;
  }

  gidStore.print(tester.out());

  tester.out() << "------------------------------------------------"
	       << std::endl;

  int retval = tester.results("giddatabaseTest");
  Pooma::finalize();
  return retval;  
}