--- /dev/null
+# Copyright (C) 2007-2011 CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+INCLUDE_DIRECTORIES(
+ ${CPPUNIT_INCLUDES_DIR}
+ ${HDF5_INCLUDES_DIR}
+ ${MED3_INCLUDES_DIR}
+ ${XDR_INCLUDES_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/../MEDMEM
+ ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL
+ ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Bases
+ ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/ExprEval
+ ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/GaussPoints
+ ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Geometric2D
+ )
+
+SET(InterpKernelTest_SOURCES
+ BBTreeTest.cxx
+ CppUnitTest.cxx
+ ExprEvalInterpTest.cxx
+ QuadraticPlanarInterpTest.cxx
+ QuadraticPlanarInterpTest2.cxx
+ QuadraticPlanarInterpTest3.cxx
+ QuadraticPlanarInterpTest4.cxx
+ QuadraticPlanarInterpTest5.cxx
+ SingleElementPlanarTests.cxx
+ TransformedTriangleIntersectTest.cxx
+ TransformedTriangleTest.cxx
+ UnitTetra3D2DIntersectionTest.cxx
+ UnitTetraIntersectionBaryTest.cxx
+ TestInterpKernelUtils.cxx
+)
+
+SET(TestINTERP_KERNEL_SOURCES
+ TestInterpKernel.cxx
+ )
+
+SET(PerfTest_SOURCES
+ PerfTest.cxx
+ )
+
+IF(NOT MED_ENABLE_MICROMED)
+ SET(InterpKernelTest_SOURCES
+ ${InterpKernelTest_SOURCES}
+ InterpolationOptionsTest.cxx
+ MEDMeshMaker.cxx
+ PointLocatorTest.cxx
+ )
+
+ SET(PerfTest_SOURCES
+ PerfTest.cxx
+ )
+ ADD_EXECUTABLE(PerfTest ${PerfTest_SOURCES})
+ SET_TARGET_PROPERTIES(PerfTest PROPERTIES COMPILE_FLAGS "${HDF5_FLAGS} ${MED3_FLAGS} ${XDR_FLAGS} ${CPPUNIT_FLAGS}")
+ TARGET_LINK_LIBRARIES(PerfTest InterpKernelTest ${CPPUNIT_LIBS})
+ENDIF(NOT MED_ENABLE_MICROMED)
+
+ADD_LIBRARY(InterpKernelTest SHARED ${InterpKernelTest_SOURCES})
+SET_TARGET_PROPERTIES(InterpKernelTest PROPERTIES COMPILE_FLAGS "${HDF5_FLAGS} ${MED3_FLAGS} ${XDR_FLAGS} ${CPPUNIT_FLAGS}")
+TARGET_LINK_LIBRARIES(InterpKernelTest medmem ${CPPUNIT_LIBS})
+
+ADD_EXECUTABLE(TestINTERP_KERNEL ${TestINTERP_KERNEL_SOURCES})
+SET_TARGET_PROPERTIES(TestINTERP_KERNEL PROPERTIES COMPILE_FLAGS "${HDF5_FLAGS} ${MED3_FLAGS} ${XDR_FLAGS} ${CPPUNIT_FLAGS}")
+TARGET_LINK_LIBRARIES(TestINTERP_KERNEL InterpKernelTest ${CPPUNIT_LIBS})
+ADD_TEST(TestINTERP_KERNEL TestINTERP_KERNEL)
+
+INSTALL(TARGETS TestINTERP_KERNEL DESTINATION ${MED_salomebin_BINS})
+INSTALL(TARGETS InterpKernelTest DESTINATION ${MED_salomelib_LIBS})
--- /dev/null
+#! /bin/env python
+# Copyright (C) 2007-2011 CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import re
+import sys
+import time
+import subprocess
+
+RES_FILE="perf_OPTIMIZE"
+
+def test_pair(par1,par2):
+ c=re.compile("[\D]*(?P<num>[\d]+)")
+ val1=c.match(par1).group("num")
+ val2=c.match(par2).group("num")
+ st="%s %s"%(val1,val2)
+ ret=subprocess.call(["./PerfTest",par1,par2])
+ if ret!=0:
+ f=file(RES_FILE,"w") ; f.write("Error on case %s %s !!!!\n"%(par1,par2)) ; del f
+ sys.exit(ret)
+ pass
+ return st
+
+def test_box_box():
+ st="PerfBox PerfBox\n"
+ st+=test_pair("PerfBox1495","PerfBox1495")
+ st+=test_pair("PerfBox2506","PerfBox2506")
+ st+=test_pair("PerfBox5708","PerfBox5708")
+ st+=test_pair("PerfBox13461","PerfBox13461")
+ st+=test_pair("PerfBox30808","PerfBox30808")
+ st+=test_pair("PerfBox47176","PerfBox47176")
+ st+=test_pair("PerfBox1495","PerfBox2506")
+ st+=test_pair("PerfBox1495","PerfBox5708")
+ st+=test_pair("PerfBox1495","PerfBox13461")
+ st+=test_pair("PerfBox1495","PerfBox30808")
+ st+=test_pair("PerfBox1495","PerfBox47176")
+ st+=test_pair("PerfBox2506","PerfBox5708")
+ st+=test_pair("PerfBox2506","PerfBox13461")
+ st+=test_pair("PerfBox2506","PerfBox30808")
+ st+=test_pair("PerfBox2506","PerfBox47176")
+ st+=test_pair("PerfBox5708","PerfBox13461")
+ st+=test_pair("PerfBox5708","PerfBox30808")
+ st+=test_pair("PerfBox5708","PerfBox47176")
+ st+=test_pair("PerfBox13461","PerfBox30808")
+ st+=test_pair("PerfBox13461","PerfBox47176")
+ st+=test_pair("PerfBox30808","PerfBox47176")
+ pass
+
+def test_cyl_cyl():
+ st="PerfCyl PerfCyl\n"
+ st+=test_pair("PerfCyl1047","PerfCyl1047")
+ st+=test_pair("PerfCyl3020","PerfCyl3020")
+ st+=test_pair("PerfCyl6556","PerfCyl6556")
+ st+=test_pair("PerfCyl9766","PerfCyl9766")
+ st+=test_pair("PerfCyl25745","PerfCyl25745")
+ st+=test_pair("PerfCyl47601","PerfCyl47601")
+ st+=test_pair("PerfCyl1047","PerfCyl3020")
+ st+=test_pair("PerfCyl1047","PerfCyl6556")
+ st+=test_pair("PerfCyl1047","PerfCyl9766")
+ st+=test_pair("PerfCyl1047","PerfCyl25745")
+ st+=test_pair("PerfCyl1047","PerfCyl47601")
+ st+=test_pair("PerfCyl3020","PerfCyl6556")
+ st+=test_pair("PerfCyl3020","PerfCyl9766")
+ st+=test_pair("PerfCyl3020","PerfCyl25745")
+ st+=test_pair("PerfCyl3020","PerfCyl47601")
+ st+=test_pair("PerfCyl6556","PerfCyl9766")
+ st+=test_pair("PerfCyl6556","PerfCyl25745")
+ st+=test_pair("PerfCyl6556","PerfCyl47601")
+ st+=test_pair("PerfCyl9766","PerfCyl25745")
+ st+=test_pair("PerfCyl9766","PerfCyl47601")
+ st+=test_pair("PerfCyl25745","PerfCyl47601")
+ return st
+
+def test_box_cyl():
+ st="PerfBox PerfCyl\n"
+ st+=test_pair("PerfBox1495","PerfCyl1047")
+ st+=test_pair("PerfBox1495","PerfCyl3020")
+ st+=test_pair("PerfBox1495","PerfCyl6556")
+ st+=test_pair("PerfBox1495","PerfCyl9766")
+ st+=test_pair("PerfBox1495","PerfCyl25745")
+ st+=test_pair("PerfBox1495","PerfCyl47601")
+ st+=test_pair("PerfBox2506","PerfCyl1047")
+ st+=test_pair("PerfBox2506","PerfCyl3020")
+ st+=test_pair("PerfBox2506","PerfCyl6556")
+ st+=test_pair("PerfBox2506","PerfCyl9766")
+ st+=test_pair("PerfBox2506","PerfCyl25745")
+ st+=test_pair("PerfBox2506","PerfCyl47601")
+ st+=test_pair("PerfBox5708","PerfCyl1047")
+ st+=test_pair("PerfBox5708","PerfCyl3020")
+ st+=test_pair("PerfBox5708","PerfCyl6556")
+ st+=test_pair("PerfBox5708","PerfCyl9766")
+ st+=test_pair("PerfBox5708","PerfCyl25745")
+ st+=test_pair("PerfBox5708","PerfCyl47601")
+ st+=test_pair("PerfBox13461","PerfCyl1047")
+ st+=test_pair("PerfBox13461","PerfCyl3020")
+ st+=test_pair("PerfBox13461","PerfCyl6556")
+ st+=test_pair("PerfBox13461","PerfCyl9766")
+ st+=test_pair("PerfBox13461","PerfCyl25745")
+ st+=test_pair("PerfBox13461","PerfCyl47601")
+ st+=test_pair("PerfBox30808","PerfCyl1047")
+ st+=test_pair("PerfBox30808","PerfCyl3020")
+ st+=test_pair("PerfBox30808","PerfCyl6556")
+ st+=test_pair("PerfBox30808","PerfCyl9766")
+ st+=test_pair("PerfBox30808","PerfCyl25745")
+ st+=test_pair("PerfBox30808","PerfCyl47601")
+ st+=test_pair("PerfBox47176","PerfCyl1047")
+ st+=test_pair("PerfBox47176","PerfCyl3020")
+ st+=test_pair("PerfBox47176","PerfCyl6556")
+ st+=test_pair("PerfBox47176","PerfCyl9766")
+ st+=test_pair("PerfBox47176","PerfCyl25745")
+ st+=test_pair("PerfBox47176","PerfCyl47601")
+ return st
+
+def test_box_transbox():
+ st=" PerfBox PerfBoxT\n"
+ st+=test_pair("PerfBox1495","PerfBoxT1493")
+ st+=test_pair("PerfBox2506","PerfBoxT2676")
+ st+=test_pair("PerfBox5708","PerfBoxT5717")
+ st+=test_pair("PerfBox13461","PerfBoxT12469")
+ st+=test_pair("PerfBox30808","PerfBoxT29019")
+ st+=test_pair("PerfBox47176","PerfBoxT47278")
+ return st
+
+gm=time.strftime("%a. %B %H:%M:%S",gm).lower()+time.strftime(" CET %Y",gm)
+st="PerfTest execution on %s\n"%(time.strftime("%a. %B %H:%M:%S",gm).lower()+time.strftime(" CET %Y",gm))
+st+=test_box_cyl()
+st+=test_box_box()
+st+=test_cyl_cyl()
+st+=test_box_transbox()
+f=file(RES_FILE,"w")