Page 1 sur 1

nCalc, la puissance de calcul de l'OS officiel avec Ndl3ss

Message non luPosté: 01 Mai 2012, 15:20
de Excale
Comme vous le savez sans doute, le Basic pour Nspire est très bien pour faire des maths et ce qui s'y rapporte, ce qui a valu un grand nombre de libraires (numtheory, ect...).
Mais si on veux faire des jeux ou de la programmation graphique, le Basic n'est vraiment pas fait pour ça.

On a donc le Lua, mais ce langage reste quand même lent par rapport à du code compilé, et connait bon nombre de limitations. Mais jusqu'alors il avait un bel avantage sur la programmation native grâce à ndless: on pouvait utiliser le moteur de calcul de la nspire (et donc le CAS sur les modèles CAS) en Lua, sans graves limitations venant du fait que les programmes Ndless ne sont pas formés comme l'OS les attend pour y stocker des variables.

J'ai donc décidé de faire une libraire qui utilise le moteur de calcul de la Nspire, afin de pouvoir faire de jolis programmes de math et de physique pour Ndless, chose franchement difficile sans ce que vous connaissez peut-être sous le nom de math.eval() [lua] ou expr() [basic].

Pour les connaisseurs, je rappelle que math.eval() renvoie un nombre. Ici, la librairie pourra faire en gros tout ce que permet expr() (c'est à dire renvoyer tous types de résultats).

Je n'ai pas encore commencé la librairie en tant que telle (c'est déjà bien long de trouver où est le moteur de calcul et comment l'utiliser), et le programme n'est pour l'instant utilisable qu'en mode console (en gros à des fins de debug). Au passage, merci à Compu pour NspireIO :).

Voici donc un aperçu de la console pour le moment:
Image

(le caractère étrange a << est lié au fait que la console ne gère que les strings ASCII, et que le moteur de calcul renvoie un résultat en UTF-8.)

Pour l'instant il y a deux fonctions principales. Une qui corrige la chaine d'entrée (casse, espaces...), et une qui calcule. Au passage, tel que le moteur est fait, je n'ai pas trouvé de fonction qui rajoute les parenthèses oubliées (sur l'OS, elles sont rajoutées pendant la frappe et non pendant le calcul).

Je m'adresse donc maintenant à vous. Si jamais des gens sont intéressés par cette libraire, dites moi ce que vous souhaiteriez comme fonctions, et s'il y a d'autres choses que vous aimeriez bien voir s'ajouter à cette librairie :).

(Techniquement, pour l'instant, on donne un string ASCII ou UTF-8 (codé sur 2 octets) en entrée et en retour on reçoit un string ASCII ou UTF-8 contenant le string "corrigé" ou calculé).

:;):


Re: nCalc, la puissance de calcul de l'OS officiel avec Ndl3

Message non luPosté: 01 Mai 2012, 19:34
de mdr1
Cool !

Ce serait pas mal de pouvoir télécharger le programme de la console, ça m'intéresserait. :=):

Re: nCalc, la puissance de calcul de l'OS officiel avec Ndl3

Message non luPosté: 01 Mai 2012, 19:36
de Lionel Debroux
Nspire I/O est disponible à http://nspforge.unsads.com/p/nspireio/wiki :)

Re: nCalc, la puissance de calcul de l'OS officiel avec Ndl3

Message non luPosté: 06 Avr 2013, 21:52
de mdr1
Non, je ne parlais pas de la console mais du programme d'Excale s'exécutant en console.
D'ailleurs, je ne vois toujours pas de fichier à télécharger, aurais-tu abandonné Excale ?

Re: nCalc, la puissance de calcul de l'OS officiel avec Ndl3

Message non luPosté: 06 Avr 2013, 23:19
de Excale
Dans l'état actuel, ça donne ça. :)

Re: nCalc, la puissance de calcul de l'OS officiel avec Ndl3

Message non luPosté: 06 Avr 2013, 23:39
de mdr1
Génial, ça fonctionne à merveille !
Ce système pourra être très utile si des membres souhaitent faire des programmes de Maths avec ndless. :)

Re: nCalc, la puissance de calcul de l'OS officiel avec Ndl3

Message non luPosté: 06 Avr 2013, 23:39
de Excale
Le problème c'est quand même que c'est super instable et que ça renvoie de l'utf-16^^.

Re: nCalc, la puissance de calcul de l'OS officiel avec Ndl3

Message non luPosté: 07 Avr 2013, 06:46
de Lionel Debroux
C'est en effet un pas supplémentaire très intéressant par rapport à mon PoC delta^2 d'Aitken non interactif, mais il y a encore trop de choses qu'on ne comprend pas à propos de:
* l'interaction avec le CAS;
* le système de fichiers intégré aux documents;
* les extensions Lua (problèmes assez fréquents à la sortie de certaines extensions Lua, pas seulement celle-ci)
pour qu'on ait des choses stables...