Byla vydána nová verze 2.53.18.2 svobodného multiplatformního balíku internetových aplikací SeaMonkey (Wikipedie). Přehled novinek v poznámkách k vydání.
Na blogu programovacího jazyka Swift byl publikován příspěvek Psaní aplikací pro GNOME v programovacím jazyce Swift. Používá se Adwaita pro Swift.
egui je GUI knihovna pro programovací jazyk Rust běžící na webu i nativně. Vydána byla verze 0.27.0.
Byla vydána nová verze 6.1 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.13. Thunderbird na verzi 115.9.0.
Linka STOPonline.cz v roce 2023 přijala 3700 hlášení závadného obsahu na internetu, 22 bylo předáno PČR, 23 bylo předáno ISP a 944 závadových domén zobrazujících dětskou nahotu či pornografii bylo nahráno do mezinárodního systému ICCAM, který je spravován asociací INHOPE.
Byla publikována podrobná analýza v upstreamu již opravené bezpečnostní chyby CVE-2024-1086 v Linuxu v nf_tables.
Byla vydána nová verze 4.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v obsáhlých poznámkách k vydání.
Úkolníček Taskwarrior (Wikipedie) pro správu úkolů z příkazového řádku byl vydán ve verzi 3.0.0.
Společnost Canva stojící za stejnojmenným webovým grafickým editorem koupila společnost Serif stojící za grafickým editorem Affinity.
Byla vydána betaverze Fedora Linuxu 40, tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 16. dubna. Z novinek (ChangeSet) lze vypíchnout podporu frameworku pro strojové učení PyTorch. Fedora KDE Plasma Desktop přichází s Plasmou 6 a běží nad Waylandem. Fedora Workstation přichází s GNOME 46.
namespace deghosting { class Deghosting { public: Deghosting() { ; } virtual vector<FImagePtr> createWeightMasks() = 0; virtual void loadImages(vector<string>& newInputFiles) = 0; virtual void setFlags(const uint16_t newFlags) = 0; virtual void setIterationNum(const int newIterations) = 0; virtual ~Deghosting() { ; } }; }khan.h
namespace deghosting { /** Mexican hat function, eq. 5 from Khan paper */ // AS FUNCTOR template <typename InputType, typename ResultType> class weightMexicanHatFunctor { public: weightMexicanHatFunctor() { ; } inline ResultType operator()(const InputType& a) const { return mexicanHat(a); } protected: template <class T> inline ResultType mexicanHat(const T& a) const { typedef typename NumericTraits<T>::RealPromote RealType; const RealType x = NumericTraits<T>::toRealPromote(a); RealType t = (x/127.5 -1); t *= t; // ^2 t *= t; // ^4 t *= t; // ^8 t *= t; // ^16 return NumericTraits<ResultType>::fromRealPromote(1.0 - t); } }; struct khanAdvModes { // nějaké ty enumy }; template <class T> class khan : public Deghosting { public: khan(vector<string>& setInputFiles, int setIter, uint16_t setFlags, uint8_t setSave, uint8_t setUI); void loadImages(vector<string>& newInputFiles) { inputFiles = newInputFiles; } void setFlags(const uint16_t newFlags) { flags = newFlags; } void setSaveMode(const uint8_t newSave) { save = newSave; } void setIterationNum(const int newIterations) { iterations = newIterations; } int getWidth() { return width; } int getHeight() { return height; } vector<FImagePtr> createWeightMasks(); ~khan(); private: // implementační krávovinky }; }Otázka je, proč mi to sakra po slinkování do .so knihovny nefunguje. Ostatní funkce, které jsou samostatně definováni v namespace deghosting ale podle nm exportovány jsou. Kompletní zdrojáky jsou ke stažení ze svn: https://hugin.svn.sourceforge.net/svnroot/hugin/hugin/branches/gsoc2009_deghosting/
add_executable(hugin_hdrmerge hugin_hdrmerge.cpp jbu.cpp khan.cpp support.cpp) target_link_libraries(hugin_hdrmerge ${common_libs} ${image_libs})Tady by snad neměly být žádné problémy, ale opět skončím s chybou:
/home/lukas/development/gsoc2009_deghosting/src/deghosting/hugin_hdrmerge.cpp:396: undefined reference to `deghosting::khan<deghosting::weightMexicanHatFunctor<int, float> >::khan(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, int, unsigned short, unsigned char, unsigned char)'
khan<weightMexicanHatFunctor<int,float> > deghoster(inputFiles, num_iters, adv, save, ui);
tak by snad mělo ke konkretizaci té šablony dojít, ne? Problém je, že nejsem moc zběhlý v používání šablon tříd.
Pokud ji mas v .cpp, tak ji prendej to souboru s priponou .tcc a ten includuj na konci headeru. Vzhledem k tomu, ze ta metoda je inline, tak by ani nemela byt v knihovne.
Ivan
Tiskni Sdílej: