summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/plib/pdynlib.cpp
Commit message (Collapse)AuthorAgeFilesLines
* netlist: static solver work and improve code readability (#9841) couriersud2022-05-301-4/+4
| | | | | | | | | | | - nltool: Added support for building individual static solver files. - Added pre-built documentation files for nltool and nlwav. - plib: Extended typed_version to have patchlevel as well. - plib: Compile more of ppmf.h with nvcc. - create_devinc.py: Add include guards to the generated files. - makefile: Recreate generated files when python code has changed. - Reduced nld_base.h usage in the core. - <oved extern template class declarations to where they belong. - Generally improved code readability and fixed a lot of issues cspell reported.
* netlist: Address comments from PR #9794, partially fix issue #9801 (#9805) couriersud2022-05-231-1/+1
| | | | | - added cstddef to includes in ppmf.h - more explicit comments in ppmf.h - Fixed more typos and improved readiability
* netlist: More c++, less macros, added support for cspell (#9794) couriersud2022-05-221-2/+1
| | | | | | | | | | | | | | | | | - More c++, less macros * Significantly reduced the use of unused_var and replaced it with [[maybe_unused]] * use enum class in ppmf.h - Changes to testing code in ptest.h * Catch exceptions in more places * The verbosity of the output can now be controlled * Display of test stats totals - added support for cspell - fixed various typos - fixed SUBTARGET=nl build - fixed more file permissions - srcclean and add fix_permissions target to netlist makefile
* netlist: Relicensing of the GPL code to BSD-3 with the blessing of the Olivier Galibert2021-03-091-1/+1
| | | | | | | | | | copyright owners. Much thanks for that Couriersud, the main creator and contributor, but also to Jonathan Gevaryahu and Sergey Svishchev. There are small remnants in machine/NL_*, specifially breakout, pong doubles and rebound that are also copyrighted by the DICE team, whoever that means. They're not critical since they only concern these drivers and not an important core subsystem.
* netlist: fix multi byte string issues. couriersud2020-09-061-3/+3
|
* netlist: code maintenance and performance optimizations. Couriersud2020-09-051-3/+3
| | | | | | | | | | | * rename some misleading type names * remove callback_t and replace by better scalable approach * hide implementations details * move sources classes from putil.h to psources.h * reduce code complexity * improve parsing performance, parsing netlists now is twice as fast. * fix issues around multi-byte string support * moved psplit into pstrutil.h
* netlist: Reduce macro usage and make use of pstring utf8. (nw) couriersud2020-06-061-67/+15
|
* netlist: More clang-tidy fixes. (nw) couriersud2020-04-281-4/+4
|
* netlist: improve performance up to 65% on audio netlists. [Couriersud] couriersud2020-04-131-6/+6
| | | | | | | | | | | | | | | | | | | This commit introduces precompiled static solver code. Due to additional optimizations the compiler can use because the detail calculation steps for the solution are known e.g. the kidniki netlist sees a 100% speed increase. In all environments (windows/*nix/osx) the source for the static solver code can be created using bash src/lib/netlist/nl_create_mame_solvers.sh This will create src/lib/netlist/generated/static_solvers.cpp which is compiled into the mame binary. The script is just a temporary workaround. The intention is that nltool whill be able to create this file with one call. There are other improvements in this commit speeding up the processing of timestep and dynamic calculations.
* netlist: maintenance and bug fixes, remove DUMMY_INPUT. [Couriersud] couriersud2019-11-151-6/+1
| | | | | | | | | | - Removed DUMMY_INPUT. NC (not connected) pins should now use NC_PIN. If a NC_PIN is actually connected, an error will be logged and validation will fail. - Enabled "extended" validation. This will catch now if power terminals are not connected. - Added const and noexcept where appropriate. - Removed dead code. - Fixed the 7414 Schmitt-Trigger device to use nld_power_pins
* 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.
* Fix build in newer Emscripten versions (nw) Justin Kerk2019-08-081-2/+2
|
* (nw) Clean up the mess on master Vas Crabb2019-03-261-8/+10
| | | | | | | | | | | | | 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-10/+8
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* netlist: memory code refactoring. (nw) couriersud2019-03-011-4/+4
|
* netlist: fix visibility issues and more issues reported by tidy. (nw) couriersud2019-02-221-3/+3
|
* netlist: memory management. [Couriersud] couriersud2019-02-221-4/+4
| | | | | | | | | | | | | | Memory management in plib is now alignment-aware. All allocations respect c++11 alignas. Selected classes like parray and aligned_vector also provide hints (__builtin_assume_aligned) to g++ and clang. The alignment optimizations have little impact on the current use cases. They only become effective on bigger data processing. What has a measurable impact is memory pooling. This speeds up netlist games like breakout and pong by about 5%. Tested with linux, macosx and windows cross builds. All features are disabled since I can not rule out they may temporarily break more exotic builds.
* netlist: Refactoring after adding clang-tidy support to netlist makefile couriersud2019-02-071-1/+3
| | | | | | | - 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.
* Fixed issue causing drivers using netlists to fail on the Emscripten target. ↵ Justin Kerk2018-03-061-0/+4
| | | | [Justin Kerk]
* cstr() ==> c_str() (nw) couriersud2016-12-301-14/+14
|
* Fix noexcept and NL_NOEXCEPT to pass g++ 6.x builds. (nw) couriersud2016-08-071-5/+5
|
* Fix for netlist library when built for WINDOWS with UNICODE defined Giuseppe Gorgoglione2016-07-241-3/+52
| | | | When UNICODE is defined LoadLibrary is redefined to LoadLibraryW which expects a widechar string as library name, while libname is always UTF8. Fixed copying TCHAR conversion code from strconv.cpp since netlist is meant to be also a stand-alone library.
* Srcclean on netlist files. Avoid the merge massacre. (nw) couriersud2016-06-251-2/+1
|
* - 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.
* Leading underscore massacre. (nw) couriersud2016-05-271-5/+5
|
* Remove dependency on osd_ticks. Converted palloc and friends into couriersud2016-05-271-7/+11
| | | templates. First effort on a separate plib namespace. (nw)
* Moved all parameter definitions in constructors. (nw) couriersud2016-05-251-1/+1
|
* Cleanups and version bumpmame0174 Miodrag Milanovic2016-05-251-1/+1
|
* Converted more devices to new layout. Improved memory handling in couriersud2016-05-211-1/+2
| | | factories. (nw)
* Fix standalone-compile. couriersud2016-05-061-4/+8
|
* Cleanups and version bumpmame0173 Miodrag Milanovic2016-04-271-3/+2
|
* Add missing files. couriersud2016-04-231-0/+91