-
Data: 2014-10-12 13:39:46
Temat: Re: Algorytmiczny problem lamera... :-)
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Sunday, October 12, 2014 12:53:04 PM UTC+2, bartekltg wrote:
> Jeśli zawsze i wszędzie masz 30, może array<int,30> coś poprawi.
Bedę mial jeszcze wieksza sieczke, tamto na pastebin stanowi tylko
zgrubny test. Docelowo mniej / wiecej:
struct A {
QVector<int> iv;
QVector<float> fv;
};
struct B {
QVector< A > vs;
};
B b;
for( i=0 ; i<b.vs.size() ; i++ ) {
bool all = true;
int j = 0;
while( all && j<b.vs[i].iv.size() ) {
all = b.vs[i].vi[j] >= mini[j] && b.vs[i].vi[j] <= maxi[j];
j++;
}
j = 0;
while( all && j<b.vs[i].fv.size() ) {
all = b.vs[i].vf[j] >= minf[j] && b.vs[i].vf[j] <= maxf[j];
j++;
}
if( all ) coś();
}
> Albo nawet adresować wszytko liniowo (skoro nie boisz się
> bawić wskaźnikami, i to nie powinno być problemem.)
Pewnie druga wersja bedzie na samych wskaznikach i malloc.
> Poza tym,
> vector[i][j] >= min[j] && vector[i][j] >= min[j]
> To imho dwa razy to samo.
Mialo byc
vector[i][j] >= min[j] && vector[i][j] <= max[j]
Na pastebinie jest troche lepsza wersja.
> Czysto estetycznie, może drugiego fora zastąpić while,
> (albo nawet std::find_if, w końcu szukasz pierwszego
> elementu nie spełniającego pewnego kryterium), początkowo
> patrząc na ten kod 'nie widziałem' tego, że for kręci pustą
> instrukcją.
Tak, puste instrukcje nie sa zbyt czytelne.
> To się cudownie równoległa;-)
Tak! Ale to potem.
Ciekawe czy na dlugich rejestrach by sie dalo sprawdzic kilka
warunkow w jednej iteracji. Na karcie grafiki tez powinno
niezle przyspieszyc, ale moja ksiazka do CUDA lezy od ponad
roku na polce i jeszcze do teraz smierdzi drukarnia :D
Pozdrawiam
Następne wpisy z tego wątku
- 12.10.14 17:25 bartekltg
- 12.10.14 19:53 M.M.
- 12.10.14 21:03 bartekltg
- 12.10.14 22:03 M.M.
- 24.10.14 10:55 m...@g...com
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-13 Gdańsk => Application Security Engineer <=
- 2025-01-13 Białystok => System Architect (Java background) <=
- 2025-01-13 Warszawa => Konsultant ds. sprzedaży <=
- 2025-01-13 Warszawa => Key Account Manager <=
- 2025-01-13 Szczecin => Senior Field Sales (system ERP) <=
- 2025-01-13 Rzeszów => International Freight Forwarder <=
- 2025-01-13 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-01-13 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-13 Warszawa => Staż w dziale Sprzedaży B2B <=
- 2025-01-13 Wydajność klimy w obecnych temperaturach
- 2025-01-13 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-01-13 Kraków => UX Designer <=
- 2025-01-13 Katowice => Key Account Manager (ERP) <=
- 2025-01-13 Mińsk Mazowiecki => Spedytor Międzynarodowy <=
- 2025-01-12 USB3.x->HDMI/DP ze sterownikami w win11