forumti.gif
@_ö
(07:46)  Bienvenue ! - Inscrivez vous pour poster ! -
Boo, 31 inconnu(s), 40 bot(s)

Login :  Mot de passe :      Se souvenir de moi.  Mot de passe perdu ?
/!\:: Cliquez ici pour vous inscrire et poster, créer des sujets ou des forums ! ::/!\
 « Précédent - 14/14 - » :: Pages
 Index » Forum Ti89, 92+, Voyage 200 et Nspire » Prog C TI (398r) » Librairie dynamique
./390 - REPRISE AUTOMATIQUE DU MESSAGE PRECEDENT
18.06.2001 - 29166
13:46  Folco - Posté : 02-03-2010  Infos M
Kevin Kofler (./389) :
Oui, il est fait avant le prochain sequence point, qui est ||.

Erf zut... (sinon oui, j'ai multi-cross-édité)
avatar<<< Kernel Extremist©®™ >>>
Saint Qt, priez pour nous.
./Publicité AdSense
./391
10.06.2001 - 34614
13:48  Kevin Kofler - Posté : 02-03-2010  Infos M
J'ai édité moi aussi: la comparaison avec EOL est aussi redondante.
avatarMes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité
./392
28.08.2003 - 8213
14:01  Sasume - Posté : 02-03-2010  Infos M
Folco (./388) :
	while ((*Ptr != EOL) && ((*Ptr++ == SPACE) || (*Ptr == HTAB)));
Là tu ne skipperas la séquence "a\HTAB" par exemple. Je ne pense pas que ce soit ce que tu veux.
avatar« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »
./393
15.06.2003 - 7823
15:27  GoldenCrystal - Posté : 02-03-2010  Infos @_ö
Hmm…
unsigned long disallowed_chars = 0x80000100;

unsigned char c;
while (((c = *Ptr - 1) & 0xE0) == 0 && peek_bit(disallowed_chars, c & 0x1F)) Ptr++;
?
Je sais pas ce que ça vaut par rapport au code original, mais ça marche pour un nombre indéterminé de caractères autorisés/interdits, moyennant adaptation du code, et la sortie de boucle est ici très rapide pour tous les caractères communs.
Il doit être possible d'optimiser ça mieux en ASM, mais…
avatarLe scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes
./394
18.06.2001 - 29166
16:03  Folco - Posté : 02-03-2010  Infos M
Ben en asm, c'est over rapide en effe, surtout quand on renvoie juste le Z-flag bien mis en cas de EOL/EOF rencontré...

Sinon ça va ça ?
/** SkipEndOfLine
	*
	* Return a pointer to the first char of the next line
	*/
const char *SkipEndOfLine(const char *Ptr)
{
	while (*Ptr && (*Ptr++ != EOL));
	return Ptr;
}

Faut renvoyer un pointeur sur EOL+1 ou EOF si on le trouve.
avatar<<< Kernel Extremist©®™ >>>
Saint Qt, priez pour nous.
./395
15.06.2003 - 7823
16:23  GoldenCrystal - Posté : 02-03-2010  Infos @_ö
J'aurai plutôt appelé ça « SkipLine » mais sinon pareil tu peux essayer un truc genre:
do while (*Ptr & 0xF0) Ptr++; while (*Ptr && *Ptr++ != EOL);
Je ne garantis pas que ça soit plus rapide (ça va dépendre de l'ASM généré), mais je pense que ça l'est. À tester, quoi tongue
(En fait si c'est plus rapide, ça sera plus rapide pour les longues lignes ne contenant aps trop de codes de contrôle (cas général), mais pas pour le reste, y compris les lignes vides)
avatarLe scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes
./396
10.06.2001 - 34614
16:28  Kevin Kofler - Posté : 02-03-2010  Infos M
Euh, un and n'est pas plus rapide qu'un cmp, c'est n'importe quoi, ton code. #roll#
avatarMes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité
./397
15.06.2003 - 7823
16:29  GoldenCrystal - Posté : 02-03-2010  Infos @_ö
Oui mais c'est un test VS deux tests également. ^^
Et puis je ne connais plus les timings du 68000 par cœur, tu m'excuseras tongue
(En fait je ne suis même pas certain de les avoir connu un jour)
avatarLe scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes
./398
30.06.2001 - 56658
00:30  Godzil - Posté : 08-03-2010  Infos M
GC: En meme temps connaitre les timings du 68k par coeur, je sais pas si c'est un truc dont il faut forcement se vanter...
avatar
Proud to be CAKE©®™
The cake is a lie! - Love your weighted companion cube

->986-Studio's Wonder Project!<-
./399
27.04.2006 - 42654
14:09  @Zerosquare - Posté : 08-03-2010  Infos @_ö
Hé ho, c'est quoi cette insulte déguisée envers les geeks ? embarrassed
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo
./Publicité AdSense
 « Précédent - 14/14 - » :: Pages
 Index » Forum Ti89, 92+, Voyage 200 et Nspire » Prog C TI (398r) » Librairie dynamique

./Poster un nouveau message. - Ouvrir dans une nouvelle fenêtre
Login : Mot de passe :

url - image - media  
spoiler - pre - fixed
quote - box - hr
poll - code





Smileys
Smileys perso
Pièce jointe
   
Les messages postés sont la propriété de leurs auteurs. Nous ne sommes pas responsables de leurs contenus.

» yN ©1624 - Aide / Charte / Crédits
33ms | Statistiques