La NumWorks réinventée avec la N0110 - rentrée 2019
Re: La NumWorks réinventée avec la N0110 - rentrée 2019
Thanks for the clarification. Appreciated.
-
stevetuc
Niveau 3: MH (Membre Habitué)- Posts: 18
- Joined: 06 Apr 2015, 10:05
- Gender:
- Calculator(s):→ MyCalcs profile
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41980
- Images: 15737
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: La NumWorks réinventée avec la N0110 - rentrée 2019
critor wrote:Here are the 3 HP Prime versions :
- Code: Select all
EXPORT seuil(d)
BEGIN
LOCAL n:=0;
LOCAL u:=2.;
d:=d^2;
WHILE (u-1)^2≥d DO
u:=1+(1/((1-u)*(n+1)));
n:=n+1;
END;
RETURN [n,u];
END;
- Code: Select all
#CAS
seuilc(d):=
begin
local n:=0;
local u:=2.;
d:=d^2;
while (u-1)^2≥d do
u:=1+(1/((1-u)*(n+1)));
n:=n+1;
end;
return [n,u];
end;
#end
- Code: Select all
#CAS
def hastime():
try:
monotonic()
return True
except:
return False
def seuilp(d=.008):
timed,n=hastime(),0
start,stop,u=0 or timed and monotonic(),1,2.
d=d**2
while (u-1)**2>=d:
u=1+(1/((1-u)*(n+1)))
n=n+1
return [(timed and monotonic() or 1)-start,n,u]
#end
Id like to request some help in running these benchmarks, im not so familiar with the python syntax.
I tried the python code on my Prime G1 and also prime android app
In both cases it returns:
[1 9948 1.00799947081]
I checked return variables separately and timed is returned as 0 , monotonic is returned as monotonic and start as false:
return [timed,monotonic(),start,n,u]
Gives
[0,monotonic,False,9948,1.00799947081]
There is no timing setup in the other two programs so I assume this was added using native commands like time or TICKS()
I guess im missing some setup somewhere. How can I get timed and monotonic() to return the timings using prime python syntax?
-
stevetuc
Niveau 3: MH (Membre Habitué)- Posts: 18
- Joined: 06 Apr 2015, 10:05
- Gender:
- Calculator(s):→ MyCalcs profile
Re: La NumWorks réinventée avec la N0110 - rentrée 2019
Sorry, the Python script time functions don't work on the HP Prime, only with a real Python implementation.
I didn't bother to remove them from the HP Prime Python script, because they aren't in the loop and thus aren't really interfering with the benchmarks.
You need to use
For information, I've just posted more comprehensive benchmarks :
viewtopic.php?t=22948&p=245063#p245063
The HP Prime is tested 4 times :
With the Python integer test, the HP Prime G2 is faster than the NumWorks N0110.
I didn't bother to remove them from the HP Prime Python script, because they aren't in the loop and thus aren't really interfering with the benchmarks.
You need to use
time(seuil(0.008))
For information, I've just posted more comprehensive benchmarks :
viewtopic.php?t=22948&p=245063#p245063
The HP Prime is tested 4 times :
- float test in HPPPL (same as in this topic)
- float test in HPPPL-CAS
- float test in Python
- integer test in Python
With the Python integer test, the HP Prime G2 is faster than the NumWorks N0110.
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41980
- Images: 15737
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: La NumWorks réinventée avec la N0110 - rentrée 2019
J'ai testé l'installation de giac-n110 avec le dockerfile de @zardam et ça marche super
Merci beaucoup à vous tous pour le travail !
Je n'ai juste pas trop compris pourquoi renommer l'application python "KhiCAS" ( je suppose du nom de l'implémentation de giac sur les TI & Casio ? )
EDIT : Je me met à tester les fonctionnalités je peux vous rapporter les eventuels bugs
Colin.
Merci beaucoup à vous tous pour le travail !
Je n'ai juste pas trop compris pourquoi renommer l'application python "KhiCAS" ( je suppose du nom de l'implémentation de giac sur les TI & Casio ? )
EDIT : Je me met à tester les fonctionnalités je peux vous rapporter les eventuels bugs
Colin.
Dev OCaml, see Baguette# and HTMLFromTeXBooks
Étudiante en mathématique et informatique
Github : https://github.com/coco33920/
Étudiante en mathématique et informatique
Github : https://github.com/coco33920/
-
coco33920Premium
Niveau 11: LV (Légende Vivante)- Posts: 60
- Joined: 14 Oct 2017, 18:09
- Location: Sol III, Sector 001, UFP
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: MP/I
- Twitter: coco33920_r
- GitHub: coco33920
Re: La NumWorks réinventée avec la N0110 - rentrée 2019
KhiCAS est le nom que j'ai choisi en jouant sur le fait que la lettre Khi ressemble a un X, comme Xcas donc, mais KhiCAS se prononce comme kick-ass, c'est un pied de nez a tous les censeurs qui veulent empecher Xcas et le calcul formel en general (ce qui arrange bien les constructeurs de calculatrice qui le vendent sur des modeles chers).
Il devrait y avoir bientot du nouveau... J'ai un prototype de firmware ou KhiCAS remplace le shell Python. C'est encore loin d'etre complet, mais les E/S des programmes marchent (input/print/editeur de script). Et bien sur tous les calculs avec des lignes de commande qui sont impossibles a entrer dans l'app de calcul. Je n'arrive pas a compiler pour le moment simultanement l'app Python et l'app Khicas, i.e. ou l'evaluateur de Python est remplace par Khicas, il y a des erreurs de compilation que je ne comprends pas (il faut dire que l'OS d'epsilon est ecrit dans un style complement a l'oppose du mien...). Mais ce n'est peut-etre pas grave, en fait je me demande s'il ne vaut pas mieux avoir une seule application Python/Khicas et une commande pour basculer l'evaluateur de l'un vers l'autre.
Il devrait y avoir bientot du nouveau... J'ai un prototype de firmware ou KhiCAS remplace le shell Python. C'est encore loin d'etre complet, mais les E/S des programmes marchent (input/print/editeur de script). Et bien sur tous les calculs avec des lignes de commande qui sont impossibles a entrer dans l'app de calcul. Je n'arrive pas a compiler pour le moment simultanement l'app Python et l'app Khicas, i.e. ou l'evaluateur de Python est remplace par Khicas, il y a des erreurs de compilation que je ne comprends pas (il faut dire que l'OS d'epsilon est ecrit dans un style complement a l'oppose du mien...). Mais ce n'est peut-etre pas grave, en fait je me demande s'il ne vaut pas mieux avoir une seule application Python/Khicas et une commande pour basculer l'evaluateur de l'un vers l'autre.
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3662
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: La NumWorks réinventée avec la N0110 - rentrée 2019
Ok merci pour les explications
Dev OCaml, see Baguette# and HTMLFromTeXBooks
Étudiante en mathématique et informatique
Github : https://github.com/coco33920/
Étudiante en mathématique et informatique
Github : https://github.com/coco33920/
-
coco33920Premium
Niveau 11: LV (Légende Vivante)- Posts: 60
- Joined: 14 Oct 2017, 18:09
- Location: Sol III, Sector 001, UFP
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: MP/I
- Twitter: coco33920_r
- GitHub: coco33920
Re: La NumWorks réinventée avec la N0110 - rentrée 2019
Voilà j'ai testé toutes les fonctionnalités qui sont dans la Toolbox et wow c'est vraiment super !
J'ai trouvé quelques bugs parfois.
Fonctionnalités :
Réels
Racines n-ième : le moteur de calcul inverse l'indice et le radicande ( voir image racine exemple ). La racine n-ième fonctionne sur Epsilon 11.2 stock
Logarithme : Renvoi "undef" pour toute autre base que e. La fonction log(n) renvoi un logarithme naturel ce qui en fait une redite de ln(n). Fonctionne sous Epsilon 11.2 stock
Valeur absolue : fonctionne
Algèbre
normal : fonctionnel
factor : fonctionnel
solve : fonctionnel
csolve : fonctionnel
partfrac : répète ce qu'on lui donne donc je suppose que ça fonctionne
simplify : fonctionnel
Calculs
Variables : utiliser "=" et pas "sto->"
diff : fonctionnel
integral : fonctionnel
limit : fonctionne ( sauf dans le cas où x tends vers + ou - l'infini la calculatrice se reset alors )
ptayl : aucune idée au delà de mes compétence mais ça devrait fonctionner normalement je n'ai pas pu vérifier
somme : fonctionnel
produit : fonctionnel
Complexes
Tout est fonctionnel ici ( module, argument, partie réelle, partie imaginaire, conjugé )
Dénombrement
Tout est fonctionnel ( binomial & permutation )
Arithmétique
PGCD : fonctionnel
lcm : fonctionnel
ifactor : retourne ce qu'on lui donne
iegcd : je ne comprend pas comment vérifier donc aucune idée
irem : fonctionnel
iquo : fonctionnel
Matrices
identity : fonctionnel
randmatrix : fonctionnel
dim : fonctionnel
inverse : fonctionnel
matpow : fonctionnel
det : fonctionnel
transpose : fonctionnel
trace : fonctionnel
rref : fonctionnel
ker : undef
egvl : fonctionnel
egv : fonctionnel
Random
Tout est fonctionnel ( random, randint, floor, frac, ceil, round )
Trigo Hyperbolique
Tout est fonctionnel ( cosh, sinh, tanh, acosh, asinh, atanh )
Intervalle fluctuation
prediction95 : rend undef ( testé avec p = 0,531 et n = 723, fonctionne sur epsilon 11.2 )
prediction : idem à prediction95
confidence : idem à prediction95
En tout cas c'est un boulot de dingue encore merci à vous tous
EDIT : Ajout de comment faire pour les variables ( merci @parisse ). Les resets de calculatrices sont sûrement toutes une erreur de ma part donc quasiment tout est fonctionnel !!!
EDIT 2 : Sur la dernière version de zardam avec le test proposé par @parisse la calcultrice ne se reset plus et les fonctions solve, csolve, egvl et egv sont fonctionnelles
( Testé sur un N0110 )
J'ai trouvé quelques bugs parfois.
Fonctionnalités :
Réels
Racines n-ième : le moteur de calcul inverse l'indice et le radicande ( voir image racine exemple ). La racine n-ième fonctionne sur Epsilon 11.2 stock
Logarithme : Renvoi "undef" pour toute autre base que e. La fonction log(n) renvoi un logarithme naturel ce qui en fait une redite de ln(n). Fonctionne sous Epsilon 11.2 stock
Valeur absolue : fonctionne
Algèbre
normal : fonctionnel
factor : fonctionnel
solve : fonctionnel
csolve : fonctionnel
partfrac : répète ce qu'on lui donne donc je suppose que ça fonctionne
simplify : fonctionnel
Calculs
Variables : utiliser "=" et pas "sto->"
diff : fonctionnel
integral : fonctionnel
limit : fonctionne ( sauf dans le cas où x tends vers + ou - l'infini la calculatrice se reset alors )
ptayl : aucune idée au delà de mes compétence mais ça devrait fonctionner normalement je n'ai pas pu vérifier
somme : fonctionnel
produit : fonctionnel
Complexes
Tout est fonctionnel ici ( module, argument, partie réelle, partie imaginaire, conjugé )
Dénombrement
Tout est fonctionnel ( binomial & permutation )
Arithmétique
PGCD : fonctionnel
lcm : fonctionnel
ifactor : retourne ce qu'on lui donne
iegcd : je ne comprend pas comment vérifier donc aucune idée
irem : fonctionnel
iquo : fonctionnel
Matrices
identity : fonctionnel
randmatrix : fonctionnel
dim : fonctionnel
inverse : fonctionnel
matpow : fonctionnel
det : fonctionnel
transpose : fonctionnel
trace : fonctionnel
rref : fonctionnel
ker : undef
egvl : fonctionnel
egv : fonctionnel
Random
Tout est fonctionnel ( random, randint, floor, frac, ceil, round )
Trigo Hyperbolique
Tout est fonctionnel ( cosh, sinh, tanh, acosh, asinh, atanh )
Intervalle fluctuation
prediction95 : rend undef ( testé avec p = 0,531 et n = 723, fonctionne sur epsilon 11.2 )
prediction : idem à prediction95
confidence : idem à prediction95
En tout cas c'est un boulot de dingue encore merci à vous tous
EDIT : Ajout de comment faire pour les variables ( merci @parisse ). Les resets de calculatrices sont sûrement toutes une erreur de ma part donc quasiment tout est fonctionnel !!!
EDIT 2 : Sur la dernière version de zardam avec le test proposé par @parisse la calcultrice ne se reset plus et les fonctions solve, csolve, egvl et egv sont fonctionnelles
( Testé sur un N0110 )
Last edited by coco33920 on 14 Sep 2019, 18:24, edited 5 times in total.
Dev OCaml, see Baguette# and HTMLFromTeXBooks
Étudiante en mathématique et informatique
Github : https://github.com/coco33920/
Étudiante en mathématique et informatique
Github : https://github.com/coco33920/
-
coco33920Premium
Niveau 11: LV (Légende Vivante)- Posts: 60
- Joined: 14 Oct 2017, 18:09
- Location: Sol III, Sector 001, UFP
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: MP/I
- Twitter: coco33920_r
- GitHub: coco33920
Re: La NumWorks réinventée avec la N0110 - rentrée 2019
J'ai corrige un probleme ce matin, depuis que les E/S sont fonctionnelles, tout calcul qui affiche un warning dans Calculs engendre un reset, par exemple solve avec une expression au lieu d'une equation. Solution: supprimer un assert dans la fonction mp_hal_stdout_tx_strn_cooked dans le fichier python/port/port.cpp, et remplacer par un test
Pour stocker une valeur dans une variable, il faut pour le moment utiliser = comme en Python, par exemple a=2 ou a=ranm(3,3) (matrice aleatoire 3 par 3). Il faut que je capture le caractere de sto> (naturellement avec tous les codes utf8 possibles, ce n'est jamais le meme qui est choisi entre HP, Casio, etc.). D'ailleurs si quelqu'un sait quel est le code UTF8 utilise par Numworks, ca me ferait gagner du temps
Bon, de toutes facons, les calculs dans Calculs sont brides, parce que le moteur d'affichage utilise poincare, il faut que les entrees soient compatibles avec la Numworks de base, ce qui limite pas mal. Ainsi la derivee de Numworks prend 3 arguments, alors qu'une derivee formelle n'en a besoin que de deux, mais on est oblige de lui en donner 3 dans Calculs, ici on mettra en 3eme argument le nombre de derivations souhaite, donc pratiquement toujours 1 (sauf si on veut etudier la convexite).
Je vais regarder pour la racine n-ieme et le log, pas sur que je puisse adapter, sinon le probleme de la limite en l'infini est que poincare ne veut pas parser +infinity. Pour les fonctions de prediction, je ne pense pas les garder, vu que les stats inferentielles passent plus ou moins a la trappe, de toutes facons c'est super simple a programmer.
Ca devrait beaucoup mieux marcher dans le shell (et sans lenteur du au moteur d'affichage).
- Code: Select all
void mp_hal_stdout_tx_strn_cooked(const char * str, size_t len) {
if (sCurrentExecutionEnvironment != nullptr)
sCurrentExecutionEnvironment->printText(str, len);
}
Pour stocker une valeur dans une variable, il faut pour le moment utiliser = comme en Python, par exemple a=2 ou a=ranm(3,3) (matrice aleatoire 3 par 3). Il faut que je capture le caractere de sto> (naturellement avec tous les codes utf8 possibles, ce n'est jamais le meme qui est choisi entre HP, Casio, etc.). D'ailleurs si quelqu'un sait quel est le code UTF8 utilise par Numworks, ca me ferait gagner du temps
Bon, de toutes facons, les calculs dans Calculs sont brides, parce que le moteur d'affichage utilise poincare, il faut que les entrees soient compatibles avec la Numworks de base, ce qui limite pas mal. Ainsi la derivee de Numworks prend 3 arguments, alors qu'une derivee formelle n'en a besoin que de deux, mais on est oblige de lui en donner 3 dans Calculs, ici on mettra en 3eme argument le nombre de derivations souhaite, donc pratiquement toujours 1 (sauf si on veut etudier la convexite).
Je vais regarder pour la racine n-ieme et le log, pas sur que je puisse adapter, sinon le probleme de la limite en l'infini est que poincare ne veut pas parser +infinity. Pour les fonctions de prediction, je ne pense pas les garder, vu que les stats inferentielles passent plus ou moins a la trappe, de toutes facons c'est super simple a programmer.
Ca devrait beaucoup mieux marcher dans le shell (et sans lenteur du au moteur d'affichage).
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3662
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: La NumWorks réinventée avec la N0110 - rentrée 2019
Ok merci,
pour le reset je m'en doutais que c'etait du à une erreur de ma part et que c'est une sorte d'erreur
et merci pour l'explication pour les variables
J'ai édité mon message pour prendre en compte tout ça
Colin.
pour le reset je m'en doutais que c'etait du à une erreur de ma part et que c'est une sorte d'erreur
et merci pour l'explication pour les variables
J'ai édité mon message pour prendre en compte tout ça
Colin.
Dev OCaml, see Baguette# and HTMLFromTeXBooks
Étudiante en mathématique et informatique
Github : https://github.com/coco33920/
Étudiante en mathématique et informatique
Github : https://github.com/coco33920/
-
coco33920Premium
Niveau 11: LV (Légende Vivante)- Posts: 60
- Joined: 14 Oct 2017, 18:09
- Location: Sol III, Sector 001, UFP
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: MP/I
- Twitter: coco33920_r
- GitHub: coco33920
Who is online
Users browsing this forum: ClaudeBot [spider] and 4 guests