Ejemplo n.º 1
0
result_t coroutine_base::parallel(const v8::FunctionCallbackInfo<v8::Value> &args,
                                  v8::Local<v8::Array> &retVal)
{
    int l = args.Length();
    int i;

    if (l == 0)
    {
        retVal = v8::Array::New(isolate);
        return 0;
    }

    std::vector<v8::Local<v8::Function> > funs;
    funs.resize(l);

    for (i = 0; i < l; i++)
    {
        v8::Local<v8::Value> v = args[i];

        if (!v.IsEmpty() && v->IsFunction())
            funs[i] = v8::Local<v8::Function>::Cast(v);
        else
            return CHECK_ERROR(CALL_E_INVALIDARG);
    }

    return _parallel(funs, retVal);
}
Ejemplo n.º 2
0
float calc_resistance(int count, char conn, float* array)
{
    if (_invalid_arguments(count, conn, array))
    {
        return -1.0f;
    }

    float result = 0.0f;

    if (conn == 'P')
    {
        result = _parallel(count, array);
    }
    else
    {
        result = _serial(count, array);
    }

    return result;
}