Name | Last modified | Size | Description | |
---|---|---|---|---|
Parent Directory | - | |||
Makefile.am | 2017-02-21 14:03 | 517 | ||
Makefile.in | 2017-02-21 14:03 | 14K | ||
functions.c | 2017-02-21 14:03 | 5.3K | ||
plugin.xml.in | 2017-02-21 14:03 | 561 | ||
Beginner Exercise #1, adding functions to gnumeric: The directory .../plugins/eg-beginner/, and the consequent changes implied by plugins/README, are sufficient to add the new function add2numbers to gnumeric.
NB. It seems to me that it is essential to have a machine running the "unstable" (it's just a name) Debian Linux in order to build the most recent gnumeric (for version 1.2.1 as of 11/2003 at least) because of dependencies on other recent libraries.
| -|--install_dir | |--gnum'--|--... | |--plugins | |--scratch |
selected directories and files | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
gnumeric-?.?.?/ |
|
built-in range functions, e.g. sum a range, e.g. sum(A1:B5) etc. | ||
---|---|---|
src/ | func-builtin.c |
e.g. gnumeric_sum(FunctionEvalInfo *ei, GnmExprList *nodes) /* is sum(..., .., ...) as known in gnumeric*/ return float_range_function(..., range_sum, ...) (also see func_builtin_init near end of file) |
collect.c |
Helpers to collect ranges of data, e.g. GnmValue * float_range_function(..., float_range_function_t func, ...) vals=collect_floats(...); ...func(vals, n, &res); a wrapper function for errors etc. | |
rangefunc.c | "Functions on ranges (data sets":-) e.g. int range_sum(gnm_float *xs, n, gnm_float *res) | |
value.h & value.c | Also see _GnmValueRange in value.h and value_new_cellrange() in value.c | |
ranges and plugins | ||
plugins/ | fn-stat/functions.c | Built-in statistical functions, e.g. static GnmValue * gnumeric_linest (FunctionEvalInfo *ei, GnmValue *argv[]) {... if(... argv[0]->type != VALUE_CELLRANGE)... } |
*.am | automake files |
*.in | I think it stands for "input" (to the auto something process) ??? |
gnumeric types for functions; see guile-gnumeric.txt | |
---|---|
f | floating point (double) or int |
s | string (char *) |
b | Boolean |
r | range, e.g. A1:B5 |
a | array, e.g. {1,2,3;4,5,6} is 3×2 |
A | array or range |
? | any type, check value->type |
| | subsequent parameters are optional |
Thanks to Charles T', Jody G', Nathan H', Peter M' -- Lloyd A' 11/2003.