π
<-
Chat plein-écran
[^]

Bug semaine nClock

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

Bug semaine nClock

Message non lude critor » 07 Jan 2016, 12:36

Bug de nClock signalé sur cnCalc : http://www.cncalc.org/thread-11948-1-1.html
Image Image

Le programme nous indique donc :
  • Thu 5 janvier 2016 (soit jeudi au lieu de mardi)
  • Fri 6 janvier 2016 (soit vendredi au lieu de mercredi)

Je viens de tester sur TI-Nspire CX CAS avec Ndless 4.0.3, et le programme m'apprend que nous sommes aujourd'hui 7 janvier 2016 un samedi, et que je n'aurais donc pas dû aller travailler...



Dans tous les cas il semble donc y avoir un décalage de 2 jours.
Un problème dans le cas particulier de l'année 2016 bissextile ? Ou bien personne n'avait jamais remarqué que ça ne marchait pas ?

Tout ce qu'a fait la mise à jour récente du programme, c'est :
  • rajouter 4 syscalls pour la gestion de 4 OS supplémentaires
  • mise à jour du Makefile pour utilisation du dernier SDK Ndless
Cela n'aurait pas dû introduire de bug.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.3%
 
Messages: 41494
Images: 14626
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Bug semaine nClock

Message non lude Hayleia » 07 Jan 2016, 12:47

Je ne l'ai pas mis à jour depuis un moment, et j'ai Thu 06 Jan 2016.
Je précise de plus que je demande le 7, elle me met quand même le 6 -.-

Je pense qu'en fait les gens n'ont même pas remarqué (en tout cas moi j'ai rien vu) parce que l'intérêt principal est la miniclock.

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
Avatar de l’utilisateur
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 43.8%
 
Messages: 2509
Images: 2
Inscription: 30 Aoû 2011, 08:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Templar

Re: Bug semaine nClock

Message non lude Ti64CLi++ » 07 Jan 2016, 13:13

J'avais remarqué cela mais pensant que c'était dû à une mauvaise config, ne l'ai pas signalé :(
Image
Avatar de l’utilisateur
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 32.3%
 
Messages: 3441
Images: 75
Inscription: 04 Juil 2014, 14:40
Localisation: Clermont-Ferrand 63
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: ENS Rennes
GitHub: Ti64CLi

Re: Bug semaine nClock

Message non lude critor » 07 Jan 2016, 13:46

Ok, merci pour vos confirmations.

Quelle erreur Levak aurait-il donc commise dans le code suivant que j'ai bien du mal à suivre ?
Code: Tout sélectionner
static short year_codes[] = {5, 4, 2, 0};
static short month_codes[] = {0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5};
static char weekdays[][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};

char * getWeekDay(int year, int month, int day) {
    int d = (year>>2)/25;
    int r = year - (d<<2)*25;
    return weekdays[(year_codes[d&3] + r + (r>>2) + ((r&3)==0) + month_codes[month-1] + day + 1) % 7];
}

Je comprends qu'il y a entre autres un test sur les années bissextiles, mais ne sais pas si il est exact (pour référence : une année est bissextile si elle est divisible par 4, à l'exception des changements de siècle qui ne sont pas bissextiles, et à l'exception à nouveau des changements de millénaire qui sont bissextiles).
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.3%
 
Messages: 41494
Images: 14626
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Bug semaine nClock

Message non lude Ti64CLi++ » 07 Jan 2016, 13:50

critor a écrit:(pour référence : une année est bissextile si elle est divisible par 4, à l'exception des changements de siècle qui ne sont pas bissextiles, et à l'exception à nouveau des changements de millénaire qui sont bissextiles).

Si une année n'est pas multiple de 4, on s'arrête là, elle n'est pas bissextile.
Si elle est multiple de 4, on regarde si elle est multiple de 100.
Si c'est le cas, on regarde si elle est multiple de 400.
Si c'est le cas, l'année est bissextile.
Sinon, elle n'est pas bissextile.
Sinon, elle est bissextile.

Voilà le test pour savoir si une année est bisextile ;)
Image
Avatar de l’utilisateur
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 32.3%
 
Messages: 3441
Images: 75
Inscription: 04 Juil 2014, 14:40
Localisation: Clermont-Ferrand 63
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: ENS Rennes
GitHub: Ti64CLi

Re: Bug semaine nClock

Message non lude critor » 07 Jan 2016, 13:55

Je sais. Mais maintenant, dis-nous si c'est bien ce que fait le test de Levak dans mon post précédent.
Et si c'est bien ce qu'il fait, quelle est l'erreur alors ?
@+
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.3%
 
Messages: 41494
Images: 14626
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Bug semaine nClock

Message non lude Hayleia » 07 Jan 2016, 13:57

Je ne comprends pas du tout le calcul en fait. Tout ce que je vois c'est des divisions et multiplications par 4 (logique pour les bissectiles) et par 25 (ce qui combiné avec les 4 donne peut être les 100 pour les siècles) mais je ne vois rien de plus clair.

Sinon, vous pouvez peut être tenter de remplacer ce code par une des implémentations décrites par wikipédia ?
https://en.wikipedia.org/wiki/Determina ... nt_methods

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
Avatar de l’utilisateur
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 43.8%
 
Messages: 2509
Images: 2
Inscription: 30 Aoû 2011, 08:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Templar

Re: Bug semaine nClock

Message non lude Ti64CLi++ » 07 Jan 2016, 13:57

Non, il calcule juste le jour de la semaine.
J'ai l’impression qu'il prend en conte les années bissextiles.
Vu les calculs qui fait. ;)
C'est peut-être sa combinaison qui ne marche pas bien
Image
Avatar de l’utilisateur
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 32.3%
 
Messages: 3441
Images: 75
Inscription: 04 Juil 2014, 14:40
Localisation: Clermont-Ferrand 63
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: ENS Rennes
GitHub: Ti64CLi

Re: Bug semaine nClock

Message non lude Hayleia » 07 Jan 2016, 14:30

neuronix a écrit:Non, il calcule juste le jour de la semaine.
J'ai l’impression qu'il prend en conte les années bissextiles.
Vu les calculs qui fait. ;)
C'est peut-être sa combinaison qui ne marche pas bien

Tout ça, on avait bien compris...

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
Avatar de l’utilisateur
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 43.8%
 
Messages: 2509
Images: 2
Inscription: 30 Aoû 2011, 08:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Templar

Re: Bug semaine nClock

Message non lude Bisam » 07 Jan 2016, 14:45

Si le symbole & est bien utilisé pour le modulo, comme je le pense, à la ligne 8 il faudrait plutôt écrire :
Code: Tout sélectionner
return weekdays[(year_codes[d&4] + r + (r>>2) + ((r&4)==0) + month_codes[month-1] + day + 1) % 7];

Autrement dit, faire des modulo 4 et non des modulo 3 !!
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Suivante

Retourner vers Problèmes divers / Aide débutants

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 24 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1131 utilisateurs:
>1097 invités
>29 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)