本文整理汇总了C++中sc函数的典型用法代码示例。如果您正苦于以下问题:C++ sc函数的具体用法?C++ sc怎么用?C++ sc使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sc函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void Model::forward_a_step() {
int K = 0;
for( auto itm = passing_map.rbegin(); itm != passing_map.rend(); itm ++) {
auto ing = itm->second;
for (auto il = ing->begin(); il != ing->end(); il++) {
if ( ! (*il)->valid) continue;
//
Location *l = com->get_a_location((*il)->label);
if ( K % 500 == 0)
cout << " K = " << K << ", " << l->name << endl;
K ++;
for ( vector <EDGE>::const_iterator it = l->outgoing.begin();
it != l->outgoing.end(); it++) {
if ( ! (*il)->valid) break;
Location *tmp = com->get_a_location(it->dest);
if( ci) {
if ( (l->signature & (unsigned)pow(2,N-1)) == 0 && (tmp->signature & (unsigned)pow(2, N-1)) != 0) {
if ( constrain_release1(l)) {
continue;
}
if ( count(l->signature, N) != cpus) continue;
if ( constrain_release2(*il)) {
continue;
}
}
else if ( (l->signature & (unsigned)pow(2,N-1)) != 0 && (tmp->signature & (unsigned)pow(2,N-1))==0
&& !tmp->is_bad)
continue;
}
if (bp) {
// now, let's consider the busy period while tk is waiting
if ( (l->signature & (unsigned)pow(2,N-1)) != 0 && count(tmp->signature,N) > count(l->signature,N)
&& count(l->signature,N)>cpus) {
int ti = 0;
for (int h = 1; h < N; h++)
if ( (l->signature & (unsigned)pow(2,h-1)) == 0 && (tmp->signature & (unsigned)pow(2, h-1)) != 0) {
ti = h;
break;
}
//cout << "before judgement " << (*il)->label << "-" << tmp->name << endl;
if ( forward_release(*il, ti)) {
//cout << (*il)->label << "-" << tmp->name << endl;
continue;
}
}
}
NNC_Polyhedron poly = (*il)->cvx;
guard_cvx(*it, poly);
if( poly.is_empty()) continue;
update_cvx(*it, poly);
invar_cvx(tmp, poly);
if( poly.is_empty()) continue;
poly.time_elapse_assign(tmp->time_elapse);
invar_cvx(tmp, poly);
if( poly.is_empty()) continue;
if( type==FAST_REACH && tmp->is_bad) {
pair_sc sc(it->dest,poly, known_param_list, tmp->signature);
//sc.pre = passing[k].state;
//next.push_back(sc);
cout << "The target is reached. Fast saving ...\n";
//fast_save();
throw 0;
}
auto sc = make_shared<pair_sc>(it->dest, poly, known_param_list, tmp->signature);
if ( (l->signature & (unsigned)pow(2,N-1)) == 0 && (tmp->signature & (unsigned)pow(2, N-1)) != 0)
sc->tk_new = true;
if (contained_in(passing_map, sc, op, true)) continue;
if (contained_in(next_map, sc, true, false)) continue;
if (contained_in(passed_map, sc, op, false)) continue;
(*il)->add_a_child(sc);
insert_into(next_map, sc);
sc->prior = (*il);
}
}
}
}
示例2: SQLCancel
SQLRETURN SQL_API SQLCancel(SQLHSTMT StatementHandle)
{
o::SQLCancel sc(StatementHandle);
return sc();
}
示例3: Param
void SETcom::SerializeCommon(bool w, CONFIGFILE & c)
{
// menu
Param(c,w, "game.start_in_main", startInMain);
Param(c,w, "game.in_menu", inMenu); Param(c,w, "game.in_main", isMain);
// misc
Param(c,w, "misc.autostart", autostart); Param(c,w, "misc.ogredialog", ogre_dialog);
Param(c,w, "misc.escquit", escquit);
Param(c,w, "misc.language", language); Param(c,w, "misc.mouse_capture", mouse_capture);
Param(c,w, "misc.screenshot_png", screen_png);
// video
Param(c,w, "video.windowx", windowx); Param(c,w, "video.windowy", windowy);
Param(c,w, "video.fullscreen", fullscreen); Param(c,w, "video.vsync", vsync);
Param(c,w, "video.fsaa", fsaa);
Param(c,w, "video.buffer", buffer); Param(c,w, "video.rendersystem", rendersystem);
Param(c,w, "video.limit_fps", limit_fps);
Param(c,w, "video.limit_fps_val", limit_fps_val); Param(c,w, "video.limit_sleep", limit_sleep);
// graphics ----
Param(c,w, "graph_detail.preset", preset);
Param(c,w, "graph_shadow.shader_mode", shader_mode); Param(c,w, "graph_shadow.lightmap_size", lightmap_size);
Param(c,w, "graph_detail.anisotropy", anisotropy);
Param(c,w, "graph_detail.tex_filter", tex_filt); Param(c,w, "graph_detail.tex_size", tex_size);
Param(c,w, "graph_detail.ter_mtr", ter_mtr); Param(c,w, "graph_detail.ter_tripl", ter_tripl);
Param(c,w, "graph_detail.view_dist", view_distance); Param(c,w, "graph_detail.ter_detail", terdetail);
Param(c,w, "graph_detail.ter_dist", terdist); Param(c,w, "graph_detail.road_dist", road_dist);
// water
Param(c,w, "graph_reflect.water_reflect", water_reflect); Param(c,w, "graph_reflect.water_refract", water_refract);
Param(c,w, "graph_reflect.water_rttsize", water_rttsize);
// shadow
Param(c,w, "graph_shadow.dist", shadow_dist); Param(c,w, "graph_shadow.size", shadow_size);
Param(c,w, "graph_shadow.count",shadow_count); Param(c,w, "graph_shadow.type", shadow_type);
// veget
Param(c,w, "graph_veget.grass", grass);
Param(c,w, "graph_veget.trees_dist", trees_dist); Param(c,w, "graph_veget.grass_dist", grass_dist);
Param(c,w, "graph_veget.use_imposters", use_imposters); Param(c,w, "graph_veget.imposters_only", imposters_only);
// hud
Param(c,w, "hud_show.fps", show_fps);
// gui tracks ---
Param(c,w, "gui_tracks.view", tracks_view); Param(c,w, "gui_tracks.filter", tracks_filter);
Param(c,w, "gui_tracks.sort", tracks_sort); Param(c,w, "gui_tracks.sortup", tracks_sortup);
// columns, filters
std::string s;
int i,v,ii,a;
if (w) // write
for (v=0; v < 2; ++v)
{
s = ""; ii = COL_VIS;
for (i=0; i < ii; ++i)
{
s += iToStr(col_vis[v][i]);
if (i < ii-1) s += " ";
}
Param(c,w, "gui_tracks.columns"+iToStr(v), s);
s = ""; ii = COL_FIL;
for (i=0; i < ii; ++i)
{
s += iToStr(col_fil[v][i]);
if (i < ii-1) s += " ";
}
Param(c,w, "gui_tracks.filters"+iToStr(v), s);
}
else // read
for (v=0; v < 2; ++v)
{
if (Param(c,w, "gui_tracks.columns"+iToStr(v), s))
{ std::stringstream sc(s);
for (i=0; i < COL_VIS; ++i)
{ sc >> a; col_vis[v][i] = a > 0; }
}
if (Param(c,w, "gui_tracks.filters"+iToStr(v), s))
{ std::stringstream sf(s);
for (i=0; i < COL_FIL; ++i)
{ sf >> a; col_fil[v][i] = a; }
} }
示例4: CEC_SharedFile_Tag
CEC_PartFile_Tag::CEC_PartFile_Tag(const CPartFile *file, EC_DETAIL_LEVEL detail_level, CValueMap *valuemap)
:
CEC_SharedFile_Tag(file, detail_level, valuemap, EC_TAG_PARTFILE)
{
AddTag(EC_TAG_PARTFILE_STATUS, file->GetStatus(), valuemap);
AddTag(EC_TAG_PARTFILE_STOPPED, file->IsStopped(), valuemap);
AddTag(EC_TAG_PARTFILE_SOURCE_COUNT, file->GetSourceCount(), valuemap);
AddTag(EC_TAG_PARTFILE_SOURCE_COUNT_NOT_CURRENT, file->GetNotCurrentSourcesCount(), valuemap);
AddTag(EC_TAG_PARTFILE_SOURCE_COUNT_XFER, file->GetTransferingSrcCount(), valuemap);
AddTag(EC_TAG_PARTFILE_SOURCE_COUNT_A4AF, file->GetSrcA4AFCount(), valuemap);
if ( (file->GetTransferingSrcCount() > 0) || (detail_level != EC_DETAIL_UPDATE) || valuemap) {
AddTag(EC_TAG_PARTFILE_SIZE_XFER, file->GetTransferred(), valuemap);
AddTag(EC_TAG_PARTFILE_SIZE_DONE, file->GetCompletedSize(), valuemap);
AddTag(EC_TAG_PARTFILE_SPEED, (uint64_t)(file->GetKBpsDown()*1024), valuemap);
}
AddTag(EC_TAG_PARTFILE_PRIO, (file->IsAutoDownPriority() ?
file->GetDownPriority() + 10 : file->GetDownPriority()), valuemap);
AddTag(EC_TAG_PARTFILE_CAT, file->GetCategory(), valuemap);
AddTag(EC_TAG_PARTFILE_LAST_SEEN_COMP, file->lastseencomplete, valuemap);
AddTag(EC_TAG_PARTFILE_LAST_RECV, file->GetLastChangeDatetime(), valuemap);
AddTag(EC_TAG_PARTFILE_DOWNLOAD_ACTIVE, file->GetDlActiveTime(), valuemap);
AddTag(EC_TAG_PARTFILE_AVAILABLE_PARTS, file->GetAvailablePartCount(), valuemap);
AddTag(EC_TAG_PARTFILE_LOST_CORRUPTION, file->GetLostDueToCorruption(), valuemap);
AddTag(EC_TAG_PARTFILE_GAINED_COMPRESSION, file->GetGainDueToCompression(), valuemap);
AddTag(EC_TAG_PARTFILE_SAVED_ICH, file->TotalPacketsSavedDueToICH(), valuemap);
AddTag(EC_TAG_PARTFILE_A4AFAUTO, file->IsA4AFAuto(), valuemap);
// Tag for comments
CECEmptyTag sc(EC_TAG_PARTFILE_COMMENTS);
FileRatingList list;
file->GetRatingAndComments(list);
for (FileRatingList::const_iterator it = list.begin(); it != list.end(); ++it) {
// Tag children are evaluated by index, not by name
sc.AddTag(CECTag(EC_TAG_PARTFILE_COMMENTS, it->UserName));
sc.AddTag(CECTag(EC_TAG_PARTFILE_COMMENTS, it->FileName));
sc.AddTag(CECTag(EC_TAG_PARTFILE_COMMENTS, (uint64) it->Rating));
sc.AddTag(CECTag(EC_TAG_PARTFILE_COMMENTS, it->Comment));
}
AddTag(sc, valuemap);
if (detail_level == EC_DETAIL_UPDATE) {
return;
}
AddTag(EC_TAG_PARTFILE_PARTMETID, file->GetPartMetNumber(), valuemap);
// A4AF sources
CECEmptyTag a4afTag(EC_TAG_PARTFILE_A4AF_SOURCES);
const CKnownFile::SourceSet& a4afSources = file->GetA4AFList();
for (CKnownFile::SourceSet::const_iterator it = a4afSources.begin(); it != a4afSources.end(); it++) {
a4afTag.AddTag(CECTag(EC_TAG_ECID, it->ECID()));
}
AddTag(a4afTag, valuemap);
}
示例5: numToChar
void numToChar(long int n , char s[])
{
if(n == 0) sc(s,db[0]); else while(n != 0)(n >= 0 && n <= 19)?(sc(s,db[n]),(n >9) ? (n = n/100) :(n = n /10)):(n >=20 && n <= 99)?(n%10 == 0 )?(sc(s,tens[n/10-2]),n = n /100):(sc(s,tens[n/10-2]),sc(s,db[n%10]),n = n /100 ):((n >= 100 && n <=999)?(n%100 == 0 )?(sc(s,db[n/100]),sc(s,"hundred"),n = n/1000 ):(sc(s,db[n/100]),sc(s,"hundred"),n = n %100 ):((n >= 1000 && n <=99999)?(n % 1000 == 0)?(n2s(n/1000,s),sc(s,"thousand"),n = n/100000):(n2s(n/1000,s),sc(s,"thousand"),n = n%1000):((n >= 100000 && n <= 9999999)?(n%100000 == 0)?(n2s(n/100000,s),sc(s,"lakh"),n = n/10000000):(n2s(n/100000,s),sc(s,"lakh"),n = n%100000):((n >=10000000)?(n % 10000000 == 0)?(n2s(n/10000000,s),sc(s,"crore"),n = n/1000000000):(n2s(n/10000000,s),sc(s,"crore"),n = n%10000000):1))));
}
示例6: M_ParseMenuDefs
void M_ParseMenuDefs()
{
int lump, lastlump = 0;
OptionSettings.mTitleColor = V_FindFontColor(gameinfo.mTitleColor);
OptionSettings.mFontColor = V_FindFontColor(gameinfo.mFontColor);
OptionSettings.mFontColorValue = V_FindFontColor(gameinfo.mFontColorValue);
OptionSettings.mFontColorMore = V_FindFontColor(gameinfo.mFontColorMore);
OptionSettings.mFontColorHeader = V_FindFontColor(gameinfo.mFontColorHeader);
OptionSettings.mFontColorHighlight = V_FindFontColor(gameinfo.mFontColorHighlight);
OptionSettings.mFontColorSelection = V_FindFontColor(gameinfo.mFontColorSelection);
DefaultListMenuSettings.Reset();
DefaultOptionMenuSettings.Reset();
atterm( DeinitMenus);
DeinitMenus();
while ((lump = Wads.FindLump ("MENUDEF", &lastlump)) != -1)
{
FScanner sc(lump);
sc.SetCMode(true);
while (sc.GetString())
{
if (sc.Compare("LISTMENU"))
{
ParseListMenu(sc);
}
else if (sc.Compare("DEFAULTLISTMENU"))
{
ParseListMenuBody(sc, &DefaultListMenuSettings);
if (DefaultListMenuSettings.mItems.Size() > 0)
{
I_FatalError("You cannot add menu items to the menu default settings.");
}
}
else if (sc.Compare("OPTIONVALUE"))
{
ParseOptionValue(sc);
}
else if (sc.Compare("OPTIONSTRING"))
{
ParseOptionString(sc);
}
else if (sc.Compare("OPTIONMENUSETTINGS"))
{
ParseOptionSettings(sc);
}
else if (sc.Compare("OPTIONMENU"))
{
ParseOptionMenu(sc);
}
else if (sc.Compare("DEFAULTOPTIONMENU"))
{
ParseOptionMenuBody(sc, &DefaultOptionMenuSettings);
if (DefaultOptionMenuSettings.mItems.Size() > 0)
{
I_FatalError("You cannot add menu items to the menu default settings.");
}
}
else
{
sc.ScriptError("Unknown keyword '%s'", sc.String);
}
}
}
}
示例7: sc
void NodeImporter::importSubmarineCableEdges(BaseTopology_Ptr base_topo) {
// add submarine cables waypoints
std::unique_ptr<SubmarineCable> sc(new SubmarineCable(_dbFilename));
unsigned int skipped = 0;
int lastLinkID = -1;
GeographicPositionTuple posFirst;
GeographicPositionTuple posLast;
std::vector<GeographicNode_Ptr> edgePositions;
while (sc->hasNext()) {
SubmarineCableEdge edge = sc->getNext();
if (edge.coord1 == edge.coord2) {
++skipped;
continue;
}
if(edge.linkID != lastLinkID) {
for(GeographicNode_Ptr n1 : edgePositions) {
bool n1OK = fabs(fabs(n1->lon()) - 180.0) < 1.0;
for(GeographicNode_Ptr n2 : edgePositions) {
if(n1 == n2 || n2->id() < n1->id())
continue;
bool n2OK = fabs(fabs(n2->lon()) - 180.0) < 1.0;
if(n1OK && n2OK && GeometricHelpers::sphericalDistToKM(GeometricHelpers::sphericalDist(n1, n2)) < 4) {
Graph::Node u;
Graph::Node v;
u = base_topo->getGraph()->nodeFromId(n1->id());
v = base_topo->getGraph()->nodeFromId(n2->id());
if(lemon::findEdge(*base_topo->getGraph(), u, v) != lemon::INVALID)
continue;
GeographicEdge_Ptr edge_ptr(new SeaCableEdge);
assert(u != v);
base_topo->addEdge(u, v, edge_ptr);
BOOST_LOG_TRIVIAL(info) << "Add extra edge on link:" << edge.linkID << " (" << n1->id() << "," << n2->id() << ")";
}
}
}
edgePositions.clear();
lastLinkID = edge.linkID;
}
GeographicPositionTuple c1 = std::make_pair(edge.coord1.first, edge.coord1.second);
GeographicPositionTuple c2 = std::make_pair(edge.coord2.first, edge.coord2.second);
if (_fallbackProjection.find(c1) != _fallbackProjection.end())
c1 = _fallbackProjection.at(c1);
if (_fallbackProjection.find(c2) != _fallbackProjection.end())
c2 = _fallbackProjection.at(c2);
if (c1 == c2) {
++skipped;
continue;
}
GeographicNode_Ptr c1N(new GeographicNode(500, edge.coord1.first, edge.coord1.second));
GeographicNode_Ptr c2N(new GeographicNode(500, edge.coord2.first, edge.coord2.second));
GeographicNode_Ptr n1 = findNearest(c1N);
GeographicNode_Ptr n2 = findNearest(c2N);
edgePositions.push_back(n1);
edgePositions.push_back(n2);
Graph::Node u;
Graph::Node v;
u = base_topo->getGraph()->nodeFromId(n1->id());
v = base_topo->getGraph()->nodeFromId(n2->id());
GeographicEdge_Ptr edge_ptr(new SeaCableEdge);
assert(u != v);
base_topo->addEdge(u, v, edge_ptr);
}
BOOST_LOG_TRIVIAL(info) << "SubmarineCables: Skipped " << skipped
<< " edge entries due to mapping to same Coordinate or invalid database info.";
}
示例8: TestAuthenticatedSymmetricCipher
void TestAuthenticatedSymmetricCipher(TestData &v, const NameValuePairs &overrideParameters)
{
std::string type = GetRequiredDatum(v, "AlgorithmType");
std::string name = GetRequiredDatum(v, "Name");
std::string test = GetRequiredDatum(v, "Test");
std::string key = GetDecodedDatum(v, "Key");
std::string plaintext = GetOptionalDecodedDatum(v, "Plaintext");
std::string ciphertext = GetOptionalDecodedDatum(v, "Ciphertext");
std::string header = GetOptionalDecodedDatum(v, "Header");
std::string footer = GetOptionalDecodedDatum(v, "Footer");
std::string mac = GetOptionalDecodedDatum(v, "MAC");
TestDataNameValuePairs testDataPairs(v);
CombinedNameValuePairs pairs(overrideParameters, testDataPairs);
if (test == "Encrypt" || test == "EncryptXorDigest" || test == "NotVerify")
{
member_ptr<AuthenticatedSymmetricCipher> asc1, asc2;
asc1.reset(ObjectFactoryRegistry<AuthenticatedSymmetricCipher, ENCRYPTION>::Registry().CreateObject(name.c_str()));
asc2.reset(ObjectFactoryRegistry<AuthenticatedSymmetricCipher, DECRYPTION>::Registry().CreateObject(name.c_str()));
asc1->SetKey((const byte *)key.data(), key.size(), pairs);
asc2->SetKey((const byte *)key.data(), key.size(), pairs);
std::string encrypted, decrypted;
AuthenticatedEncryptionFilter ef(*asc1, new StringSink(encrypted));
bool macAtBegin = !mac.empty() && !GlobalRNG().GenerateBit(); // test both ways randomly
AuthenticatedDecryptionFilter df(*asc2, new StringSink(decrypted), macAtBegin ? AuthenticatedDecryptionFilter::MAC_AT_BEGIN : 0);
if (asc1->NeedsPrespecifiedDataLengths())
{
asc1->SpecifyDataLengths(header.size(), plaintext.size(), footer.size());
asc2->SpecifyDataLengths(header.size(), plaintext.size(), footer.size());
}
StringStore sh(header), sp(plaintext), sc(ciphertext), sf(footer), sm(mac);
if (macAtBegin)
RandomizedTransfer(sm, df, true);
sh.CopyTo(df, LWORD_MAX, AAD_CHANNEL);
RandomizedTransfer(sc, df, true);
sf.CopyTo(df, LWORD_MAX, AAD_CHANNEL);
if (!macAtBegin)
RandomizedTransfer(sm, df, true);
df.MessageEnd();
RandomizedTransfer(sh, ef, true, AAD_CHANNEL);
RandomizedTransfer(sp, ef, true);
RandomizedTransfer(sf, ef, true, AAD_CHANNEL);
ef.MessageEnd();
if (test == "Encrypt" && encrypted != ciphertext+mac)
{
std::cout << "incorrectly encrypted: ";
StringSource xx(encrypted, false, new HexEncoder(new FileSink(std::cout)));
xx.Pump(2048); xx.Flush(false);
std::cout << "\n";
SignalTestFailure();
}
if (test == "Encrypt" && decrypted != plaintext)
{
std::cout << "incorrectly decrypted: ";
StringSource xx(decrypted, false, new HexEncoder(new FileSink(std::cout)));
xx.Pump(256); xx.Flush(false);
std::cout << "\n";
SignalTestFailure();
}
if (ciphertext.size()+mac.size()-plaintext.size() != asc1->DigestSize())
{
std::cout << "bad MAC size\n";
SignalTestFailure();
}
if (df.GetLastResult() != (test == "Encrypt"))
{
std::cout << "MAC incorrectly verified\n";
SignalTestFailure();
}
}
else
{
std::cout << "unexpected test name\n";
SignalTestError();
}
}
示例9: zc
constexpr int zc () { return sc () - 1; }
示例10: main
int main() {
krpc::Client conn = krpc::connect("Vessel Name");
SpaceCenter sc(&conn);
SpaceCenter::Vessel vessel = sc.active_vessel();
std::cout << vessel.name() << std::endl;
}
示例11: ConstraintApproximationStateStorage
//.........这里部分代码省略.........
pcontext->getOMPLStateSpace()->copyToRobotState(kstate, temp.get());
if (kset.decide(kstate).satisfied)
{
#pragma omp critical
{
if (sstor->size() < samples)
{
temp->as<ModelBasedStateSpace::StateType>()->tag = sstor->size();
sstor->addState(temp.get());
}
}
}
}
#pragma omp master
{
result.state_sampling_time = ompl::time::seconds(ompl::time::now() - start);
logInform("Generated %u states in %lf seconds", (unsigned int)sstor->size(), result.state_sampling_time);
if (csmp)
{
result.sampling_success_rate = csmp->getConstrainedSamplingRate();
logInform("Constrained sampling rate: %lf", result.sampling_success_rate);
}
}
}
if (order)
{
logInform("Sorting states...");
sstor->sort(order);
}
if (edges_per_sample > 0)
{
logInform("Computing graph connections (max %u edges per sample) ...", edges_per_sample);
ompl::tools::SelfConfig sc(pcontext->getOMPLSimpleSetup().getSpaceInformation());
double range = 0.0;
sc.configurePlannerRange(range);
// construct connexions
const ob::StateSpacePtr &space = pcontext->getOMPLSimpleSetup().getStateSpace();
std::vector<robot_state::RobotState> kstates(nthreads, default_state);
const std::vector<const ompl::base::State*> &states = sstor->getStates();
std::vector<ompl::base::ScopedState<> > temps(nthreads, ompl::base::ScopedState<>(space));
ompl::time::point start = ompl::time::now();
int good = 0;
int done = -1;
#pragma omp parallel for schedule(dynamic)
for (std::size_t j = 0 ; j < sstor->size() ; ++j)
{
int threadid = omp_get_thread_num();
robot_state::RobotState &kstate = kstates[threadid];
robot_state::JointStateGroup *jsg = kstate.getJointStateGroup(pcontext->getJointModelGroup()->getName());
ompl::base::State *temp = temps[threadid].get();
int done_now = 100 * j / sstor->size();
if (done != done_now)
{
done = done_now;
logInform("%d%% complete", done);
}
for (std::size_t i = j + 1 ; i < sstor->size() ; ++i)
{
double d = space->distance(states[j], states[i]);
if (d > range * 3.0 || d < range / 100.0)
continue;
space->interpolate(states[j], states[i], 0.5, temp);
pcontext->getOMPLStateSpace()->copyToRobotState(kstate, temp);
if (kset.decide(kstate).satisfied)
{
space->interpolate(states[j], states[i], 0.25, temp);
pcontext->getOMPLStateSpace()->copyToRobotState(kstate, temp);
if (kset.decide(kstate).satisfied)
{
space->interpolate(states[j], states[i], 0.75, temp);
pcontext->getOMPLStateSpace()->copyToRobotState(kstate, temp);
if (kset.decide(kstate).satisfied)
{
#pragma omp critical
{
cass->getMetadata(i).push_back(j);
cass->getMetadata(j).push_back(i);
good++;
}
if (cass->getMetadata(j).size() >= edges_per_sample)
break;
}
}
}
}
}
result.state_connection_time = ompl::time::seconds(ompl::time::now() - start);
logInform("Computed possible connexions in %lf seconds. Added %d connexions", result.state_connection_time, good);
}
return sstor;
}
示例12: main
int main (int argc, char **argv)
{
Q330 q330;
Q330_ADDR addr;
init(argc, argv, &q330);
switch (q330.cmd.code) {
case Q330_CMD_REBOOT:
boot(&q330);
break;
case Q330_CMD_SAVE:
save(&q330);
break;
case Q330_CMD_SAVEBOOT:
save(&q330);
sleep(5);
boot(&q330);
break;
case Q330_CMD_RESYNC:
resync(&q330);
break;
case Q330_CMD_GPS_ON:
gpsON(&q330);
break;
case Q330_CMD_GPS_OFF:
gpsOFF(&q330);
break;
case Q330_CMD_GPS_COLD:
gpsColdStart(&q330);
break;
case Q330_CMD_GPS_CNF:
gpsCnf(&q330);
break;
case Q330_CMD_GPS_ID:
gpsId(&q330);
break;
case Q330_CMD_CAL_START:
calStart(&q330);
break;
case Q330_CMD_CAL_STOP:
calStop(&q330);
break;
case Q330_CMD_IFCONFIG:
ifconfig(&q330);
break;
case Q330_CMD_STATUS:
status(&q330);
break;
case Q330_CMD_FIX:
fix(&q330);
break;
case Q330_CMD_GLOB:
glob(&q330);
break;
case Q330_CMD_SC:
sc(&q330);
break;
case Q330_CMD_PULSE:
pulse(&q330);
break;
case Q330_CMD_AMASS:
amass(&q330);
break;
case Q330_CMD_DCP:
dcp(&q330);
break;
case Q330_CMD_SPP:
spp(&q330);
break;
case Q330_CMD_MAN:
man(&q330);
break;
case Q330_CMD_CO:
checkout(&q330);
break;
default:
//.........这里部分代码省略.........
示例13: MAKE_ID
void FStringTable::LoadLanguage (int lumpnum, DWORD code, bool exactMatch, int passnum)
{
static bool errordone = false;
const DWORD orMask = exactMatch ? 0 : MAKE_ID(0,0,0xff,0);
DWORD inCode = 0;
StringEntry *entry, **pentry;
DWORD bucket;
int cmpval;
bool skip = true;
code |= orMask;
FScanner sc(lumpnum);
sc.SetCMode (true);
while (sc.GetString ())
{
if (sc.Compare ("["))
{ // Process language identifiers
bool donot = false;
bool forceskip = false;
skip = true;
sc.MustGetString ();
do
{
size_t len = sc.StringLen;
if (len != 2 && len != 3)
{
if (len == 1 && sc.String[0] == '~')
{
donot = true;
sc.MustGetString ();
continue;
}
if (len == 1 && sc.String[0] == '*')
{
inCode = MAKE_ID('*',0,0,0);
}
else if (len == 7 && stricmp (sc.String, "default") == 0)
{
inCode = MAKE_ID('*','*',0,0);
}
else
{
sc.ScriptError ("The language code must be 2 or 3 characters long.\n'%s' is %lu characters long.",
sc.String, len);
}
}
else
{
inCode = MAKE_ID(tolower(sc.String[0]), tolower(sc.String[1]), tolower(sc.String[2]), 0);
}
if ((inCode | orMask) == code)
{
if (donot)
{
forceskip = true;
donot = false;
}
else
{
skip = false;
}
}
sc.MustGetString ();
} while (!sc.Compare ("]"));
if (donot)
{
sc.ScriptError ("You must specify a language after ~");
}
skip |= forceskip;
}
else
{ // Process string definitions.
if (inCode == 0)
{
// LANGUAGE lump is bad. We need to check if this is an old binary
// lump and if so just skip it to allow old WADs to run which contain
// such a lump.
if (!sc.isText())
{
if (!errordone) Printf("Skipping binary 'LANGUAGE' lump.\n");
errordone = true;
return;
}
sc.ScriptError ("Found a string without a language specified.");
}
bool savedskip = skip;
if (sc.Compare("$"))
{
sc.MustGetStringName("ifgame");
sc.MustGetStringName("(");
sc.MustGetString();
skip |= !sc.Compare(GameTypeName());
sc.MustGetStringName(")");
sc.MustGetString();
}
if (skip)
//.........这里部分代码省略.........
示例14: submitblock
static UniValue submitblock(const JSONRPCRequest& request)
{
// We allow 2 arguments for compliance with BIP22. Argument 2 is ignored.
if (request.fHelp || request.params.size() < 1 || request.params.size() > 2) {
throw std::runtime_error(
"submitblock \"hexdata\" ( \"dummy\" )\n"
"\nAttempts to submit new block to network.\n"
"See https://en.bitcoin.it/wiki/BIP_0022 for full specification.\n"
"\nArguments\n"
"1. \"hexdata\" (string, required) the hex-encoded block data to submit\n"
"2. \"dummy\" (optional) dummy value, for compatibility with BIP22. This value is ignored.\n"
"\nResult:\n"
"\nExamples:\n"
+ HelpExampleCli("submitblock", "\"mydata\"")
+ HelpExampleRpc("submitblock", "\"mydata\"")
);
}
std::shared_ptr<CBlock> blockptr = std::make_shared<CBlock>();
CBlock& block = *blockptr;
if (!DecodeHexBlk(block, request.params[0].get_str())) {
throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "Block decode failed");
}
if (block.vtx.empty() || !block.vtx[0]->IsCoinBase()) {
throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "Block does not start with a coinbase");
}
uint256 hash = block.GetHash();
{
LOCK(cs_main);
const CBlockIndex* pindex = LookupBlockIndex(hash);
if (pindex) {
if (pindex->IsValid(BLOCK_VALID_SCRIPTS)) {
return "duplicate";
}
if (pindex->nStatus & BLOCK_FAILED_MASK) {
return "duplicate-invalid";
}
}
}
{
LOCK(cs_main);
const CBlockIndex* pindex = LookupBlockIndex(block.hashPrevBlock);
if (pindex) {
UpdateUncommittedBlockStructures(block, pindex, Params().GetConsensus());
}
}
bool new_block;
submitblock_StateCatcher sc(block.GetHash());
RegisterValidationInterface(&sc);
bool accepted = ProcessNewBlock(Params(), blockptr, /* fForceProcessing */ true, /* fNewBlock */ &new_block);
UnregisterValidationInterface(&sc);
if (!new_block) {
if (!accepted) {
// TODO Maybe pass down fNewBlock to AcceptBlockHeader, so it is properly set to true in this case?
return "invalid";
}
return "duplicate";
}
if (!sc.found) {
return "inconclusive";
}
return BIP22ValidationResult(sc.state);
}
示例15: main
int main(int argc, char **real_argv, char **envv)
{
CAP *cap;
unsigned char **argv = (unsigned char **)real_argv;
struct stat sbuf;
unsigned char *s;
unsigned char *t;
long time_rc;
unsigned char *run;
#ifdef __MSDOS__
unsigned char *rundir;
#endif
SCRN *n;
int opened = 0;
int omid;
int backopt;
int c;
init_bufs();
for (c = 1; argv[c] != NULL; ++c) {
if (0 == zcmp((unsigned char*)argv[c], USTR "-nosys")) {
read_sys_configs = 0;
} else if (0 == zcmp((unsigned char*)argv[c], USTR "-nouser")) {
read_user_configs = 0;
} else {
argv[--c] = argv[0];
argv += c;
argc -= c;
break;
}
}
if (read_user_configs) {
s = (unsigned char *)getenv("HOME");
if (s) {
s = vsncpy(NULL, 0, sz(s));
s = vsncpy(sv(s), sc("/.joe-p37/only.rc"));
if (!stat((char*)s, &sbuf)) read_sys_configs = 0;
vsrm(s);
}
}
joe_locale();
mainenv = (unsigned char **)envv;
#ifdef __MSDOS__
_fmode = O_BINARY;
zcpy(stdbuf, argv[0]);
joesep(stdbuf);
run = namprt(stdbuf);
rundir = dirprt(stdbuf);
for (c = 0; run[c]; ++c)
if (run[c] == '.') {
run = vstrunc(run, c);
break;
}
#else
run = namprt(argv[0]);
#endif
env_lines = 0;
if ((s = (unsigned char *)getenv("LINES")) != NULL &&
sscanf((char *)s, "%d", &env_lines) != 1)
env_lines = 0;
env_columns = 0;
if ((s = (unsigned char *)getenv("COLUMNS")) != NULL &&
sscanf((char *)s, "%d", &env_columns) != 1)
env_columns = 0;
if ((s = (unsigned char *)getenv("BAUD")) != NULL)
sscanf((char *)s, "%u", (unsigned *)&Baud);
if (getenv("DOPADDING"))
dopadding = 1;
if (getenv("NOXON"))
noxon = 1;
if ((s = (unsigned char *)getenv("JOETERM")) != NULL)
joeterm = s;
#ifndef __MSDOS__
if (!(cap = my_getcap(NULL, 9600, NULL, NULL))) {
fprintf(stderr, (char *)joe_gettext(_("Couldn't load termcap/terminfo entry\n")));
return 1;
}
#endif
#ifdef __MSDOS__
s = vsncpy(NULL, 0, sv(run));
s = vsncpy(sv(s), sc("rc"));
c = procrc(cap, s);
if (c == 0)
goto donerc;
if (c == 1) {
unsigned char buf[8];
fprintf(stderr, (char *)joe_gettext(_("There were errors in '%s'. Use it anyway?")), s);
fflush(stderr);
if (NULL == fgets(buf, 8, stdin) || yn_checks(yes_key, buf))
goto donerc;
//.........这里部分代码省略.........