コード例 #1
0
ファイル: CCConsole.cpp プロジェクト: Abioy/OpenBird
static void printFileUtils(int fd)
{
    FileUtils* fu = FileUtils::getInstance();

    mydprintf(fd, "\nSearch Paths:\n");
    auto list = fu->getSearchPaths();
    for( const auto &item : list) {
        mydprintf(fd, "%s\n", item.c_str());
    }

    mydprintf(fd, "\nResolution Order:\n");
    list = fu->getSearchResolutionsOrder();
    for( const auto &item : list) {
        mydprintf(fd, "%s\n", item.c_str());
    }

    mydprintf(fd, "\nWriteble Path:\n");
    mydprintf(fd, "%s\n", fu->getWritablePath().c_str());

    mydprintf(fd, "\nFull Path Cache:\n");
    auto cache = fu->getFullPathCache();
    for( const auto &item : cache) {
        mydprintf(fd, "%s -> %s\n", item.first.c_str(), item.second.c_str());
    }
}
コード例 #2
0
ファイル: CCConsole.cpp プロジェクト: Abioy/OpenBird
static void printSceneGraphBoot(int fd)
{
    write(fd,"\n",1);
    auto scene = Director::getInstance()->getRunningScene();
    int total = printSceneGraph(fd, scene, 0);
    mydprintf(fd, "Total Nodes: %d\n", total);
}
コード例 #3
0
ファイル: CCConsole.cpp プロジェクト: Abioy/OpenBird
void Console::commandTextures(int fd, const char *command)
{
    Scheduler *sched = Director::getInstance()->getScheduler();
    sched->performFunctionInCocosThread( [&](){
        mydprintf(fd, "%s", Director::getInstance()->getTextureCache()->getCachedTextureInfo().c_str());
    }
                                        );
}
コード例 #4
0
ファイル: CCConsole.cpp プロジェクト: Abioy/OpenBird
void Console::commandConfig(int fd, const char *command)
{
    Scheduler *sched = Director::getInstance()->getScheduler();
    sched->performFunctionInCocosThread( [&](){
        mydprintf(fd, "%s", Configuration::getInstance()->getInfo().c_str());
    }
                                        );
}
コード例 #5
0
ファイル: opt.c プロジェクト: Unode/ext_apps
void dfnmin(double p[], int n, double gtol, int itmax, int maxback,
	    int *iter, double *fret,
	    double ***hesinv,
	    double(*func)(double []), void (*dfunc)(double [], double []),
	    void (*ddfunc)(double [], double **))
{
  double *g, **A, **Ainv, *xi, *pnew;
  double sum,fp,fnew,lam,x;
  int loop,i,j,k;

  g=new_vec(n); xi=new_vec(n); pnew=new_vec(n);  
  A=new_mat(n,n); Ainv=new_mat(n,n);
  fp=(*func)(p); /* function */      
  for(loop=1;loop<=itmax;loop++) {
    (*dfunc)(p,g); /* derivative */
    (*ddfunc)(p,A); /* second derivative */
    luinverse(A,Ainv,n);
    x=sym_mat(Ainv,n);

    sum=0.0;
    for(i=0;i<n;i++) {
      x=0.0; for(j=0;j<n;j++) x+=Ainv[i][j]*g[j];
      sum+=g[i]*x; xi[i] = -x;
    }
    if(sum>=0.0) lam=1.0; else lam=-1.0;
    for(k=0;k<maxback;k++) {
      for(i=0;i<n;i++) pnew[i]=p[i]+lam*xi[i];
      fnew=(*func)(pnew); /* function */      
      mydprintf(3,"\n### dfnmin: lam=%g fnew=%g fp=%g",lam,fnew,fp);
      if(fnew < fp) break;
      lam *= 0.1;
    }
    if(k==maxback) break;
    fp=fnew;
    for(i=0;i<n;i++) p[i]=pnew[i];
    mydprintf(3,"\n### dfnmin: loop=%d sum=%g fp=%g",loop,sum,fp);
    if(sum>=0 && sum<gtol) break;
  }

  *fret=fp; /* function */
  *iter=loop;
  *hesinv=Ainv;

  free_mat(A); free_vec(g); free_vec(xi); free_vec(pnew);
}
コード例 #6
0
ファイル: CCConsole.cpp プロジェクト: Abioy/OpenBird
static int printSceneGraph(int fd, Node* node, int level)
{
    int total = 1;
    for(int i=0; i<level; ++i)
        write(fd, "-", 1);

    mydprintf(fd, " %s\n", node->getDescription().c_str());

    for(const auto& child: node->getChildren())
        total += printSceneGraph(fd, child, level+1);

    return total;
}