[go: up one dir, main page]

Menu

[9819af]: / TODO  Maximize  Restore  History

Download this file

62 lines (57 with data), 3.0 kB

DISTRIBUTION
lintian errors/warnings
create html documentation in rules and register it with doc-base
make the package installation (RPM) execute texhash (as root) after installation of eqc
configure ssh key for sourceforge
inform author of ginac of printltx routines and classes Unit and func

ENCAPSULATION
Use class constant to represent constants? This is not possible, because constants can only have a numeric
value, but not a quantity value! Or use an evalfunc? Can an evalfunc return an expression? Or create
a subclass of constant?

CODE DETAILS
replace with map_function statements of the type
	if (is_a<mul>) for (...) do something
	else do something
replace the func class by a GiNaC function with the expression to be
evaluated as parameter 1 and a vector of variables as parameter 2?
class message should be subclass of ostream
class optstack: Implement with union, extract values with options.top("xxx").str etcc
Use enum instead of strings in top(), push() etc.
	Simplify parser [ label ]
									[ WORD = "..." ] // String in quotes!!!
									[ WORD = ex ]
									etc.
Read options with getopt
use realsymbol or possymbol to enable simplifications e.g. log(exp(x)) = x and abs(x) = x?
Get Ginac to simplify sqrt(ax}/sqrt(x)!
What about ex + eq etc. (instead of eq + ex)?
Proper handling of '&' in equations
extend emacs calc mode?
implement class Unit the "easy" way with a structure?
reimplement print_ltx using set_print_func()?
print \tfrac or \dfrac according to environment
add "result" equations that will not be removed by clear_equations?
use stl class vector instead of list for efficiency reasons
check memory management, leaks, and use of reference variables
A consistent exception handling and checking of illegal parameter values
Log messages and warnings to a log file
Look through the TODOs in the source and example tex files
ein kleiner Abstand \; oder sogar ein \cdot (oder das, was in der \eq angegeben ist) bei
Multiplikationen, sonst stehen Ma▀zahl und Einheit weiter auseinander als zwei Faktoren.
-> Abstand zwischen Ma▀zahl und Einheit kann gesteuert werden durch Paketoptionen an
SIunits.sty oder SIunits.cfg (eqc verwendet das \unit - Makro von SIunits.sty)
Makro \addunit von SIunits.sty verwenden bei \defunit ?
Use \one as second parameter to \unit when there is no unit
use kpathsea to find tex files

include <assert.h>
assert (Bedingung)
-D NDEBUG schaltet assert aus

MISSING FUNCTIONALITY
make an overview file for the functions and substitutions files (preferably using the file itself)
allow scientific notation of floats in the input file
parse latex syntax \sqrt[number]{<exp>}
Make print_ltx(ex units, ...) print i.e. "\m^{2}" as "\square{\m}"
Sort powers of units as units and not as powers in operands.cpp? This would ensure that x = 1 \sqmm does
  not print as x = \sqmm.
Missing from SIUnits.sty: ready-to-use units, the commands rpsquare etc. Note that \square etc can be used with
 and without brackets! Note that SIUnits.sty interprets \N\per\m\s as N/(ms) !