Changes in / [d3dfe18:87e2e39]


Ignore:
Files:
9 added
8 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • Makefile.am

    • Property mode changed from 100755 to 100644
    rd3dfe18 r87e2e39  
    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
    rd3dfe18 r87e2e39  
    1414AC_PROG_CXX
    1515AC_PROG_CC
     16AC_PROG_RANLIB
    1617AC_PROG_INSTALL
    1718AC_CHECK_PROG([LATEX],[latex],[latex],[:])
     
    7980AC_CONFIG_FILES([tests/molecuilder], [chmod +x tests/molecuilder])
    8081AC_CONFIG_FILES([doc/molecuilder.xml])
    81 AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile])
     82AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile src/unittests/Makefile])
    8283AC_OUTPUT
  • src/Makefile.am

    rd3dfe18 r87e2e39  
    1 SOURCE = atom.cpp bond.cpp boundary.cpp config.cpp element.cpp ellipsoid.cpp helpers.cpp leastsquaremin.cpp linkedcell.cpp moleculelist.cpp molecules.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 helpers.hpp leastsquaremin.hpp linkedcell.hpp memoryallocator.hpp memoryusageobserver.cpp memoryusageobserver.hpp molecules.hpp parser.hpp periodentafel.hpp stackclass.hpp tesselation.hpp tesselationhelpers.hpp vector.hpp verbose.hpp
     1SOURCE = atom.cpp bond.cpp boundary.cpp config.cpp          element.cpp ellipsoid.cpp helpers.cpp leastsquaremin.cpp linkedcell.cpp memoryusageobserver.cpp molecules.cpp moleculelist.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 helpers.hpp leastsquaremin.hpp linkedcell.hpp memoryusageobserver.hpp molecules.hpp                  parser.hpp periodentafel.hpp stackclass.hpp tesselation.hpp tesselationhelpers.hpp vector.hpp verbose.hpp
    33
    4 noinst_PROGRAMS =  VectorUnitTest MemoryAllocatorUnitTest MemoryUsageObserverUnitTest
     4INCLUDES = -I$(top_srcdir)/src/unittests
    55
     6noinst_LIBRARIES = libmolecuilder.a
    67bin_PROGRAMS = molecuilder joiner analyzer
    78molecuilderdir = ${bindir}
     9libmolecuilder_a_SOURCES = ${SOURCE} ${HEADER}
    810molecuilder_DATA = elements.db valence.db orbitals.db Hbonddistance.db Hbondangle.db
    9 molecuilder_SOURCES =  ${SOURCE} builder.cpp  ${HEADER}
    10 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
    11 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
     11molecuilder_SOURCES = builder.cpp
     12molecuilder_LDADD = libmolecuilder.a
     13joiner_SOURCES = joiner.cpp datacreator.cpp parser.cpp datacreator.hpp helpers.hpp parser.hpp periodentafel.hpp
     14joiner_LDADD = libmolecuilder.a
     15analyzer_SOURCES = analyzer.cpp datacreator.cpp parser.cpp helpers.hpp periodentafel.hpp parser.hpp datacreator.hpp
     16analyzer_LDADD = libmolecuilder.a
    1217
    13 TESTS = VectorUnitTest MemoryAllocatorUnitTest
    14 check_PROGRAMS = $(TESTS)
    15 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
    16 VectorUnitTest_CXXFLAGS = $(CPPUNIT_CFLAGS)
    17 VectorUnitTest_LDFLAGS = $(CPPUNIT_LIBS) -ldl
    18 
    19 MemoryAllocatorUnitTest_SOURCES = defs.hpp helpers.cpp helpers.hpp memoryallocatorunittest.cpp memoryallocatorunittest.hpp memoryallocator.hpp memoryusageobserver.cpp memoryusageobserver.hpp verbose.cpp verbose.hpp
    20 MemoryAllocatorUnitTest_CXXFLAGS = $(CPPUNIT_CFLAGS)
    21 MemoryAllocatorUnitTest_LDFLAGS = $(CPPUNIT_LIBS) -ldl
    22 
    23 MemoryUsageObserverUnitTest_SOURCES = defs.hpp helpers.cpp helpers.hpp memoryusageobserverunittest.cpp memoryusageobserverunittest.hpp memoryusageobserver.hpp memoryusageobserver.cpp verbose.cpp verbose.hpp
    24 MemoryUsageObserverUnitTest_CXXFLAGS = $(CPPUNIT_CFLAGS)
    25 MemoryUsageObserverUnitTest_LDFLAGS = $(CPPUNIT_LIBS) -ldl
    26 
    27 EXTRA_DIST = ${molecuilder_DATA}
     18#EXTRA_DIST = ${molecuilder_DATA}
  • src/builder.cpp

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

    • Property mode changed from 100644 to 100755
    rd3dfe18 r87e2e39  
    144144};
    145145
     146/**
     147 * Frees all memory registered by the memory observer and calls exit(225) afterwards.
     148 */
     149void performCriticalExit() {
     150  map<void*, size_t> pointers = MemoryUsageObserver::getInstance()->getPointersToAllocatedMemory();
     151  for (map<void*, size_t>::iterator runner = pointers.begin(); runner != pointers.end(); runner++) {
     152    Free(((void**) &runner->first));
     153  }
    146154
     155  exit(255);
     156}
  • src/helpers.hpp

    rd3dfe18 r87e2e39  
    5151void flip(double *x, double *y);
    5252int pot(int base, int n);
    53 //void * Malloc(size_t size, const char* output);
    54 //void * Calloc(size_t size, const char* output);
    55 //void * ReAlloc(void * OldPointer, size_t size, const char* output);
    56 //char* MallocString(size_t size, const char* output);
    57 //void Free(void ** buffer, const char* output);
    5853char *FixedDigitNumber(const int FragmentNumber, const int digits);
    5954bool IsValidNumber( const char *string);
     55static void performCriticalExit();
    6056
    6157/********************************************** helpful template functions *********************************/
  • src/memoryallocator.hpp

    • Property mode changed from 100644 to 100755
    rd3dfe18 r87e2e39  
    111111 * \param pointer to the allocated memory range to free; may be NULL, this function is a no-op then
    112112 */
    113 template <typename X> void Free(X** buffer)
     113template <typename X> void Free(X** buffer, const char *msg = NULL)
    114114{
    115115  if ((buffer == NULL) || (*buffer == NULL))
    116116    return;
    117117
    118   MemoryUsageObserver::getInstance()->removeMemory(*buffer);
     118  MemoryUsageObserver::getInstance()->removeMemory(*buffer, msg);
    119119  free(*buffer);
    120120  *buffer = NULL;
  • src/memoryusageobserver.cpp

    rd3dfe18 r87e2e39  
    7878 * \param pointer to the allocated piece of memory
    7979 */
    80 void MemoryUsageObserver::removeMemory(void* pointer) {
     80void MemoryUsageObserver::removeMemory(void* pointer, const char *msg) {
    8181  map<void*, size_t>::iterator current = memoryUsers.find(pointer);
    8282
    8383  if (current == memoryUsers.end()) {
    8484    cout << "WARNING: There is non-tracked memory to be freed. Pointer "
    85       << pointer << " is not registered by MemoryUsageObserver." << endl;
     85      << pointer << " is not registered by MemoryUsageObserver";
     86    if (msg != NULL)
     87      cout << ": " << msg;
     88    cout << "." << endl;
    8689    return;
    8790  }
     
    104107  return maximumSize;
    105108}
     109
     110/**
     111 * Gets a map with pointers to the currently allocated memory ranges as keys and
     112 * the allocated size as value.
     113 */
     114map<void*, size_t> MemoryUsageObserver::getPointersToAllocatedMemory() {
     115  return memoryUsers;
     116}
  • src/memoryusageobserver.hpp

    rd3dfe18 r87e2e39  
    2828  static void purgeInstance();
    2929  void addMemory(void* pointer, size_t size);
    30   void removeMemory(void* pointer);
     30  void removeMemory(void* pointer, const char *msg = NULL);
    3131  size_t getUsedMemorySize();
    3232  size_t getMaximumUsedMemory();
     33  map<void*, size_t> getPointersToAllocatedMemory();
    3334
    3435protected:
Note: See TracChangeset for help on using the changeset viewer.