Index: trunk/SophyaLib/NTools/NTools.o.list
===================================================================
--- trunk/SophyaLib/NTools/NTools.o.list	(revision 791)
+++ trunk/SophyaLib/NTools/NTools.o.list	(revision 805)
@@ -19,5 +19,4 @@
 imageop.o
 integ.o
-linfit.o
 matxop.o
 median.o
Index: trunk/SophyaLib/NTools/fftmserver.cc
===================================================================
--- trunk/SophyaLib/NTools/fftmserver.cc	(revision 791)
+++ trunk/SophyaLib/NTools/fftmserver.cc	(revision 805)
@@ -184,5 +184,5 @@
 void FFTMayerServer::FFTForward(TVector< r_4 > const & in, TVector< complex<r_4> > & out)
 {
- r_4 a,b,c,d;
+ r_4 a,b;
  int i,j,k;
  int n = in.NElts();
@@ -227,5 +227,5 @@
 void FFTMayerServer::FFTBackward(TVector< complex<r_4> > const & in, TVector< r_4 > & out)
 {
- r_4 a,b,c,d;
+ r_4 a,b;
  int i,j,k;
  int n = in.NElts();
@@ -269,5 +269,5 @@
 void FFTMayerServer::FFTForward(TVector< r_8 > const & in, TVector< complex<r_8> > & out)
 {
- r_8 a,b,c,d;
+ r_8 a,b;
  int i,j,k;
  int n = in.NElts();
@@ -311,5 +311,5 @@
 void FFTMayerServer::FFTBackward(TVector< complex<r_8> > const & in, TVector< r_8 > & out)
 {
- r_8 a,b,c,d;
+ r_8 a,b;
  int i,j,k;
  int n = in.NElts();
@@ -356,5 +356,4 @@
   if (n < 2) return(true);
   int nc = n;
-  int r;
   while (nc > 1) {
     if (nc%2 != 0)  return(true);
Index: trunk/SophyaLib/NTools/fftpserver.cc
===================================================================
--- trunk/SophyaLib/NTools/fftpserver.cc	(revision 791)
+++ trunk/SophyaLib/NTools/fftpserver.cc	(revision 805)
@@ -288,5 +288,4 @@
   out.ReSize(ncs);
   out(0) = complex<r_8> (in(0),0.);
-  int k;
   for(int k=1;k<nc;k++) 
     out(k) =  complex<r_4> (in(2*k-1), in(2*k));
@@ -303,5 +302,4 @@
   out.ReSize(ncs);
   out(0) = complex<r_4> (in(0),0.);
-  int k;
   for(int k=1;k<nc;k++) 
     out(k) =  complex<r_4> (in(2*k-1), in(2*k));
Index: trunk/SophyaLib/NTools/linfit.cc
===================================================================
--- trunk/SophyaLib/NTools/linfit.cc	(revision 791)
+++ 	(revision )
@@ -1,128 +1,0 @@
-#include "machdefs.h"
-#include "peida.h"
-#include "sopemtx.h"
-#include "linfit.h"
-
-LinFitter::LinFitter()
-{
-}
-
-LinFitter::~LinFitter()
-{
-}
-
-double LinFitter::LinFit(const Vector& x, const Vector& y, int nf, 
-                         double (*f)(int, double), Vector& c)
-{
-  int n = x.NElts();
-  if (n != y.NElts()) THROW(sizeMismatchErr);
-  
-  Matrix fx(nf, n);
-  for (int i=0; i<nf; i++)
-    for (int j=0; j<n; j++)
-      fx(i,j) = f(i,x(j));
-
-  return LinFit(fx,y,c);
-}
-
-
-
-double LinFitter::LinFit(const Matrix& fx, const Vector& y, Vector& c)
-{
-  int n = y.NElts();
-  if ( n != fx.NCol()) THROW(sizeMismatchErr);
-
-  int nf = fx.NRows();
-
-  Matrix a(nf,nf);
-
-  for (int j=0; j<nf; j++)
-    for (int k=j; k<nf; k++)
-      a(j,k) = a(k,j) = TMatrixRC<r_8>::Row(const_cast<Matrix &>(fx), j) 
-	* TMatrixRC<r_8>::Row(const_cast<Matrix &>(fx), k); /* $CHECK$ Reza 10/3/2000 */
-   
-  c = fx * y;
-
-  if (SimpleMatrixOperation<r_8>::GausPiv(a,c) == 0) THROW(singMatxErr); /* $CHECK$ Reza 10/3/2000 */
-
-  double xi2 = 0;
-
-  for (int k=0; k<n; k++) {
-    double x = 0;
-    for (int i=0; i<nf; i++)
-      x += c(i) * fx(i,k);
-    x -= y(k);
-    xi2 += x*x;
-  }
-  return xi2;
-}
-
-
-
-double LinFitter::LinFit(const Vector& x, const Vector& y, const Vector& errY2, int nf,
-	                 double (*f)(int, double), Vector& c, Vector& errC)
-{
-  int n = x.NElts();
-  if (n != y.NElts()) THROW(sizeMismatchErr);
-  
-  Matrix fx(nf, n);
-  for (int i=0; i<nf; i++)
-    for (int j=0; j<n; j++)
-      fx(i,j) = f(i,x(j));
-
-  return LinFit(fx,y,errY2,c,errC);
-}
-
-
-double LinFitter::LinFit(const Matrix& fx, const Vector& y, const Vector& errY2,
-	   Vector& c, Vector& errC)
-{
-  int n = y.NElts();
-  if ( n != errY2.NElts()) THROW(sizeMismatchErr);
-  if ( n != fx.NCol()) THROW(sizeMismatchErr);
-
-  int nf = fx.NRows();
-
-  Matrix a(nf,nf);
-
-  c.Realloc(nf);
-  errC.Realloc(nf);
-
-  for (int j=0; j<nf; j++)
-    for (int k=j; k<nf; k++) {
-      double x=0;
-      for (int l=0; l<n; l++)
-	x += fx(j,l) * fx(k,l) / errY2(l);        // Matrice a inverser
-      a(j,k) = a(k,j) = x;
-    }
- 
-  Matrix d(nf,nf+1);
-  for (int k=0; k<nf; k++) {
-    double x=0;
-    for (int l=0; l<n; l++)
-      x += fx(k,l) * y(l) / errY2(l);             // Second membre 1ere colonne
-    d(k,0) = x;
-    for (int m=1; m<=nf; m++)
-      d(k,m) = (k==m) ? 1 : 0;                // Reste second membre = Id.
-  }
-
-  if (SimpleMatrixOperation<r_8>::GausPiv(a,d) == 0) THROW(singMatxErr); /* $CHECK$ Reza 10/3/2000 */
-
-  for (int l=0; l<nf; l++) {
-    c(l) = d(l,0);                            // Parametres = 1ere colonne
-    errC(l) = d(l,l+1);                        // Erreurs = diag inverse.
-  }
-
-  double xi2 = 0;
-
-  for (int jj=0; jj<n; jj++) {
-    double x = 0;
-    for (int ii=0; ii<nf; ii++)
-      x += c(ii) * fx(ii,jj);
-    x -= y(jj);
-    xi2 += x*x/errY2(jj);
-  }
-  return xi2;
-}
-
-
Index: trunk/SophyaLib/NTools/linfit.h
===================================================================
--- trunk/SophyaLib/NTools/linfit.h	(revision 791)
+++ trunk/SophyaLib/NTools/linfit.h	(revision 805)
@@ -1,5 +1,5 @@
 // This may look like C code, but it is really -*- C++ -*-
 //
-// $Id: linfit.h,v 1.6 1999-11-05 13:08:30 ansari Exp $
+// $Id: linfit.h,v 1.7 2000-04-03 17:41:07 ansari Exp $
 //
 
@@ -9,39 +9,8 @@
 #define LINFIT_SEEN
 
-#include "machdefs.h"
-#include "tvector.h"
+// Mis ds TArray/sopemtx.h  - fichier garde pour back-compatibilite
+//                                       Reza 03/2000
+#include "sopemtx.h"
 
-namespace SOPHYA {
-
-class LinFitter {
-public :
-		LinFitter();
-  virtual	~LinFitter();
-
-  double	LinFit(const Vector& x, const Vector& y, int nf,
-		       double (*f)(int, double), Vector& c);
-// fit lineaire des y en tant que somme de c(i)f(i,x), i=0..nf-1;
-
-  double	LinFit(const Matrix& fx, const Vector& y, Vector& c);
-// fit lineaire des y en tant que somme de c(i)f(i,x), i=0..nf-1,
-// la matrice fx contient les valeurs des f:
-// fx(i,j) = f(i, x(j)).
-		      
-  double	LinFit(const Vector& x, const Vector& y, const Vector& errY2, int nf,
-		       double (*f)(int, double), Vector& c, Vector& errC);
-// fit lineaire des y en tant que somme de c(i)f(i,x), i=0..nf-1,
-// errY2 contient les carres des erreurs sur les Y.
-// au retour, errC contient les erreurs sur les coefs.
-
-  double	LinFit(const Matrix& fx, const Vector& y, const Vector& errY2,
-		       Vector& c, Vector& errC);
-// fit lineaire des y en tant que somme de c(i)f(i,x), i=0..nf-1,
-// la matrice fx contient les valeurs des f:
-// fx(i,j) = f(i, x(j)).
-// errY2 contient les carres des erreurs sur les Y.
-// au retour, errC contient les erreurs sur les coefs.
-};
-
-} // Fin du namespace
 
 #endif // LINFIT_SEEN 
Index: trunk/SophyaLib/NTools/objfitter.h
===================================================================
--- trunk/SophyaLib/NTools/objfitter.h	(revision 791)
+++ trunk/SophyaLib/NTools/objfitter.h	(revision 805)
@@ -60,3 +60,3 @@
 
 
-#endif   // ARRFITTER_SEEN
+#endif   // OBJFITTER_SEEN
Index: trunk/SophyaLib/NTools/poly.cc
===================================================================
--- trunk/SophyaLib/NTools/poly.cc	(revision 791)
+++ trunk/SophyaLib/NTools/poly.cc	(revision 805)
@@ -2,4 +2,5 @@
 #include "poly.h"
 #include "linfit.h"
+#include "fioarr.h"
 
 //++
@@ -254,5 +255,5 @@
 
 //++
-void Poly::Print(ostream& s) const
+void Poly::Print(ostream& s, int_4 , bool ) const
 //
 //	Impresssion.
@@ -484,5 +485,5 @@
   Poly2 tmp(*this);
   Vector::Realloc((degreX+1)*(degreY+1));
-  Reset();
+  DataBlock().Reset();
   maxDegX = degreX;
   maxDegY = degreY;
@@ -721,5 +722,5 @@
 
 //++
-void Poly2::Print(ostream& s) const
+void Poly2::Print(ostream& s, int_4 , bool ) const
 //
 //	Impression sur stream s.
Index: trunk/SophyaLib/NTools/poly.h
===================================================================
--- trunk/SophyaLib/NTools/poly.h	(revision 791)
+++ trunk/SophyaLib/NTools/poly.h	(revision 805)
@@ -1,5 +1,5 @@
 // This may look like C code, but it is really -*- C++ -*-
 //
-// $Id: poly.h,v 1.4 1999-11-05 13:08:31 ansari Exp $
+// $Id: poly.h,v 1.5 2000-04-03 17:41:08 ansari Exp $
 //
 
@@ -34,6 +34,10 @@
   inline void Realloc(int n, bool force=false) {Vector::Realloc(n+1,force);}
 
-  inline double operator[](int i) const {return Element(i);}
-  inline double& operator[](int i) {dirty = 1; return Element(i);}
+  //  Pour compatibilite PEIDA  - Reza 03/2000
+  inline double Element(int i) const { return Elem(i,0,0,0,0); } 
+  inline double & Element(int i)  { return Elem(i,0,0,0,0); } 
+
+  inline double operator[](int i) const {return Elem(i,0,0,0,0);}
+  inline double& operator[](int i) {dirty = 1; return Elem(i,0,0,0,0);}
   // Retourne le coefficient de degre i
 
@@ -68,5 +72,5 @@
   Poly2 operator() (Poly2 const& b) const;
 
-  void Print(ostream& s) const;
+  void Print(ostream& s, int_4 maxprt=-1, bool si=false) const;
 
   double Fit(Vector const& x, Vector const& y, int degre);
@@ -131,4 +135,8 @@
   inline int Deg()  const {UpdateDegIfDirty(); return deg;}
   // les degres partiels en x et y, et totaux.
+
+  //  Pour compatibilite PEIDA  - Reza 03/2000
+  inline double Element(int i) const { return Elem(i,0,0,0,0); } 
+  inline double & Element(int i)  { return Elem(i,0,0,0,0); } 
 
   double operator()(double x, double y) const;
@@ -183,5 +191,5 @@
   void Realloc(int degreX, int degreY);
 
-  void Print(ostream& s) const;
+  void Print(ostream& s, int_4 maxprt=-1, bool si=false) const;
 
 private:
