diff options
Diffstat (limited to 'media-gfx/gift/files/gift-0.1.14-extra_qualif.patch')
-rw-r--r-- | media-gfx/gift/files/gift-0.1.14-extra_qualif.patch | 633 |
1 files changed, 633 insertions, 0 deletions
diff --git a/media-gfx/gift/files/gift-0.1.14-extra_qualif.patch b/media-gfx/gift/files/gift-0.1.14-extra_qualif.patch new file mode 100644 index 0000000..329a276 --- /dev/null +++ b/media-gfx/gift/files/gift-0.1.14-extra_qualif.patch @@ -0,0 +1,633 @@ +diff -Nur gift-0.1.14.orig/libMRML/include/CAttributeList.h gift-0.1.14/libMRML/include/CAttributeList.h +--- gift-0.1.14.orig/libMRML/include/CAttributeList.h 2005-03-24 10:18:16.000000000 +0100 ++++ gift-0.1.14/libMRML/include/CAttributeList.h 2007-05-13 09:31:05.000000000 +0200 +@@ -79,7 +79,7 @@ + virtual pair<bool,string> stringReadAttribute(const string& inAttribute)const; + /** Outputting a string to XML + */ +- void CAttributeList::toXML(string& outString)const; ++ void toXML(string& outString)const; + /** the destructor + in the case of char* as content it deletes the arrays of char. + */ +diff -Nur gift-0.1.14.orig/libMRML/include/CAccessorAdmin.h gift-0.1.14/libMRML/include/CAccessorAdmin.h +--- gift-0.1.14.orig/libMRML/include/CAccessorAdmin.h 2005-03-24 10:18:16.000000000 +0100 ++++ gift-0.1.14/libMRML/include/CAccessorAdmin.h 2007-05-13 10:28:58.000000000 +0200 +@@ -111,11 +111,11 @@ + /** destructor */ + ~CAccessorAdmin(); + /** */ +- string CAccessorAdmin::getAlgorithmIDListID()const; ++ string getAlgorithmIDListID()const; + /** */ +- string CAccessorAdmin::getName()const; ++ string getName()const; + /** */ +- string CAccessorAdmin::getID()const; ++ string getID()const; + + /** for sorting */ + friend class CSortByName_pAP; +diff -Nur gift-0.1.14.orig/libMRML/include/CI18nTranslator.h gift-0.1.14/libMRML/include/CI18nTranslator.h +--- gift-0.1.14.orig/libMRML/include/CI18nTranslator.h 2005-03-24 10:18:16.000000000 +0100 ++++ gift-0.1.14/libMRML/include/CI18nTranslator.h 2007-05-13 10:33:58.000000000 +0200 +@@ -98,11 +98,11 @@ + void translateXMLTree(string inLanguageCode, + CXMLElement& inoutToBeTranslated)const; + /** for parsing the config file */ +- static void CI18nTranslator::startXMLElement(void *inUserData, ++ static void startXMLElement(void *inUserData, + const char *inElementName, + const char **inAttributes); + /** for parsing the config file */ +- static void CI18nTranslator::endXMLElement(void *inUserData, ++ static void endXMLElement(void *inUserData, + const char *inElementName); + }; + #endif +diff -Nur gift-0.1.14.orig/libMRML/include/CSessionManager.h gift-0.1.14/libMRML/include/CSessionManager.h +--- gift-0.1.14.orig/libMRML/include/CSessionManager.h 2005-03-24 10:18:16.000000000 +0100 ++++ gift-0.1.14/libMRML/include/CSessionManager.h 2007-05-13 10:34:50.000000000 +0200 +@@ -172,18 +172,18 @@ + bool rename(const string& inName); + /** the list of preferred languages of this + is cleared */ +- void CSession::clearLanguages(); ++ void clearLanguages(); + /** one language code is added at the back of the list + of preferred languages */ +- void CSession::addLanguage(string inLanguageCode); ++ void addLanguage(string inLanguageCode); + /** commit the list of languages. That means, here the + actual language that will be used throughout the + translation is determined */ +- void CSession::commitLanguages(const CI18nTranslator& inTranslator); ++ void commitLanguages(const CI18nTranslator& inTranslator); + /** get the preferred languages of this session */ + list<string> CSession::getLanguages()const; + /** get the preferred languages of this session */ +- string CSession::getPreferredLanguage()const; ++ string getPreferredLanguage()const; + + //-------------------------------------------------- + /** generating XML output for configuration/shandshake */ +@@ -420,7 +420,7 @@ + /** i18n: get the list of preferred languages of this session */ + list<string> getSessionLanguages(const string& inSessionID)const; + /** i18n: get the list of preferred languages of this session */ +- void CSessionManager::translate(string inSessionID, ++ void translate(string inSessionID, + CXMLElement& inoutToBeTranslated)const; + }; + +diff -Nur gift-0.1.14.orig/libMRML/include/CSessionManager.h gift-0.1.14/libMRML/include/CSessionManager.h +--- gift-0.1.14.orig/libMRML/include/CSessionManager.h 2007-05-13 10:35:39.000000000 +0200 ++++ gift-0.1.14/libMRML/include/CSessionManager.h 2007-05-13 11:21:01.000000000 +0200 +@@ -181,7 +181,7 @@ + translation is determined */ + void commitLanguages(const CI18nTranslator& inTranslator); + /** get the preferred languages of this session */ +- list<string> CSession::getLanguages()const; ++ list<string> getLanguages()const; + /** get the preferred languages of this session */ + string getPreferredLanguage()const; + +diff -Nur gift-0.1.14.orig/libMRML/cc/CAttributeList.cc gift-0.1.14/libMRML/cc/CAttributeList.cc +--- gift-0.1.14.orig/libMRML/cc/CAttributeList.cc 2005-03-24 10:18:15.000000000 +0100 ++++ gift-0.1.14/libMRML/cc/CAttributeList.cc 2007-05-13 11:30:47.000000000 +0200 +@@ -94,7 +94,7 @@ + + if(strcmp(i->second.first, + i->second.second)){ +- cout << "DELETING FAILED" << flush << int(i->second.second) << flush << i->second.first << i->second.second << endl; ++ cout << "DELETING FAILED" << flush << i->second.second << flush << i->second.first << i->second.second << endl; + assert(0); + } + delete[] i->second.first; +diff -Nur gift-0.1.14.orig/libMRML/cc/CAttributeList.cc~ gift-0.1.14/libMRML/cc/CAttributeList.cc~ +--- gift-0.1.14.orig/libMRML/cc/CAttributeList.cc~ 1970-01-01 01:00:00.000000000 +0100 ++++ gift-0.1.14/libMRML/cc/CAttributeList.cc~ 2005-03-24 10:18:15.000000000 +0100 +@@ -0,0 +1,418 @@ ++// -*- mode: c++ -*- ++/* ++ ++ GIFT, a flexible content based image retrieval system. ++ Copyright (C) 1998, 1999, 2000, 2001, 2002, CUI University of Geneva ++ ++ Copyright (C) 2003, 2004 Bayreuth University ++ 2005 Bamberg University ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ ++*/ ++#include "libMRML/include/CAttributeList.h" ++#include "string.h" ++#include <cstdio> ++#include "libMRML/include/CMutex.h" ++#include <iostream> ++#include <algorithm> ++extern CMutex* gMutex; ++ ++CAttributeList::CAttributeList(const char * const * const inAttributeList){ ++ clear(); ++ if(inAttributeList){ ++ const char*const* lAttributes(inAttributeList); ++ while(lAttributes[0] && strlen(lAttributes[0])){ ++ if(strlen(lAttributes[0])>200){ ++ cerr << __FILE__ << ":" ++ << __LINE__ << ":" << flush ++ << "lAttributes[0] too long:[" << endl ++ << lAttributes[0] ++ << "]ENDOF STRING" ++ << endl; ++ };//for debugging purposes DEBUG ++ if(strlen(lAttributes[1])>200){ ++ cerr << __FILE__ << ":" ++ << __LINE__ << ":" << flush ++ << "lAttributes[1] too long:[" << endl ++ << lAttributes[1] ++ << "]ENDOF STRING" ++ << endl; ++ };//for debugging purposes DEBUG ++#ifndef _IS_SEQUENCE_AL ++ gMutex->lock(); ++ if(lAttributes[1]){ ++ // cout << "[L" << strlen(lAttributes[1]) << "L]" << flush; ++ if(strlen(lAttributes[1])){ ++ ++ int lLen(strlen(lAttributes[1])+1); ++ char* lBuffer(new char[lLen]); ++ strcpy(lBuffer,lAttributes[1]); ++ char* lBuffer2(new char[lLen]); ++ strcpy(lBuffer2,lAttributes[1]); ++ ++ insert(make_pair(lAttributes[0], ++ make_pair(lBuffer,lBuffer2))); ++ ++ //cout << "[" << lBuffer << "]" << flush; ++ assert(strlen(operator[](lAttributes[0]).second)==lLen-1); ++ assert(strlen(operator[](lAttributes[0]).first)==lLen-1); ++ }else{ ++ char* lBuffer(new char[1]); ++ lBuffer[0]=char(0); ++ char* lBuffer2(new char[1]); ++ lBuffer2[0]=char(0); ++ insert(make_pair(string(lAttributes[0]), ++ make_pair(lBuffer,lBuffer2))); ++ } ++ } ++ gMutex->unlock(); ++#else ++ push_back(make_pair(string(lAttributes[0]), ++ string((lAttributes[1] && strlen(lAttributes[1]))?lAttributes[1]:""))); ++#endif ++ lAttributes+=2; ++ } ++ } ++} ++CAttributeList::~CAttributeList(){ ++ //checkNPrint(); ++ for(iterator i=begin(); ++ i!=end(); ++ i++){ ++ ++ if(strcmp(i->second.first, ++ i->second.second)){ ++ cout << "DELETING FAILED" << flush << int(i->second.second) << flush << i->second.first << i->second.second << endl; ++ assert(0); ++ } ++ delete[] i->second.first; ++ delete[] i->second.second; ++ } ++} ++ ++CAttributeList::CAttributeList(const list<pair <string,string> >& inAttributes){ ++ gMutex->lock(); ++ ++ clear(); ++ for(list<pair <string,string> >::const_iterator i=inAttributes.begin(); ++ i!=inAttributes.end(); ++ i++){ ++ if(i->second.size()>200){ ++ cerr << __FILE__ << ":" ++ << __LINE__ << ":" << flush ++ << "i->second too long:[" << endl ++ << i->second ++ << "]ENDOF STRING" ++ << endl; ++ } ++#ifndef _IS_SEQUENCE_AL ++ int lLen(i->second.size()+1); ++ char* lBuffer(new char[lLen]); ++ strcpy(lBuffer,i->second.c_str()); ++ char* lBuffer2(new char[lLen]); ++ strcpy(lBuffer2,i->second.c_str()); ++ insert(make_pair(i->first, ++ make_pair(lBuffer, ++ lBuffer2))); ++ ++ // insert(*i); if the representation is map<string,string> ++#else ++ push_back(*i); ++#endif ++ } ++ gMutex->unlock(); ++} ++CAttributeList::CAttributeList(const CAttributeList& inAttributes){ ++ gMutex->lock(); ++ clear(); ++ for(CAttributeList::const_iterator i=inAttributes.begin(); ++ i!=inAttributes.end(); ++ i++){ ++#ifndef _IS_SEQUENCE_AL ++ if(strcmp(i->second.first, ++ i->second.second)){ ++ if(strcmp(i->second.first, ++ i->second.second)){ ++ cout << "ASSERTION FAILED" << i->second.first << "/" << i->second.second << endl; ++ assert(0); ++ } ++ } ++ assert(!strcmp(i->second.first, ++ i->second.second)); ++ int lLen(strlen(i->second.first)+1); ++ char* lBuffer(new char[lLen]); ++ strcpy(lBuffer,i->second.first); ++ int lLen2(strlen(i->second.second)+1); ++ char* lBuffer2(new char[lLen2]); ++ strcpy(lBuffer2,i->second.second); ++ ++ insert(make_pair(i->first,make_pair(lBuffer,lBuffer2))); ++#else ++ push_back(*i); ++#endif ++ } ++ gMutex->unlock(); ++} ++CAttributeList::const_iterator CAttributeList::find(string inString)const{ ++ //check(); ++ ++#ifdef _PRINTOUTS_AL ++ cout << endl ++ << "CAttributeList::find(" ++ << flush; ++ cout << inString ++ << ") size " << flush; ++ cout << size() ++ << " " ++ << inString.size() ++ << endl; ++#endif ++ ++#ifndef _CAL_FIND_WORKAROUND ++ return CAttributeList::CBase::find(inString); ++#else ++ for(const_iterator i=begin(); ++ i!=end(); ++ i++){ ++#ifdef _PRINTOUTS_AL ++ cout << "~" << flush; ++ cout << "[" << flush; ++ cout << i->first <<flush; ++ cout << "," << flush; ++ cout << i->second << flush; ++ cout << "]" << flush; ++#endif ++ ++ if(i->first==inString){ ++#ifdef _PRINTOUTS_AL ++ cout << "+" << flush; ++#endif ++ return i; ++ } ++#ifdef _PRINTOUTS_AL ++ cout << "." << flush; ++#endif ++ } ++ cout << "-" << flush; ++ return end(); ++#endif ++} ++void CAttributeList::add(const string& inFirst, ++ const string& inSecond){ ++ gMutex->lock(); ++ ++ ++#ifdef _PRINTOUTS_AL ++ checkNPrint(); ++ cout << "Adding to CAttributeList " ++ << inFirst ++ << " " ++ << inSecond ++ << endl; ++#endif ++ ++#ifndef _IS_SEQUENCE_AL ++ char* lBuffer=new char[inSecond.size()+1]; ++ lBuffer[inSecond.size()]=char(0); ++ strncpy(lBuffer,inSecond.c_str(),inSecond.size()); ++ char* lBuffer1=new char[inSecond.size()+1]; ++ lBuffer1[inSecond.size()]=char(0); ++ strncpy(lBuffer1,inSecond.c_str(),inSecond.size()); ++ ++ operator[](inFirst)=make_pair(lBuffer,lBuffer1); ++ // (*this).insert(make_pair(inFirst,inSecond)); ++#else ++ (*this).push_back(make_pair(inFirst,inSecond)); ++#endif ++ gMutex->unlock(); ++} ++/** adding an attribute for integers */ ++void CAttributeList::add(const string& inAttribute,long inValue){ ++ char lBuffer[20]; ++ for(int i=0; ++ i<20; ++ i++){ ++ lBuffer[i]=0; ++ } ++ sprintf(lBuffer, ++ "%ld", ++ inValue); ++ add(inAttribute, ++ lBuffer); ++}; ++/** adding an attribute for doubles */ ++void CAttributeList::add(const string& inAttribute,double inValue){ ++ char lBuffer[20]; ++ ++ for(int i=0; ++ i<20; ++ i++){ ++ lBuffer[i]=0; ++ } ++ sprintf(lBuffer, ++ "%lf", ++ inValue); ++ add(inAttribute, ++ lBuffer); ++}; ++ ++/** reading an attribute for integers */ ++pair<bool,bool> CAttributeList::boolReadAttribute(const string& inAttribute)const{ ++ pair<bool,string> lReadAttribute=stringReadAttribute(inAttribute); ++ ++ if(!lReadAttribute.first){ ++ return make_pair(bool(0),bool(0)); ++ }else{ ++ char* lLastCorrectCharacter=0; ++ ++ bool lReturnValue=((lReadAttribute.second=="yes") ++ || ++ (lReadAttribute.second=="y") ++ || ++ (lReadAttribute.second=="true") ++ || ++ (lReadAttribute.second=="t")); ++ return make_pair(lReadAttribute.first, ++ lReturnValue); ++ } ++}; ++/** reading an attribute for integers */ ++pair<bool,long> CAttributeList::longReadAttribute(const string& inAttribute)const{ ++ pair<bool,string> lReadAttribute=stringReadAttribute(inAttribute); ++ ++ if(!lReadAttribute.first){ ++ return make_pair(bool(0),long(0)); ++ }else{ ++ char* lLastCorrectCharacter=0; ++ ++ long lReturnValue=strtol(lReadAttribute.second.c_str(), ++ &lLastCorrectCharacter, ++ 10); ++ bool lIsValid=!(*lLastCorrectCharacter); ++ ++ return make_pair(lIsValid, ++ lReturnValue); ++ } ++}; ++/** reading an attribute for doubles */ ++pair<bool,double> CAttributeList::doubleReadAttribute(const string& inAttribute)const{ ++#ifdef __D_CATTRIBUTELIST__DOUBLEREADATTRIBUTE__ ++ cout << "In doubleReadAttribute " ++ << flush ++ << endl; ++#endif ++ ++ pair<bool,string> lReadAttribute=stringReadAttribute(inAttribute); ++ ++#ifdef __D_CATTRIBUTELIST__DOUBLEREADATTRIBUTE__ ++ cout << "AGAIN In doubleReadAttribute " ++ << flush ++ << endl; ++#endif ++ ++ if(!lReadAttribute.first){ ++ return make_pair(bool(0), ++ double(0)); ++ }else{ ++ char* lLastCorrectCharacter=0; ++ ++ double lReturnValue=strtod(lReadAttribute.second.c_str(), ++ &lLastCorrectCharacter); ++ bool lIsValid=!(*lLastCorrectCharacter); ++ ++ return make_pair(lIsValid, ++ lReturnValue); ++ } ++}; ++/** reading an attribute for strings */ ++pair<bool,string> CAttributeList::stringReadAttribute(const string& inAttribute)const{ ++ ++ //check, if the magic number is correct at this time ++ ++#ifdef _PRINTOUTS_AL ++ checkNPrint(); ++ cout << inAttribute ++ << endl ++ << flush; ++#endif ++ ++#ifdef _PRINTOUTS_AL ++ find(inAttribute); ++ cout << "came back from find()" << flush; ++#endif ++ ++ CAttributeList::const_iterator lFoundPosition(find(inAttribute)); ++ ++#ifdef _PRINTOUTS_AL ++ cout << "came back 2nd time from mAttributes.find()" << flush; ++#endif ++ ++ if(lFoundPosition != end()){ ++ assert(!strcmp(lFoundPosition->second.first, ++ lFoundPosition->second.second)); ++ ++ string lFoundString(lFoundPosition->second.first); ++ ++ pair<bool,string> lReturnValue=make_pair(bool(1), ++ lFoundString); ++ return lReturnValue; ++ } ++ return make_pair(bool(0), ++ string("")); ++}; ++/** reading an attribute for strings */ ++void CAttributeList::toXML(string& outString)const{ ++ outString += " "; ++ for(const_iterator i=begin(); ++ i!=end(); ++ i++){ ++ outString += i->first + "=\"" + i->second.first + "\" "; ++ assert(!strcmp(i->second.second, ++ i->second.first)); ++ } ++}; ++/** reading an attribute for strings */ ++void CAttributeList::check()const{ ++ for(const_iterator i=begin(); ++ i!=end(); ++ i++){ ++ assert(!strcmp(i->second.second, ++ i->second.first)); ++ } ++}; ++/** a local function */ ++template<typename T> ++static const string& _CAL_getFirst(const pair<string, T>& inElement){ ++ return inElement.first; ++} ++ ++/** Get the keys of all attributes in this list*/ ++list<string> CAttributeList::getKeys()const{ ++ list<string> lReturnValue; ++ // the following two implementations are equivalent ++ transform(this->begin(), ++ this->end(), ++ back_inserter(lReturnValue), ++ _CAL_getFirst<CAttributeList::mapped_type> ++ ); ++// #ifdef GCC30 ++// for(const_iterator i=begin(); ++// i!=end(); ++// i++){ ++// lReturnValue.push_back(i->first); ++// } ++// #endif ++ return lReturnValue; ++} +diff -Nur gift-0.1.14.orig/libGIFTAcInvertedFile/include/CInvertedFileChunk.h gift-0.1.14/libGIFTAcInvertedFile/include/CInvertedFileChunk.h +--- gift-0.1.14.orig/libGIFTAcInvertedFile/include/CInvertedFileChunk.h 2005-03-24 10:18:15.000000000 +0100 ++++ gift-0.1.14/libGIFTAcInvertedFile/include/CInvertedFileChunk.h 2007-05-13 11:39:54.000000000 +0200 +@@ -73,7 +73,7 @@ + * add one document of to the list for one feature + * + */ +- void CInvertedFileChunk::addElement(TID inDocumentID, ++ void addElement(TID inDocumentID, + double inDocumentFrequency); + + /** +diff -Nur gift-0.1.14.orig/libGIFTAcInvertedFile/include/CInvertedFileChunk.h~ gift-0.1.14/libGIFTAcInvertedFile/include/CInvertedFileChunk.h~ +--- gift-0.1.14.orig/libGIFTAcInvertedFile/include/CInvertedFileChunk.h~ 1970-01-01 01:00:00.000000000 +0100 ++++ gift-0.1.14/libGIFTAcInvertedFile/include/CInvertedFileChunk.h~ 2005-03-24 10:18:15.000000000 +0100 +@@ -0,0 +1,89 @@ ++/* -*- mode: c++ -*- ++*/ ++/* ++ ++ GIFT, a flexible content based image retrieval system. ++ Copyright (C) 1998, 1999, 2000, 2001, 2002, CUI University of Geneva ++ ++ Copyright (C) 2003, 2004 Bayreuth University ++ 2005 Bamberg University ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ ++*/ ++// -*- mode: c++ -*- ++/** ++* ++* CInvertedFileChunk ++* ++* ++* ++* modification history: ++* ++* HM 090399 created the documentation ++* ++* ++* ++* compiler defines used: ++* ++* ++*/ ++#ifndef _CINVERTEDFILECHUNK ++#define _CINVERTEDFILECHUNK ++#include "libGIFTAcInvertedFile/include/uses-declarations.h" ++#include <iostream> ++#include <fstream> ++#include "libMRML/include/TID.h" ++#include <map> ++#include "libGIFTAcInvertedFile/include/CDocumentFrequencyList.h" ++ ++ ++/** */ ++class CMapInvertedFileChunk:public map<TID,double>{}; ++ ++ ++/** A class which does all the necessary administrative ++ work for generating inverted files. It contains the list of ++ documents which contain a given feature */ ++class CInvertedFileChunk:public CMapInvertedFileChunk{ ++ ++public: ++ ++/** ++ * ++ * returns the percentage of documents which contain this one feature ++ * ++ */ ++ ++ double getCollectionFrequency(size_t inSize)const; ++ ++/** ++ * ++ * add one document of to the list for one feature ++ * ++ */ ++ void CInvertedFileChunk::addElement(TID inDocumentID, ++ double inDocumentFrequency); ++ ++/** ++ * ++ * writes the binary part of the list for one feature ++ * ++ */ ++ bool writeBinary(ostream&, ++ TID inFeatureID, ++ size_t inSize)const; ++}; ++ ++#endif |