Changeset c111db


Ignore:
Timestamp:
Oct 9, 2009, 12:30:54 PM (16 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
ccd9f5
Parents:
49f802c (diff), 87e2e39 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Frederik Heber <heber@…> (10/09/09 12:18:41)
git-committer:
Frederik Heber <heber@…> (10/09/09 12:30:54)
Message:

Merge branch 'new-delete-conversion' into CodeRefactoring

Conflicts:

molecuilder/src/Makefile.am
molecuilder/src/helpers.cpp
molecuilder/src/helpers.hpp
molecuilder/src/memoryusageobserver.cpp

  • FIX: performCriticalExit() was declared static but not defined a such.
  • Merge was basically only due to libmolecuilder which was not used in CodeRefactoring branch before.
  • added ActOnAll Unit test to new unittests sub folder and to Makefile.am
Files:
1 added
12 edited
11 moved

Legend:

Unmodified
Added
Removed
  • Makefile.am

    • Property mode changed from 100755 to 100644
    r49f802c rc111db  
    11ACLOCAL_AMFLAGS = -I m4
    2 SUBDIRS = src doc tests
     2SUBDIRS = src src/unittests doc tests
    33
    44EXTRA_DIST = autogen.sh
  • configure.ac

    • Property mode changed from 100755 to 100644
    r49f802c rc111db  
    1414AC_PROG_CXX
    1515AC_PROG_CC
     16AC_PROG_RANLIB
    1617AC_PROG_INSTALL
    1718AC_CHECK_PROG([LATEX],[latex],[latex],[:])
     
    8889AC_CONFIG_FILES([tests/molecuilder], [chmod +x tests/molecuilder])
    8990AC_CONFIG_FILES([doc/molecuilder.xml])
    90 AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile])
     91AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile src/unittests/Makefile])
    9192AC_OUTPUT
  • src/Makefile.am

    r49f802c rc111db  
    1 SOURCE = atom.cpp bond.cpp boundary.cpp config.cpp element.cpp ellipsoid.cpp graph.cpp helpers.cpp leastsquaremin.cpp linkedcell.cpp moleculelist.cpp molecule.cpp molecule_dynamics.cpp molecule_fragmentation.cpp molecule_geometry.cpp molecule_graph.cpp molecule_pointcloud.cpp parser.cpp periodentafel.cpp tesselation.cpp tesselationhelpers.cpp vector.cpp verbose.cpp
    2 HEADER = atom.hpp bond.hpp boundary.hpp config.hpp defs.hpp element.hpp ellipsoid.hpp graph.hpp helpers.hpp leastsquaremin.hpp linkedcell.hpp lists.hpp memoryallocator.hpp memoryusageobserver.cpp memoryusageobserver.hpp molecule.hpp molecule_template.hpp parser.hpp periodentafel.hpp stackclass.hpp tesselation.hpp tesselationhelpers.hpp vector.hpp verbose.hpp
    3 
    4 noinst_PROGRAMS =  ActOnAllTest VectorUnitTest MemoryAllocatorUnitTest MemoryUsageObserverUnitTest TesselationUnitTest
     1SOURCE = atom.cpp bond.cpp boundary.cpp config.cpp element.cpp ellipsoid.cpp graph.cpp helpers.cpp leastsquaremin.cpp linkedcell.cpp memoryusageobserver.cpp moleculelist.cpp molecule.cpp molecule_dynamics.cpp molecule_fragmentation.cpp molecule_geometry.cpp molecule_graph.cpp molecule_pointcloud.cpp parser.cpp periodentafel.cpp tesselation.cpp tesselationhelpers.cpp vector.cpp verbose.cpp
     2HEADER = atom.hpp bond.hpp boundary.hpp config.hpp defs.hpp element.hpp ellipsoid.hpp graph.hpp helpers.hpp leastsquaremin.hpp linkedcell.hpp lists.hpp memoryallocator.hpp memoryusageobserver.hpp molecule.hpp molecule_template.hpp parser.hpp periodentafel.hpp stackclass.hpp tesselation.hpp tesselationhelpers.hpp vector.hpp verbose.hpp
    53
    64BOOST_LIB = $(BOOST_LDFLAGS) $(BOOST_MPL_LIB)
     5INCLUDES = -I$(top_srcdir)/src/unittests
    76
     7noinst_LIBRARIES = libmolecuilder.a
    88bin_PROGRAMS = molecuilder joiner analyzer
    99molecuilderdir = ${bindir}
     10libmolecuilder_a_SOURCES = ${SOURCE} ${HEADER}
    1011molecuilder_DATA = elements.db valence.db orbitals.db Hbonddistance.db Hbondangle.db
    1112molecuilder_LDFLAGS = $(BOOST_LIB)
    12 molecuilder_SOURCES =  ${SOURCE} builder.cpp  ${HEADER}
    13 joiner_SOURCES = joiner.cpp datacreator.cpp element.cpp helpers.cpp memoryallocator.hpp memoryusageobserver.cpp memoryusageobserver.hpp periodentafel.cpp parser.cpp verbose.cpp datacreator.hpp helpers.hpp parser.hpp periodentafel.hpp
    14 analyzer_SOURCES = analyzer.cpp datacreator.cpp element.cpp helpers.cpp memoryallocator.hpp memoryusageobserver.cpp memoryusageobserver.hpp periodentafel.cpp parser.cpp verbose.cpp helpers.hpp periodentafel.hpp parser.hpp datacreator.hpp
     13molecuilder_SOURCES = builder.cpp
     14molecuilder_LDADD = libmolecuilder.a
     15joiner_SOURCES = joiner.cpp datacreator.cpp parser.cpp datacreator.hpp helpers.hpp parser.hpp periodentafel.hpp
     16joiner_LDADD = libmolecuilder.a
     17analyzer_SOURCES = analyzer.cpp datacreator.cpp parser.cpp helpers.hpp periodentafel.hpp parser.hpp datacreator.hpp
     18analyzer_LDADD = libmolecuilder.a
    1519
    16 TESTS = VectorUnitTest MemoryAllocatorUnitTest MemoryUsageObserverUnitTest TesselationUnitTest
    17 check_PROGRAMS = $(TESTS)
    18 
    19 VectorUnitTest_SOURCES = defs.hpp helpers.cpp helpers.hpp leastsquaremin.cpp leastsquaremin.hpp memoryallocator.hpp memoryusageobserver.cpp memoryusageobserver.hpp vectorunittest.cpp vectorunittest.hpp vector.cpp vector.hpp verbose.cpp verbose.hpp
    20 VectorUnitTest_CXXFLAGS = $(CPPUNIT_CFLAGS)
    21 VectorUnitTest_LDFLAGS = $(CPPUNIT_LIBS) -ldl
    22 
    23 TesselationUnitTest_SOURCES = defs.hpp helpers.cpp helpers.hpp leastsquaremin.cpp leastsquaremin.hpp linkedcell.cpp linkedcell.hpp memoryallocator.hpp memoryusageobserver.cpp memoryusageobserver.hpp tesselation.cpp tesselation.hpp tesselationhelpers.cpp tesselationhelpers.hpp tesselationunittest.cpp tesselationunittest.hpp vector.cpp vector.hpp verbose.cpp verbose.hpp
    24 TesselationUnitTest_CXXFLAGS = $(CPPUNIT_CFLAGS)
    25 TesselationUnitTest_LDFLAGS = $(CPPUNIT_LIBS) -ldl
    26 
    27 ActOnAllTest_SOURCES = ActOnAllTest.hp ActOnAllUnitTest.cpp ActOnAllUnitTest.hpp defs.hpp helpers.cpp helpers.hpp memoryallocator.hpp memoryusageobserver.cpp memoryusageobserver.hpp vector.cpp vector.hpp verbose.cpp verbose.hpp leastsquaremin.cpp leastsquaremin.hpp
    28 ActOnAllTest_CXXFLAGS = $(CPPUNIT_CFLAGS)
    29 ActOnAllTest_LDFLAGS = $(CPPUNIT_LIBS) -ldl
    30 
    31 
    32 MemoryAllocatorUnitTest_SOURCES = defs.hpp helpers.cpp helpers.hpp memoryallocatorunittest.cpp memoryallocatorunittest.hpp memoryallocator.hpp memoryusageobserver.cpp memoryusageobserver.hpp verbose.cpp verbose.hpp
    33 MemoryAllocatorUnitTest_CXXFLAGS = $(CPPUNIT_CFLAGS)
    34 MemoryAllocatorUnitTest_LDFLAGS = $(CPPUNIT_LIBS) -ldl
    35 
    36 MemoryUsageObserverUnitTest_SOURCES = defs.hpp helpers.cpp helpers.hpp memoryusageobserverunittest.cpp memoryusageobserverunittest.hpp memoryusageobserver.hpp memoryusageobserver.cpp verbose.cpp verbose.hpp
    37 MemoryUsageObserverUnitTest_CXXFLAGS = $(CPPUNIT_CFLAGS)
    38 MemoryUsageObserverUnitTest_LDFLAGS = $(CPPUNIT_LIBS) -ldl
    39 
    40 EXTRA_DIST = ${molecuilder_DATA}
     20#EXTRA_DIST = ${molecuilder_DATA}
  • src/analyzer.cpp

    • Property mode changed from 100755 to 100644
    r49f802c rc111db  
    8080  if (argc > 4) {
    8181    cout << "Loading periodentafel." << endl;
    82     periode = new periodentafel;
     82    periode = Malloc<periodentafel>(1, "main - periode");
    8383    periode->LoadPeriodentafel(argv[4]);
    8484  }
  • src/atom.cpp

    • Property mode changed from 100755 to 100644
  • src/bond.cpp

    • Property mode changed from 100755 to 100644
  • src/builder.cpp

    • Property mode changed from 100644 to 100755
  • src/helpers.cpp

    • Property mode changed from 100644 to 100755
    r49f802c rc111db  
    177177};
    178178
     179/**
     180 * Frees all memory registered by the memory observer and calls exit(225) afterwards.
     181 */
     182static void performCriticalExit() {
     183  map<void*, size_t> pointers = MemoryUsageObserver::getInstance()->getPointersToAllocatedMemory();
     184  for (map<void*, size_t>::iterator runner = pointers.begin(); runner != pointers.end(); runner++) {
     185    Free(((void**) &runner->first));
     186  }
     187
     188  exit(255);
     189}
  • src/helpers.hpp

    r49f802c rc111db  
    5050int CompareDoubles (const void * a, const void * b);
    5151double * ReturnFullMatrixforSymmetric(double *cell_size);
     52static void performCriticalExit();
    5253
    5354/********************************************** helpful template functions *********************************/
  • src/memoryallocator.hpp

    • Property mode changed from 100644 to 100755
    r49f802c rc111db  
    115115    return;
    116116
    117   MemoryUsageObserver::getInstance()->removeMemory(*buffer);
     117  MemoryUsageObserver::getInstance()->removeMemory(*buffer, msg);
    118118  free(*buffer);
    119119  *buffer = NULL;
  • src/memoryusageobserver.cpp

    r49f802c rc111db  
    108108  return maximumSize;
    109109}
     110
     111/**
     112 * Gets a map with pointers to the currently allocated memory ranges as keys and
     113 * the allocated size as value.
     114 */
     115map<void*, size_t> MemoryUsageObserver::getPointersToAllocatedMemory() {
     116  return memoryUsers;
     117}
  • src/memoryusageobserver.hpp

    r49f802c rc111db  
    3535  size_t getUsedMemorySize();
    3636  size_t getMaximumUsedMemory();
     37  map<void*, size_t> getPointersToAllocatedMemory();
    3738
    3839protected:
  • src/unittests/memoryusageobserverunittest.cpp

    r49f802c rc111db  
    1010#include <cppunit/ui/text/TestRunner.h>
    1111
     12#include "memoryallocator.hpp"
    1213#include "memoryusageobserver.hpp"
    1314#include "memoryusageobserverunittest.hpp"
     
    4142void MemoryUsageObserverTest::getInstanceTwiceReturnsSameInstanceTest()
    4243{
    43   int* i = new int;
     44  int* i = Malloc<int>(1, "MemoryUsageObserverTest::getInstanceTwiceReturnsSameInstanceTest - i");
    4445  MemoryUsageObserver::getInstance()->addMemory(i, sizeof(int));
    4546  CPPUNIT_ASSERT_EQUAL(sizeof(int), MemoryUsageObserver::getInstance()->getUsedMemorySize());
     
    5253void MemoryUsageObserverTest::getInstanceAfterPurgeInstanceReturnsNewInstanceTest()
    5354{
    54   int* i = new int;
     55  int* i = Malloc<int>(1, "MemoryUsageObserverTest::getInstanceAfterPurgeInstanceReturnsNewInstanceTest - i");
    5556  MemoryUsageObserver::getInstance()->addMemory(i, sizeof(int));
    5657  CPPUNIT_ASSERT_EQUAL(sizeof(int), MemoryUsageObserver::getInstance()->getUsedMemorySize());
     
    6465void MemoryUsageObserverTest::addAndRemoveMemoryTest()
    6566{
    66   int* i = new int;
     67  int* i = Malloc<int>(1, "MemoryUsageObserverTest::addAndRemoveMemoryTest - i");
    6768  MemoryUsageObserver::getInstance()->addMemory(i, sizeof(int));
    6869  CPPUNIT_ASSERT_EQUAL(sizeof(int), MemoryUsageObserver::getInstance()->getUsedMemorySize());
     
    7677void MemoryUsageObserverTest::removeNonTrackedMemoryDoesNotCauseACrashTest()
    7778{
    78   int* i = new int;
     79  int* i = Malloc<int>(1, "MemoryUsageObserverTest::removeNonTrackedMemoryDoesNotCauseACrashTest - i");
    7980  MemoryUsageObserver::getInstance()->removeMemory(i);
    8081  CPPUNIT_ASSERT_EQUAL((size_t) 0, MemoryUsageObserver::getInstance()->getUsedMemorySize());
     
    8687void MemoryUsageObserverTest::addMemoryTwiceTest()
    8788{
    88   int* i = new int;
    89   int* j = new int;
     89  int* i = Malloc<int>(1, "MemoryUsageObserverTest::addMemoryTwiceTest - i");
     90  int* j = Malloc<int>(1, "MemoryUsageObserverTest::addMemoryTwiceTest - j");
    9091  MemoryUsageObserver::getInstance()->addMemory(i, sizeof(int));
    9192  MemoryUsageObserver::getInstance()->addMemory(j, sizeof(int));
    9293  CPPUNIT_ASSERT_EQUAL(2 * sizeof(int), MemoryUsageObserver::getInstance()->getUsedMemorySize());
    93  };
     94};
    9495
    9596/**
     
    9899void MemoryUsageObserverTest::addMemoryAndChangeSizeOfAddedMemoryTest()
    99100{
    100   int* i = new int;
     101  int* i = Malloc<int>(1, "MemoryUsageObserverTest::addMemoryAndChangeSizeOfAddedMemoryTest - i");
    101102  MemoryUsageObserver::getInstance()->addMemory(i, 2 * sizeof(int));
    102103  MemoryUsageObserver::getInstance()->addMemory(i, sizeof(int));
    103104  CPPUNIT_ASSERT_EQUAL(sizeof(int), MemoryUsageObserver::getInstance()->getUsedMemorySize());
    104  };
     105};
    105106
    106107/**
     
    109110void MemoryUsageObserverTest::addMemoryChangeSizeOfAddedMemoryAndGetMaximumSizeTest()
    110111{
    111   int* i = new int;
     112  int* i = Malloc<int>(1, "MemoryUsageObserverTest::addMemoryChangeSizeOfAddedMemoryAndGetMaximumSizeTest - i");
    112113  MemoryUsageObserver::getInstance()->addMemory(i, 2 * sizeof(int));
    113114  MemoryUsageObserver::getInstance()->addMemory(i, sizeof(int));
    114115  CPPUNIT_ASSERT_EQUAL(2 * sizeof(int), MemoryUsageObserver::getInstance()->getMaximumUsedMemory());
    115  };
     116};
    116117
    117118/**
     
    120121void MemoryUsageObserverTest::addMemoryRemoveMemoryAndGetMaximumSizeTest()
    121122{
    122   int* i = new int;
     123  int* i = Malloc<int>(1, "MemoryUsageObserverTest::addMemoryRemoveMemoryAndGetMaximumSizeTest - i");
    123124  MemoryUsageObserver::getInstance()->addMemory(i, sizeof(int));
    124125  MemoryUsageObserver::getInstance()->removeMemory(i);
    125126  CPPUNIT_ASSERT_EQUAL(sizeof(int), MemoryUsageObserver::getInstance()->getMaximumUsedMemory());
    126  };
     127};
     128
     129/**
     130 * UnitTest for getPointersToAllocatedMemory()
     131 */
     132void MemoryUsageObserverTest::getPointersToAllocatedMemoryTest()
     133{
     134  int* i = Malloc<int>(1, "MemoryUsageObserverTest::getPointersToAllocatedMemoryTest - i");
     135  MemoryUsageObserver::getInstance()->addMemory(i, sizeof(int));
     136  CPPUNIT_ASSERT_EQUAL(i, (int*) MemoryUsageObserver::getInstance()->getPointersToAllocatedMemory().begin()->first);
     137};
     138
     139
    127140/********************************************** Main routine **************************************/
    128141
  • src/unittests/memoryusageobserverunittest.hpp

    r49f802c rc111db  
    2424    CPPUNIT_TEST ( addMemoryChangeSizeOfAddedMemoryAndGetMaximumSizeTest );
    2525    CPPUNIT_TEST ( addMemoryRemoveMemoryAndGetMaximumSizeTest );
     26    CPPUNIT_TEST ( getPointersToAllocatedMemoryTest );
    2627    CPPUNIT_TEST_SUITE_END();
    2728
     
    3940    void addMemoryChangeSizeOfAddedMemoryAndGetMaximumSizeTest();
    4041    void addMemoryRemoveMemoryAndGetMaximumSizeTest();
     42    void getPointersToAllocatedMemoryTest();
    4143};
    4244
Note: See TracChangeset for help on using the changeset viewer.