Permalink
Switch branches/tags
Nothing to show
Commits on Jan 22, 2017
  1. Merge pull request #5 from drfiemost/master

    mist64 committed Jan 22, 2017
    Avoid memory pollution
  2. Fix UBSan error

    drfiemost committed Jan 22, 2017
Commits on Jan 21, 2017
  1. Initialize allocated memory

    drfiemost committed Jan 21, 2017
Commits on Jan 18, 2017
  1. Merge pull request #4 from drfiemost/master

    mist64 committed Jan 18, 2017
    Fix setNode function
Commits on Jan 17, 2017
  1. Fix #3

    drfiemost committed Jan 17, 2017
Commits on Dec 1, 2014
  1. cleanups

    mist64 committed Dec 1, 2014
  2. cleanup

    mist64 committed Dec 1, 2014
  3. cleanup

    mist64 committed Dec 1, 2014
  4. cleanup

    mist64 committed Dec 1, 2014
  5. cleanups

    mist64 committed Dec 1, 2014
  6. actually de-dup transistors!

    mist64 committed Dec 1, 2014
  7. cleanups

    mist64 committed Dec 1, 2014
  8. malloc'ed all state instead of having a gigantic struct

    mist64 committed Dec 1, 2014
    state_t is now 208 bytes on x86_64 instead of 26 MB. Startup is a little slower though because of ~7000 malloc calls.
  9. cleaned up node names

    mist64 committed Dec 1, 2014
  10. updated copyright

    mist64 committed Dec 1, 2014
  11. The state pointer is no longer global, but passed down to every funct…

    mist64 committed Dec 1, 2014
    …ion.
    
    ...and surprisingly, it's not any slower. if anything, it's 1% faster.
Commits on Nov 28, 2014
  1. added README

    mist64 committed Nov 28, 2014
  2. fixed line endings

    mist64 committed Nov 28, 2014
  3. optimizations (~25%) and cleanup

    mist64 committed Nov 28, 2014
    Optimizations:
    1. When a transistor is turned on, only add one of the nodes it
       controls to listout, otherwise group calculation would be done twice
       for this group. This simplifies recalcNodeList(). (This required
       the following change: Instead of adding the nodes that control
       transistors that have changed to listout, put the nodes that are
       switched by transistors on listout.)
    2. The group value is calculated while collecting nodes, and the enum
       group_contains_value makes sure we don't check for weaker value
       indicators than have already been established.
    3. listout is now a set, no node will be visited twice for group
       calculation, within one interation.
    4. When setting input pins of the package to a value, only recalc the
       node if it actually changes.
    5. Toggling a transistor is done by assigning it the group value
       instead of the inverse of its value.
    
    Cleanup:
    * Merge the concept of listin with the concept of nodes that change
      from the outside and trigger a recalc.
Commits on Oct 20, 2010
  1. ...

    mist64 committed Oct 20, 2010
Commits on Oct 12, 2010
  1. added apple1basic

    mist64 committed Oct 12, 2010
Commits on Oct 8, 2010
  1. cleanup

    mist64 committed Oct 8, 2010
  2. cleanup

    mist64 committed Oct 8, 2010
  3. indirect lostout

    mist64 committed Oct 8, 2010
Commits on Oct 7, 2010
  1. experimental...

    mist64 committed Oct 7, 2010
  2. added concept of dependants - same speed, but might

    mist64 committed Oct 7, 2010
    lead to more optimization opportunities
  3. cleanup

    mist64 committed Oct 7, 2010
Commits on Oct 6, 2010