Пример #1
0
void tryLayout(Rectangle rectangles[4]){
	layout1(rectangles);
	layout2(rectangles);
	layout3(rectangles);
	layout4(rectangles);
	layout5(rectangles);
}
Пример #2
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;
}
int main(int argc, char *argv[])
{
  Pooma::initialize(argc, argv);
  Pooma::Tester tester(argc, argv);

  const double eps = 1.0e-08;	// checking tolerance
  const int Dim = 2;
  std::vector<FieldOffsetList<Dim> > nn;
  std::vector<FieldOffsetList<3> > nn3;

  Centering<2> inputCenteringTwo, outputCenteringTwo;
  Centering<3> inputCenteringThree, outputCenteringThree;

  Interval<Dim> physicalVertexDomain(4, 4);
  DomainLayout<Dim> layout(physicalVertexDomain, GuardLayers<Dim>(1));
  typedef Field<UniformRectilinearMesh<Dim>, double, Brick> Field_t;


  // Test 2D Discontinuous Vertex -> Continuous Vertex.

  inputCenteringTwo = canonicalCentering<2>(VertexType, Discontinuous, AllDim);
  outputCenteringTwo = canonicalCentering<2>(VertexType, Continuous, AllDim);
  nn = nearestNeighbors(inputCenteringTwo, outputCenteringTwo);
  Field_t g(inputCenteringTwo, layout,
	    Vector<Dim>(0.0), Vector<Dim>(1.0, 2.0));

  g.all() = 2.0;
  g = -1.0;
  Pooma::blockAndEvaluate();
  g(FieldOffset<Dim>(Loc<Dim>(1,1), 0), Loc<Dim>(0,0)) = 17.0;
  tester.check("discontinuous vertex->continuous vertex",
	       checkFieldPosition(g, nn[0], Loc<Dim>(1),
				  14.0, 3.5, -1.0, 17.0, eps));


  // Test 2D Continuous Cell -> Continuous Cell.

  inputCenteringTwo = canonicalCentering<2>(CellType, Continuous, AllDim);
  outputCenteringTwo = canonicalCentering<2>(CellType, Continuous, AllDim);
  nn = nearestNeighbors(inputCenteringTwo, outputCenteringTwo);
  Field_t f(inputCenteringTwo, layout,
	    Vector<Dim>(0.0), Vector<Dim>(1.0, 2.0));

  f.all() = 2.0;
  f = -1.0;
  Pooma::blockAndEvaluate();
  f(FieldOffset<Dim>(Loc<Dim>(1,1), 0), Loc<Dim>(0,0)) = 17.0;
  tester.check("cell->cell",
	       checkFieldPosition(f, nn[0], Loc<Dim>(1,1),
				  17.0, 17.0, 17.0, 17.0, eps));


  // Test 2D Discontinuous Face -> Continuous Edge.

  inputCenteringTwo = canonicalCentering<2>(FaceType, Discontinuous, AllDim);
  outputCenteringTwo = canonicalCentering<2>(EdgeType, Continuous, AllDim);
  nn = nearestNeighbors(inputCenteringTwo, outputCenteringTwo);
  Field_t h(inputCenteringTwo, layout,
	    Vector<Dim>(0.0), Vector<Dim>(1.0, 2.0));

  h.all() = 2.0;
  h = -1.0;
  Pooma::blockAndEvaluate();
  h(FieldOffset<Dim>(Loc<Dim>(1), 0), Loc<Dim>(0)) = 17.0;
  tester.check("discontinuous face->edge",
	       checkFieldPosition(h, nn[0], Loc<Dim>(1),
				  -2.0, -1.0, -1.0, -1.0, eps));

  // Test 3D Discontinuous Vertex -> Continuous Cell.

  inputCenteringThree = canonicalCentering<3>(VertexType, Discontinuous, AllDim);
  outputCenteringThree = canonicalCentering<3>(CellType, Continuous, AllDim);
  nn3 = nearestNeighbors(inputCenteringThree, outputCenteringThree);

  Interval<3> physicalVertexDomain3(4, 4, 4);
  DomainLayout<3> layout3(physicalVertexDomain3, GuardLayers<3>(1));
  Field<UniformRectilinearMesh<3>, double, Brick>
    G(inputCenteringThree, layout3, Vector<3>(0.0), Vector<3>(1.0, 2.0, 0.0));

  G.all() = 2.0;
  G = -1.0;
  Pooma::blockAndEvaluate();
  G(FieldOffset<3>(Loc<3>(1), 0), Loc<3>(0)) = 17.0;
  tester.check("discontinuous vertex->cell",
	       checkFieldPosition(G, nn3[0], Loc<3>(1),
				  -46.0, -46.0/64.0, -1.0, 17.0, eps));

  int ret = tester.results("FieldReductions");
  Pooma::finalize();
  return ret; 
}