π
<-
Chat plein-écran
[^]

Connaissez-vous bien GTC ?

Programmation et implémentation d'algorithmes.

Re: Connaissez-vous bien GTC ?

Message non lude Bisam » 14 Fév 2011, 20:52

Je rouvre ce fil pour que Lionel y jette un oeil...
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

Re: Connaissez-vous bien GTC ?

Message non lude Folco » 14 Fév 2011, 20:57

Wow, ça remonte. Tu en es où de tes problèmes exactement ?
Avatar de l’utilisateur
Folco
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 21.5%
 
Messages: 150
Inscription: 23 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: anapu :p

Re: Connaissez-vous bien GTC ?

Message non lude Bisam » 14 Fév 2011, 21:16

Pour être franc, ça fait un bon moment que je n'ai plus mis le nez dedans (plusieurs mois...)

Après avoir relu le fil, je me rappelle 2 problèmes que j'avais rencontrés :
1) Récupérer la valeur d'un entier sur la pile pour le convertir en un entier 8 bits (je n'ai pas besoin de plus) afin de mener certains calculs en C sans passer par la pile.
2) Faire le travail inverse, c'est-à-dire envoyer un entier 8 bits sur la pile, puis le renvoyer comme résultat de la fonction.

L'idée de l'architecture du projet est la suivante :
1) Une fonction "valu", récursive, travaille sur la pile pour calculer la valuation d'une expression. Elle est censée renvoyer un "shortint" à la fonction principale "main".
2) La fonction "main" utilise moult fonctions pour calculer à la main les DL sans passer par la pile, en utilisant à plusieurs endroits l'expression passée en argument dans la pile et le résultat de la fonction "valu"... là, je sais que je vais passer un sale quart d'heure car la gestion de listes de taille variable en C, c'est pas le pied. Mais passons.
3) Une fonction "résultat" crée une liste dans la pile en tant que résultat final de la fonction et renvoie son adresse à "main" qui n'a plus qu'à conclure.
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

Re: Connaissez-vous bien GTC ?

Message non lude Folco » 14 Fév 2011, 21:45

Tu t'es déjà penché sur les fonctions de estack.h j'imagine ?
Avatar de l’utilisateur
Folco
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 21.5%
 
Messages: 150
Inscription: 23 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: anapu :p

Re: Connaissez-vous bien GTC ?

Message non lude Bisam » 14 Fév 2011, 22:37

Yep... mais j'ai pas tout appris, ni tout compris.

En plus, plusieurs d'entre elles ne sont pas implémentées dans GTC...
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

Re: Connaissez-vous bien GTC ?

Message non lude Lionel Debroux » 15 Fév 2011, 06:48

GTC n'a pas eu le succès qu'il mérite, à  cause de qui vous savez qui l'a constamment dénigré...
Je regarderai ce topic plus en détail ce soir :):
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Connaissez-vous bien GTC ?

Message non lude Folco » 15 Fév 2011, 10:06

Oué, l'estack c'est plus de ton ressort que du mien. PedroM powa, int main (int argc, const char** argv) rulez :D:

Bisam - Pour info, GTC a été reporté comme produisant du code plus rapide et petit que TIGCC (tests à l'époque). C'est amha un produit de très haute qualité.
Avatar de l’utilisateur
Folco
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 21.5%
 
Messages: 150
Inscription: 23 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: anapu :p

Re: Connaissez-vous bien GTC ?

Message non lude Lionel Debroux » 15 Fév 2011, 11:00

Je pourrais sans doute la transformer pour qu'elle renvoie un "ESI" et faire tous les (autres) calculs qu'elle fait à  travers la pile mais ce serait une perte de temps faramineuse à  mon avis.

En interne, c'est ce que fait AMS :):
GetIntArg fera ce que tu veux pour de "petites" valeurs entières, mais ça va merdouiller dès que ça sera au-delà  des bornes.

J'ai une expression qui s'écrit f(x)^g(x) dans ma pile.
Par conséquent, j'ai d'abord un "POW_TAG" puis toute une suite d'expressions décrivant g(x) puis toute une suite d'expressions décrivant f(x).

factor_base_index / factor_exponent_index.
Je calcule la limite en 0 de g(x) et j'en prends la partie entière (jusque-là , c'est facile).

push_lim, et push_integer_part (ou similaire, suivant l'arrondi que tu veux)




Même si l'échantillon de tests était très petit (et ni Thibault Barthélémy, ni évidemment Kevinou, n'ont jamais pris la peine de l'étendre), GTC était en effet assez compétitif par rapport à  GCC. Pollux a fait un très bon travail.
GTC est fait spécifiquement pour le 68000, alors que GCC prend un certain nombre de décisions qui pessimisent le code sur 68000 (malgré plusieurs modifs éparpillées dans le fork TIGCC/GCC4TI de GCC 4.1.x, visant à  le contrecarrer) alors qu'ils l'améliorent en général pour les x86.

Je connais deux manques de GTC:
* l'un est gênant à  l'utilisation: c'est l'absence de support de la définition explicite de registres pour les paramètres de fonction. Ceci ferme à  GTC les dizaines de programmes qui utilisent des librairies comme ExtGraph.
* l'autre est lié au linker moins avancé que celui de TIGCC = 0.95 / GCC4TI (forcément - ce dernier bouffe des MBs de RAM, alors que GTC a pour but de faire quelque chose avec moins de 150K), et gênant pour la maintenance de GTC, mais pas pour l'utilisateur: le code de startup est toujours similaire à  celui de TIGCC
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Connaissez-vous bien GTC ?

Message non lude Ti64CLi++ » 10 Fév 2016, 11:41

Je sais que ça remonte mais j'en profite pour poser quelques questions plutôt que de créer un topic:
1)Est-il possible de faire des PopUps(j'ai essayé l'exemple de TI GCC mais les fonctions PopUpBegin et PopUpBeginDo n'existe pas)?
2)Même question mais pour les barres de chargement (pareil, l'exemple de TI GCC ne marche pas)?
3)Comment je peux faire pour vérifier si une touche est appuyé sans attendre son appuie et donc sans utiliser getchar()? Existe il une fonction getkey() comme en Basic?
4)Est-ce normal que une fois sur trois, je dois enlevé une pile car j'ai une erreur inconnu : une barre noir en haut (comme pour Error Adress mais sans le Error Adress ^^) et je suis obligé de faire [2nd] [hand] et [on] et ensuite, je dois enlever une pile et la calculatrice redemarre en me disant 'Installation in progress... Do not interrupt'?

Merci d'avance
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: Connaissez-vous bien GTC ?

Message non lude Bisam » 10 Fév 2016, 18:00

Pour le point 4), je pense que c'est malheureusement dû à une fuite de mémoire du compilateur (Il alloue de la mémoire et oublie de la libérer à la fin). Au bout d'un certain temps, il n'y a plus de mémoire disponible même pour le logiciel de la calculette... et celui-ci plante.
Du coup, il est nécessaire de réinstaller l'OS après avoir débloqué la situation.

En moyenne, j'avais constaté qu'on pouvait compiler une dizaine de fois (fonction de la RAM disponible, bien évidemment) avant que cela n'arrive. Par ailleurs, on peut remarquer qu'il n'est pas nécessaire d'enlever une pile si on réinstalle l'OS avec [2nd]+[Lock]+[ON] avant le blocage total.
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

PrécédenteSuivante

Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 19 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.
1273 utilisateurs:
>1246 invités
>23 membres
>4 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)