ctrl_c

Librairie C++ de calcul formel/ C++ symbolic computation library

Modérateur : xcasadmin

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

ctrl_c

Message par frederic han » mar. oct. 15, 2013 8:46 am

Salut,

Dans giacpy (version python pas dans sage) j'utilise le GIAC_ctrl_c_signal_handler.

Certaines instructions: Ex giac('normal(a+b+c+d+1)**60)') passent par protecteval

et d'autres passent par les operateurs:

notamment: toutes les fonction ou attributs utilsent __call__:
Ex: g.normal()

et donc passent par: gen operator()(gen & i,context * contextptr)

et pour +,- ... j'utilise aussi des operator.

Si j'interrompt un protecteval je n'ai aucun pb. Mais si j'interrompt un operateur, alors il ne veut plus redemarrer bien que j'ai mais des ressetctrl_c un peu partout. (giac::ctrl_c=false;)
il a l'air d'etre bien remis a false lorsque je le fais afficher, mais J'ai l'impression que les operateurs ne voient pas ce nouveau ctrl_c ou sont bloques par autre chose.

si je fais un protecteeval ensuite via: giac('') alors ca debloque bien g.normal().

Est ce que je devrais utiliser d'autres fonctions de giac, ou que fait protecteval que je devrais faire en plus de remettre ctrl_c a false.

parisse
Messages : 5743
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: ctrl_c

Message par parisse » mar. oct. 15, 2013 10:03 am

Essaie aussi de mettre interrupted a false (c'est vrai que ca fait un peu double-emploi...).

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: ctrl_c

Message par frederic han » mar. oct. 15, 2013 12:19 pm

Super!

C'est exactement ca, cette fois c'est bien stable (sauf pari mais je n'ai pas envie de faire des threads en python)

Fred

Répondre