ngspice/TODO

78 lines
1.9 KiB
Plaintext

List of Things To Do
====================
Standards conformance
---------------------
Add proper copyright headers to every source, header, documentation
and other files
Fix all compiler warnings
Remove smktemp() in favor of tmpfile() or other ANSI C equivalent;
Note: different symantics!
Write a asprintf() replacement for systems that don't have it
available.
Usability issues
------------------
Plug all memory leaks (use debauch from
http://quorum.tamu.edu/jon/gnu/ to find them)
Either get help program functioning again; OR interface to webbrowser,
info reader and get rid of all help-related code. Option 2 is the
most appealing.
Refactorings
------------
Make devices dynamically loadable (perhaps use framework from glib)
Separate out analysis code in much the same way as the devices code
Separate ngspice and nutmeg; i.e., no more SIMULATOR define
Integrate bsim3, bsim3v1, bsim3v2 to use a single codebase instead of
three only slighty differing implementations
Separate frontend commands from supporting code. Command files
start with com_*. [PARTIAL]
Move src/devices/disto into src/maths/partialderiv. Partial
derivatives are math functions and should be classified under that
directory.
Testability
-----------
Add tests for all functions in the complex library in
src/maths/cmaths.
Add tests for all functions in the sparse matrix library in
src/maths/sparse.
Add tests for all functions in the polynomial library in
src/maths/poly.
Add more circuit tests into the tests directory.
Documentation
-------------
Update ARCHITECTURE to contain a high level overview of spice.
Convert ngspice.texi further to texinfo format.
Distribute devices documentation into the devices tree. This makes it
easier for developers to update documentation in concert with code.
Update manual pages for spice and nutmeg. Perhaps generate them with
c2man or some other documentation generation utility.