summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/tools/nl_convert.cpp
Commit message (Collapse)AuthorAgeFilesLines
* netlist: Fix clang-tidy warnings. (nw) couriersud2020-04-281-16/+16
|
* netlist: clang-tidy, srcclean and pedantic warnings fixed. (nw) couriersud2020-04-181-3/+3
|
* netlist: Fix some clang-tidy-10 warnings. (nw) couriersud2020-04-051-4/+4
|
* netlist: Add support for pots to spice conversion. [Couriersud] couriersud2020-02-161-16/+49
|
* netlist: code maintenance. (nw) couriersud2020-02-031-35/+82
| | | | Remove dead code, fix lint warnings, make spice netlist conversion more flexible, implement changes to controlled sources.
* netlist: align nltool -c convert with mame/discrete/README.md (nw) couriersud2020-02-021-69/+50
|
* netlist: spice-to-netlis conversion sync with mame/discrete. (nw) couriersud2020-02-021-18/+55
| | | | This is work in progress. The aim is to remove all hacks in netlist conversion going forward.
* netlist: Code symplification and bugfixes. (nw) couriersud2020-01-311-3/+3
| | | | | - Fixes performance regression and net_splitter struct. - Fixes nltool time measurements - pstream simplification
* netlist: Code maintenance. (nw) couriersud2020-01-271-9/+9
| | | | | | | | | - Fixed some clang lint warnings - Removed dead code - Experimental parser code to allow calculations in parameter value. This already works for compiled netlists. These changes are currently disabled. Updated pong netlist (and CRC/SHA) to work with this new code.
* netlist: Fix/extend SPICE format conversion. [Couriersud] couriersud2020-01-261-20/+188
| | | | | | | | "./nltool -c convert -f UA741.mod" now runs without errors. UA741.mod is the official TI SPICE subckt for the 741 opamp. This commit fixes a number of issues and adds linear POLY support for E/F SPICE models.
* netlist: clang lint readability fixes. (nw) couriersud2020-01-251-3/+5
|
* netlist: clang lint fixes, srcclean and nlwav fix. (nw) couriersud2020-01-251-0/+2
|
* netlist: more code maintenance. (nw) couriersud2019-11-161-4/+4
| | | | | | - refactor error messages. - Fix some drivers to cope with outputted added my the mame driver for video and sound. - Fix validation.
* netlist: code maintenance and bug fixes. (nw) couriersud2019-11-081-50/+44
| | | | | | | - 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-1/+1
| | | | | | | | - 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-031-3/+4
| | | | | | - 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-2/+2
| | | | | | | | - 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: Preprocessor enhancements. [Couriersud] couriersud2019-10-281-4/+4
| | | | | | | | | | The builtin preprocessor now behaves closer to cpp: - supports macro parameters, i.e. define x(a) a - supports stringification, i.e. define x(a) #a - supports concatenation, i.e. define x(a) a ## _ext In addition, error reporting now provides a source context including the include history.
* netlist: code maintenance (nw) couriersud2019-10-121-1/+1
| | | | - clang lint and pedantic fixes - mat_cr.h: separate solving linear systems from underlying matrix
* netlist: maintenance and lint fixes. (nw) couriersud2019-10-061-1/+1
|
* netlist: switch to c++ streams. (nw) couriersud2019-09-251-3/+7
| | | | Removed the home-brew implementation pstreams and replaced those with c++ streams.
* netlist code maintenance (nw) couriersud2019-09-211-19/+33
| | | | | - 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-2/+2
| | | | | | - remove a lot of c library use and instead use c++ - improved pstring compatibility to std::string - prepare removal of pstream
* netlist: Fix MT06827. couriersud2019-04-221-3/+3
| | | | All pstonum calls now need to specify if they want local locale or the "classic" "C" locale.
* netlist: clang lint fixes and pedantic warning fixes. (nw) couriersud2019-04-121-1/+1
|
* netlist: Fix handling of current sources when converting SPICE nets. couriersud2019-04-121-1/+15
|
* netlist: Add more SPICE elements to the conversion code. couriersud2019-04-121-3/+30
|
* (nw) Clean up the mess on master Vas Crabb2019-03-261-60/+57
| | | | | | | | | | | | | 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-57/+60
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* netlist: cosmetic changes - mostly indentation. (nw) couriersud2019-03-011-0/+1
|
* netlist: tidy changes and better constexpr support for ptime class. (nw) couriersud2019-02-241-1/+1
|
* Move ptime struct into plib namespace and fix relative includes. (nw) couriersud2019-02-231-2/+2
|
* netlist: fix visibility issues and more issues reported by tidy. (nw) couriersud2019-02-221-1/+1
|
* netlist: memory management. [Couriersud] couriersud2019-02-221-1/+1
| | | | | | | | | | | | | | 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: tick off some issues clang-tidy highlights. (nw) couriersud2019-02-181-1/+1
|
* netlist: More cpp core guidelines alignment. (nw) couriersud2019-02-111-5/+5
|
* netlist: more core guidelines work. (nw) couriersud2019-02-091-3/+3
|
* netlist: Refactoring after adding clang-tidy support to netlist makefile couriersud2019-02-071-4/+4
| | | | | | | - 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.
* netlist: code maintenance and fixing kidniki ... (nw) couriersud2019-02-011-1/+0
| | | to run at acceptable speed again.
* netlist: pstream and ppreprocessor (now a pistream) refactoring. (nw) couriersud2019-01-191-14/+12
|
* Replace ATTR_UNUSED by c++ template. (nw) couriersud2019-01-131-1/+2
|
* Improve dealing ownership in pstreams. (nw) couriersud2019-01-131-13/+9
| | | | I am not really happy with this. But I am missing some creativity currently.
* Fix clang-8 warnings. (nw) couriersud2019-01-111-2/+2
|
* Improve type safety on string->numeric conversions. (nw) couriersud2019-01-101-4/+5
| | | | | | | Also fixed an issue with 7497. ./nltool -t 5 -f src/mame/machine/nl_tp1983.cpp -v now runs again.
* More c++ alignment. pstring now behaves like std::string. (nw) couriersud2019-01-061-23/+24
| | | | | 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.
* pstring, pdynlib, pfmtlog refactoring : couriersud2017-04-041-7/+7
| | | | | | | | | | | | | | | | | | | | | 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-4/+4
| | | | | | | | 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)
* Turn psring iterator into a real forward iterator that works with standard ↵ Vas Crabb2017-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | algorithms. There are a few changes to achieve this: * Rename to const_iterator since it's immutable * Typedef iterator to const_iterator for now as there's no mutable iterator * Add default constrcutor and operator-> required by concept, const-qualify operators * Remove operator+ and operator+= since it's not a random-access iterator (use std::next and std::advance instead) * Return reference/pointer to a proxy rather than a code_t value from opertator*/operator-> The final change is required to meet the requirement that operator* for two equivalent forward iterators return an equivalent reference. The pstring doesn't actually contain a sequence of code_t, so there's no way to return a reference to code_t directly. Instead, a reference to a proxy object aliased on the string storage is returned. The proxy is implicitly convertible to code_t. The most noticeable side effect is that auto c = *s.begin() or for (auto c : s) won't work. You need to do for (auto &c : s) or for (code_t c : s) instead.
* More cppcheck fixes. (nw) Couriersud2017-03-051-2/+2
|
* Clean up net_t interface and increase readability. (nw) couriersud2017-02-221-1/+1
|