summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/plib/pfmtlog.cpp
Commit message (Collapse)AuthorAgeFilesLines
* netlist: Performance improvement and refactoring. [Couriersud] couriersud2020-06-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Kidniki now achieves up to 910% when run with static solvers and with nltool. That is significant better than the 860% we have seen previously. This increase is driven by using a global memory pool in the solver code. In addition the following refactoring and code maintenance work is included. Please excuse the large commit, some of this took interfered with other work and the detail development steps were ugly. - gsl support: This commit adds pgsl.h which implements a very limited number of the functionality of the gsl header described in the c++ core guidelines. - clang-tidy fixes - A significant refactoring of palloc.h. Aligned hints were removed, they added complexity without a significant performance gain. Vector operations should better be done on special spans/views. The code has been tested on linux with g++-7, g++-9, clang-11. On Windows mingw-10 and VS2019, OSX clang-11.
* netlist: maintenance. (nw) couriersud2019-11-111-2/+2
| | | | | | | - Fix automatic header generation - clang lint fixes. - srcclean - remove dead code
* netlist: code maintenance and bug fixes. (nw) couriersud2019-11-081-4/+0
| | | | | | | - comment style migration continues. - Fixed a two bugs in the truthtable ignore inputs code - refactored the truthtable code a bit for better readability. - updated netlist specific gitignore.
* netlist: code maintenance. (nw) couriersud2019-11-041-8/+17
| | | | | | | | - more const - explicitly raise exceptions instead of leaving this to log.fatal() - correct a number of cppcheck findings. - dead code removal - clang lint corrections, e.g. include order
* netlist: code maintenance. (nw) couriersud2019-11-041-1/+0
| | | | | - leave a note that cstdlib is needed for getenv. - Remove commented out includes - make sure all headers are self - contained, i.e. compile
* netlist: code maintenance. (nw) couriersud2019-11-031-0/+1
| | | | | | - Separate code out into pmath.h and pstonum.h. - Fix VC build error - optimize pfmtlog.h a bit
* netlist: code maintenance. (nw) couriersud2019-10-291-4/+4
| | | | | | | | - Removed code no longer used - Add noexcept where appropriate - split pparser.[c|h] into ppreprocessor and ptokenizer - smaller optimizations, e.g. use of std::size_t - fix lint warnings
* Netlist: code maintenance and improvements. [Couriersud] couriersud2019-10-181-2/+2
| | | | | | | | - Added support for line markers to the preprocessor and parser. - Added support for include processing to the preprocessor. - Moved sources base type to plib to be used for preprocessor includes. This enables to include e.g. from rom memory regions. - Renamed some defines
* Netlist: code maintenance and bug fixes. (nw) couriersud2019-10-171-1/+1
| | | | | | | - solver now uses dynamic allocation on systems larger than 512x512 - fixed osx build - moved nl_lists.h classes to plists.h - fixed netlist makefile clint section - readability and typos
* netlist: code maintenance (nw) couriersud2019-10-121-0/+1
| | | | - clang lint and pedantic fixes - mat_cr.h: separate solving linear systems from underlying matrix
* netlist: less cpp - more headers (nw) couriersud2019-09-291-2/+0
| | | | - move more code in headers - delete some cpp files.
* netlist code maintenance (nw) couriersud2019-09-211-15/+18
| | | | | - prepare move to c++ streams and later std::string - fix more lint and clang pedantic warnings/errors - fix some bugs
* netlist code maintenance. (nw) couriersud2019-09-171-73/+106
| | | | | | - remove a lot of c library use and instead use c++ - improved pstring compatibility to std::string - prepare removal of pstream
* netlist: Fix exception on MacOSX [Couriersud] couriersud2019-09-101-1/+7
| | | | | Some unknown system library seems to force the use of the global locale on OSX. This is not the case for other *nix or Windows builds. This commit fixes this by forcing the C locale in pfmt.
* netlist: clang lint fixes and pedantic warning fixes. (nw) couriersud2019-04-121-1/+1
|
* (nw) Clean up the mess on master Vas Crabb2019-03-261-54/+67
| | | | | | | | | | | | | This effectively reverts b380514764cf857469bae61c11143a19f79a74c5 and c24473ddff715ecec2e258a6eb38960cf8c8e98e, restoring the state at 598cd5227223c3b04ca31f0dbc1981256d9ea3ff. Before pushing, please check that what you're about to push is sane. Check your local commit log and ensure there isn't anything out-of-place before pushing to mainline. When things like this happen, it wastes everyone's time. I really don't need this in a week when real work™ is busting my balls and I'm behind where I want to be with preparing for MAME release.
* Revert "conflict resolution (nw)" andreasnaive2019-03-251-67/+54
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* netlist: Fix formatting bug. (nw) couriersud2019-03-171-50/+58
|
* netlist: fix visibility issues and more issues reported by tidy. (nw) couriersud2019-02-221-2/+4
|
* netlist: tick off some issues clang-tidy highlights. (nw) couriersud2019-02-181-3/+5
|
* netlist: Refactoring after adding clang-tidy support to netlist makefile couriersud2019-02-071-5/+6
| | | | | | | - convert macros to c++ code. - order of device creation should not depend on std lib. - some state saving cleanup. - added support for clang-tidy to makefile. - modifications triggered by clang-tidy-9.
* Fix clang-8 warnings. (nw) couriersud2019-01-111-1/+1
|
* More c++ alignment. pstring now behaves like std::string. (nw) couriersud2019-01-061-5/+5
| | | | | This change removes all string extensions like trim, rpad, left, right, ... from pstring and replaces them by function templates. This aligns a lot better with the intentions of the standard library.
* srcclean and other cleanup (nw) Vas Crabb2018-06-241-0/+0
|
* Netlist code refactoring: couriersud2017-04-091-6/+1
| | | | | | | | | | | | | | | | | | | - more use of c++ features - some CRTP in pfmtlog - demangled code for truthtables - use more constexpr - rewrite main loop - use default constructors and assignment operators were applicable. - optimized 7448 and 9316 All of this has decreased startup time by approx. 25% to 30%. Complex netlists like pong or kidniki are parsed, analyzed and constructed in around 15 ms. Run performance has increased by about 5%. All in all not to bad. A game like pong uses a clock of 7 MHz (after division by 2). Thats 14 MHz clock invocations. Running at over 200%, 28 MHz. On a 3.9 GHz Machine about 140 cycles/clock change. [Couriersud]
* pstring, pdynlib, pfmtlog refactoring : couriersud2017-04-041-84/+44
| | | | | | | | | | | | | | | | | | | | | pstring: - added support for UTF16LE to pstring. - renamed size() to mem_t_size() - renmaed len() to length() - added size() == length() - added empty() - added simple compare() pfmtlog: - Simplified pfmtlog, added more c++ pdynlib: - add a dynproc type to dynlib to wrap dynamic library calls. various: - fix two coverty scan issue. - various clang warnings fixed. (nw)
* Change pstring to use std::string as storage container. couriersud2017-03-301-1/+1
| | | | | | | | This removes all allocation code from pstring. const_iterator is consequently now based on pstring::const_iterator. Removed pstring_buffer. This was class wasn't a good idea. Vas was right: This change did not impact runtime performance. Startup performance (string intensive) increased. (nw)
* More cppcheck fixes. (nw) Couriersud2017-03-051-1/+1
|
* Move from <cstring> to std::copy and friends. (nw) couriersud2017-02-161-4/+7
|
* Reorder include order to comply with best practices. (nw) couriersud2017-02-101-3/+3
|
* Cleanup of includes. (nw) couriersud2017-01-271-4/+1
|
* Netlist: code refactoring couriersud2017-01-201-13/+1
| | | | | | | Make streams provide binary access only. Use putf8_reader and putf8_writer to actually access streams. Replace some char * parameters with pstring where appropriate. Minor code refactoring and move functionality were it belongs. (nw)
* Fix clang "-Wno-weak-vtables" warnings in netlist source. Refactored couriersud2017-01-051-0/+5
| | | code along the way. (nw)
* cstr() ==> c_str() (nw) couriersud2016-12-301-1/+1
|
* Netlist updates: couriersud2016-07-211-12/+12
| | | | | | | | | | | | | | | - Removed trampolines (OUTLOGIC, INPLOGIC and friends). - Started using doxygen comment and documentation style. Added doxygen files to documentation folder. - Refactored code triggered by doxygen output. - Moved internal and support classes into namespace detail. - Use an anordered map in parser. - -Wconversion fixes - All done now. - Fixed -Wold-style-cast warnings in netlist code. - Added iterators to pstring. - Moved two macros, added more RAII and improved exceptions. Fixed some bugs in parser code. - Fixed a number of bugs in parser code and exception handling. [Couriersud]
* Srcclean on netlist files. Avoid the merge massacre. (nw) couriersud2016-06-251-2/+0
|
* - More code cleanup. couriersud2016-06-071-25/+0
| | | | | | | | | | | | | | - Dead code removal and minor refactoring. - Simplify. Align naming with stl. Fix somed pedantic warnings. - More STL compatability. - Remove ATTR_HOT and ATTR_COLD. Refactored netlist_time. - Fix long standing workaround which would ignore policy of change-only" propagation. - Rewrote for loops to use auto : semantics. - Truthtable cleanup. (nw) - Get rid of nl_math. Remove nl_util.h and moved contents to plib/putil.h. - Fix standalone build. Refactor ptypes.h. [Couriersud]
* - Minor cosmetic refactoring. Added a "uninitialised array" template to balr0g2016-06-071-2/+2
| | | | | | | | | | | allow in-place creation (for increased locality) of netlist classes. Main use is in truthtable class. - Remove PLIB_NAMESPACE macros. - Remove namespace macros. Use explicit namespace declarations. - Moved device definitions into cpp files. - Moved more device definitions into cpp files. - New prefix "nlid" for include files flags purely internal include files not to be leaked into userland. - Fix factory code.
* Moved more code into plib namespace. (nw) couriersud2016-05-271-0/+5
|
* Remove dependency on osd_ticks. Converted palloc and friends into couriersud2016-05-271-3/+3
| | | templates. First effort on a separate plib namespace. (nw)
* Various cleanups suggested by static analyzer (nw) Miodrag Milanovic2016-04-241-12/+12
|
* made netlist compile as separate without c++11 or higher deps (nw) Miodrag Milanovic2015-12-251-2/+0
| | | | requested by Couriersud
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+166