A samozrejme je tu ta soucastka, bsd prevodnik, asi 20 kc zalezitost, tusim. Nevim jestli to nema dokonce i51 v sobe zabudovane.
Příspěvky odeslané z IP adresy 2001:718:2601:26c:51a1:40...–
Jeste by tam slo dat ifka. Ale i51 to deleni ma rychle.
if (cislo<10) {return [0,0,cislo]}
if (cislo<100) {spoc c10, c1; return [0,c10,c1]}
spoc c100, c10, c1; return [c100,c10,c1]
Nebo opacne
zbytek = cislo
zbytek>100 -> c100, zbytek
zbytek>10 -> c10, zbytek
-> c1
Jeste by slo dat vysledky do pameti, jestli se chces vyhnout deleni (pro moc opakovani prevodu).
Jo, a jestli bys chtel neco podobne pouzit, mozna lepsi si najit nejaky hotovy program googlem :)
Mam spesl pozadavky a hotovy program predelat, aby delal neco jineho je, jako predelat motorku na formuli 1. Oboje umi 300km/h, tak by to nemel byt preci problem, ne? :) Takhle na to kouka zakaznik.
Jo, ten left by to urychlil. Taky to tak delam a pocitam priblizne. Ani na to, ze to canvas spocita dobre nespoleham. Ale priblizne mi to staci.
Normalne pracujes s tabulkou TR a pak TD. Ono by slo vytahnout TD pro celou tabulku a pak to delat po sloupcich, jak rikas. Ale ten cas by to neovlivnilo. Fakt problem dela prvni pouziti slova offset.
Ten alert pro weroro jsem uz zakomentoval. Ale muze si to nahrat k sobe a odkomentovat. Fakt tam pise tech 400.
Unika ti, co jsem napsal driv :) Kdyz pouzijes slovo offset (i bez cyklu), tak nejspis vypocita v cele tabulce offsety. A pritom, pred chvilkou jsem tu tabulku rendroval, takze to mel mit uz prece spocitane, ne? A rendrovani trvalo 0.04s, proc offset trva 10x vic, 0.4s ? :) To je takova trochu nelogika prohlizece.
Nove to resim tak, ze mam seznam slov pro jednotlive sloupce (pouzivam ho pro filtry). Ten seznam pak vyradi rady. Z tech radku vyberu unikatni slova pro sloupec. A pro ty spocitam max sirku.
Zni to slozite, ale jinak to nejde, pokud treba vyradim 3 slova z prvniho sloupce a 2 z druheho, tak muzu vyradit i radky, ktere obsahuji nevyrazene slova. Tak proto si generuji ten seznam znovu.
A kdyz mrknes na js kod, tak mam seznam slov zvlast a tabulka jsou jen cisla, indexy, takze to filtrovani slov mam hodne rychle udelane, protoze pracuje jen s cisly db_filter + db_map.
Driv to bylo pres ten canvas 40 ms, ted je to 100 ms, ale stale lepsi nez 400 ms. Ale ta drivejsi verze taky nemenila sirku tabulky, kdyz se zapl filtr :) Tam jsem bral vsechna slova z db_values
Presne tak. A nejspis i ohranicene cimkoliv jinym. Ale pro to datum to staci. 1, ze to hleda 1, cili dve to bude ignorovat. Casove rychlejsi by mohlo byt to reseni s map + callback funkce (treba pro 1000 opakovani). Ikdyz, kdo vi, reg. vyrazy se ted dost optimalizuji.
Spis mne prekvapuje, ze tak zasadni vec o tabulce, sloupcich, se neuklada nekde do elementu table. Ze je treba to znovu prepocitat. Pri vykreslovani tabulky to preci zjistoval, ne?
#2 Jerry
Obavam se, ze hu uz davno pracuje :)
51 se ucila na SPS Zlin, pred x lety a snad stale uci.
#1 hlucheucho
Z toho google jsem na jednom forku nasel tohle, ale obvykle se pouziva BCD prevodni chip
BIN_DEC: MOV A,R0
MOV B,#100
DIV AB
MOV R3,A ; R3 CONTAIN HUNDRED NUMBER
MOV A,B
MOV B,#10
DIV AB
MOV R2,A ; R2 CONTAIN TENTH NUMBER
MOV R1,B ; R1 CONTAIN LEFT DECIMAL NUMBER
RET
Binarni shiftovani ti je na houby, protoze binarni soustava pouziva nasobky 1, 2, 4, 8, 16.
Treba jako, kdy se to moc nehodi, je prave kontrola datumu. Datum totiz ma kazdy mesic jiny pocet dnu. A pres 4 roky se meni prestupny rok. A ten navic ne vzdy je pres 4 roky. Nebo, kdybys chtel zjistovat velikonocni pondeli, tak to se kazdy rok meni datum. Proste bys musel udelat dost pracny reg. vyraz. A to je jednodussi jit pres vypocty. Nebo pouzit pribliznou shodu,
\d\d?\.\d\d?\.\d\d(\d\d)?
\d cislo
\d? cislo nebo nic
\d\d? - cili to je 1 nebo 2 cislice
\. tecka (protoze obyc tecka ma pro reg vyznam, tak se musi komentovat lomitkem)
\d\d(\d\d)? - 2 nebo 4 cislice (pro rom, 17 nebo 2017)
ale uz nekontrolujes, jestli nezada clovek nesmyslne datum, treba 99.99.9999
MilanL - Hele, regularni vyrazy jsou jednoduche, kdyz pochopis, jak to funguje. On proste hleda zadanou kombinaci pismen nebo skupiny znaku. Ty si ozavorkujes a nahradis celou skupinu za jinou nebo obsahem nalezene kombinace.
ahoj - hleda skupinu znaku 'ahoj'
[ahoj] - hleda 1 znak, ktery je z mnoziny znaku, a nebo h nebo o nebo j
a??? - hleda 1 znaky, kde prvni je a a dalsi 4 jsou jakekoliv (ahoj, auto, a123, a!?*, ...)
a.{3} - totez, . je jakykoliv znak, 3 je min pocet
a.{3,3} - totez min 3 max 3
[a][h][o][j] - hleda slovo ahoj, viz prvni radek
atd...
Pak jsou tam ruzne predpisy se zavorkovanim, pred zavorkou, za zavorkou, opakovani znaku nebo cele zavorky nekolikrat a pod.
Da se to pouzit, kdyz chces z tel. cisla smazat vsechny znaky, ktere nejsou cislo (jakoze nekdo dava na zacatek #, doprostred mezery, minuska, lomitka, ale do db chces dostat jen cislo bez tech znaku) a ruzne korekce textu od uzivatele.
Tak, je to tam, viz stale stejny link :) Trochu jsem se s tim pral, protoze nedavam funkci primo table element a pouzivam TH misto TD.
({
num_of_cols:20,
cols_width:[43, 219, 64, 282, 110, 49, 281, 72, 96, 97, 62, 97, 125, 156, 48, 63, 104, 58, 48, 206],
cols_left:[2, 45, 265, 329, 611, 721, 771, 1052, 1124, 1221, 1318, 1380, 1477, 1602, 1758, 1806, 1870, 1974, 2032, 2081],
exec_time:404
})
Snad to uspokoji vsechny tve potreby :)
http://mlich.zam.slu.cz/js-zas2/zas2.htm
Mam to upravene s tim canvas a prochazenim vsech slov. Prvne jsem to udelal se seznamu filtru. Coz samozrejme jelo, 40ms. Ale ukazalo se, ze tam pouzivam pokrocilejsi filtrovani tak, ze slova z filtru vyrazuji, to je ok. Jenze muzu mit nekolik filtru najednou, vyplnene ty kolonky pro vyhledavani a pak mi to rozhazelo sirky bunek te horni tabulky.
To tve reseni, podle mne, dela to same, co dela ten muj puvodni kod s offset. Jen tam mam 800 radku. Jako, zkusim to tam testnout a dam vedet, ale nic si od toho neslibuji. Jen pro klid tve duse, ze je to uplne napikacu a nevymyslim si to i bez toho, ze bych to tam aspon vyzkousel :)
Jak to prohlizec dela, ze jo? Vytvori si treba span, napise tam text, zmeri delku. Totez musi udelat pro vsechna slova ve sloupci. Jaky je rozdil mezi tvou tabulkou a mou? V me ty slova maji nekolik vic moc pismen, ktera musi pres font vykreslit.