diff -uNr test.orig/Makefile test/Makefile
--- test.orig/Makefile	Thu Jan  1 09:00:00 1970
+++ test/Makefile	Wed Oct 14 16:27:53 1998
@@ -0,0 +1,185 @@
+ObjSuf        = o
+SrcSuf        = cxx
+ExeSuf        =
+DllSuf        = so
+EVENTLIB      = $(EVENTO)
+OutPutOpt     = -o
+
+ROOTLIBS      = -L$(ROOTSYS)/lib -lNew -lBase -lCint -lClib -lCont -lFunc \
+                -lGraf -lGraf3d -lHist -lHtml -lMatrix -lMeta -lMinuit -lNet \
+                -lPostscript -lProof -lTree -lUnix -lZip
+ROOTGLIBS     = -lGpad -lGui -lGX11 -lX3d
+
+# Linux with egcs
+CXX           = g++
+CXXFLAGS      = -O2 -Wall -fsigned-char -fno-rtti -fno-exceptions -fPIC \
+		-I$(ROOTSYS)/include
+LD            = g++
+LDFLAGS       = -g
+SOFLAGS       = -shared
+LIBS          = $(ROOTLIBS) -lm -ldl -rdynamic
+GLIBS         = $(ROOTLIBS) $(ROOTGLIBS) -L/usr/X11R6/lib \
+                -lXpm -lX11 -lm -ldl -rdynamic
+
+
+#------------------------------------------------------------------------------
+
+EVENTO        = Event.$(ObjSuf) \
+                EventDict.$(ObjSuf)
+
+EVENTS        = Event.$(SrcSuf) \
+                EventDict.$(SrcSuf)
+
+MAINEVENTO    = MainEvent.$(ObjSuf)
+MAINEVENTS    = MainEvent.$(SrcSuf)
+
+EVENT         = Event$(ExeSuf)
+EVENTSO       = libEvent.$(DllSuf)
+
+HWORLDO       = hworld.$(ObjSuf)
+HWORLDS       = hworld.$(SrcSuf)
+HWORLD        = hworld$(ExeSuf)
+
+HSIMPLEO      = hsimple.$(ObjSuf)
+HSIMPLES      = hsimple.$(SrcSuf)
+HSIMPLE       = hsimple$(ExeSuf)
+
+MINEXAMO      = minexam.$(ObjSuf)
+MINEXAMS      = minexam.$(SrcSuf)
+MINEXAM       = minexam$(ExeSuf)
+
+TSTRINGO      = tstring.$(ObjSuf)
+TSTRINGS      = tstring.$(SrcSuf)
+TSTRING       = tstring$(ExeSuf)
+
+TCOLLEXO      = tcollex.$(ObjSuf)
+TCOLLEXS      = tcollex.$(SrcSuf)
+TCOLLEX       = tcollex$(ExeSuf)
+
+TCOLLBMO      = tcollbm.$(ObjSuf)
+TCOLLBMS      = tcollbm.$(SrcSuf)
+TCOLLBM       = tcollbm$(ExeSuf)
+
+VVECTORO      = vvector.$(ObjSuf)
+VVECTORS      = vvector.$(SrcSuf)
+VVECTOR       = vvector$(ExeSuf)
+
+VMATRIXO      = vmatrix.$(ObjSuf)
+VMATRIXS      = vmatrix.$(SrcSuf)
+VMATRIX       = vmatrix$(ExeSuf)
+
+VLAZYO        = vlazy.$(ObjSuf)
+VLAZYS        = vlazy.$(SrcSuf)
+VLAZY         = vlazy$(ExeSuf)
+
+GUITESTO      = guitest.$(ObjSuf)
+GUITESTS      = guitest.$(SrcSuf)
+GUITEST       = guitest$(ExeSuf)
+
+HELLOO        = Hello.$(ObjSuf) HelloDict.$(ObjSuf)
+HELLOS        = Hello.$(SrcSuf) HelloDict.$(SrcSuf)
+HELLOSO       = Hello.$(DllSuf)
+
+ACLOCKO       = Aclock.$(ObjSuf) AclockDict.$(ObjSuf)
+ACLOCKS       = Aclock.$(SrcSuf) AclockDict.$(SrcSuf)
+ACLOCKSO      = Aclock.$(DllSuf)
+
+TETRISO       = Tetris.$(ObjSuf) TetrisDict.$(ObjSuf)
+TETRISS       = Tetris.$(SrcSuf) TetrisDict.$(SrcSuf)
+TETRISSO      = Tetris.$(DllSuf)
+
+OBJS          = $(EVENTO) $(MAINEVENTO) $(HWORLDO) $(HSIMPLEO) $(MINEXAMO) \
+                $(TSTRINGO) $(TCOLLEXO) $(VVECTORO) $(VMATRIXO) $(VLAZYO) \
+                $(GUITESTO) $(HELLOO) $(ACLOCKO) $(TETRISO)
+
+PROGRAMS      = $(EVENT) $(HWORLD) $(HSIMPLE) $(MINEXAM) $(TSTRING) \
+                $(TCOLLEX) $(VVECTOR) $(VMATRIX) $(VLAZY) $(GUITEST) \
+                $(HELLOSO) $(ACLOCKSO) $(TETRISSO)
+
+all:            $(PROGRAMS)
+
+$(EVENT):       $(EVENTO) $(MAINEVENTO)
+		$(LD) $(SOFLAGS) $(LDFLAGS) $(EVENTO) $(OutPutOpt) $(EVENTSO)
+		$(LD) $(LDFLAGS) $(MAINEVENTO) $(EVENTLIB) $(LIBS) $(OutPutOpt) $(EVENT)
+		@echo "$(EVENT) done"
+
+$(HWORLD):      $(HWORLDO)
+		$(LD) $(LDFLAGS) $(HWORLDO) $(GLIBS) $(OutPutOpt) $(HWORLD)
+		@echo "$(HWORLD) done"
+
+$(HSIMPLE):     $(HSIMPLEO)
+		$(LD) $(LDFLAGS) $(HSIMPLEO) $(LIBS) $(OutPutOpt) $(HSIMPLE)
+		@echo "$(HSIMPLE) done"
+
+$(MINEXAM):     $(MINEXAMO)
+		$(LD) $(LDFLAGS) $(MINEXAMO) $(LIBS) $(OutPutOpt) $(MINEXAM)
+		@echo "$(MINEXAM) done"
+
+$(TSTRING):     $(TSTRINGO)
+		$(LD) $(LDFLAGS) $(TSTRINGO) $(LIBS) $(OutPutOpt) $(TSTRING)
+		@echo "$(TSTRING) done"
+
+$(TCOLLEX):     $(TCOLLEXO)
+		$(LD) $(LDFLAGS) $(TCOLLEXO) $(LIBS) $(OutPutOpt) $(TCOLLEX)
+		@echo "$(TCOLLEX) done"
+
+$(TCOLLBM):     $(TCOLLBMO)
+		$(LD) $(LDFLAGS) $^ $(LIBS) $(OutPutOpt) $@
+		@echo "$@ done"
+
+$(VVECTOR):     $(VVECTORO)
+		$(LD) $(LDFLAGS) $(VVECTORO) $(LIBS) $(OutPutOpt) $(VVECTOR)
+		@echo "$(VVECTOR) done"
+
+$(VMATRIX):     $(VMATRIXO)
+		$(LD) $(LDFLAGS) $(VMATRIXO) $(LIBS) $(OutPutOpt) $(VMATRIX)
+		@echo "$(VMATRIX) done"
+
+$(VLAZY):       $(VLAZYO)
+		$(LD) $(LDFLAGS) $(VLAZYO) $(LIBS) $(OutPutOpt) $(VLAZY)
+		@echo "$(VLAZY) done"
+
+$(GUITEST):     $(GUITESTO)
+		$(LD) $(LDFLAGS) $(GUITESTO) $(GLIBS) $(OutPutOpt) $(GUITEST)
+		@echo "$(GUITEST) done"
+
+$(HELLOSO):     $(HELLOO)
+		$(LD) $(SOFLAGS) $(LDFLAGS) $(HELLOO) $(OutPutOpt) $(HELLOSO)
+
+$(ACLOCKSO):    $(ACLOCKO)
+		$(LD) $(SOFLAGS) $(LDFLAGS) $(ACLOCKO) $(OutPutOpt) $(ACLOCKSO)
+
+$(TETRISSO):    $(TETRISO)
+		$(LD) $(SOFLAGS) $(LDFLAGS) $(TETRISO) $(OutPutOpt) $(TETRISSO)
+
+clean:
+		@rm -f $(OBJS) *Dict.* core
+
+.SUFFIXES: .$(SrcSuf)
+
+###
+
+Event.$(ObjSuf): Event.h
+MainEvent.$(ObjSuf): Event.h
+
+EventDict.$(SrcSuf): Event.h EventLinkDef.h
+	@echo "Generating dictionary EventDict..."
+	@$(ROOTSYS)/bin/rootcint -f EventDict.$(SrcSuf) -c Event.h EventLinkDef.h
+
+Hello.$(ObjSuf): Hello.h
+HelloDict.$(SrcSuf): Hello.h
+	@echo "Generating dictionary HelloDict..."
+	@$(ROOTSYS)/bin/rootcint -f HelloDict.$(SrcSuf) -c Hello.h
+
+Aclock.$(ObjSuf): Aclock.h
+AclockDict.$(SrcSuf): Aclock.h
+	@echo "Generating dictionary AclockDict..."
+	@$(ROOTSYS)/bin/rootcint -f AclockDict.$(SrcSuf) -c Aclock.h
+
+Tetris.$(ObjSuf): Tetris.h
+TetrisDict.$(SrcSuf): Tetris.h
+	@echo "Generating dictionary TetrisDict..."
+	@$(ROOTSYS)/bin/rootcint -f TetrisDict.$(SrcSuf) -c Tetris.h
+
+.$(SrcSuf).$(ObjSuf):
+	$(CXX) $(CXXFLAGS) -c $<
diff -uNr test.orig/vmatrix.cxx test/vmatrix.cxx
--- test.orig/vmatrix.cxx	Thu Oct 9 18:16:44 1998
+++ test/vmatrix.cxx	Thu Oct 15 06:24:50 1998
@@ -539,7 +539,9 @@
       for (j = m.GetColLwb(); j <= m.GetColUpb(); j++)
          m(i,j) = ( i==j ? pattern : 0 );
    cout << "\n	determinant is " << m.Determinant();
-   Assert( m.Determinant() == TMath::Power(pattern,(long)m.GetNrows()) );
+   Assert( TMath::Abs(m.Determinant()-TMath::Power(pattern,(long)m.GetNrows()))
+	   <= (TMath::Abs(m.Determinant())*1.e-14) );
+//   Assert( m.Determinant() == TMath::Power(pattern,(long)m.GetNrows()) );
 
    cout << "\nCheck the determinant of the transposed matrix";
    m.UnitMatrix();
@@ -570,8 +572,12 @@
    for (i = m.GetRowLwb(); i <= m.GetRowUpb(); i++)
       for (j = m.GetColLwb(); j <= m.GetColUpb(); j++)
          m(i,j) = ( i==(m.GetColUpb()+m.GetColLwb()-j) ? pattern : 0 );
-   Assert( m.Determinant() == TMath::Power(pattern,(long)m.GetNrows()) *
-         ( m.GetNrows()*(m.GetNrows()-1)/2 & 1 ? -1 : 1 ) );
+   cout << "\n	determinant is " << m.Determinant();
+   Assert( TMath::Abs(m.Determinant()-TMath::Power(pattern,(long)m.GetNrows())
+            		   * (m.GetNrows()*(m.GetNrows()-1)/2 & 1 ? -1 : 1 )) 
+		<= TMath::Abs(m.Determinant())*1.e-14 );
+//   Assert( m.Determinant() == TMath::Power(pattern,(long)m.GetNrows()) *
+//         ( m.GetNrows()*(m.GetNrows()-1)/2 & 1 ? -1 : 1 ) );
 
    cout << "\nCheck the determinant for the singular matrix"
            "\n	defined as above with zero first row";
