mainfussy - Summary

 
 
Membership Info
Project Admin:
  - Sanjay
2 active members

Group identification
Id: #11951
System Name: fussy
Name: fussy
Group Type: Official GNU software

Search in this Group

in
   

This project is part of the GNU Project.

GNU fussy

The GNU fussy program implements a scripting language with an algorithm for automatic error propagation of random measurement errors in an arbitrary mathematical expression.  The program can be used as a simple interactive calculator with error propagation.  Mathematical expressions can be implemented as a collection of sub-expressions, as sub-program units (functions or procedures) or as single atomic expressions.  Sub-expressions can be assigned to temporary variables which can then be used to write the final expression.  The interpreter is internally implemented as a virtual machine for efficient run-time performance.  The GNU fussy library provides an API to call the interpreter as a function in C/C++/FORTRAN application. 

The scripting syntax of fussy is similar to the C programming language. It is easy to use fussy with minimal learning, particularly for those familiar with programming in C. In its simplest form, GNU fussy interpreter can be used interactively as a simple calculator with the added feature of automatic error prorogation (see syntax for simple expressions, sub-expressions, and functions/procedures). E.g.

   >x=1pm0.1

   >sin(x)/cos(x)            /* Compute tan(x) as sin(x)/cos(x) */
       1.55741 +/-    0.34255

   >tan(x)                   /* Direct computation of tan(x) */
       1.55741 +/-    0.34255

   >s:=sin(x);c:=cos(x);     /*Construct two variables s & c dependent on x*/

   >s/c                      /* Compute tan(x) using two dependent variables */
       1.55741 +/-    0.34255

   >s2=s;                    /* Convert s to an independent variable s2 */

   >s2/c                     /* Compute tan(x) with two independent variables.
                                Error propagates differently */
       1.55741 +/-    0.26236

Registration Date: Tue 30 Jul 2019 08:32:30 PM UTC
License: GNU General Public License v3 or later
Development Status: 5 - Production/Stable

 

Latest News rss feed

Communication Tools
 Tech Support Manager (open items: 0, total: 0)
  - Browse open items
  - Submit a new item
 Mailing Lists (2 public mailing lists)

Back to the top


Powered by Savane 3.5