summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/plib/pfunction.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix state saving for pfunction lfsr. (nw) couriersud2017-05-281-1/+0
|
* Fix issues identified by Vas and LordKale4: couriersud2017-05-271-2/+1
| | | | | | - made local netlists in Cheeky Mouse static - replace stdlib rand by 16 bit galois lfsr (nw)
* Add rand() function to pfunction expression parser. Use this to simulate couriersud2017-05-271-0/+7
| | | E-B noise in Cheeky Mouse and fix the "cheese" choose. [Couriersud]
* Change pstring to use std::string as storage container. couriersud2017-03-301-2/+2
| | | | | | | | 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-4/+4
|
* Reorder include order to comply with best practices. (nw) couriersud2017-02-101-2/+3
|
* Do not derive other classes from std::vector. More cleanup. (nw) couriersud2017-01-271-3/+3
|
* fix for visual studio (nw) smf-2017-01-261-3/+3
|
* Netlist refactoring: couriersud2017-01-251-1/+1
| | | | | - Refactored netlist pmf code. - Small optimization for diode calculations. - Minor refactoring across the board. (nw)
* Added infix notation parsing to the function parser. (nw) couriersud2017-01-251-1/+109
|
* Netlist: couriersud2017-01-171-0/+104
- refactored reverse polish notation evaluator into own source files. - added function parameter to current and voltage sources VS and CS. You can now use those to e.g. produce a sine wave. - Changed code to allow devices to optionally be treated as dynamic or timestepping devices. [Couriersud]