rand() was already defined under built-ins Mathematics.

master
Tomatix 5 years ago
parent eb2ef2b83d
commit 5154ee0d8d
  1. 1
      ScriptFunctions/RegisterScriptFunctions.cpp
  2. 22
      ScriptFunctions/ScriptGeneralUtils.cpp
  3. 1
      ScriptFunctions/ScriptGeneralUtils.h

@ -17,7 +17,6 @@ void registerScriptFunctions()
Script::registerUniversalFunction("now", &ScriptFunctions::now);
Script::registerUniversalFunction("subwintype", &ScriptFunctions::subwintype);
Script::registerUniversalFunction("subwinname", &ScriptFunctions::subwinname);
Script::registerUniversalFunction("rand", &ScriptFunctions::rand);
/*
* IRC utilities

@ -211,26 +211,4 @@ ValueHolder subwinname(Script&, std::vector<ValueHolder>& args)
return cwin->getButtonText().toStdString();
}
ValueHolder rand(Script& std, std::vector <ValueHolder>& args)
{
if (args.size() != 2)
throwInsufficientParameters("rand", args.size(), 4);
if (args[0].getType() != ValueHolder::Type::Integer)
throwNotANumber("rand", 1);
if (args[1].getType() != ValueHolder::Type::Integer)
throwNotANumber("rand", 2);
int lo = ValueExtract(args[0]).toInt();
int hi = ValueExtract(args[1]).toInt();
static std::random_device device;
static std::mt19937 generator(device());
std::uniform_int_distribution<int> distribution(lo, hi);
return ValueHolder(distribution(generator));
}
}

@ -15,7 +15,6 @@ ValueHolder unixnow(Script& , std::vector<ValueHolder>& args);
ValueHolder now(Script& , std::vector<ValueHolder>& args);
ValueHolder subwintype(Script&, std::vector<ValueHolder>& args);
ValueHolder subwinname(Script&, std::vector<ValueHolder>& args);
ValueHolder rand(Script&, std::vector<ValueHolder>& args);
}
#endif // SCRIPTGENERALUTILS_H

Loading…
Cancel
Save