- Complete rewrite of EN_setlinktype with link index argument passed by reference
- New unit test of EN_setlinktype added
- New function EN_setlinknodes added
* Adding support for unit testing using boost unit test and ctest
* Adding libboost-test to Travis config.
* Adding libboost-test to Travis config.
* Modifying per element comparison
* Modifying per element comparison
* Fixing typo
* Fixing typo
* Adding custom comparison for strings
* Updating Travis to run unit tests
* Updating Travis to run unit tests
* Fixing typo
* Preparing unit testing to run on Appveyor
* Preparing unit testing to run on Appveyor
* Preparing unit testing to run on Appveyor
* Preparing unit testing to run on Appveyor and Travis
* Preparing unit testing to run on Appveyor and Travis
* Preparing unit testing to run on Appveyor and Travis
* Preparing unit testing to run on Appveyor
* Preparing unit testing to run on Appveyor
* Fixing unit testing path issue in CMake
* Fixing unit testing path issue in CMake
* Fixing bugs in cmake and appveyor scripts
* Rolling back generate_export_header in cmake
this quite sizable commit does several things, but is primarily
focussed on building a toolkit that can run simultaneous
simulations/analyses within a shared memory space. Versions <=2.1 use a
long list of global variables that prevent multiple instantiations on
linux systems without resorting to compilation tricks (like duplicate
binaries or similar via static linkage). This version uses a single "Project" pointer to encapsulate
the network and analysis data. There are no changes to existing algo
implementations other than to accomodate dereferencing of the passed-in
pointers. A more detailed list of major changes below:
- mirrors all “ENxxxx” function calls with “EN_xxxx” versions (note the
underscore) that take an extra first parameter: a pointer to an
EN_Project struct, which contains all network, hydraulic, quality, and
associated data.
- tweaks some code formatting to make it more readable
- removes some deprecated/commented code that was sufficiently old
- fixes implicit type-cast warnings
* Added ENaddnode and ENaddlink functions
* More memory reallocations
* Added ENInit, ENsetheadcurveindex
* Added ENdeletelink and ENdeletenode
* restored default behavior for float types
* fixed type
* Added docstrings for ENinit
* cleanup change
* moves global rule variables to vars.h
* migrates rule structs to typedefs
for better readability
* char types to proper enums
fixes#93
* Change some variable declarations for compatibility
Changes to keep compatibility with C89 compilers: variables must be
declared at the top of the functions. Remove the use of EN_LinkType in
function call as it is not compatible with ENgetnodetype.
* Moved declaration of idstodelete to top of function
* Updated ENinit function and headers
Updated header files with new functions
Updated def file with new functions
For ENinit changes names of parameters #98
Added enum for headloss formula
* Missed these files in 1a033fc
* migrates char types to enums fixes#93,
supports unified link/node type enums, rather than public/private
redefinitions
* removing links in reverse-index order maintains proper indexing fixes#96
* style
* clarifies curve getter units issue (dox)
closes#95
* fixes link/node confusion in ENsetlinktype
partially reverts a3bce95dc330a5a297634a303d438e2e1bc41cc9
* partial compilation fix
* fixes dox issue
* fixes allocation issues with enums
- updates style in various places
- introduces FlowDirection enum
- use snprintf to prevent overflow
* fixes enum type cast
* updated mac project settings
* Use of _snprintf on Windows and remove DLLEXPORT from mempool.h
snprintf it not compatible on Windows so we use _snprintf
mempool gave starnge compilation errors while removing DLLEXPORT worked.
Not sure why these functions needed to be exposed in the DLL?
* Revert "Use of _snprintf on Windows and remove DLLEXPORT from mempool.h"
This reverts commit 6238f77d47fa0feaabe5836043c006937de433a2.
* use of _snprintf instead of snprintf on Windows and removed DLLEXPORT from mempool.h
Had compilation errors on mempool.h. Removed DLLEXPORT so solve it. Not
sure why there was a need to expose these functions?
* Shift indices for Links in ENaddnode
Need to shift indices for Links not just Pipes since a pump could be
connected directly to a reservoir. Also set the defult base demand to
zero (was 5).
* Set defualts for madatory link properties in ENaddlink and small fix for ENsetheadcurveindex
Relates to #102 and closes#103
* wraps globals into structs, duplicates api functions with objective versions
* parse and serialize Comment field for network elements
related to #47
* adds getter for head/efficiency curve
in EN_getlinkvalue
* adds getter for event node index
… to return the index of the junction (tank) that triggered the event.
* fixes edge case in parsing
… where inp files without demands in [JUNCTIONS] and without any
[DEMAND] categories will fail.
* adds freeing function for project pointer
* removes redundant string literals, fixes overrun issue in error message getter function
* check for hydraulics already closed
* moving error definitions to data file
* deprecates ENR err message getter (unused)
* updates location of errors data file
also begins to expose blind structs to curves and patterns,
anticipating buildout of APIs for those.
* updates CLI output to reflect executable name as invoked
relates to #109
* Feature nrtest (#131)
* Initial commit EPANET testing tools.
* Initial commit for epanet-nrtestsuite
* SWIG wrapper for EPANET outputapi (#118)
* Removed pervious version of outputapi and wrapper
* SWIG wrapper for EPANET outputapi
* Patching cmake build script fixed target for outputapi
* Build failing on deprecated test script
* Minor changes. Responding to review comments.
* Feature nrtest (#121)
* Configured python setup to automatically build nrtest tools.
* Working on build / testing automation
* Adding EPANET 2.0.12 benchmark
* Updated Travis yml to run nrtest
* Fixing InsecurePlatformWarning
* Fixing InsecurePlatformWarning again
* Fixing InsecurePlatformWarning
* Fixing InsecurePlatformWarning
* Fixing InsecurePlatformWarning
* Update .travis.yml
* Update .travis.yml
* Update .travis.yml
* Update .travis.yml
* Working on configuring python environment and building test tools under Travis CI.
* Making gen-config.sh and run-nrtest.sh executable
* Debugging .travis.yml
* Debugging .travis.yml
* Debugging .travis.yml again
* Debugging .travis.yml again
* debugging travis setup
* debugging Travis setup
* debugging Travis setup
* debugging Travis setup
* debugging Travis setup
* debugging Travis setup
* debugging Travis setup
* debugging Travis setup
* debugging Travis setup
* debugging Travis setup
* debugging Travis setup
* Fixing bug with __strncpy_chk destlen < len
* nrtesting clean up
* re-implements fixes from:
5eead5ae403c788567a4
* removes extraneous build files, moves cmake and updates travis
* mirror of 9b37035560f9683f1514b439f7586a5c17bca5bf
* Move some variable declarations
* More variable declarations
* Fix TmpDir
* Allocate _defaultModel
* Fix EN_addcurve funcrion
* Fix for inpfile
* Fix writeRuleinInp call
* Set MAXMSG to 79 chars
* Fix for flow direction
* Refactoring testing related python packages and SWIG wrapper bug fix (#139)
* Eliminated epanet-reader package. Removed numpy dependency from epanet-output. Fixed reference counting bug in SWIG wrapper. Added error checking to run_nrtest.sh. Added nrtest package to requirements file.
* changing buildhome directory
* Fixing bug related to preprocessor definition of PI