コード例 #1
0
ファイル: compile.cpp プロジェクト: Andrye/JIT
unsigned long eval_mem(unsigned const * tree)
{
  int i;
  inner_qnty = leaf_qnty = 0;
  for(nodes=1,i=0;nodes;++i)
    {
      if (tree[i]==0) ++inner_qnty, ++nodes;
      else ++leaf_qnty, --nodes;
    }
  nodes=i;
  return prologue_size() + epilogue_size() + leaf_qnty*leaf_size() + inner_qnty*inner_size();
}
コード例 #2
0
ARC_Pair::ARC_Pair ( const cv::Point& f, const cv::Rect& second, double ns, const cv::Mat& img, bool* error ) :
    nsigma(ns), nNoMatch(0), id(++num), age(0), slot(0)
{
    cv::Point s;
    cv::Size inner_size( 10, 10 );
    s = convert_to_point( second, img, inner_size );
    if( s==cv::Point(-1, -1) )
    {
        *error = true;
        return;
    }
    if( f.y<s.y )
    {
        roi = ARC_Point_Pair(f,s);
    }
    else
    {
        roi = ARC_Point_Pair(s,f);
    }
    last_good=roi;
    *error = false;
}  // -----  end of method ARC_Pair::ARC_Pair  (constructor)  ----- 
コード例 #3
0
ファイル: compile.cpp プロジェクト: Andrye/JIT
combinator compile(unsigned nargs, unsigned const * tree)
{
  unsigned long size = eval_mem(tree);
  char * mmem = mallocx(size);
  it = 0;
  compile_prologue(mmem);
  it += prologue_size();
  for(int i=nodes-1;i>=0 ;--i)
    {
       if (tree[i])
        {
          compile_leaf(mmem + it, tree[i]);
          it += leaf_size();
        }
      else
        {
          compile_inner(mmem + it);
          it += inner_size();
        }
    }
  compile_epilogue(mmem + it, nargs);
  return (combinator) mmem;
}
コード例 #4
0
void TestWindow::layout()
 {
  Coord space_dxy=pref.get().space_dxy;

  Pointsor psor(space_dxy);

  // swtch , btn , progress

  {
   Point size=btn.getMinSize();

   Pointsor psor1=psor.cutY(size.y);

   psor1.placeX(swtch,size.y,CenterFunc(pref.get().swtch_dxy));

   psor1.placeX(btn,size);

   Coord pdy=pref.get().progress_dy;
   Coord pdx=10*pdy;

   psor1.placeX(progress,pdx,size.y,CenterYFunc(pdy));
  }

  Point lsize=Sup(label1.getMinSize(),label2.getMinSize(),label3.getMinSize());

  Point inner_size(lsize.x+3*space_dxy+lsize.y,3*lsize.y+4*space_dxy);

  // text_contour

  {
   Point size=text_contour.getMinSize(inner_size);

   psor.placeY(text_contour,size);
  }

  // label , rad

  {
   Panesor psor(text_contour.getInner(),space_dxy);

   psor.shrink();

   {
    Panesor psor1=psor.cutY(lsize.y);

    psor1.placeX(rad1,lsize.y,CenterFunc(pref.get().check_dxy));

    psor1.placeX(label1,lsize.x);
   }

   {
    Panesor psor1=psor.cutY(lsize.y);

    psor1.placeX(rad2,lsize.y,CenterFunc(pref.get().check_dxy));

    psor1.placeX(label2,lsize.x);
   }

   {
    Panesor psor1=psor.cutY(lsize.y);

    psor1.placeX(rad3,lsize.y,CenterFunc(pref.get().check_dxy));

    psor1.placeX(label3,lsize.x);
   }
  }

  // label , check , light

  {
   Point size=label.getMinSize();

   Pointsor psor1=psor.cutY(size.y);

   psor1.placeX(check,size.y,CenterFunc(pref.get().check_dxy));

   psor1.placeX(label,size);

   psor1.placeX(light,size.y,CenterFunc(pref.get().light_dxy));
  }

  // xsingle , text , edit , xdouble

  {
   Point size=edit.getMinSize();

   size.x*=3;
   size.y+=space_dxy;

   psor.placeMinY(xsingle,size.x,MinSize);

   psor.placeY(edit,size);

   psor.placeY(text,size);

   psor.placeMinY(xdouble,size.x,MinSize);
  }

  // ysingle , knob , ydouble , xscroll

  {
   Coord dy=btn.getSize().y;

   Pointsor psor1=psor.cutY(dy);

   psor1.placeMinX(ysingle,MinSize,dy);

   psor1.placeX(knob,dy,CenterFunc(pref.get().knob_dxy));

   psor1.placeMinX(ydouble,MinSize,dy);

   Coord sdy=pref.get().scroll_dxy;
   Coord sdx=10*sdy;

   psor1.placeX(xscroll,sdx,dy,CenterYFunc(sdy));
  }

  // info

  {
   Point size=contour.getMinSize(info.getMinSize());

   psor.placeY(contour,size);

   info.setPlace(contour.getInner());
  }

  // text_list

  {
   psor.placeMinY(text_list);
  }
 }