Le forum de XCAS
http://pcm1.e.ujf-grenoble.fr/forum/

giac icas windows
http://pcm1.e.ujf-grenoble.fr/forum/viewtopic.php?f=4&t=753
Page 3 sur 4

Auteur:  parisse [ Jeu Mar 17, 2016 8:31 pm ]
Sujet du message:  Re: giac icas windows

Les droits sur c:\xcas, ca depend sans doute de la facon dont l'install est faite, mon experience c'est qu'en general ce n'est pas tres securise sous windows dans les etablissements secondaires (pas tellement plus a la fac a vrai dire).
Il y a des variables d'environement Unix/cygwin qui controlent les chemins, cf. le fichier runxcasfr.sh du repertoire de xcas, mais je ne sais pas trop comment on peut les generer depuis un fichier .bat windows.

Auteur:  ddorange [ Sam Mar 19, 2016 11:33 am ]
Sujet du message:  Re: giac icas windows

Bonjour,

Le problème des fichiers situés dans le dossier xcas, c'est que l'on ne peut pas y accéder si on ne connait pas le dossier d'installation de xcas.

A priori, il faut que dans la variable d'environnement %PATH% de Windows figure le chemin du dossier d'installation de xcas.
Ce chemin devrait être ajouté à la variable %PATH% au moment de l'installation de Xcas
Ce n'es pas trop important car la plupart des installations sont faites dans le dossier C:\xcas...

Bonne nouvelle : j'ai compris pourquoi cela ne fonctionne pas sur les ordinateurs de mon lycée. C'est LO4 qui est installé et je faisais appel à l'API de LO pour coller du texte dans le presse papier.
Mais cette portion de code n'était pas indispensable. Du coup, je fais écrire directement le contenu de giac.out dans le traitement de texte, avant de le transformer en objet formule et cela marche.

Dès que j'aurai un version de test un peu élaborée, je mettrai un lien dans ce fil de discussion.

Auteur:  parisse [ Sam Mar 19, 2016 12:42 pm ]
Sujet du message:  Re: giac icas windows

Existe-t-il une commande de nullsoft installer qui ajoute un chemin dans le path ?

Auteur:  ddorange [ Sam Mar 19, 2016 6:32 pm ]
Sujet du message:  Re: giac icas windows

J'ai trouvé cette page : http://nsis.sourceforge.net/Path_Manipulation

Auteur:  ddorange [ Lun Mar 21, 2016 6:59 am ]
Sujet du message:  Re: giac icas windows

Bonjour,

J'avance...

Je butte sur la factorisation des entiers. La commande ifactor(592) dans giac.in (ou de tout autre entier) me retourne 592 (ou l'entier) dans giac.out.
J'ai également testé directement en ligne de commande avec icas giac.in, toujours 592.
Par contre isprime fonctionne parfaitement.
Je travaille sous Ubuntu 15.10. Je n'ai pas encore testé sous d'autres OS.

Cela pourrait-il être un bug de icas ?

Merci.
Cordialement.

Auteur:  parisse [ Lun Mar 21, 2016 8:07 am ]
Sujet du message:  Re: giac icas windows

ddorange a écrit:

Ca pourrait donner ca
Code:
; ${EnvVarUpdate} $0 "PATH" "A" "HKLM" $INSTDIR

mais le probleme c'est qu'en cas de reinstallation le chemin sera a nouveau ajoute et a la longue on va depasser les 1024 caracteres...
L'ideal serait de ne pas avoir a toucher au chemin.

Pour la factorisation d'entiers, c'est surement un probleme de reevaluation du resultat. Quelle sont les commandes precises que vous utilisez?

Auteur:  ddorange [ Lun Mar 21, 2016 2:24 pm ]
Sujet du message:  Re: giac icas windows

Bonjour,

1) Concernant le chemin d'installation de Xcas sous Windows : L'installateur permet de le choisir. Je ne suis pas en mesure de dire connaître la proportion d'utilisateurs qui utilisent un chemin autre que C:\xcas. Le seul moyen à ma connaissance pour trouver ce chemin est qu'il soit stipulé dans la variable d'environnement PATH.
Peut être que si l'on procède à plusieurs installations la chaîne ajoutée à la variable écrase la précédente. Là encore il faudrait essayer ?

2) Pour la décomposition en facteurs premiers voici le giac.in :
Code:
unarchive("giac.sav");
Resultat:=(ifactor(592));
Sortie:=fopen("giac.out");
fprint(Sortie,Unquoted,Resultat);
fclose(Sortie);
archive("giac.sav");

Le giac.out contient 592.
Les commandes passées sont :
cd /home/didier/.config/libreoffice/4/user/Dmaths
icas giac.in

Le retour dans le Terminal est :
// Using locale /usr/share/locale/
// fr_FR.UTF-8
// /usr/share/locale/
// giac
// UTF-8
// Maximum number of parallel threads 4
Help file /usr/share/giac/doc/fr/aide_cas not found
Added 174 synonyms
"Unable to read file Erreur: Valeur Argument Incorrecte",
// Time 0.01
2^4*37,
// Time 0
pointer(0x7fc704000f20,0),
// Time 0
1,
// Time 0
1,
// Time 0
[cas_setup([0,0,0,1,0,[1e-12,1e-15],12,[4,100,0,25],0,1,0,1]),xyztrange([-10.0,10.0,-10.0,10.0,-10.0,10.0,-10.0,10.0,-10.0,10.0,-1.4,1.1,1,0.0,1.0,3]),[unarchive("giac.sav"),(Resultat:=ifactor(592)),(Sortie:=fopen("giac.out")),fprint(Sortie,Unquoted,Resultat),fclose(Sortie),archive("giac.sav")],["Unable to read file Erreur: Valeur Argument Incorrecte",2^4*37,pointer(0x7fc704000f20,0),1,1],(Resultat:=2^4*37),xcas_mode(0)]
// Time 0
// Total time 0.01

Pour isprime(592) j'obtiens faux dans giac.out

et dans le Terminal :
// Using locale /usr/share/locale/
// fr_FR.UTF-8
// /usr/share/locale/
// giac
// UTF-8
// Maximum number of parallel threads 4
Help file /usr/share/giac/doc/fr/aide_cas not found
Added 174 synonyms
[undef],
// Time 0
faux,
// Time 0
pointer(0x7f31d8000b70,0),
// Time 0
1,
// Time 0
1,
// Time 0
[cas_setup([0,0,0,1,0,[1e-12,1e-15],12,[4,100,0,25],0,1,0,1]),xyztrange([-10.0,10.0,-10.0,10.0,-10.0,10.0,-10.0,10.0,-10.0,10.0,-1.4,1.1,1,0.0,1.0,3]),[unarchive("giac.sav"),(Resultat:=ifactor(592)),(Sortie:=fopen("giac.out")),fprint(Sortie,Unquoted,Resultat),fclose(Sortie),0,(Resultat:=isprime(592)),(Sortie:=fopen("giac.out")),fprint(Sortie,Unquoted,Resultat),fclose(Sortie),archive("giac.sav"),0,(Resultat:=isprime(592)),(Sortie:=fopen("giac.out")),fprint(Sortie,Unquoted,Resultat),fclose(Sortie),archive("giac.sav")],["Unable to read file Erreur: Valeur Argument Incorrecte",2^4*37,"Done",1,1,0,[undef],faux,"Done",1,1,0,[undef],faux,pointer(0x7f31d8000b70,0),1,1],(Resultat:=faux),xcas_mode(0)]
// Time 0.01
// Total time 0.01


Merci !

Auteur:  parisse [ Lun Mar 21, 2016 3:33 pm ]
Sujet du message:  Re: giac icas windows

C'est parce que la variable Resultat est evaluee : l'ecriture sous forme factorisee d'un entier est tres fragile, elle est detruite des qu'elle est evaluee. Mais on peut y remedier en shuntant la variable Resultat:
Code:
Sortie:=fopen("giac.out");
fprint(Sortie,Unquoted,ifactor(592));
fclose(Sortie);


Pour le PATH, je suis a peu pres sur que l'installer nsi ne teste pas que le chemin est deja dans le path, donc il va s'allonger a chaque reinstall de xcas, et quand il depassera 1024 caracteres, les problemes vont apparaitre. A mon avis, il est plus sur de ne pas toucher globalement a cette variable, mais uniquement localement (i.e. depuis l'executable appelant de giac), en rajoutant des chemins plausibles, a savoir c:\xcas, d:\xcas, j:\xcas (disques locaux et disque reseau), ou de demander a l'utilisateur d'ajouter lui-meme ce chemin s'il n'a pas utilise le chemin par defaut.

Auteur:  ddorange [ Lun Mar 21, 2016 4:46 pm ]
Sujet du message:  Re: giac icas windows

Bonsoir,

Concernant le chemin d'installation, je vais explorer la base de registre pour voir si je trouve une information exploitable. 8)

Concernant le fichier giac.in, quel est l'intérêt de la ligne suivante ?
Code:
Resultat:=(<commande paramètre>);


Autrement dit, est-ce que je perds quelque chose si le fichier giac.in est toujours de la forme
Code:
unarchive("giac.sav");
Sortie:=fopen("giac.out");
fprint(Sortie,Unquoted,<commande paramètre>);
fclose(Sortie);
archive("giac.sav");

au lieu de passer par la variable Resultat ?

Auteur:  parisse [ Lun Mar 21, 2016 6:25 pm ]
Sujet du message:  Re: giac icas windows

Je ne vois pas de raison qui obligerait a passer par une variable Resultat.

Auteur:  ddorange [ Lun Mar 21, 2016 7:50 pm ]
Sujet du message:  Re: giac icas windows

Effectivement,

J'ai modifié mon code de cette façon.
Tout fonctionne bien.
Encore quelques jours pour la version test.

Auteur:  ddorange [ Mer Mar 23, 2016 6:16 pm ]
Sujet du message:  Re: giac icas windows

Bonsoir,

Pour le chemin de Xcas sous Windows, j'ai trouvé une clé dans la base de registre qui contient le chemin du fichier uninstall.exe et donc celui de Xcas.
Par contre la clé est différente selon les versions de Windows (problème récurrent), donc c'est compliqué de ce fait car on est jamais sûr d'avoir toutes les possibilités.
Finalement, je vais peut-être me résoudre à en faire un paramètre de Dmaths que l'utilisateur définira via une boîte de dialogue si le chemin n'est pas standard. A voir.


Je rencontre des choses étonnantes concernant la syntaxe des expressions.
Par exemple 1.5*x+2.8*x dans Xcas revoie 4.3*x alors que
fprint(Sortie,Unquoted,1.5*x+2.8*x); dans giac.in renvoie 1.5*x+2.8*x dans giac.out
Je ne comprends pas pourquoi.
Si je veux obtenir le bon résultat il me faut
fprint(Sortie,Unquoted,factor(1.5x+2.8x)); dans giac.in et la j'ai 4.3*x dans giac.out.

Plus généralement, où pourrais-je trouver des informations sur ces subtilités ?

Merci.

Auteur:  parisse [ Mer Mar 23, 2016 6:36 pm ]
Sujet du message:  Re: giac icas windows

Cela vient du fait qu'il y a une instruction de simplification automatique qui est appliquee dans Xcas, par defaut c'est regroup.

Auteur:  ddorange [ Mer Mar 23, 2016 6:53 pm ]
Sujet du message:  Re: giac icas windows

Effectivement c'est cela si je l'ajoute, le résultat est le bon.
regroup est donc appliqué quand on appuie sur la touche entrée sans autre instruction ?

Merci pour l'aide.

Auteur:  parisse [ Mer Mar 23, 2016 7:41 pm ]
Sujet du message:  Re: giac icas windows

oui, sauf si on modifie ca dans la configuration du CAS.

Page 3 sur 4 Heures au format UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/