Page 36 sur 43

Re: Version 16 bêta : verrouillage NumWorks anti Omega / Khi

Message non luPosté: 02 Aoû 2021, 16:03
de parisse
critor a écrit:Je viens de rédiger un tutoriel de récupération des NumWorks N0110 passées en v16 bêta :
viewtopic.php?f=113&t=25096#p262576

Je doute qu'ils serve beaucoup surtout que ce cas ne sera d'une façon ou d'une autre plus d'actualité d'ici quelques semaines, mais je tiens malgré tout à ce que tout-le-monde ait le choix, à ce que personne ne soit piégé.

Merci! Je vous tiendrai au courant des stats de chargement de la page...

Re: Version 16 bêta : verrouillage NumWorks anti Omega / Khi

Message non luPosté: 02 Aoû 2021, 16:07
de critor
J'ai lié le tutoriel en fin d'annonce du kit de connectivité :
viewtopic.php?t=25095&p=262571#p262571

parisse a écrit:Je reste bien sur ouvert a un portage de KhiCAS sur une eventuelle future numworks semi-formelle, afin de la completer, mais a condition que le travail de portage soit essentiellement nul (ce qui ne serait pas le cas avec le SDK actuel de Numworks comme on peut le voir sur l'exemple qu'ils ont publie ou il manque visiblement la libc et la libstdc++) et surtout que KhiCAS soit utilisable en mode examen (et bien sur resistant au reset).


Même si KhiCAS était exclu du mode examen sur une future NumWorks CAS, personnellement je trouve que son existence serait déjà mieux que rien.
Notamment pour les devoirs surveillés en Mathématiques, où le mode examen n'a franchement que bien peu d'intérêt quand il n'y a pas d'épreuve finale à préparer (spécialité Maths abandonnée à la fin de la Première, ou les options Maths complémentaires/expertes en Terminale).

Mais après c'est juste une opinion personnelle. Dans le contexte de ce qui nous tombe dessus cette année, je me garderai bien de prétendre donner des conseils à quiconque.

Re: Version 16 bêta : verrouillage NumWorks anti Omega / Khi

Message non luPosté: 02 Aoû 2021, 18:32
de redgl0w
parisse a écrit:la difficulte c'est plus dans l'implementation (choix des structures de donnees en particulier, que je ne trouve d'ailleurs pas tres efficace pour coder du calcul formel, on ne peut par exemple pas coder les operations arithmetiques de base sur des expressions d'Epsilon avec + - *).

L'implémentation du moteur de calcul est... spécial, mais est propre (si on essaye de comprendre), et consomme très peu de RAM (vu qu'il n'y a pas du tout de fragmentation de la mémoire).

Re: Version 16 bêta : verrouillage NumWorks anti Omega / Khi

Message non luPosté: 02 Aoû 2021, 19:12
de parisse
Propre? Bof, peut-etre mais c'est a mon gout bien trop complique, avec des template, des classes ou/et des espaces de noms, des noms de fonction longs dans tous les sens... Ca rend probablement l'ecriture de code CAS peu efficace, compare a ce que je peux faire avec giac. Par exemple pour resoudre une equation du second degre, ca pourrait donner en giac (sans optimisation aucune)
Code: Tout sélectionner
vecteur solve_2(const gen & P,const gen & x,GIAC_CONTEXT){
  gen a,b,c;
  if (!is_quadratic(P,x,a,b,c,contextptr)) gensizeerr(contextptr);
  gen delta=b*b-4*a*c;
  if (delta==0) return vecteur(1,-b/(2*a));
  gen racdelta=sqrt(delta,contextptr);
  return makevecteur((-b-racdelta)/(2*a),(-b+racdelta)/(2*a));
}

Re: Version 16 bêta : verrouillage NumWorks anti Omega / Khi

Message non luPosté: 02 Aoû 2021, 19:30
de Adriweb
Ben c'est du vrai C++, vs. du C-like-qui-est-en-fait-du-C++. Ce qui n'est pas forcément un problème, mais certains préfèrent exploiter bien plus les possibilités du C++. Sans parler de différences de code style / formattage.

Re: Version 16 bêta : verrouillage NumWorks anti Omega / Khi

Message non luPosté: 02 Aoû 2021, 19:43
de parisse
Adriweb a écrit:Ben c'est du vrai C++, vs. du C-like-qui-est-en-fait-du-C++. Ce qui n'est pas forcément un problème, mais certains préfèrent exploiter bien plus les possibilités du C++.

C'est justement mon point, utiliser du vrai C++ la ou ce n'est pas indispensable, ca rend le code significativement plus lourd a concevoir/ecrire/maintenir. Je comprends bien que ca puisse plaire a des gens qui aiment l'info, mais on parle ici de coder du calcul formel, du "vrai" C++ ca augmente la barriere a l'entree pour des gens qui ont plutot des competences mathematiques qu'informatique.

Sans parler de différences de code style / formattage.

Oui, alors la on pourrait en dire long. Je trouve particulierement stupide les regles appliquees par certains formatteurs de code, comme par exemple systematiquement mettre un espace avant et apres un operateur binaire. Alors qu'une utilisation judicieuse et non automatique des espaces peut permettre de mettre en valeur la logique du code. Par exemple, ecrire
Code: Tout sélectionner
gen delta = b*b-4*a*c;

c'est a mon avis bien mieux que
Code: Tout sélectionner
gen delta = b * b - 4 * a * c;

Re: Version 16 bêta : verrouillage NumWorks anti Omega / Khi

Message non luPosté: 02 Aoû 2021, 19:57
de Adriweb
Oui enfin leur usage du C++ n'est quand même pas tres complexe, pour moi ca reste plus lisible. Je n'aime pas par exemple le mélange français anglais et le manque d'espace par exemple autour des =. Pour ceux entre tous les opérateurs binaires, oui je préfère aussi quand la lecture est simplifiée au lieu de règles bêtes. Mais par exemple un clang-format bien paramètré n'est pas bête :)

Re: Version 16 bêta : verrouillage NumWorks anti Omega / Khi

Message non luPosté: 02 Aoû 2021, 20:00
de parisse
Adriweb a écrit:Oui enfin leur usage du C++ n'est quand même pas tres complexe, pour moi ca reste plus lisible.

Ben pour comparer, il faudrait voir le code Poincare equivalent a celui que j'ai donne.

Re: Version 16 bêta : verrouillage NumWorks anti Omega / Khi

Message non luPosté: 02 Aoû 2021, 20:07
de Adriweb
Je parlais de façon plutôt générale au code d'epsilon en fait. Mais oui ça serait intéressant de comparer. Pour moi l'utilisation la plus "obvious" du C++ pour les maths avec des classes spécifiques à des notions mathématiques reste sans surprise l'overload d'opérateurs. Certes on ne peut pas tout faire avec, mais des beaucoup de choses pratiques.

C'est d'ailleurs une des choses auxquelles j'ai participé sur un header de math C++ pour la toolchain CE :)

Re: Version 16 bêta : verrouillage NumWorks anti Omega / Khi

Message non luPosté: 02 Aoû 2021, 20:18
de redgl0w
https://github.com/numworks/epsilon/blob/8cfa1d7e4f98e0d1ad7cf254e881a4e664d0c503/apps/solver/equation_store.cpp#L343
J'admet que le fait de ne pas utiliser de la surcharge d'opérateurs peut sembler plus lourd (et c'est le cas), mais vu comment sont geres les builders dans epsilon, je me demande si ça serait aussi simple de rajouter ça.
Sinon, le reste de Poincaré est globalement extrêmement lisible. Des qu'on a les connaissances suffisantes sur la poo, c'est relativement simple (et pour tout le monde, car c'est écrit en anglais :p ). La grande utilisation de namespace / classes n'est pas très problématique avec les éditeurs modernes (vscode le fait très bien gratuitement).
Le seul problème que j'ai avec Poincaré est son manque de documentation. Avant toutes réductions, on a bien la formule et la logique appliqué, mais sur la gestion de la pool, c'est bien moins clair (jusqu'à ce qu'on prenne pas mal de temps pour comprendre les nodes, handlers et la pool)