From 26818a7ca7d93f98a728445e3c48c6e22ac704b8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 21 Aug 2009 23:50:26 +0000 Subject: tablor 4.04-h (21aug09) git-svn-id: svn://tug.org/texlive/trunk@14803 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/tablor/tablor.html | 252 +++++++++++++------------ 1 file changed, 130 insertions(+), 122 deletions(-) (limited to 'Master/texmf-dist/doc/latex/tablor/tablor.html') diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.html b/Master/texmf-dist/doc/latex/tablor/tablor.html index 74c0c505ef4..9ef0c59695b 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.html +++ b/Master/texmf-dist/doc/latex/tablor/tablor.html @@ -87,7 +87,7 @@
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{tablor}[14/05/2009 v4.04-f la machine a creer des tableaux de signes et variations]
+\ProvidesPackage{tablor}[21/08/2009 v4.04-h la machine a creer des tableaux de signes et variations]
 
 % \copyleft Connan le Barbare (aka Guillaume Connan) \copyright
 % This work may be distributed and/or mofified under the conditions
@@ -98,7 +98,7 @@
 % tablor.pdf and tablor.html
 
 
-%% Cree 16 environnements :
+%% Cree 16 environnements :
 %% tableau de signes de 2 facteurs affines
 % \begin{TSa}
 % TSa(-2,3,-1,5,\tv);
@@ -192,15 +192,15 @@
 \RequirePackage{filecontents}
 \RequirePackage{ifthen}
 \RequirePackage{fancyvrb}
-\RequirePackage{ifpdf}
+\RequirePackage{ifpdf}
 
-\fvset{gobble=0}
+\fvset{gobble=0}
 
-% option xcas present 
+% option xcas present 
 
 
 \newboolean{xcas}\setboolean{xcas}{false}
-\DeclareOption{xcas}{\setboolean{xcas}{true}}
+\DeclareOption{xcas}{\setboolean{xcas}{true}}
 
 
 \ProcessOptions\relax
@@ -209,22 +209,22 @@
 
 
 %% Initialisation du choix d'OS
-\newboolean{windows}\setboolean{windows}{false}
+\newboolean{windows}\setboolean{windows}{false}
 
 
 
 %% on configure  tablor  dans un fichier exterieur pour la plateforme
 %% et l'editeur
 
-\IfFileExists{tablor.cfg}{\input{tablor.cfg}}%\typeout{pas de fichier tablor.cfg}}
+\IfFileExists{tablor.cfg}{\input{tablor.cfg}}%\typeout{pas de fichier tablor.cfg}}
 
 
 %% Definit des commandes disque selon l'OS utilise
 \ifthenelse{\boolean{windows}}%
     {\newcommand{\rem}{DEL } \newcommand{\cat}{TYPE }
-      \newcommand{\cp}{COPY }}%
+      \newcommand{\cp}{COPY }}%
     {\newcommand{\rem}{rm }\newcommand{\cat}{cat }
-      \newcommand{\cp}{cp }}
+      \newcommand{\cp}{cp }}
 
 
 
@@ -240,18 +240,18 @@
 
 %% pour nettoyer les fichiers auxiliaires
 
-\AtEndDocument{\immediate\write18{\rem *.user XCas* Xcas* *.mpx}
+\AtEndDocument{\immediate\write18{\rem *.user XCas* Xcas* *.mpx}
                          }
 
 
 
 
-%% Pour clore les fichiers metapost 
+%% Pour clore les fichiers metapost 
 
 
   \begin{VerbatimOut}{queue.mp}
   
-  end
+  end
 
   \end{VerbatimOut}
 
@@ -264,7 +264,7 @@
 
 
 \newcommand{\nettoyer}[1][\jobname]%
-{\immediate\write18{\rem #1.Tab.log  queue.mp enteteMP.cfg session.tex config.cxx}
+{\immediate\write18{\rem #1.Tab.log  queue.mp enteteMP.cfg session.tex config.cxx}
 }
 
 
@@ -286,7 +286,7 @@
 
 
 %% permet de donner un prefixe aux tableaux produits (\jobname par defaut)
-%% effectue quelques verifications :
+%% effectue quelques verifications :
 
 
 \newcommand{\initablor}[1][\jobname]{%
@@ -294,16 +294,16 @@
 \setcounter{TVn}{0}%     Initialisation du compteur de tableaux.
 \ifthenelse{\boolean{xcas}}%    Avec l'option XCas
 {\IfFileExists{\nomtravail.Tab.mp}%      Si Tableaux.mp est present...
-        {\immediate\write18{\rem \nomtravail.Tab.mp}}%  le detruire
+        {\immediate\write18{\rem \nomtravail.Tab.mp}}%  le detruire
         {}%   
- \immediate\write18{\cp  enteteMP.cfg \nomtravail.Tab.mp}% Reconstituer l'entête de Tableaux.mp
+ \immediate\write18{\cp  enteteMP.cfg \nomtravail.Tab.mp}% Reconstituer l'entête de Tableaux.mp
 } 
 {\IfFileExists{\nomtravail.Tab.mp}%      Sans l'option XCas, si
                                 %      Tableaux.mp existe
 {\immediate\write18{mpost -interaction=batchmode \nomtravail.Tab}}% l'executer pour reconstituer les figures
 {\PackageWarning{tablor}{Pas de source metapost pour creer les tableaux.}}% sinon message d'erreur
                                 % (mais pas d'arret car les tableaux
-                                % peuvent être presents )
+                                % peuvent être presents )
 }}%
 
 
@@ -313,7 +313,7 @@
 \makeatletter
 \newcommand{\executGiacmp}[1]{%
 \ifthenelse{\boolean{windows}}%
-{\immediate\write18{giac #1 }}%
+{\immediate\write18{giac #1 }}%
 {\immediate\write18{giac  <#1 }}}
 \makeatother
 
@@ -335,22 +335,22 @@
 
 
 \begin{VerbatimOut}{XcasTV.cxx}
-TV(L,F,nom,nomv,f,ftt,trigo,nmr):={
-nl:=size(L);
+TV(L,F,nom,nomv,f,ftt,trigo,nmr):={
+nl:=size(L);
 f:=unapply(f,x);
-fp:=function_diff(f);
+fp:=function_diff(f);
 Z:=concat(L,F);
 S:=[];
 
 
 if(trigo==t){
-all_trig_solutions:=1;
+all_trig_solutions:=1;
 reset_solve_counter(-1,-1);
 SS:=solve(factor(simplify(fp(x))),x);
 ns:=size(SS);
 for(k:=0;k<ns;k++){
 m:=0;
-while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){
+while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){
 S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1;
 };m:=-1;
 while(evalf(subst(SS[k],n_1=m))>=L[0]){
@@ -373,7 +373,7 @@ nz:=size(Z);
 
 
  tantque evalf(Z[0])==evalf(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z);
-     ftantque;
+     ftantque;
 
 
 
@@ -385,7 +385,7 @@ nz:=size(Z);
                              kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1]));
                           if(kk==1){Z:=append(Z,simplify(S[j]))};
                           fpour
-  fsi;
+  fsi;
 
 
 Z:=sort([op(set[op(Z)])]);
@@ -398,11 +398,11 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+
        k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1));
        kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1));
                           
-lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
-     if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
+lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
+     if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
                                                     if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
-                                                    if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
-                                                         if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }}
+                                                    if(evalf(sign(fp(Z[0]+10^(-5))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp((Z[0]+10^(-5)))))==1.0){"plus;"}else{"moins;"} }}
  
 if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.1))>0;                     
                                                lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
@@ -411,7 +411,7 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.1))>0;
 
 lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;
 "}
-lm0:=limit(f(x),x=Z[0],1)==-infinity;
+lm0:=limit(f(x),x=Z[0],1)==-infinity;
      li:=lvic+nom+"}$ etex);"+
            if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"}
              else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"}+                               
@@ -430,7 +430,7 @@ lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;
 "}}}
                                                    }; }
 
-lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity;
+lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity;
                           
 
 
@@ -438,24 +438,24 @@ lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+
            if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+
              if(kz==1){"1);"}else{"0);"}}
     else{"limGauche(btex $"+
-         if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ 
+         if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ 
            if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}};    
     
 
 
 
 
-MetaLfc:=if(ftt==2){if(nz>2){"
+MetaLfc:=if(ftt==2){if(nz>2){"
 
 beginTableau("+nmr+")"+
         l0+lsi+lsp+lsf+"
-endTableau;
+endTableau;
 
 ";}else{
 intro+"beginTableau("+nmr+")"+
         l0+
 lsi+lsf+"
-endTableau;
+endTableau;
 
 ";
 }
@@ -463,7 +463,7 @@ lsi+lsf+"
         l0+
 li+
 lp+
-lf
+lf
 +"
 endTableau;
 
@@ -480,7 +480,7 @@ if(nz>2){"beginTableau("+nmr+")"+
 lsi+lsp+lsf+
 li+
 lp+
-lf
+lf
 +"
 endTableau;
 
@@ -490,13 +490,13 @@ lsi+lsf+
 li+
 lf
 +"
-endTableau;
+endTableau;
 
 ";}
 }}
 
 
-sortie:=fopen("XCasmpfc.mp");
+sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
@@ -588,10 +588,10 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+
        kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1));
                           
 lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
-     if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],FP)==0){
+     if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"plus;"}else{"moins;"}}else{if(member(Z[0],FP)==0){
                                                     if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
-                                                    if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
-                                                         if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }}
+                                                    if(evalf(sign(fp(Z[0]+10^(-5))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp((Z[0]+10^(-5)))))==1.0){"plus;"}else{"moins;"} }}
  
 if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.1))>0;                     
                                                lsp:=lsp+if(member(Z[r],FP)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
@@ -685,7 +685,7 @@ endTableau;
 }}
 
 
-sortie:=fopen("XCasmpfc.mp");
+sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
@@ -793,10 +793,10 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+
        kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1));
                           
 lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
-if(member(Z[0],IMIN)!=0){if((member(Z[0],F)==0) and (fp(Z[0])!=undef)){"debutNonDef;"}else{"debutNonDefStrict;"}}else{if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
+if(member(Z[0],IMIN)!=0){if((member(Z[0],F)==0) and (fp(Z[0])!=undef)){"debutNonDef;"}else{"debutNonDefStrict;"}}else{if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
                                                     if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
-                                                    if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
-                                                         if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }}}
+                                                    if(evalf(sign(fp(Z[0]+10^(-5))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp((Z[0]+10^(-5)))))==1.0){"plus;"}else{"moins;"} }}}
 
 
 
@@ -929,7 +929,7 @@ endTableau;
 }}
 
 
-sortie:=fopen("XCasmpfc.mp");
+sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
@@ -969,7 +969,7 @@ nz:=size(z);
 
 
 
-S:=op(fsolve(fp(x),x));
+S:=op(fsolve(fp(x),x));
 if(L==[-infinity,+infinity]){j:=[seq(-100+k,k=0..200)]minus F;
   for k in j do for(m:=-5;m<=5;m++){S:=S,fsolve(fp(x),x,k+m*0.1,newton_solver)};end_for}
 else{if(L[0]==-infinity){j:=[seq(k,k=-100..floor(L[1]))] minus F;
@@ -1023,10 +1023,10 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+
        kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1));
                           
 lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
-     if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
+     if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
                                                     if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
-                                                    if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
-                                                         if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }}
+                                                    if(evalf(sign(fp(Z[0]+10^(-5))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp((Z[0]+10^(-5)))))==1.0){"plus;"}else{"moins;"} }}
  
 if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp(Z[r]+0.01))>0;                     
                                                lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+
@@ -1228,10 +1228,13 @@ TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))=
        kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1));
                           
 lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
-     if(Z[0]==-infinity){if(evalf(sign(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
+     if(Z[0]==-infinity){if(evalf(sign(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1.0){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
                                                     if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
-                                                    if(sign(fp((Z[0]+10^(-3))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
-                                                         if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$  $ etex);"+ if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; 
+                                                    if(evalf(sign(fp((Z[0]+10^(-3)))))==1.0){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
+                                                         if(evalf(sign(fp(10^(-3)+Z[0])))==1.0){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$
+                                                       $ etex);"+ 
+if(evalf(sign(fp(10^(-3)+ifte(Z[0]==-infinity,ifte(Z[1]==+infinity,ifte(member(0,F)==0,0,0.01),ifte(member(Z[1]-1,F)==0,Z[1]-1,Z[1]-1.1)),Z[0]))))==1.0){"plus;"}else{"moins;"}}else{" "}; 
+
 
 
 
@@ -1377,7 +1380,7 @@ endTableau;
 
 
 
-sortie:=fopen("XCasmpfc.mp");
+sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
@@ -1502,7 +1505,9 @@ lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
      if(Z[0]==-infinity){if(evalf(sign(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
                                                     if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
                                                     if(sign(fp((Z[0]+10^(-3))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
-                                                         if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$  $ etex);"+ if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; 
+                                                         if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$
+                                                       $ etex);"+
+if(evalf(sign(fp(10^(-3)+ifte(Z[0]==-infinity,ifte(Z[1]==+infinity,ifte(member(0,F)==0,0,0.01),ifte(member(Z[1]-1,F)==0,Z[1]-1,Z[1]-1.1)),Z[0]))))==1.0){"plus;"}else{"moins;"}}else{" "}; 
 
 
 
@@ -1647,7 +1652,7 @@ endTableau;
 
 
 
-sortie:=fopen("XCasmpfc.mp");
+sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
 
@@ -1688,7 +1693,7 @@ nz:=size(z);
 
 
 
-S:=op(fsolve(fp(x),x));
+S:=op(fsolve(fp(x),x));
 if(L==[-infinity,+infinity]){j:=[seq(-100+k,k=0..200)]minus F;
   for k in j do for(m:=-5;m<=5;m++){S:=S,fsolve(fp(x),x,k+m*0.1,newton_solver)};end_for}
 else{if(L[0]==-infinity){j:=[seq(k,k=-100..floor(L[1]))] minus F;
@@ -1781,8 +1786,10 @@ lsi:=lsic+nom+"'("+nomv+")}$ etex);"+
      if(Z[0]==-infinity){if(evalf(sign(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){
                                                     if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+
                                                     if(sign(fp((Z[0]+10^(-3))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+
-                                                         if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$  $ etex);"+ if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; 
+                                                         if(sign(fp(10^(-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$
+                                                       $ etex);"+
 
+if(evalf(sign(fp(10^(-3)+ifte(Z[0]==-infinity,ifte(Z[1]==+infinity,ifte(member(0,F)==0,0,0.01),ifte(member(Z[1]-1,F)==0,Z[1]-1,Z[1]-1.1)),Z[0]))))==1.0){"plus;"}else{"moins;"}}else{" "}; 
 
 
 
@@ -1972,7 +1979,7 @@ fp:=append(fp,function_diff(f[d]));
 LLL:=concat(L,F[d]);
 Z:=LLL union Z;
 SS:=solve(factor(simplify(fp[d](t))),t);
-ns:=size(SS);
+ns:=size(SS);
 
 for(k:=0;k<ns;k++){
 if(trigo==t){
@@ -1988,7 +1995,7 @@ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1;
 
 }
 }else{
-S:=concat(S,SS);
+S:=concat(S,SS);
 }
 }
 
@@ -2009,12 +2016,12 @@ nz:=size(Z);
 
 
 
-nz:=size(Z);
+nz:=size(Z);
 u:=1;
  tantque (u<nz-2) and (nz>2) faire
      tantque evalf(Z[u])==evalf(Z[u+1]) faire
          Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=size(Z);
-     ftantque;
+     ftantque;
   u:=u+1;
  ftantque;
 
@@ -2032,12 +2039,12 @@ pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+
 
  lsi:="","";
 
-FFF:=[[],[]];
+FFF:=[[],[]];
 
 for(d:=0;d<=1;d++){
 FFF[d]:=concat(F[d],[-infinity,+infinity]);
        k0:= evalf(limit(f[d](x),x=Z[0],1))> evalf(limit(f[d](x),x=Z[1],-1));
-       kz:=evalf(limit(f[d](x),x=Z[nz-1],-1))> evalf(limit(f[d](x),x=Z[nz-2],1));
+       kz:=evalf(limit(f[d](x),x=Z[nz-1],-1))> evalf(limit(f[d](x),x=Z[nz-2],1));
 //}
 //$
  lsi[d]:=lsic+nom[d]+"'("+nomv+")}$ etex);"+if(member(Z[0],FFF[d])==0){"valBarre(btex $"+latex(simplify(fp[d](Z[0])))+"$ etex);"}else{if(Z[0]==-infinity){" "}else{"nonDefBarre;
@@ -2051,7 +2058,7 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){      ksp:=evalf(fp[d](Z[r]+0.01))>0;
                                                 if(ksp==1){"plus;"}else{"moins;"}
                                                   }; }
 
-lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex $"+latex(simplify(fp[d](Z[nz-1])))+"$ etex);"}else{if(Z[nz-1]==+infinity){" "}else{"nonDefBarre;"}}
+lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex $"+latex(simplify(fp[d](Z[nz-1])))+"$ etex);"}else{if(Z[nz-1]==+infinity){" "}else{"nonDefBarre;"}}
 
 
 
@@ -2073,37 +2080,37 @@ lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex nz-2],1));
+  Kz[d]:=evalf(limit(f[d](x),x,Z[nz-1],-1))> evalf(limit(f[d](x),x,Z[nz-2],1));
 //{
 //$
 lm0[d]:=limit(f[d](x),x,Z[0],1)==-infinity;
      li[d]:=lvic+nom[d]+"}$ etex);"+
-           if(member(Z[0],F[d])==0){"valPos(btex $"+if(lm0[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[0],1)))}+"$ etex,"}
+           if(member(Z[0],F[d])==0){"valPos(btex $"+if(lm0[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[0],1)))}+"$ etex,"}
              else{"nonDefBarre;limDroite(btex $"+if(lm0[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[0],1)))}+"$ etex,"}+
            if(K0[d]==1){"1"}else{"0"}+
                          ");";
 
-                     if(nz>2){ for(r:=1; r<=nz-2;r++){ krm[d]:=evalf(limit(f[d](x),x=Z[r-1],1))< evalf(limit(f[d](x),x=Z[r],-1));
+                     if(nz>2){ for(r:=1; r<=nz-2;r++){ krm[d]:=evalf(limit(f[d](x),x=Z[r-1],1))< evalf(limit(f[d](x),x=Z[r],-1));
                                                  krp[d]:=evalf(limit(f[d](x),x=Z[r],1))> evalf(limit(f[d](x),x,Z[r+1],-1)) ;
                          lmrm[d]:=limit(f[d](x),x,Z[r],-1)==-infinity;lmrp[d]:=limit(f[d](x),x,Z[r],1)==-infinity;
                                                   lp[d]:=lp[d]+if(member(Z[r],F[d])){
                                     "limGauche(btex
                                     $"+if(lmrm[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[r],-1)))}+"$
-                                    etex,"+if(krm[d]==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[r],1)))}+"$ etex,"+if(krp[d]==1){"1);"}else{"0);"}}
+                                    etex,"+if(krm[d]==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[r],1)))}+"$ etex,"+if(krp[d]==1){"1);"}else{"0);"}}
                                           else{"valPos(btex          $"+latex(simplify(f[d](Z[r])))+"$
                                             etex,"+if(sign(evalf(fp[d](Z[r]-0.001)))==sign(evalf((fp[d](Z[r]+0.001))) )){"0.5);"}else{if(krp[d]==1){"1);"}else{"0);
 "}}}
                                                    }; }
 
-lnz[d]:=limit(f[d](x),x=Z[nz-1],-1)==-infinity;
+lnz[d]:=limit(f[d](x),x=Z[nz-1],-1)==-infinity;
 
 
 lf[d]:=if(member(Z[nz-1],F[d])==0){"valPos(btex $"+
            if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$ etex,"+
-             if(Kz[d]==1){"1);"}else{"0);"}}
+             if(Kz[d]==1){"1);"}else{"0);"}}
     else{"limGauche(btex $"+
          if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$ etex,"+ 
-           if(Kz[d]==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}};    
+           if(Kz[d]==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}};    
     
 
 
@@ -2119,17 +2126,17 @@ lf[d]:=if(member(Z[nz-1],F[d])==0){"valPos(btex $"
 
 
 
-MetaLfc:=if(ftt==2){if(nz>2){"
+MetaLfc:=if(ftt==2){if(nz>2){"
 
 beginTableau("+nmr+")"+
         l0+lsi[0]+lsp[0]+lsf[0]+lsi[1]+lsp[1]+lsf[1]+"
-endTableau;
+endTableau;
 
 ";}else{
 intro+"beginTableau("+nmr+")"+
         l0+
 lsi[0]+lsf[0]+lsi[1]+lsf[1]+"
-endTableau;
+endTableau;
 
 ";
 }
@@ -2137,24 +2144,24 @@ lsi[0]+lsf[0]+lsi[1]+lsf[1]+"
         l0+
 li[0]+
 lp[0]+
-lf[0]+
+lf[0]+
 li[1]+
 lp[1]+
 lf[1]
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
 li[0]+
 lf[0]+
 li[1]+
-lf[1]
+lf[1]
 +"
 endTableau;
 
 ";}}else{
-if(nz>2){"beginTableau("+nmr+")"+
+if(nz>2){"beginTableau("+nmr+")"+
         l0+
 lsi[0]+lsp[0]+lsf[0]+
 li[0]+
@@ -2165,7 +2172,7 @@ li[1]+
 lp[1]+
 lf[1]
 +"
-endTableau;
+endTableau;
 
 ";}else{"beginTableau("+nmr+")"+
         l0+
@@ -2176,7 +2183,7 @@ lsi[1]+lsf[1]+
 li[1]+
 lf[1]
 +"
-endTableau;
+endTableau;
 
 ";}
 }
@@ -2241,7 +2248,7 @@ S:=solve(L[k](x),x);
                           if(S[j]>mini and S[j]<maxi){Z:=Z,simplify(S[j]);}
                       fpour;
   fsi;
-fpour;
+fpour;
 
 
 
@@ -2256,7 +2263,7 @@ nz:=size(Z);
 
 nz:=size(Z);
 
-if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);";
+if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);";
           for(p:=0;p<=n-1;p++){li:=li+lsic+latex(L[p](x))+"}$ etex);"+
 if(mini!=-infinity and L[p](mini)==0){"
                                 valBarre(btex 0 etex);"}else{"
@@ -2269,7 +2276,7 @@ if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p
            lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"};
 
 
-MetaLfc:="    beginTableau("+nmr+")
+MetaLfc:="    beginTableau("+nmr+")
 newLigneVariables(btex $ {x}$ etex);
    "+l0+li+ lsic+nomf+"(x)}$ etex);"+
                if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){"
@@ -2394,7 +2401,7 @@ S:=concat(S,solve(L[k](x),x));
                           if(S[j]>mini and S[j]<maxi){Z:=Z,simplify(S[j]);}
                       fpour;
   fsi;
-fpour;
+fpour;
 
 
 pour k de 0 jusque m-1 faire 
@@ -2425,7 +2432,7 @@ SF:=concat(SF,solve(Fo[k](x),x));
                           if(SF[j]>mini and SF[j]<maxi){F:=F,simplify(SF[j]);}
                       fpour;
   fsi;
-fpour;
+fpour;
 
 
 
@@ -2436,7 +2443,7 @@ Z:=sort([op(set[op(Z)])]);
 
 nz:=size(Z);
 
-if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);";
+if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);";
           for(p:=0;p<=n-1;p++){li:=li+lsic+latex(L[p](x))+"}$ etex);"+
 if(mini!=-infinity and L[p](mini)==0){"
                                 valBarre(btex 0 etex);"}else{"
@@ -2470,7 +2477,7 @@ endTableau;
 
 
 l0:="val(btex $"+latex(D[0])+"$ etex);";li:=" ";lr:=" "; 
-pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
+pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
 ";fpour; 
 l0:=l0+"val(btex $"+latex(D[1])+"$ etex);";
 
@@ -2485,21 +2492,21 @@ for(p:=0;p<=n-1;p++){lp:="";
  
                 li:=li+lp+ if(simplify(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ 
                           if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins;
-    "}+if(maxi!=+infinity and L[p](maxi)==0){"valBarre(btex 0 etex);"}else{" "}
+    "}+if(maxi!=+infinity and L[p](maxi)==0){"valBarre(btex 0 etex);"}else{" "}
                               
     };  
 
 
 pour t de 0 jusque nz-2 faire 
                            lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+
-                                      if(member(Z[t+1],FF)==0){"valBarre(btex 0 etex);"}else{ "nonDefBarre;"}                   
+                                      if(member(Z[t+1],FF)==0){"valBarre(btex 0 etex);"}else{ "nonDefBarre;"}                   
                          fpour
 
 
 
 
-MetaLfc:="
-beginTableau("+nmr+")
+MetaLfc:="
+beginTableau("+nmr+")
 newLigneVariables(btex $ {x}$ etex);
    "+l0+
                      li
@@ -2544,12 +2551,12 @@ fclose(sortie);
 
 
 \begin{VerbatimOut}{XcasTabSigna.cxx}
-TSa(a,b,c,d,nmr):={
+TSa(a,b,c,d,nmr):={
 zA:=solve(a*x+b=0,x)[0];
 zB:=solve(c*x+d=0,x)[0];
 zmin:=min(zA,zB);
 zmax:=max(zA,zB);
-  Meta:= " 
+  Meta:= " 
           beginTableau("+nmr+")
    newLigneVariables(btex $ {x}$ etex);
    val(btex $-\\infty$ etex);val(btex $"+latex(zmin)+"$ etex);
@@ -2567,7 +2574,7 @@ val(btex $+\\infty$ etex);
                                  if(zmin==zB){"valBarre(btex 0 etex);"}else{"barre;"}+
                                  if(zmin==zB){si c>0 alors "plus;"; sinon "moins;";fsi}
                                              else{si c>0 alors "moins;"; sinon "plus;"; fsi}+
-                                 if(zmin==zB){"barre;"}else{"valBarre(btex 0 etex);"}+
+                                 if(zmin==zB){"barre;"}else{"valBarre(btex 0 etex);"}+
                                  if(c>0){"plus;"}else{"moins;"}  
      
    +lsic+"{("+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+")("+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+")}}$ etex);"
@@ -2582,7 +2589,7 @@ endTableau;
 
 
 
-sortie:=fopen("XCasmpfc.mp");
+sortie:=fopen("XCasmpfc.mp");
 fprint(sortie,Unquoted,Meta);
 fclose(sortie);
 
@@ -2602,8 +2609,9 @@ fclose(sortie);
 
 
 
-\begin{VerbatimOut}{XcasTSc.cxx}
-TSc(g,D,F,trigo,nmr):={
+\begin{VerbatimOut}{XcasTSc.cxx}
+
+TSc(g,D,F,trigo,nmr):={
 f:=unapply(g,x);
 mini:=D[0]; maxi:=D[1];lm:=" ";
 Z:=mini,maxi;
@@ -2615,13 +2623,13 @@ if(trigo==t){
 all_trig_solutions:=1;
 reset_solve_counter(-1,-1);
 SS:=solve(factor(simplify(f(x))),x);
-ns:=size(SS);
+ns:=size(SS);
 for(j:=0;j<ns;j++){
 m:=0;
 while(evalf(simplify(subst(SS[j],n_1=m)))<=evalf(maxi)){
 S:=concat(S,simplify(subst(SS[j],n_1=m)));m:=m+1;
 };m:=-1;
-while(evalf(subst(SS[j],n_1=m))>=evalf(mini)){
+while(evalf(subst(SS[j],n_1=m))>=evalf(mini)){
 S:=concat(S,simplify(subst(SS[j],n_1=m)));m:=m-1;
 }
 }
@@ -2634,19 +2642,19 @@ S:=solve(f(x),x);
 
 
 
-if(size(S)==0){
+if(size(S)==0 and size(F)==0){
 l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);";
 li:=if(member(mini,F)!=0){"nonDefBarre;"}else{if(mini!=-infinity and f(mini)==0){"
-                                valBarre(btex 0 etex);"}else{"
+                                valBarre(btex 0 etex);"}else{"
                               "}}+ 
-if(mini!=-infinity or maxi!=+infinity){if(f((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}}else{if(f(0)>0){"plus;"}else{"moins;"}};
-lf:=if(member(maxi,F)!=0){"nonDefBarre;"}else{if(maxi!=+infinity and f(maxi)==0){"
-                                valBarre(btex 0 etex);"}else{"
+if(mini!=-infinity or maxi!=+infinity){if(f((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}}else{if(f(0.3145274774464545777744)>0){"plus;"}else{"moins;"}};
+lf:=if(member(maxi,F)!=0){"nonDefBarre;"}else{if(maxi!=+infinity and f(maxi)==0){"
+                                valBarre(btex 0 etex);"}else{"
                               "}};
-}
-else{pour j de 0 jusque size(S)-1 faire 
+}else{
+if(size(S!=0)){pour j de 0 jusque size(S)-1 faire 
                            if(S[j]>mini and S[j]<maxi){Z:=Z,simplify(S[j])};
-                      fpour;
+                      fpour}
 
 Z:=concat([Z],F);
 
@@ -2660,42 +2668,43 @@ li:=if(mini!=-infinity and f(mini)==0){"
                                 valBarre(btex 0 etex);"}else{if(member(mini,F)==0){"
                               "}else{"nonDefBarre;"}}+ 
 if(f((mini+maxi)*0.5)>0){"plus;"}else{"moins;"};
-lf:=if(maxi!=+infinity and f(maxi)==0){"
+lf:=if(maxi!=+infinity and f(maxi)==0){"
                                 valBarre(btex 0 etex);"}else{if(member(maxi,F)==0){"
-                              "}else{"nonDefBarre;"}
+                              "}else{"nonDefBarre;"}
                               };
 
 }else{
 l0:="val(btex $"+latex(Z[0])+"$ etex);";li:=" ";
-pour m de 1 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
+pour m de 1 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex);
 ";
-fpour; 
+fpour; 
 
                                      
 li:= if(mini!=-infinity and f(mini)==0){"
                                 valBarre(btex 0 etex);"}else{if(member(mini,F)==0){"
-                              "}else{"nonDefBarre;"}
+                              "}else{"nonDefBarre;"}
                               }                         
 
 lm:=if(nz>2){for(r:=0; r<nz-2;r++){lm:=lm+if(Z[r]==-infinity){
 if(f((Z[r+1]-1))>0){"plus;"}else{"moins;"}
 }else{if(f((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}}
 +
-            if(member(Z[r+1],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"} 
+            if(member(Z[r+1],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"} 
                            }}else{" "}; 
 
-lf:=if(f(Z[nz-2]+0.1)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{if(member(maxi,F)==0){"
+lf:=if(f(Z[nz-2]+0.1)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{if(member(maxi,F)==0){"
                               "}else{"nonDefBarre;"}
                               };
-}};  
+}
+};  
 
 
 
 
-MetaLfc:="
+MetaLfc:="
 
 beginTableau("+nmr+")
-newLigneVariables(btex $\\displaystyle  {x}$ etex);
+newLigneVariables(btex $\\displaystyle  {x}$ etex);
    "+l0+lsic+latex(f(x))+"}$ etex);"+
                      li+lm+lf
                      +"
@@ -2712,7 +2721,6 @@ fprint(sortie,Unquoted,MetaLfc);
 fclose(sortie);
  }:;
 
-
 \end{VerbatimOut}
 
 
@@ -2739,7 +2747,7 @@ fprint(sortie,Unquoted,MetaLfc);
                                    % exporter le source mp
                                    % puis lancer metapost pour creer
                                    % l'image du tableau
-         \immediate\write18{\cat XCasmpfc.mp >> \nomtravail.Tab.mp}
+         \immediate\write18{\cat XCasmpfc.mp >> \nomtravail.Tab.mp}
          \immediate\write18{\cat enteteMP.cfg >> \nomtravail.Tab#1.mp}
          \immediate\write18{\cat XCasmpfc.mp >> \nomtravail.Tab#1.mp}
          \immediate\write18{\cat queue.mp >> \nomtravail.Tab#1.mp}
-- 
cgit v1.2.3