Beispiel #1
0
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));
}
Beispiel #2
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;
  }