string Network::initState() { //http://stackoverflow.com/questions/13445688/how-to-generate-a-random-number-in-c std::mt19937 rng; rng.seed(std::random_device()()); std::uniform_int_distribution<std::mt19937::result_type> dist01(0,1); for( map<string,Node*>::iterator it = nodeList.begin(); it != nodeList.end(); ++it ) { it->second->setVal(dist01(rng)); } return(stringState(0)); }
string Network::step() { // for each node // compute and set next for( map<string,Node*>::iterator it = nodeList.begin(); it != nodeList.end(); ++it ) { it->second->compute(nodeList); } // then update each node. for( map<string,Node*>::iterator it = nodeList.begin(); it != nodeList.end(); ++it ) { it->second->update(); } return(stringState(0)); }
bool WorkerRun(JSContext* aCx, WorkerPrivate* aWorkerPrivate) override { MOZ_ASSERT(aWorkerPrivate); aWorkerPrivate->AssertIsOnWorkerThread(); nsRefPtr<Promise> promise = mProxy->WorkerPromise(); if (NS_SUCCEEDED(mStatus)) { MOZ_ASSERT(uint32_t(mState) < ArrayLength(PushPermissionStateValues::strings)); nsAutoCString stringState(PushPermissionStateValues::strings[uint32_t(mState)].value, PushPermissionStateValues::strings[uint32_t(mState)].length); promise->MaybeResolve(NS_ConvertUTF8toUTF16(stringState)); } else { promise->MaybeReject(aCx, JS::UndefinedHandleValue); } mProxy->CleanUp(aCx); return true; }