예제 #1
0
void CWmp2mirc::OnPlay()
{
  // if we are locked (property page could be doing stuff, or the timer proc), then just ignore the request.
  if(!m_cs.TryEnter())
  {
    LibCC::g_pLog->Message(_T("WMircP is busy; ignoring the play event."));
    return;
  }

  IWMPMedia* pMedia = 0;
  m_spCore->get_currentMedia(&pMedia);

  if(!pMedia)
  {
    LibCC::g_pLog->Message(_T("WMircP could not get a pointer to the current media."));
  }
  else
  {
    CComBSTR url;
    pMedia->get_sourceURL(&url);

		LibCC::LogScopeMessage lsm(LibCC::Format("OnPlay %").qs((BSTR)url).Str());
    m.OnPlay(pMedia, (PCWSTR)url);
    pMedia->Release();
  }

  m_cs.Leave();
}
예제 #2
0
void GreedyHeuristic::getGreedyHeuristicResult(UndirectedGraph* aTree, int cardinality, string ls_type) {

  UndirectedGraph* greedyTree = new UndirectedGraph();
  bool started = false;
  for (list<Edge*>::iterator anEdge = ((*graph).edges).begin(); anEdge != ((*graph).edges).end(); anEdge++) {
    greedyTree->clear();
    greedyTree->addVertex((*anEdge)->fromVertex());
    greedyTree->addVertex((*anEdge)->toVertex());
    greedyTree->addEdge(*anEdge);
    generateNeighborhoodFor(*anEdge);
    for (int k = 1; k < cardinality; k++) {
      Edge* kctn = getMinNeighbor();
      Vertex* nn = determineNeighborNode(kctn,greedyTree);
      greedyTree->addVertex(nn);
      greedyTree->addEdge(kctn);
      adaptNeighborhoodFor(kctn,nn,greedyTree);
    }
    if (!(ls_type == "no")) {
      
      /* application of local search */
      if (ls_type == "leafs") {
	LocalSearch lsm(graph,greedyTree);
	lsm.run(ls_type);
      }
      else {
	if (ls_type == "cycles_leafs") {
	  //cout << *greedyTree << endl;
	  LocalSearchB lsm;
	  lsm.run(graph,greedyTree);
	}
      }
      /* end local search */
      /*
      if (!isConnectedTree(greedyTree)) {
	cout << "non-connected tree" << endl;
      }
      */

    }
    greedyTree->setWeight(weightOfSolution(greedyTree));
    if (started == false) {
      started = true;
      aTree->copy(greedyTree);
    }
    else {
      if ((greedyTree->weight()) < (aTree->weight())) {
	aTree->copy(greedyTree);
      }
    }
  }
  delete(greedyTree);
}
예제 #3
0
//Input Parameters
int main(int argc, char* argv[]) {

	std::cout<<"Starting LSM\n";
	LSM lsm(2, 3, 3, true);
	Storage *storage = &lsm;

	std::cout<<"Starting test\n";
	storage->insert(1, 5);
	storage->insert(3, 2);
	storage->insert(6, 8);

	std::cout<< storage->get(3) <<"\n";

	//this should return NOT_FOUND
	std::cout<< storage->get(5) <<"\n";

	//this should return 0
	std::cout<< storage->insert(9, 10) <<"\n";	

	//remove 1 element to clear up space
	std::cout<< storage->remove(3) <<"\n";	


	std::cout<< storage->insert(9, 10) <<"\n";	

	int onepage = 24576;
	int num_inputs = onepage *4;
	std::cout<< "Starting mass input of "<< num_inputs <<" KV\n";	



	for (int x = 0; x<num_inputs+1; x++) {
		storage->insert(x, x);
	}

	std::cout<< storage->get(1) <<"\n";

	std::cout<< storage->get(24576 *3 + 10) <<"\n";


	std::cout<< storage->get(24576 *2 + 10) <<"\n";

	std::cout<< storage->get(24576 *1 + 10) <<"\n";

	std::cout<<"Ending LSM\n";	
}
예제 #4
0
파일: resolve.c 프로젝트: Relys/libps4
PS4ResolveStatus ps4ResolveModuleAndSymbol(char *moduleName, char *symbolName, int64_t *module, void **symbol)
{
	static int (*lsm)(const char *name, size_t argc, const void *argv, unsigned int flags, int a, int b) = NULL;
	int stat;

	if((stat = ps4ResolveCallHandler(ps4ResolvePreHandler, moduleName, symbolName, module, symbol, PS4ResolveStatusInterceptContinue)) != PS4ResolveStatusInterceptContinue)
		return stat;

	if(module == NULL || symbol == NULL || moduleName == NULL || symbolName == NULL)
		if((stat = ps4ResolveCallHandler(ps4ResolveErrorHandler, moduleName, symbolName, module, symbol, PS4ResolveStatusArgumentError)) != PS4ResolveStatusInterceptContinue)
			return stat;

	if(*module <= 0)
	{
		if(!lsm)
		{
			int64_t k = 0;
			ps4ResolveSyscall(594, "libkernel.sprx", 0, &k, 0);
			if(k <= 0)
				if((stat = ps4ResolveCallHandler(ps4ResolveErrorHandler, moduleName, symbolName, module, symbol, PS4ResolveStatusKernelLoadError)) != PS4ResolveStatusInterceptContinue)
					return stat;
			if(ps4ResolveSyscall(591, k, "sceKernelLoadStartModule", (void **)&lsm) != 0)
				if((stat = ps4ResolveCallHandler(ps4ResolveErrorHandler, moduleName, symbolName, module, symbol, PS4ResolveStatusLSMResolveError)) != PS4ResolveStatusInterceptContinue)
					return stat;
		}
		*module = lsm(moduleName, 0, NULL, 0, 0, 0);
		if(*module <= 0)
			if((stat = ps4ResolveCallHandler(ps4ResolveErrorHandler, moduleName, symbolName, module, symbol, PS4ResolveStatusModuleLoadError)) != PS4ResolveStatusInterceptContinue)
				return stat;
	}

	if(ps4ResolveSyscall(591, *module, symbolName, symbol) != 0)
		if((stat = ps4ResolveCallHandler(ps4ResolveErrorHandler, moduleName, symbolName, module, symbol, PS4ResolveStatusFunctionResolveError)) != PS4ResolveStatusInterceptContinue)
			return stat;

	if((stat = ps4ResolveCallHandler(ps4ResolvePostHandler, moduleName, symbolName, module, symbol, PS4ResolveStatusInterceptContinue)) != PS4ResolveStatusInterceptContinue)
		return stat;

	return PS4ResolveStatusSuccess;
}