-
Notifications
You must be signed in to change notification settings - Fork 32
Rollout
b-k edited this page Jul 24, 2013
·
9 revisions
Version 1.0 is a good time to fix minor mistakes in design and simplify away excess features, even if doing so breaks compatibility. These are proposed changes, to be made in the v1 branch.
apop_name struct
- change
columntocol[done] - change
titlefromchar [101]tochar *[done]
apop_data struct
- Deprecate all the
apop_data(get|set|ptr)_(ti|it|tt|ii)functions; useapop_data_get,apop_data_set, andapop_data_ptronly -
apop_data_get_pagegets pages using regexes; use simple string comparison. Same withapop_data_rm_page.
apop_model struct
- Change
pandlog_likelihoodreturn valuess tolong double, notdouble. Especially forp, the precision matters. - Remove
Apop_settings_alloc - Rename
Apop_model_add_grouptoApop_settings_add_group. - Change
namefromchar [101]tochar * - Remove
score,predictandparameter_model; implement using the vtable mechanism -
estimatemethod can return void, saving a line of code everywhere. Note again that theprepmethod makes a copy of the model.
apop_opts struct
- Deprecate many global options that have no business being global:
apop_opts.output_delimiter?apop_opts.input_delimitersapop_opts.db_nanapop_opts.db_user/pass
Functions and macros
-
Apop_rowshould produces a full data set, not a vector as it does now. That is, renameApop_data_rowtoApop_row. -
apop_data_add_named_elmtshould write to the vector (as it once did), thanks to the DWIM exception added toapop_get,apop_set, &c. [i.e., given a data set with no matrix and a vector set up with the post-revisionapop_data_add_named_elmt,apop_data_get(result, .rowname="xx")will get the vector element in the given row; before it searched the matrix.] This affects where many model coefficients get written. - Model coefficients with common Greek names [μ, σ] should be labelled as such, not via English-language spellings of those names.
- Deprecate
apop_line_to_data. - for
apop_mle, trace_path should produce a matrix, not write to the db. - Replace enum for search methods (
APOP_SIMPLEX_NM,APOP_CG_PR) with achar.