Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Eigenmath
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1242 Défis: 54 Message

Eigenmath

Posté le 11/02/2015 00:24

Lien vers la page du programme


Comme je l'avais dit, un sujet dédié à l'avancée de l'amélioration de Eigenmath (en partant de la version actuelle de Mike dispo quelque part sur le site) sur les graph *5 ! Pour l'instant c'est assez succinct car je n'ai pas tellement le temps en cet instant précis d'écrire un roman (c'est surtout que je suis un peu crevé en fait ), mais je tiendrai ça à jour ^^.



Donc comme on en avait parlé, en plus de l'arrivée d'un curseur plus proche du menu run math (clignotement et style de clignotement, scrolling...), je suis en train de bosser sur implémentation de menu "déroulants" associés à chaque touches F1 à F6, et je dois dire que c'est quasiment fonctionnel en fait, comme on peut le voir sur la capture d'écran 8).
J'ai pris le parti de stocker les infos de ce menu dans un petit fichier de config dont la syntaxe est assez simple, comme ça chacun pourra au fur et à mesure de ce qu'il est en train de faire, rajouter un menu avec les fonctions ou raccourcis qu'il voudra assez simplement. Bien entendu, l'addin crée un fichier "standard" (dont le contenu reste d'ailleurs à déterminer, je veux dire quelles fonctions choisit-on de mettre par défaut, car je suppose qu'une majorité des gens n'ira jamais bidouiller le fichier de config, donc il faut que ça soit au moins intéressant de base ) si il n'en trouve pas au lancement.

Voila pour l'instant, après je ne sais pas trop quoi dire de plus pour l'instant... Mais je vous tiens au courant !

Dans les choses qui arrivent on peut envisager :
- Une amélioration de la fonction integral( (voir avec Scientifix pour à quoi ressemble cette amélioration) (si ça n'alourdit pas trop l'addin, on est déjà à presque 250ko de base, donc c'est à voir).
- Une gestion des "scripts", ça doit être assez simple à mettre en place, vu les interfaces que propose le moteur.
- Un catalogue de toutes les fonctions (là encore il faudra réfléchir par rapport à la taille du g1a).
- Des idées ?
- Peut être éventuellement un jour potentiellement un gestion d'une sortie en pretty print, enfin, il faut que je réfléchisse un peu à ça..

Après, bien entendu le code sera dispo je pense sur Gitorious ASAP (c'est à dire sûrement demain), ainsi qu'un build pour ceux qui voudraient tester cette version en développement (qui est malgré tout je pense plus agréable à utiliser que la version actuellement disponible).
Et si des gens sont intéressés pour participer, c'est avec plaisir qu'on pourra en discuter comme toujours !

===================================================


Dernière MAJ : 6 juin 2015
Le fichier joint sur ce message est à jour, post de mise à jour ici.

Dernier message en rapport avec l'avancement du projet (8 avril 2017) : ici


Fichier joint


Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9 Suivante
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1242 Défis: 54 Message

Citer : Posté le 15/04/2015 19:10 | #


Désolé, je vous ai pas trop tenu au courant, mais je suis en vacances hors du pays, donc j'ai pas trop avancé.

Après j'ai pensé à un truc car j'ai eu quelques messages privés pour savoir si le pretty peint était déjà dispo car des gens avaient des contrôles rapidement, du coup, pour l'instant j'ai du leur répondre que non, mais pendant la semaine j'ai pensé à une solution rapide (implémentable rapidement je pense, en quelque chose comme une soirée à mon avis); ça serait quelque chose de provisoire le temps que je me plonge vraiment dans le système de console car finalement je pense en réécrire une partie : lorsque le pretty print sera possible pour une expression, l'ancien système afficherait par exemple "pretty" à la place du résultat, et il suffirait comme on l'aurait fait avant de se placer dessus et d'appuyer sur une touche spécifique pour avoir une sorte de pop up affichant l'expression en écriture naturelle, et qui pourrait se refermer pour relaisser la main à la console, je ne sais pas ce que vous en dites, mais il me semble que ça permettrait à ceux qui le veulent de profiter de ce qui fonctionne déjà plus rapidement. (Quitte à mettre une option permettant d'activer ou non cette feature, pour ceux qui prefereraient l'affichage classique sur une ligne).

Sinon plus en profondeur, j'ai ajouté du code permettant de générer ou pas l'expression en TeX selon divers critères (eg si l'expression serait (Ça me pique un peu les yeux, mais je n'ai aucune idée du temps à utiliser pour le verbe ici ^^°) trop haute pour être affichée en écriture naturelle si on générait "le TeX", alors c'est la chaîne classique qui sera générée), enfin si j'implémente correctement le scroll, ça devient un peu inutile, mais en attendant ça pourra peut être être utile.
Si vous avez des remarques n'hésitez pas !
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 15/04/2015 19:28 | #


Merci pour le beau petit message d'explication c'est vraiment sympa
Ton idée provisoire pour la "pretty print" est vraiment super réécrire le moteur d'affichage naturel est aussi une très bonne idée même si ça doit être assez costaud niveau code ... mais bon, tu gères 8) J'aime beaucoup ton idée d'activation/désactivation du mode "pretty print" ça laisse encore plus de flexibilité à l'utilisateur
En somme d'excellents idée de développement
Merci encore et bonnes vacances !!


JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 16/04/2015 08:03 | #


Bonne idée, la popup. Si tu veux, tu peux aussi utiliser le moteur TeX en changeant la police pour du 3x5, ça prend moins de place

Pour le calcul de taille, c'est facile. Il suffit d'appeler une fonction qui te donne largeur, hauteur et baseline de l'expression

Pour que je sache, est-ce que tu veux garder le moteur que j'ai commencé, auquel cas je vais m'y remettre pour ne pas te faire attendre ^^, ou est-ce que tu veux écrire le tien ?
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1242 Défis: 54 Message

Citer : Posté le 16/04/2015 11:53 | #


Merci, après comme je l'ai dit le système de popup c'est sûrement juste provisoire, histoire de pouvoir avoir quelque chose déjà un peu mieux rapidement pour ceux qui veulent.

Oui, pour la calcul de taille, j'ai en fait utilisé les fonctions que tu avais écrites utilisées en interne qui donnaient les infos dont tu parles justement, ce que j'ai fait c'est surtout de l'intégrer à la partie où le moteur génère la chaîne (enfin c'est juste l'affaire d'une dizaine de ligne, mais il fallait gérer la décision de faire du TeX ou non (en fait, je génère la chaîne une fois en TeX, je regarde la taille, je compare et si ça ne va pas on récupère l'expression qui repasse à la génération avec les options Tex désactivées cette fois ci).

Honnêtement pour ce qui est du moteur, je ne sais pas encore, pour l'instant la version que j'ai récupérée fonctionne, et a terme tout ce qu'il me faut c'est une fonction qui affiche en x et y une chaine TeX, donc ça n'est pas très gênant pour l'avancée du développement. Donc si t'as le courage de t'y mettre, je vais pas dire non, mais sinon je peux aussi essayer de m'y plonger si tu n'as pas le temps ou d'autres projets sur le feu. Après ce paragraphe qui apporte une superbe réponse à ta question () ce que je veux dire c'est que ça n'est pas une priorité absolue car je compte rester sur l'intégration d'un module TeX, et c'est surtout sur cette intégration que je me penche en ce moment, donc tant que les primitives restent les mêmes (une fonction qui affiche en x et y, une pour récupérer la taille, etc…), ça ne pose mas de problèmes.
Je rentre ce soir donc vous devriez avoir des news rapides !
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 16/04/2015 12:39 | #


Super, ben alors je m'y remets !

Pour l'information, tu devrais avoir quelque chose d'un peu différent du genre :
struct Tex_Node *tex_load(const char *str);
void tex_draw(struct Tex_Node *node, void (*pixel)(int x, int y, int color));

Et puis les accès simplement :
Tex_Node node;
node.width;
node.height;


Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1242 Défis: 54 Message

Citer : Posté le 17/04/2015 00:58 | # | Fichier joint


Moi même a écrit :
implémentable [...] en quelque chose comme une soirée à mon avis

Estimation pas si pourrie que ça finalement !



Je vous ai mis un build en fichier joint, mais quelque chose de plus propre devrait voir le jour d'ici ce week-end.

En gros ici, on a pas encore les options dont j'avais parlé pour activer / désactiver la possibilité d'avoir l'écriture naturelle, elle est de base "activée" : c'est à dire que quand elle est utile / dispo pour une expression, le résultat au lieu d'être un résultat "normal" sera "Pretty print" : il suffira de scroller dessus et de faire Shift + 8 (comme pour faire Clip, qui sera toujours dispo sur les expressions "normales", mais pas encore sur celles en écriture naturelle) pour ouvrir une fenêtre popup comme sur la capture d'écran.
Le code est à jour sur le git pour ceux que ça intéresse.

Sinon LePhénixNoir, ne te gène pas si tu veux t'y remettre !
Je vois, le nouveau système fait l'interprétation du "texte" une fois pour en sortir une structure à côté manipulable comme une sorte "d'objet TeX" en gros non ?
-florian66- Hors ligne Ancien rédacteur Points: 2383 Défis: 20 Message

Citer : Posté le 17/04/2015 07:56 | #


Ouai Géniale

Merci Nem
In Arch, I trust ! And you ?
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 17/04/2015 09:01 | #


Bravo !

Oui, le nouveau système sera orientée vers un accès facil aux données et faite pour limiter l'interprétation des chaînes au profit d'une lecture très rapide des structures !
Après, c'est toi qui choisira les fonctions de pixel et de texte pour garantir quelques possibilités de portage, je pense utiliser ce moteur sur d'autres plateformes Et puis du coup, fwiw, ça fonctionnera aussi sur Prizm par exemple

Ajouté le 17/04/2015 à 14:16 :
Hop, j'ai implémenté le tout sur PC (plus facile pour les tests), je devrais pouvoir avancer assez vite. Je te tiens au courant, j'ouvrirai un topic pour ça je pense


Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 17/04/2015 16:57 | #


Bravo !! Et merci beaucoup pour ces super nouvelles modifs ça a de la gueule
La "pretty print" est vraiment bien implémentée pour les résultats simples et les "pop up" sont une super idée en attendant que le moteur TeX soit fini.

@Lephenixnoir : Ton nouveau système rend vraiment super bien Par contre, est ce qu'il serrait possible de supprimer les espaces de chaque côtés du multiplié ? Je trouve que ça prend pas mal de place pour pas grand chose sachant que l'écran des calculatrices est assez petit Après c'est juste une idée
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 17/04/2015 17:00 | #


Ben en fait, ces espaces étaient écrits en dur dans l'expression Tout est écrit d'un bloc, sans gestion d'espacement particulière, donc si tu les enlèves, ça donnera l'aspect normal avec un pixel d'espacement.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 02/05/2015 19:05 | #


@Nemhardy: Tu as du nouveau
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1242 Défis: 54 Message

Citer : Posté le 03/05/2015 20:12 | #


Alors, pas tant que ça, j'ai un peu laissé le truc de côté (encore ), mais je prévois de sortir un truc un peu plus propre bientôt qui regroupera en fait ce qui existe déjà, plus quelques menus de réglages (je réfléchis notamment au menu pour paramétrer les entrées des menus en F*).
Mais sinon comme je l'ai dis, rien de bien nouveau, désolé...
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 08/05/2015 14:59 | # | Fichier joint


Super Est ce que tu pourras juste remplacer le module "intégral" du moteur actuel par celui que je t'avais envoyé (en pièce jointe) ?
Juste histoire d'avoir de meilleures performances en terme de calcul de primitives Les codes étant identiques (celui que je t'ai donné est basé sur l'actuel) ça devrait être très rapide Si par contre pour une quelconque raison ça ne marche pas laisse tomber !! C'est juste que comme le BAC approche, c'est toujours intéressant d'avoir un meilleur code afin de pouvoir contrôler ses résultats

Ajouté le 16/05/2015 à 19:22 :
Tout est ici : http://sourceforge.net/projects/smib/ le ZIP est trop gros pour être mis en fichier joint Y'a juste à télécharger et tu trouveras un fichier sources
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Anto Hors ligne Membre Points: 23 Défis: 0 Message

Citer : Posté le 21/05/2015 10:37 | #


Dommages que tu arrête le projet...
Breizh_craft Hors ligne Modérateur Points: 1157 Défis: 7 Message

Citer : Posté le 21/05/2015 12:00 | #


Pour le fois, au lieu de mettre *, pourquoi ne pas mettre ×, c'est mieux pour une écriture naturelle, non ?
Breizh.pm – Un adminsys qui aime les galettes.
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 21/05/2015 15:59 | #


Breizh_craft a écrit :
Pour le fois, au lieu de mettre *, pourquoi ne pas mettre ×, c'est mieux pour une écriture naturelle, non ?

Il y a un symbole \times dédié mais si ça concerne mes tests, je ne l'ai pas encore implémenté.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Breizh_craft Hors ligne Modérateur Points: 1157 Défis: 7 Message

Citer : Posté le 21/05/2015 16:21 | #


Oui je parlais de \times

Bon bah vivement la version finale de Eigenmath et celle de ton moteur d'écriture naturelle
Breizh.pm – Un adminsys qui aime les galettes.
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 25/05/2015 17:54 | #


Et voilà le travail !! J'ai fait un menu par défaut dites moi ce que vous en pensez et n'hésitez pas à demander si les commandes ne sont pas très évocatrices

F1 Calc
Calc
1/ d(, 2/ integral(, 3/ Taylor(, 4/ sum(, 5/ product(, 6/ simplify(, 7/ factor(

F2 Trig
Trig
1/ cosh(, 2/ arccosh(, 3/ sinh(, 4/ arcsinh(, 5/ tanh(, 6/ arctanh(

F3 Cplx
Cplx
1/ mag(, 2/ arg(, 3/ real(, 4/ imag(, 5/ conj(, 6/ polar(, 7/ rect(

F4 Alge
Alge
1/ abs(, 2/ det(, 3/ adj(, 4/ cross(, 5/ curl(, 6/ contract(, 7/ hilbert(

F5 poly
poly
1/ nroots(, 2/ deg(, 3/ coeff(, 4/ quotient(, 5/ hermite(, 6/ laguerre(, 7/ legendre(

F6 Arith
Arith
1/ mod(, 2/ gcd(, 3/ lcm(, 4/ isprime(, 5/ prime(, 6/ factor(


Voilà voilà

@Nemhardy: si ça te convient, tu peux déjà le mettre par défaut
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Thibault Hors ligne Membre Points: 10 Défis: 0 Message

Citer : Posté le 25/05/2015 18:00 | #


Salut à tous ! Je suis nouveau, je ne sais pas comment créer une discussion, c'est pour ça que je me permet de poster ce commentaire ici. Voilà, j'ai voulu changer d'os ma calculatrice 35+E (USB examen) en 75+ sauf que ça n'a pas marché ... J'ai du coup le message "Please update os". J'ai regardé sur le forum et sur internet, mais impossible de trouver une backup de la 35+ 2.02.2201 ! (car oui, ma backup n'a pas marché...) Si qqun en avait une sous la main et pouvait m'envoyer une backup par mail, cela me serait vraiment utile et sympa d'autant plus que j'en ai besoin. Merci par avance !:)
Dark storm Hors ligne Labélisateur Points: 11631 Défis: 176 Message

Citer : Posté le 25/05/2015 18:42 | #


Thibault, c'est la dernière fois que je te reprend à poster un copier-coller de ton message ailleurs que dans le bon topic.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 25/05/2015 18:57 | #


D'ailleurs, est ce qu'un admin peut supprimer ces messages ? Nesso lui a répondu par MP
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 99 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd