コード例 #1
0
FLRelationMetaData *FLTableMetaData::relation(const QString &fN, const QString &fFN, const QString &fTN) const
{
  if (fN.isEmpty())
    return 0;

  FLFieldMetaData *field = d->fieldList_->find(fN.lower());
  if (field) {
    if (field->d->relationM1_ && field->d->relationM1_->foreignField() == fFN.lower() &&
        field->d->relationM1_->foreignTable() == fTN.lower())
      return field->d->relationM1_;
    FLFieldMetaData::FLRelationMetaDataList *relationList = field->d->relationList_;
    if (!relationList)
      return 0;
    if (relationList->isEmpty())
      return 0;
    FLRelationMetaData *r;
    QPtrListIterator<FLRelationMetaData> itR(*relationList);
    while ((r = itR.current()) != 0) {
      ++itR;
      if (r->foreignField() == fFN.lower() && r->foreignTable() == fTN.lower())
        return r;
    }
  }

  return 0;
}
コード例 #2
0
ファイル: FFT.cpp プロジェクト: EiffelOberon/FFT-Ocean
void FFT::tri() {
	
	int n(_n);
 
	for(int i = 0 ; i < _p - 1 ; i++) {        // processus à répéter _p - 1 fois
 
		 std::vector<double> XR;
		 XR.reserve(_n);
		 
		 std::vector<double> XI;
		 XI.reserve(_n);
		
		 _vectRp.resize(n/2);
		 _vectIp.resize(n/2);													
		 _vectRi.resize(n/2);
		 _vectIi.resize(n/2);
		 
		 std::vector<double>::iterator itR(XR.begin());
		 std::vector<double>::iterator itI(XI.begin());
		 
		 for(int j = 0 ; j < _n/n ; j++) {      // réorganiser -n/n sous parties
		 
			 for(int k = 0 ; k < n/2 ; k++) {   // réorganisation
				 
				 _index1 = 2*k+j*n;
			 
				 _vectRp[k] = _xR[_index1];
				 _vectIp[k] = _xI[_index1];
				 
				 _vectRi[k] = _xR[_index1+1];
				 _vectIi[k] = _xI[_index1+1];
				 
			 }
	    
			 XR.insert(itR, _vectRp.begin(), _vectRp.end());
			 XR.insert(XR.end(), _vectRi.begin(), _vectRi.end());
			 
			 XI.insert(itI, _vectIp.begin(), _vectIp.end());
			 XI.insert(XI.end(), _vectIi.begin(), _vectIi.end());
			 
			 itR = XR.end();
			 itI = XI.end();
		 
		 }
	 
		 swap(XR, _xR);
		 swap(XI, _xI);
		 
		 n /= 2;
	 
	 }

}
コード例 #3
0
ファイル: IMDB.cpp プロジェクト: ntfreak/MediaElch
void IMDB::parseAndAssignInfos(QString json, Movie *movie, QList<int> infos)
{
    QScriptValue sc;
    QScriptEngine engine;
    sc = engine.evaluate("(" + QString(json) + ")");

    if (infos.contains(MovieScraperInfos::Title) && sc.property("title").isValid())
        movie->setName(Helper::urlDecode(sc.property("title").toString()));
    if (infos.contains(MovieScraperInfos::Overview) && sc.property("plot").isValid() && !sc.property("plot").isNull()) {
        movie->setOverview(sc.property("plot").toString());
        if (sc.property("plot_simple").isValid() && !sc.property("plot_simple").isNull() && !sc.property("plot_simple").toString().isEmpty())
            movie->setOutline(sc.property("plot_simple").toString());
        else if (Settings::instance()->usePlotForOutline())
            movie->setOutline(sc.property("plot").toString());
    }
    if (infos.contains(MovieScraperInfos::Rating) && sc.property("rating").isValid())
        movie->setRating(sc.property("rating").toNumber());
    if (infos.contains(MovieScraperInfos::Rating) && sc.property("rating_count").isValid())
        movie->setVotes(sc.property("rating_count").toInteger());
    if (infos.contains(MovieScraperInfos::Certification) && sc.property("rated").isValid())
        movie->setCertification(Helper::mapCertification(sc.property("rated").toString()));
    if (infos.contains(MovieScraperInfos::Released) && sc.property("release_date").isValid())
        movie->setReleased(QDate::fromString(sc.property("release_date").toString(), "yyyyMMdd"));
    if (infos.contains(MovieScraperInfos::Runtime) && sc.property("runtime").isArray()) {
        QScriptValueIterator itR(sc.property("runtime"));
        if (itR.hasNext()) {
            itR.next();
            QRegExp rx("(\\d+).*");
            if (rx.indexIn(itR.value().toString(), 0) != -1)
                movie->setRuntime(rx.cap(1).toInt());
        }
    }


    /* if (itC.hasNext()) within the loop might look wrong but
     * this way the last item is filtered out (contains the number of entries)
     */
    if (infos.contains(MovieScraperInfos::Genres) && sc.property("genres").isArray()) {
        QScriptValueIterator itC(sc.property("genres"));
        while (itC.hasNext()) {
            itC.next();
            if (itC.hasNext())
                movie->addGenre(Helper::mapGenre(Helper::urlDecode(itC.value().toString())));
        }
    }

    if (infos.contains(MovieScraperInfos::Director) && sc.property("directors").isArray()) {
        QStringList directors;
        QScriptValueIterator itC(sc.property("directors"));
        while (itC.hasNext()) {
            itC.next();
            if (itC.hasNext())
                directors << Helper::urlDecode(itC.value().toString());
        }
        movie->setDirector(directors.join(", "));
    }

    if (infos.contains(MovieScraperInfos::Writer) && sc.property("writers").isArray()) {
        QStringList writers;
        QScriptValueIterator itC(sc.property("writers"));
        while (itC.hasNext()) {
            itC.next();
            if (itC.hasNext())
                writers << Helper::urlDecode(itC.value().toString());
        }
        movie->setWriter(writers.join(", "));
    }

    if (infos.contains(MovieScraperInfos::Countries) && sc.property("country").isArray()) {
        QScriptValueIterator itC(sc.property("country"));
        while (itC.hasNext()) {
            itC.next();
            if (itC.hasNext())
                movie->addCountry(Helper::mapCountry(Helper::urlDecode(itC.value().toString())));
        }
    }

    if (infos.contains(MovieScraperInfos::Actors) && sc.property("actors").isArray()) {
        QScriptValueIterator itC(sc.property("actors"));
        while (itC.hasNext()) {
            itC.next();
            Actor a;
            a.name = Helper::urlDecode(itC.value().toString());
            if (itC.hasNext())
                movie->addActor(a);
        }
    }

    if (infos.contains(MovieScraperInfos::Poster) && sc.property("poster").isValid()) {
        Poster p;
        p.originalUrl = sc.property("poster").toString();
        p.thumbUrl = sc.property("poster").toString();
        movie->addPoster(p);
    }
}