This is a programable scientific calculator with a scripting languge for automatic random error propagation in arbitrary mathematical expressions. The language allows expressions written as a collection of sub-expressions or user defined functions.
Be the first to post a text review of Automatic error propagation. Rate and review a project by clicking thumbs up or thumbs down in the right column.
In the original design of fussy, only variables were treated as independent variables. Numbers were treated as dependent variables and hence errors in expressions like 10pm1+10pm1 would give 20pm2 instead of 20pm1.41421 as one would expect for random errors. This has now been changed to treat all numerical values as independent variates. People who may have downloaded fussy code before Aug. 2006 should update their code (from the CVS repository) and rebuild fussy to get this fix.
Changes in table.cc (Calc_Symbol *installConst(Calc_Symbol&d,int NewID)) ------------------------------------------------------------------------ The strategy of managing the table of constants is the following now: calcgetConst() for NUMBER_TYPES always returns NULL A constant is always put on the table and a new ID assigned depending upon NewID Since its always pushed at the end, pick up the pointer to the latest constant from the end if in function/procedure compilation set symb->name[0] to 1 Cleanup() cleans up the ConstTab of all symbols which are not referenced. i.e. for which name[0] != 1. This essentially make ConstTab is a permanent storage for constants used in sub-program code and temp. store for constants used in vm code for the interactive session and/or parameters (all temps). Functionally, this then treats all constants, as indep. variates, even if their values are the same. Same name symbols on the SymbTab. Changes in table.cc: void cleanupSymbTab(SymbTabType& Tab, int OP,TypeType Type=UNDEF_TYPE) ------------------------------------------------------------------------------------------ Now removes unreferenced entries in the ConstTab. These are temp. numbers that may be generated (either in interactive sessions or while runing sub-programs). This allows treating all numbers are indep. variates. Changes in fussy.y ------------------ The InFuncDefn flag is removed right a the end of func. def. code. With this, constants that are generated during sub-program compilation go on the ConstTab with the flag which tells the Cleanup() that they are referenced and hence should not be removed.
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?