Esempio n. 1
0
/// Save part of the data, given time-window
void TPgBlob::PartialFlush(int WndInMsec) {
    if (Access == TFAccess::faRdOnly)
        return;
    TTmStopWatch sw(true);
    for (int i = 0; i < LoadedPages.Len(); i++) {
        if (ShouldSavePage(i)) {
            LoadedPage& a = LoadedPages[i];
            Files[a.Pt.GetFIx()]->SavePage(a.Pt.GetPg(), GetPageBf(i));
            if (sw.GetMSec() > WndInMsec)
                break;
        }
    }
}
Esempio n. 2
0
int main()
{
  // Construct the Gaussian map of a tetrahedron
  Point_3 points[] = {
    Point_3(1.0, 0.0, 0.0),
    Point_3(0.0, 1.0, 0.0),
    Point_3(0.0, 0.0, 1.0),
    Point_3(0.0, 0.0, 0.0)
  };
  Gm_polyhedron P1;
  CGAL::convex_hull_3(points, &points[4], P1);
  Gm gm1;
  Gm_initializer gm_initializer1(gm1);
  gm_initializer1(P1);
  if (! gm1.is_valid()) return -1;

  // Construct the Gaussian map of the reflection of a tetrahedron
  Gm_polyhedron P2;
  for (Point_3* p = points; p != &points[4]; ++p) {
    Kernel::Vector_3 v = CGAL::ORIGIN - *p;
    *p = CGAL::ORIGIN + v;
  }
  CGAL::convex_hull_3(points, &points[4], P2);
  Gm gm2;
  Gm_initializer gm_initializer2(gm2);
  gm_initializer2(P2);
  if (! gm2.is_valid()) return -1;

  // Compute the Minowski sum of the Gaussian maps
  Gm gm;
  gm.minkowski_sum(gm1, gm2);
  if (! gm.is_valid()) return -1;

  Kernel::FT sw(16);
  Gm::Vertex_const_handle it;
  for (it = gm.vertices_begin(); it != gm.vertices_end(); ++it) {
    if (it->degree() < 3) continue;
    Gm::Halfedge_around_vertex_const_circulator hec3(it->incident_halfedges());
    Gm::Halfedge_around_vertex_const_circulator hec1 = hec3++;
    Gm::Halfedge_around_vertex_const_circulator hec2 = hec3++;
    Kernel::Plane_3 plane((*hec1).face()->point(), (*hec2).face()->point(),
                          (*hec3).face()->point());
    Kernel::Vector_3 v(CGAL::ORIGIN, plane.projection(CGAL::ORIGIN));
    Kernel::FT tmp = v.squared_length();
    if (tmp < sw) sw = tmp;
  }
  // std::cout << sw << std::endl;
  CGAL::Gmpq res(1,3);
  if (sw.exact() != res) return -1;
  return 0;
}
Esempio n. 3
0
bool
O2DatDB::
select(O2DatRec &out)
{
#if TRACE_SQL_EXEC_TIME
	stopwatch sw("select random 1");
#endif

	bool ret = true;
	sqlite3 *db = NULL;
	int err = sqlite3_open16(dbfilename.c_str(), &db);
	if (err != SQLITE_OK)
		goto error;
	sqlite3_busy_timeout(db, 5000);

	wchar_t *sql =
		L"select"
		COLUMNS
		L" from dat"
		L" order by random() limit 1;";

	sqlite3_stmt *stmt = NULL;
	err = sqlite3_prepare16_v2(db, sql, wcslen(sql)*2, &stmt, NULL);
	if (err != SQLITE_OK)
		goto error;
	sqlite3_reset(stmt);

	err = sqlite3_step(stmt);
	if (err != SQLITE_ROW && err != SQLITE_DONE)
		goto error;

	if (err == SQLITE_DONE)
		ret = false;
	if (err == SQLITE_ROW)
		get_columns(stmt, out);

	sqlite3_finalize(stmt);
	stmt = NULL;

	err = sqlite3_close(db);
	if (err != SQLITE_OK)
		goto error;

	return (ret);

error:
	log(db);
	if (stmt) sqlite3_finalize(stmt);
	if (db) sqlite3_close(db);
	return false;
}
Esempio n. 4
0
int main() { 
	utils::StopWatch sw(true);

	std::stringstream ss;
	ss << twosat();
	std::cout << ss.str() << std::endl;
	utils::CopyToClipboard(ss.str());

	sw.stop();
	std::cout << sw.getLastElapsed();
	std::cin.ignore();
 
  return 0;
}
Esempio n. 5
0
uint64
O2DatDB::
select_datcount(wstrnummap &out)
{
#if TRACE_SQL_EXEC_TIME
	stopwatch sw("select datcount group by domain bbsname");
#endif

	sqlite3 *db = NULL;
	sqlite3_stmt *stmt = NULL;
	wstring domain_bbsname;
	uint64 total = 0;
	uint64 num;

	int err = sqlite3_open16(dbfilename.c_str(), &db);
	if (err != SQLITE_OK)
		goto error;
	sqlite3_busy_timeout(db, 5000);

	wchar_t *sql =
		L"select domain, bbsname, count(*) from dat group by domain, bbsname;";

	err = sqlite3_prepare16_v2(db, sql, wcslen(sql)*2, &stmt, NULL);
	if (err != SQLITE_OK)
		goto error;

	while (sqlite3_step(stmt) == SQLITE_ROW) {
		domain_bbsname = (wchar_t*)sqlite3_column_text16(stmt, 0);
		domain_bbsname += L":";
		domain_bbsname += (wchar_t*)sqlite3_column_text16(stmt, 1);
		num = sqlite3_column_int64(stmt, 2);

		out.insert(wstrnummap::value_type(domain_bbsname, num));
		total += num;
	}

	sqlite3_finalize(stmt);
	stmt = NULL;

	err = sqlite3_close(db);
	if (err != SQLITE_OK)
		goto error;
	return (total);

error:
	log(db);
	if (stmt) sqlite3_finalize(stmt);
	if (db) sqlite3_close(db);
	return false;
}
Esempio n. 6
0
	static int generate_report_files(const TCHAR* a_short_name, struct _EXCEPTION_POINTERS* ep)
	{	
		static const size_t char_count=1024;
		muradin::dbg::Win32Path this_module_path=muradin::dbg::Win32Path::path_of_module(NULL);

		TCHAR	report_file[char_count]={0};

		muradin::dbg::make_base_file_name(a_short_name,report_file,char_count);
		muradin::dbg::Win32Path abs_path=this_module_path.new_file_path(report_file);

		muradin::dbg::ModuleInfoFilePrinter	moudel_report(abs_path.full_path(report_file),_T("a"));
		muradin::dbg::CallstackFilePrinter	callstack_report(abs_path.full_path(report_file),_T("a"));
		
		DWORD	process_id=::GetCurrentProcessId();
		muradin::dbg::Win32Handle process(::OpenProcess( PROCESS_QUERY_INFORMATION |PROCESS_VM_READ,FALSE, process_id ));

		//////////////////////////////////////////////////////////////////////////
		/// generate module info for current process
		muradin::dbg::ModuleFileEnumerator mod_em(boost::bind(&muradin::dbg::ModuleInfoFilePrinter::print,&moudel_report,_1,_2,_3));
		moudel_report.open();
		int sys_error=0;
		bool good=mod_em.enum_proc_modules(process.get(),process_id,sys_error);
		moudel_report.close();


		//////////////////////////////////////////////////////////////////////////
		/// output exception info 
		ExceptionPointerFormator epfmt;
		callstack_report.open();
		callstack_report.print(epfmt.fmt(ep));
		callstack_report.close();

		//////////////////////////////////////////////////////////////////////////
		/// generate callstack
		muradin::dbg::StackWalker sw(boost::bind(&muradin::dbg::CallstackFilePrinter::print,&callstack_report,_1,_2,_3),
			::GetCurrentProcessId(),::GetCurrentProcess());
		callstack_report.open();
		sw.get_callstacks(GetCurrentThread(),ep->ContextRecord);
		callstack_report.close();

		//////////////////////////////////////////////////////////////////////////
		/// put a message to say we miss dbghelp.dll
		muradin::dbg::DbgHelperAPI dbghelpdll;
		if(!dbghelpdll.load()){
			callstack_report.open();
			callstack_report.print_ln(_T("cant general full information for callstack,miss dbghelp.dll"));
			callstack_report.close();
		}
		return 0;
	}
Esempio n. 7
0
void WPUtils::getBlogs(QString u, QString p, QString blog_address)
{
	_xml.clear();
	QXmlStreamWriter sw(&_xml);

	sw.setAutoFormatting(true);
	sw.writeStartDocument();

	sw.writeStartElement("methodCall");
	sw.writeTextElement("methodName", "wp.getUsersBlogs");

	sw.writeStartElement("params");
	sw.writeStartElement("param");
	sw.writeCharacters("username");
	sw.writeTextElement("value", u);
	sw.writeEndElement();
	sw.writeStartElement("param");
	sw.writeCharacters("password");
	sw.writeTextElement("value", p);
	sw.writeEndElement();

	sw.writeEndDocument();

	QNetworkAccessManager *manager = new QNetworkAccessManager();

	manager->setObjectName("getUsersBlogs");

	QObject::connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));

	QUrl url;

	//_xml = xml.toUtf8();

	QString tmp_url = searchEndPoint(blog_address);
	if ( tmp_url.isEmpty() )
	{
		qDebug() << "unable to found endpoint";
		res.insert("ERROR","ERROR");
	} else {

		url.setUrl(tmp_url);
		QNetworkRequest request(url);
		int cmd = 0;
		request.setAttribute(QNetworkRequest::Attribute(QNetworkRequest::User + 1), QVariant((int) cmd)); /* not sure */
		request.setRawHeader("User-Agent", "wp-bb10/0.0.1");
		request.setHeader(QNetworkRequest::ContentTypeHeader, "text/xml");

		manager->post(request,_xml);
	}
}
Esempio n. 8
0
int main()
{
	bool start = false;
	std::cout << "StopWatch Example" << std::endl;
	techtips::StopWatch sw(start);
	sw.start();
	some_method();
	sw.stop();
	std::cout << "execute_some_method: took " << sw.elapsed() << " milisecods time to execute" << std::endl;

	std::cout << "--------------------------------------------------------------------------------" << std::endl;
	std::cout << "ScopedStopWatch Example" << std::endl;
	some_method_scoped_stop_watch_example();
	return 0;
}
Esempio n. 9
0
/*
 * Provide a series of lat/lon coordinates/waypoints, and the object
 * automatically generates a bounding rectangle, and determines how to
 * translate between lat/lon and cartesian x/y
 */
void Mapping::init(int count, GeoPosition *p)
{
    double latMin = 360;
    double latMax = -360;
    double lonMin = 360;
    double lonMax = -360;
    
    // Find minimum and maximum lat/lon
    for (int i=0; i < count; i++, p++) {
        //fprintf(stdout, "%d (%.6f, %.6f)\n", i, p->latitude(), p->longitude());
        if (p->latitude() > latMax)
            latMax = p->latitude();
        if (p->latitude() < latMin)
            latMin = p->latitude();
            
        if (p->longitude() > lonMax)
            lonMax = p->longitude();
        if (p->longitude() < lonMin)
            lonMin = p->longitude();
    }

    // Set the arbitrary cartesian origin to southwest corner
    lonZero = lonMin;
    latZero = latMin;

    //fprintf(stdout, "min: (%.6f, %.6f)\n", latMin, lonMin);
    //fprintf(stdout, "max: (%.6f, %.6f)\n", latMax, lonMax);

    // Three positions required to scale
    GeoPosition sw(latMin, lonMin);
    GeoPosition nw(latMax, lonMin);
    GeoPosition se(latMin, lonMax);
    
    // Find difference between lat and lon min/max
    float dlat = (latMax - latMin);
    float dlon = (lonMax - lonMin);
    
    //fprintf(stdout, "dlat=%.6f dlon=%.6f\n", dlat, dlon);
    
    // Compute scale based on distances between edges of rectangle
    // and difference between min/max lat and min/max lon
    lonToX = sw.distanceTo(se) / dlon;
    latToY = sw.distanceTo(nw) / dlat;

    //fprintf(stdout, "lonToX=%.10f\nlatToY=%.10f\n", lonToX, latToY);

    return;    
}
Esempio n. 10
0
CSmartPtr<CSwitch> CSwitchMgr::getSwitchByMac(const INT1* mac)
{
    CSmartPtr<CSwitch> sw(NULL);

    if (NULL == mac)
        return sw;

    INT1 macStr[20] = {0};
    mac2str((UINT1*)mac, macStr);

    CMacHMap::CPair* item = NULL;
    if (m_macMap.find(macStr, &item))
        sw = item->second;

    return sw;
}
		void
		testGetNumSamples()
		{
			SlidingWindow sw(0.25);

			// simTime 0.0, insert [email protected]
			sw.put(1.0);
			WNS_ASSERT_MAX_REL_ERROR( 0, sw.getNumSamples(), 0 );

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.1);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.1, 1 sample
			WNS_ASSERT_MAX_REL_ERROR( 1, sw.getNumSamples(), 0 );

			// insert [email protected]
			sw.put(1.0);
			WNS_ASSERT_MAX_REL_ERROR( 1, sw.getNumSamples(), 0 );

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.1);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.2, 
			WNS_ASSERT_MAX_REL_ERROR( 2, sw.getNumSamples(), 0 );

			// insert [email protected]
			sw.put(1.0);
			WNS_ASSERT_MAX_REL_ERROR( 2, sw.getNumSamples(), 0 );

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.05);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.25
			WNS_ASSERT_MAX_REL_ERROR( 3, sw.getNumSamples(), 0 );

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.05);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.3
			WNS_ASSERT_MAX_REL_ERROR( 2, sw.getNumSamples(), 0 );

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.1);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.4
			WNS_ASSERT_MAX_REL_ERROR( 1, sw.getNumSamples(), 0 );

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.1);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.5
			WNS_ASSERT_MAX_REL_ERROR( 0, sw.getNumSamples(), 0 );
		}
Esempio n. 12
0
int main(int argc, char const* argv[]) {
  auto args = parse(argc, argv);
  if (args.exit) {
    return args.exit + 1;
  }
  Stopwatch sw("Program");
  Codecs::HuffmanCodec huffman;
  Codecs::FreqCodec freq(args.power);
  Codecs::TrivialCodec triv;
  Codecs::MultiCodec main_codec(2, &freq, &huffman);
  StreamTester tester;
  tester.set_codec(main_codec);
  tester.set_data_file(args.file_name, args.read_block);
  tester.learn_codec();
  tester.test_all();
  return 0;
}
int main() {
	Simple_window win1{x,800,600,"Rectangle functions"};
	Graph_lib::Rectangle r{Point {200,200},150,250};
	Graph_lib::Marks m{"x"};
	m.add(n(r));
	m.add(w(r));
	m.add(s(r));
	m.add(e(r));
	m.add(center(r));
	m.add(nw(r));
	m.add(ne(r));
	m.add(sw(r));
	m.add(se(r));
	win1.attach(r);
	win1.attach(m);
	win1.wait_for_button();
}
Esempio n. 14
0
uint64
O2DatDB::
select_publishcount(time_t publish_tt)
{
#if TRACE_SQL_EXEC_TIME
	stopwatch sw("select datcount by lastpublish");
#endif

	sqlite3 *db = NULL;
	sqlite3_stmt *stmt = NULL;

	int err = sqlite3_open16(dbfilename.c_str(), &db);
	if (err != SQLITE_OK)
		goto error;
	sqlite3_busy_timeout(db, 5000);

	wchar_t *sql = L"select count(*) from dat where lastpublish > ?;";

	err = sqlite3_prepare16_v2(db, sql, wcslen(sql)*2, &stmt, NULL);
	if (err != SQLITE_OK)
		goto error;

	if (!bind(db, stmt, 1, time(NULL)-publish_tt))
		goto error;

	err = sqlite3_step(stmt);
	if (err != SQLITE_ROW && err != SQLITE_DONE)
		goto error;

	uint64 count = sqlite3_column_int64(stmt,0);

	sqlite3_finalize(stmt);
	stmt = NULL;

	err = sqlite3_close(db);
	if (err != SQLITE_OK)
		goto error;

	return (count);

error:
	log(db);
	if (stmt) sqlite3_finalize(stmt);
	if (db) sqlite3_close(db);
	return (0);
}
		void testNormalPutIncludingNow()
		{
			SlidingWindow sw(0.25, true);
			WNS_ASSERT_MAX_REL_ERROR( 0.0, sw.getAbsolute(), 1E-9 );
			
			// simTime 0.0
			sw.put(1.0);
			WNS_ASSERT_MAX_REL_ERROR( 1.0, sw.getAbsolute(), 1E-9 );

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.1);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.1
			WNS_ASSERT_MAX_REL_ERROR( 1.0, sw.getAbsolute(), 1E-9 );

			sw.put(2.3);
			WNS_ASSERT_MAX_REL_ERROR( 3.3, sw.getAbsolute(), 1E-9 );

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.1);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.2
			WNS_ASSERT_MAX_REL_ERROR( 3.3, sw.getAbsolute(), 1E-9 );

			sw.put(4.2);
			WNS_ASSERT_MAX_REL_ERROR( 7.5, sw.getAbsolute(), 1E-9 );

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.05);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.25
			WNS_ASSERT_MAX_REL_ERROR( 7.5, sw.getAbsolute(), 1E-9 );

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.05);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.3
			WNS_ASSERT_MAX_REL_ERROR( 6.5, sw.getAbsolute(), 1E-9 );

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.1);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.4
			WNS_ASSERT_MAX_REL_ERROR( 4.2, sw.getAbsolute(), 1E-9 );

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.1);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.5
			WNS_ASSERT_MAX_REL_ERROR( 0.0, sw.getAbsolute(), 1E-9 );
		}
Esempio n. 16
0
bool
O2DatDB::
select(O2DatRecList &out)
{
#if TRACE_SQL_EXEC_TIME
	stopwatch sw("select all");
#endif

	sqlite3 *db = NULL;
	sqlite3_stmt *stmt = NULL;
	O2DatRec rec;

	int err = sqlite3_open16(dbfilename.c_str(), &db);
	if (err != SQLITE_OK)
		goto error;
	sqlite3_busy_timeout(db, 5000);

	wchar_t *sql =
		L"select"
		COLUMNS
		L" from dat;";

	err = sqlite3_prepare16_v2(db, sql, wcslen(sql)*2, &stmt, NULL);
	if (err != SQLITE_OK)
		goto error;

	while (sqlite3_step(stmt) == SQLITE_ROW) {
		get_columns(stmt, rec);
		out.push_back(rec);
	}

	sqlite3_finalize(stmt);
	stmt = NULL;

	err = sqlite3_close(db);
	if (err != SQLITE_OK)
		goto error;
	return true;

error:
	log(db);
	if (stmt) sqlite3_finalize(stmt);
	if (db) sqlite3_close(db);
	return false;
}
		void
		testTwoAtTheSameTime()
		{
			SlidingWindow sw(0.25);
			// simTime 0.0
			sw.put(2.3);
			sw.put(4.2);

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.1);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.1
			WNS_ASSERT_MAX_REL_ERROR( 6.5, sw.getAbsolute(), 1E-9 );

			wns::simulator::getEventScheduler()->scheduleDelay(events::NoOp(), 0.2);
			wns::simulator::getEventScheduler()->processOneEvent();
			// simTime 0.3
			WNS_ASSERT_MAX_REL_ERROR( 0.0, sw.getAbsolute(), 1E-9 );
		}
Esempio n. 18
0
bool
O2DatDB::
remove(const hashT &hash)
{
#if TRACE_SQL_EXEC_TIME
	stopwatch sw("remove");
#endif

	sqlite3 *db = NULL;
	int err = sqlite3_open16(dbfilename.c_str(), &db);
	if (err != SQLITE_OK)
		goto error;
	sqlite3_busy_timeout(db, 5000);

	wchar_t *sql =
		L"delete from dat where hash = ?;";

	sqlite3_stmt *stmt = NULL;
	err = sqlite3_prepare16_v2(db, sql, wcslen(sql)*2, &stmt, NULL);
	if (err != SQLITE_OK)
		goto error;

	if (!bind(db, stmt, 1, hash))
		goto error;

	err = sqlite3_step(stmt);
	if (err != SQLITE_ROW && err != SQLITE_DONE)
		goto error;

	sqlite3_finalize(stmt);
	stmt = NULL;

	err = sqlite3_close(db);
	if (err != SQLITE_OK)
		goto error;

	return true;

error:
	log(db);
	if (stmt) sqlite3_finalize(stmt);
	if (db) sqlite3_close(db);
	return false;
}
Esempio n. 19
0
void merge(int l,int m,int r){
int i, j, k;
    int n1 = m - l + 1;
    int n2 =  r - m;

    char L[n1][30], R[n2][30];

for (i = 0; i < n1; i++)
        sw(L[i],s[l + i]);
    for (j = 0; j < n2; j++)
        R[j] = s[m + 1+ j];


    i = 0;
    j = 0;
    k = l;
    while (i < n1 && j < n2)
    {
        if (L[i] <= R[j])
        {
            arr[k] = L[i];
            i++;
        }
        else
        {
            arr[k] = R[j];
            j++;
        }
        k++;
    }
    while (i < n1)
    {
        arr[k] = L[i];
        i++;
        k++;
    }
    while (j < n2)
    {
        arr[k] = R[j];
        j++;
        k++;
    }

}
Esempio n. 20
0
uint64
O2DatDB::
select_totaldisksize(void)
{
#if TRACE_SQL_EXEC_TIME
	stopwatch sw("select totakdisksize");
#endif

	sqlite3 *db = NULL;
	sqlite3_stmt *stmt = NULL;

	int err = sqlite3_open16(dbfilename.c_str(), &db);
	if (err != SQLITE_OK)
		goto error;
	sqlite3_busy_timeout(db, 5000);

	wchar_t *sql = L"select sum(disksize) from dat;";

	err = sqlite3_prepare16_v2(db, sql, wcslen(sql)*2, &stmt, NULL);
	if (err != SQLITE_OK)
		goto error;

	err = sqlite3_step(stmt);
	if (err != SQLITE_ROW && err != SQLITE_DONE)
		goto error;

	uint64 totalsize = sqlite3_column_int64(stmt,0);

	sqlite3_finalize(stmt);
	stmt = NULL;

	err = sqlite3_close(db);
	if (err != SQLITE_OK)
		goto error;

	return (totalsize);

error:
	log(db);
	if (stmt) sqlite3_finalize(stmt);
	if (db) sqlite3_close(db);
	return (0);
}
Esempio n. 21
0
void qt_libxml_error_handler(void *ctx, const char *msg, ...)
{
    va_list args;
    QString message;
    QStringList errorlined;
    errorlined.clear();
    int size = 256;
    char * buf = new char[ size ];

    while( 1 ) {
       va_start(args, msg);
       int retval = ::vsnprintf( buf, size, msg, args );
       va_end(args);
     
       if( -1 < retval && retval < size ) { // everything was OK
          message = buf;
           if (message.size() > 0) {
           message.replace("&", "&amp;"); 
           errorlined.append(message);  
            /*qDebug() << "### 1 error captured to insert on class as list or so.... " << ;*/
           }
          break;
       }
       else if( retval > -1 ) { // buffer too small
           size = retval + 1;
           delete [] buf;
           buf = new char[ size ];
       }
       else {  // error
          // ...
          break;
       }
    }

    delete [] buf;
      QFile f( XMLERROR_FILE );
	if ( f.open( QFile::Append | QFile::Text ) )
	{
		QTextStream sw( &f );
		sw << errorlined.join("");
		f.close();
	}
}
Esempio n. 22
0
    inline void exponent_example(std::ostream& out_stream = std::cout)
    {
        out_str << "Testing tape contents for exponent of tdouble." << std::endl;

        // Input values initialization.
        std::vector<tdouble> X(1, 3.0);

        // Declare the X vector as independent and start a tape recording.
        cl::tape_start(X);

        // Output calculations.
        std::vector<tdouble> Y(1);

        Y[0] = std::exp(-2.0 * X[0]);

        out_str << "\nFunction Y = exp(-2.0 * X[0]) is being tested at X[0] = " << X[0] << std::endl;

        // Declare a tape function and stop the tape recording.
        cl::tfunc<double> f(X, Y);

        // Calculate derivative in Forward mode.
        std::vector<double> sy, sx(1, 1.0);

        out_str << "\nTape operations sequence for differentiation of Y with respect to X[0]: ";

        sy = f.forward(1, sx, out_stream);

        out_str << "Derivative of Y with respect to X[0] in Forward mode has been calculated successfully:" << std::endl;
        out_str << "\tdY / dX (X[0]) = " << sy[0] << std::endl;

        // Calculate derivative in Reverse mode.
        std::vector<double> sw(1, 1.0);

        out_str << "\nTape operations sequence for differentiation of Y with respect to X: ";

        sy = f.reverse(1, sw, out_stream);

        out_str << "\nDerivative of Y with respect to X in Reverse mode has been calculated successfully:" << std::endl;
        out_str << "\tdY / dX (X[0]) = " << sy[0] << std::endl;
        out_str << std::endl << std::string(100, '-') << std::endl;
    }
Esempio n. 23
0
File: LDA.cpp Progetto: CV-IP/grt
MatrixFloat LDA::computeWithinClassScatterMatrix( ClassificationData &data ){
	
	MatrixFloat sw(numInputDimensions,numInputDimensions);
	sw.setAllValues( 0 );
	
	for(UINT k=0; k<numClasses; k++){
		
		//Compute the scatter matrix for class k
		ClassificationData classData = data.getClassData( data.getClassTracker()[k].classLabel );
		MatrixFloat scatterMatrix = classData.getCovarianceMatrix();
		
		//Add this to the main scatter matrix
		for(UINT m=0; m<numInputDimensions; m++){
			for(UINT n=0; n<numInputDimensions; n++){
				sw[m][n] += scatterMatrix[m][n];
			}
		}
	}
	
	return sw;
}
Esempio n. 24
0
File: main.cpp Progetto: CCJY/coliru
const std::vector<some_row_concept_class> OutputFilteredRowsT(const InputRange_& range,
                                                             std::ostream& output_stream)
{
    if (range.begin() != range.end())
    {
        stream_wrapper sw(output_stream);
        sw.output_header(*range.begin());
        output_stream << std::endl;
        std::for_each(range.begin(),
                      range.end(),
                      [&](const some_row_concept_class& srcc) { sw.output_header(srcc); });
        //in XE6 I can end this std::for_each with 
        //            &sw.output_row);
        //and everything is fine, but that is not actually compliant, so I use a
        //lambda in coliru for the same effect
                      
        output_stream << std::endl;
    }
    
    return std::vector<some_row_concept_class>(range.begin(), range.end());
}
Esempio n. 25
0
inline void IO::OutputScheduler::add_socket(const IO::Socket& sock,
                                            const std::string& data) {
  Log::i("socket with fd = " + std::to_string(sock.get_fd()) +
         " will be copied to fd = ");
  std::unique_ptr<IO::Socket> new_sock(new Socket(sock));

  scheduled_write sw(std::move(new_sock), data);

  _schedule.push_back(std::move(sw));

  struct epoll_event ev;
  memset(&ev, 0, sizeof(struct epoll_event));
  ev.data.fd = (*_schedule.back().sock).get_fd();
  ev.events = EPOLLOUT | EPOLLET;

  Log::i(std::to_string((*_schedule.back().sock).get_fd()));

  if (-1 == epoll_ctl(_efd, EPOLL_CTL_ADD, ev.data.fd, &ev))
    throw std::runtime_error("Could not add event with fd:" +
                             std::to_string(sock.get_fd()));
}
Esempio n. 26
0
		void handleStatic(staticPage* Sp) {
			Response& resp(*this->resp);
			try {
				String data=Sp->data;
				int bufferL = resp.buffer.length();
				if(Sp->mime.length()>0)resp.headers["Content-Type"]=Sp->mime;
				{
					char* tmps = sp.beginAdd(16);
					int l = itoa(data.length(), tmps);
					sp.endAdd(l);
					resp.headers.insert({"Content-Length", { tmps, l }});
					StreamWriter sw(resp.buffer);
					resp.serializeHeaders(sw);
				}
				iov[0]= {resp.buffer.data()+bufferL, (size_t)(resp.buffer.length()-bufferL)};
				iov[1]= {data.data(), (size_t)data.length()};
				resp.outputStream->writevAll(iov, 2, { &handler::writevCB, this });
			} catch(exception& ex) {
				thr.handleError(req,resp,ex,{&handler::finalize,this});
			}
		}
Esempio n. 27
0
void set_pivot_from_preferences(gfx::Transformation& t)
{
  gfx::Transformation::Corners corners;
  t.transformBox(corners);
  gfx::PointT<double> nw(corners[gfx::Transformation::Corners::LEFT_TOP]);
  gfx::PointT<double> ne(corners[gfx::Transformation::Corners::RIGHT_TOP]);
  gfx::PointT<double> sw(corners[gfx::Transformation::Corners::LEFT_BOTTOM]);
  gfx::PointT<double> se(corners[gfx::Transformation::Corners::RIGHT_BOTTOM]);
  gfx::PointT<double> pivotPos((nw + se) / 2);

  app::gen::PivotPosition pivot = Preferences::instance().selection.pivotPosition();
  switch (pivot) {
    case app::gen::PivotPosition::NORTHWEST:
      pivotPos = nw;
      break;
    case app::gen::PivotPosition::NORTH:
      pivotPos = (nw + ne) / 2.0;
      break;
    case app::gen::PivotPosition::NORTHEAST:
      pivotPos = ne;
      break;
    case app::gen::PivotPosition::WEST:
      pivotPos = (nw + sw) / 2.0;
      break;
    case app::gen::PivotPosition::EAST:
      pivotPos = (ne + se) / 2.0;
      break;
    case app::gen::PivotPosition::SOUTHWEST:
      pivotPos = sw;
      break;
    case app::gen::PivotPosition::SOUTH:
      pivotPos = (sw + se) / 2.0;
      break;
    case app::gen::PivotPosition::SOUTHEAST:
      pivotPos = se;
      break;
  }

  t.displacePivotTo(gfx::PointF(pivotPos));
}
Esempio n. 28
0
static inline void printStackTrace ( FILE * out )
{
#ifdef GNUC
	// storage array for stack trace address data
	void* addrlist[ 128 + 1 ];

	// retrieve current stack addresses
	uint32_t addrlen = backtrace ( addrlist, sizeof ( addrlist ) / sizeof ( void* ) );

	if( addrlen == 0 )
	{
		fprintf ( out, " (no trace - stack may be corrupted)  \n" );
		return;
	}

	// create readable strings to each frame.
	backtrace_symbols_fd ( addrlist, addrlen, fileno(out) );
#else
	StackWalker_OutFile sw(out);
	sw.ShowCallstack ();
#endif
}
Esempio n. 29
0
void test_switch_by_resistor()
{
	ngdc dc("dc", 10);
	ngresistor r("r1", 370);
	ngled led("led1", 5e-3);
	ngswitch sw("sw", ngswitch::off);
	ngground gnd;

	ngline l0(dc.neg, gnd.p1);
	ngline l1(dc.pos, r.p1);
	ngline l2(r.p2, led.p1);
	ngline l3(led.p2, sw.p1);
	ngline l4(sw.p2, dc.neg);

	schema sch;
	sch.AddDevices(&dc, &r, &led, &gnd, &sw, 0);
	sch.AddLines(&l0, &l1, &l2, &l3, &l4, 0);

	circuit cir(&sch);
	cir.Tran("1t", "1m");

	do 
	{
		Sleep(200);
		char ch = getchar();
		switch (ch)
		{
		case 'a':
			cir.SwitchOver(&sw);
			Sleep(200);
			break;
		case 'q':
			cir.Halt();
		default:
			break;
		};
	} while (cir.IsRunning());

}
Esempio n. 30
0
demux(){
#define demux Vdemux
  int count = 6;
  unsigned char c, temp;

      while(!rebootflag)
	{
		while(hostops->rcvq->c_cc==0) sw(0);	/* nothing for us to do */
		if (!ENCODE_ENABLE) precv((char)qgetc(hostops->rcvq)); /* read packet */
	 	 else
		   if ((c = (char)qgetc(hostops->rcvq)) == -1) precv((char) c);
		       else
			 if ((c & 0xe0) == 0x20 || (count+=2) == 8)
			   {
				count = 0;
				temp = c;
			     }
			  else precv((char)((c & 0x3f) | ((temp << count) & 0xc0)));
	}
       nap(60);        /* let output queue drain */
       reboot();
}