π
<-

Bug semaine nClock

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

Bug semaine nClock

Unread postby 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 53.4%
 
Posts: 42394
Images: 17112
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Bug semaine nClock

Unread postby 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
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: Bug semaine nClock

Unread postby 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
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Re: Bug semaine nClock

Unread postby 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: Select all
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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 53.4%
 
Posts: 42394
Images: 17112
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Bug semaine nClock

Unread postby Ti64CLi++ » 07 Jan 2016, 13:50

critor wrote:(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
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Re: Bug semaine nClock

Unread postby 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 53.4%
 
Posts: 42394
Images: 17112
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Bug semaine nClock

Unread postby 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
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: Bug semaine nClock

Unread postby 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
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Re: Bug semaine nClock

Unread postby Hayleia » 07 Jan 2016, 14:30

neuronix wrote: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
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: Bug semaine nClock

Unread postby 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: Select all
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 !!
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Next

Return to Problèmes divers / Aide débutants

Who is online

Users browsing this forum: ClaudeBot [spider] and 39 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2258 utilisateurs:
>2219 invités
>32 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)