void writeSymbol(const Symbol &Sym, const StringTableOut &Strings, llvm::raw_ostream &OS) { OS << Sym.ID.raw(); // TODO: once we start writing xrefs and posting lists, // symbol IDs should probably be in a string table. OS.write(static_cast<uint8_t>(Sym.SymInfo.Kind)); OS.write(static_cast<uint8_t>(Sym.SymInfo.Lang)); writeVar(Strings.index(Sym.Name), OS); writeVar(Strings.index(Sym.Scope), OS); writeVar(Strings.index(Sym.TemplateSpecializationArgs), OS); writeLocation(Sym.Definition, Strings, OS); writeLocation(Sym.CanonicalDeclaration, Strings, OS); writeVar(Sym.References, OS); OS.write(static_cast<uint8_t>(Sym.Flags)); OS.write(static_cast<uint8_t>(Sym.Origin)); writeVar(Strings.index(Sym.Signature), OS); writeVar(Strings.index(Sym.CompletionSnippetSuffix), OS); writeVar(Strings.index(Sym.Documentation), OS); writeVar(Strings.index(Sym.ReturnType), OS); writeVar(Strings.index(Sym.Type), OS); auto WriteInclude = [&](const Symbol::IncludeHeaderWithReferences &Include) { writeVar(Strings.index(Include.IncludeHeader), OS); writeVar(Include.References, OS); }; writeVar(Sym.IncludeHeaders.size(), OS); for (const auto &Include : Sym.IncludeHeaders) WriteInclude(Include); }
static JSValueRef nativeProfilerEnd( JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { if (argumentCount < 1) { if (exception) { *exception = facebook::react::makeJSCException( ctx, "nativeProfilerEnd: requires at least 1 argument"); } return JSValueMakeUndefined(ctx); } std::string writeLocation("/sdcard/"); if (argumentCount > 1) { JSStringRef fileName = JSValueToStringCopy(ctx, arguments[1], exception); writeLocation += facebook::react::String::ref(fileName).str(); JSStringRelease(fileName); } else { writeLocation += "profile.json"; } JSStringRef title = JSValueToStringCopy(ctx, arguments[0], exception); JSEndProfilingAndRender(ctx, title, writeLocation.c_str()); JSStringRelease(title); return JSValueMakeUndefined(ctx); }
void writeRefs(const SymbolID &ID, llvm::ArrayRef<Ref> Refs, const StringTableOut &Strings, llvm::raw_ostream &OS) { OS << ID.raw(); writeVar(Refs.size(), OS); for (const auto &Ref : Refs) { OS.write(static_cast<unsigned char>(Ref.Kind)); writeLocation(Ref.Location, Strings, OS); } }
/* Rendering home screen */ void renderHomeScreen() { dbSerialPrintln("renderHomeScreen"); writeLocation(); // Render outside temperature char bufTemp[10]; if(tempScale == 0) sprintf(bufTemp, "%.1f", currentOutsideTemperatureC); else { sprintf(bufTemp, "%.1f", currentOutsideTemperatureC * 1.8 + 32); // Celsius to Fahrenheit conversion dbSerialPrint("Temp in F: "); dbSerialPrintln(bufTemp); } t0.setText(bufTemp); // Render outside humidity char bufHumid[10];; sprintf(bufHumid, "%.1f", currentOutsideHumidity); t8.setText(bufHumid); // Render correct temperature scale based on the selection if(tempScale == 0) { t1.setText("°C"); t4.setText("°C"); t13.setText("°C"); t15.setText("°C"); t17.setText("°C"); t19.setText("°C"); t21.setText("°C"); t23.setText("°C"); } else { t1.setText("F"); t4.setText("F"); t13.setText("F"); t15.setText("F"); t17.setText("F"); t19.setText("F"); t21.setText("F"); t23.setText("F"); } /* Render days of week for forecast dbSerialPrint("Time: "); dbSerialPrint(Time.hour()); dbSerialPrint(":"); dbSerialPrintln(Time.minute()); dbSerialPrint("Day of week: "); dbSerialPrintln(Time.weekday());*/ int day = 0; while(day < 4) { // Icons for all days dbSerialPrintln("weatherData[" + String(day) + "]: " + String(weatherData[day].icon)); if(weatherData[day].icon > 0) { if(day == 0) p0.setPic(weatherData[day].icon); else if(day == 1) p1.setPic(weatherData[day].icon); else if(day == 2) p2.setPic(weatherData[day].icon); else if(day == 3) p3.setPic(weatherData[day].icon); } // Day + 1 forecast info if(day == 1) { if(langCode==0) t5.setText(daysOfWeek_en[weatherData[day].weekday]); else t5.setText(daysOfWeek_fi[weatherData[day].weekday]); if(tempScale == 0) t12.setText(String(weatherData[day].minTemp)); else t12.setText(String((int)round(weatherData[day].minTemp * 1.8 + 32))); if(tempScale == 0) t14.setText(String(weatherData[day].maxTemp)); else t14.setText(String((int)round(weatherData[day].maxTemp * 1.8 + 32))); } // Day + 2 forecast info else if(day == 2) { if(langCode==0) t6.setText(daysOfWeek_en[weatherData[day].weekday]); else t6.setText(daysOfWeek_fi[weatherData[day].weekday]); //t16.setText(String(weatherData[day].minTemp)); //t18.setText(String(weatherData[day].maxTemp)); if(tempScale == 0) t16.setText(String(weatherData[day].minTemp)); else t16.setText(String((int)round(weatherData[day].minTemp * 1.8 + 32))); if(tempScale == 0) t18.setText(String(weatherData[day].maxTemp)); else t18.setText(String((int)round(weatherData[day].maxTemp * 1.8 + 32))); } // Day +3 foreast info else if(day == 3) { if(langCode==0) t7.setText(daysOfWeek_en[int(weatherData[day].weekday)]); else t7.setText(daysOfWeek_fi[weatherData[day].weekday]); //t20.setText(String(weatherData[day].minTemp)); //t22.setText(String(weatherData[day].maxTemp)); if(tempScale == 0) t20.setText(String(weatherData[day].minTemp)); else t20.setText(String((int)round(weatherData[day].minTemp * 1.8 + 32))); if(tempScale == 0) t22.setText(String(weatherData[day].maxTemp)); else t22.setText(String((int)round(weatherData[day].maxTemp * 1.8 + 32))); } day++; } }
// =========================================================================== // method definitions // =========================================================================== // --------------------------------------------------------------------------- // static methods // --------------------------------------------------------------------------- void NWWriter_SUMO::writeNetwork(const OptionsCont& oc, NBNetBuilder& nb) { // check whether a sumo net-file shall be generated if (!oc.isSet("output-file")) { return; } OutputDevice& device = OutputDevice::getDevice(oc.getString("output-file")); device.writeXMLHeader("net", NWFrame::MAJOR_VERSION + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"http://sumo.sf.net/xsd/net_file.xsd\""); // street names may contain non-ascii chars device.lf(); // get involved container const NBNodeCont& nc = nb.getNodeCont(); const NBEdgeCont& ec = nb.getEdgeCont(); const NBDistrictCont& dc = nb.getDistrictCont(); // write network offsets and projection writeLocation(device); // write inner lanes bool origNames = oc.getBool("output.original-names"); if (!oc.getBool("no-internal-links")) { bool hadAny = false; for (std::map<std::string, NBNode*>::const_iterator i = nc.begin(); i != nc.end(); ++i) { hadAny |= writeInternalEdges(device, *(*i).second, origNames); } if (hadAny) { device.lf(); } } // write edges with lanes and connected edges bool noNames = !oc.getBool("output.street-names"); for (std::map<std::string, NBEdge*>::const_iterator i = ec.begin(); i != ec.end(); ++i) { writeEdge(device, *(*i).second, noNames, origNames); } device.lf(); // write tls logics writeTrafficLights(device, nb.getTLLogicCont()); // write the nodes (junctions) for (std::map<std::string, NBNode*>::const_iterator i = nc.begin(); i != nc.end(); ++i) { writeJunction(device, *(*i).second); } device.lf(); const bool includeInternal = !oc.getBool("no-internal-links"); if (includeInternal) { // ... internal nodes if not unwanted bool hadAny = false; for (std::map<std::string, NBNode*>::const_iterator i = nc.begin(); i != nc.end(); ++i) { hadAny |= writeInternalNodes(device, *(*i).second); } if (hadAny) { device.lf(); } } // write the successors of lanes unsigned int numConnections = 0; for (std::map<std::string, NBEdge*>::const_iterator it_edge = ec.begin(); it_edge != ec.end(); it_edge++) { NBEdge* from = it_edge->second; from->sortOutgoingConnectionsByIndex(); const std::vector<NBEdge::Connection> connections = from->getConnections(); numConnections += (unsigned int)connections.size(); for (std::vector<NBEdge::Connection>::const_iterator it_c = connections.begin(); it_c != connections.end(); it_c++) { writeConnection(device, *from, *it_c, includeInternal); } } if (numConnections > 0) { device.lf(); } if (includeInternal) { // ... internal successors if not unwanted bool hadAny = false; for (std::map<std::string, NBNode*>::const_iterator i = nc.begin(); i != nc.end(); ++i) { hadAny |= writeInternalConnections(device, *(*i).second); } if (hadAny) { device.lf(); } } // write loaded prohibitions for (std::map<std::string, NBNode*>::const_iterator i = nc.begin(); i != nc.end(); ++i) { writeProhibitions(device, i->second->getProhibitions()); } // write roundabout information const std::vector<EdgeVector>& roundabouts = nb.getRoundabouts(); for (std::vector<EdgeVector>::const_iterator i = roundabouts.begin(); i != roundabouts.end(); ++i) { writeRoundabout(device, *i); } if (roundabouts.size() != 0) { device.lf(); } // write the districts for (std::map<std::string, NBDistrict*>::const_iterator i = dc.begin(); i != dc.end(); i++) { writeDistrict(device, *(*i).second); } if (dc.size() != 0) { device.lf(); } device.close(); }