Page 1 sur 1

Bug sur type Quad pour les version de PB x64

Publié : mar. 09/déc./2014 7:33
par Lord Nelson
Bonjour,

Y à t-il un bug avec ce code ?
Le résultat devrais être je crois 4294967296 non ?

J'ai du zappé quelque chose s'en doute :?
Je travail avec 5.31 x 64 bits.

Code : Tout sélectionner

Rouge = 0
Vert = 0
Bleu = 0
Alpha = 0
Omegat = 1

A.Q = Rouge + (Vert * 256) + (Bleu * 65536) + (Alpha * 16777216) + (Omegat * 4294967296)
Debug A.Q

Re: Bug ?

Publié : mar. 09/déc./2014 8:33
par GallyHC
Bonjour,

A regarder cela je suis sceptique :

Code : Tout sélectionner

Define ivartest.i = 1

Debug ivartest

Debug (Omegat * 4294967296)
Debug (1 * 4294967296)


Cordialement,
GallyHC

Re: Bug ?

Publié : mar. 09/déc./2014 8:37
par Lord Nelson
Tu veux dire:

Code : Tout sélectionner

Define ivartest.i = 1

Debug ivartest

Debug (ivartest * 4294967296)
Debug (1 * 4294967296)

Re: Bug ?

Publié : mar. 09/déc./2014 8:38
par PAPIPP
Bonjour Lord Nelson

Il ni a pas de bug.
les type par défaut sont .l de 4 octets il faut des types .q de 8 octets 4294967296 dépasse la capacité du type .l.

Long .l 4 bytes -2147483648 to +2147483647
Quad .q 8 bytes -9223372036854775808 to +9223372036854775807 ou ((2^63)-1)

Comme cela.

Code : Tout sélectionner

Rouge.q=0
Vert.q=0
Bleu.q=0
Alpha.q=0
Omegat.q=1

A.Q=Rouge+(Vert*256)+(Bleu*65536)+(Alpha*16777216)+(Omegat*4294967296)
Debug A.Q
A+

Re: Bug ?

Publié : mar. 09/déc./2014 8:47
par Lord Nelson
Bonjour PAPIPP,
PAPIPP a écrit :Bonjour Lord Nelson

Il ni a pas de bug.
les type par défaut sont .l de 4 octets il faut des types .q de 8 octets 4294967296 dépasse la capacité du type .l.

Long .l 4 bytes -2147483648 to +2147483647
Quad .q 8 bytes -9223372036854775808 to +9223372036854775807 ou ((2^63)-1)

Comme cela.

Code : Tout sélectionner

Rouge.q=0
Vert.q=0
Bleu.q=0
Alpha.q=0
Omegat.q=1

A.Q=Rouge+(Vert*256)+(Bleu*65536)+(Alpha*16777216)+(Omegat*4294967296)
Debug A.Q
A+
Ah oui, c'est sur, ton code là il marche trop bien :roll:
J'y est pensé figure toi et le résultat, bha ta qua tester ton code avent de le mettre sur le forum tien, ça t'apprendra :wink:

Non c'est pas méchant mais quand tu poste un code, assure toi qu'il fonctionne car là ta crédibilité en prends un bon gros coup :mrgreen:
Merci et le prends pas mal hein :wink: , c'est juste que ça me fais un peut rager se genre de truc :mrgreen:
Désoler si j'ai été un peut crue ou maladroits, c'est pas méchant :)

Ya bien un bug je pense.

Re: Bug ?

Publié : mar. 09/déc./2014 9:45
par TazNormand
Je confirme ce que dis Lord Nelson, d'autant qu'un simple :

Code : Tout sélectionner

Omegat.q = 1
A.q = (Omegat * 4294967296)
b.d = (Omegat * 4294967296)

Debug A
Debug b
Donne aussi 0 (Sous PB 5.22, 5.23, 5.30 et 5.31) pour les Quads, et bien 4294967296.0 pour le Double

Je crée un topic dans Bugs sur le forum Anglais

Re: Bug ?

Publié : mar. 09/déc./2014 12:41
par PAPIPP
Bonjour à tous.

Les arguments "ad-hominem" ne sont jamais bons.
Un peu de réserve et de respect ne sont pas de trop ici.
Chez moi sur xp sp3 32 bits.

le résultat est sur le test de TazNormand :

Code : Tout sélectionner

Omegat.q = 1
A.q = (Omegat * 4294967296)
b.d = (Omegat * 4294967296)

Debug A
Debug b
Résultats en 32 bits
4294967296
4294967296.0

Je confirme il ni a pas de BUG en 32 bits
Testez en 32 bits.

Re: Bug ?

Publié : mar. 09/déc./2014 13:22
par raven
chez moi c'a donne ça:
pb_5.24 x86 lts:

Code : Tout sélectionner

4294967296
4294967296.0
Pb 5.31x86:

Code : Tout sélectionner

4294967296
4294967296.0
Pb 5.24 x64:

Code : Tout sélectionner

0
4294967296.0
Pb 5.31 x64:

Code : Tout sélectionner

0
4294967296.0

Re: Bug ?

Publié : mar. 09/déc./2014 13:29
par falsam
*Supprimé

Re: Bug ?

Publié : mar. 09/déc./2014 13:31
par Lord Nelson
Bonjour,

PAPIPP, je te fais mes sincères excuses, c'est vraie que j'ai été un peut sec surtout que, en faite il avais pas raison :oops:
Ceci me servira de leçon, encore désoler :oops:
J'ai été maladroit.

Re: Bug ?

Publié : mar. 09/déc./2014 14:22
par TazNormand
Oui, après coup, je viens de m'apercevoir que le problème n'intervenait uniquement sur les versions x64, et que ça fonctionne nickel sur x86. :oops:

Fred, si jamais tu passes par là, un petit commentaire serait le bienvenu :)

Re: Bug sur type Quad pour les version de PB x64

Publié : mar. 09/déc./2014 14:29
par GallyHC
Bonjour,

Oui je voulais bien faire ce code :

Code : Tout sélectionner

Define ivartest.i = 1

Debug ivartest

Debug (ivartest * 4294967296)
Debug (1 * 4294967296)
Petite erreur a la copie du a un "ctr-z". Testé sur x32 (ok) et sur x64 (pas bon) et sur pb 5.31.

Cordialement,
GallyHC

Re: Bug sur type Quad pour les version de PB x64

Publié : mar. 09/déc./2014 15:42
par Lord Nelson
Alors c'est cool ça car je viens de soulever un bug, c'est trop fort ça et c'est la toute première fois ^^