Skip to content
/ FN Public

A class of C functions to interpret functional forms

License

Notifications You must be signed in to change notification settings

Eidonko/FN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FN

A class of C functions to interpret functional forms. By Eidon (eidon@tutanota.com) -- 20180523

FN is a C class to interpret functional forms. A functional form object is similar to a FILE object: one declares it via

FN *descriptor;

and constructs it via

descriptor = fnopen(string);

string is a char* such as

char *string = "x * x - y * y + 0.997";

that represents a functional forms. Variables can be any of the letters of the English alphabet (here, 'x' and 'y'). Such variables map to 26 predefined double precision variables, which can be accessed via function fnmemory:

double *fnmemory(FN *descriptor, int);

In order to compute the function in string, which makes use of the two variables x and y, I first need to map the internal variables x and y to double pointers, as in

double *x, *y; x = fnmemory(f, 'x'); y = fnmemory(f, 'y');

I can then use x and y to set input / get output values of the descriptor object.

The function is then evaluated by calling fnread(descriptor).

fntest.c is a simple test program that exemplifies the use of FN.

A more complex example is given by jmain.c (see also the other j* functions), which defines two FN descriptors representing the real and imaginary part of a complex function. Said function is iterated so as to produce the graph of the corresponding Julia set. The executable of this program is called 'julia'. Type 'julia' for a description of the expected arguments.

test.bash loops julia so as to create a number of frames representing a Julia set a different 'distances'. The frames are converted into an animated gif via ImageMagick's 'convert'

A simple Makefile is available to compile the FN class and the test programs

About

A class of C functions to interpret functional forms

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published