About string : who can help interpret the following into english?

// JR 16-jul-1998
// Algorithme utilise pour le calcul des longueurs de strings
// Je suppose que les octets sont de l'ascii 7 bits.
// Si un des octets d'un mot est a zero et si on soustrait 0x01010101 a ce
// mot, l'octet a zero change de signe.
// Reciproquement si (( Word - 0x01010101 ) & 0x80808080 ) != 0
// alors Word a un octet a zero.

// Si on a des octets negatifs et si on applique le resultat ci-dessus a
// ( Word & 0x7f7f7f7f ), cela sera vrai sauf si un des octets vaut 0x80
// auquel cas on trouvera un octet a zero a tort.

// Conclusion : il suffit de controler la presence d'un octet a zero a partir
// du debut du mot ou l'on croira en avoir trouve un pour traiter
// correctement les octets qui valent 0x80.

// La meme chose est vraie pour les extendedstrings.

// D'autre part afin d'accelerer les traitements, on teste si les chaines
// sont alignees sur des mots de 32 bits ( AND de l'adresse avec 3 ) ou
// sont alignees sur des shorts de 16 bits ( AND de l'adresse avec 1 ).

Bearloga's picture

You can translate by yourself using http://babelfish.altavista.com/