-
Notifications
You must be signed in to change notification settings - Fork 32
Rollout
b-k edited this page Sep 17, 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 for v0.995 and greater.
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 [done] -
apop_data_get_pagegets pages using regexes; use simple string comparison. Same withapop_data_rm_page. [done: changed default to case-insensitive search] - Change
namefromchar [101]tochar *[done]
apop_model struct
- Change
p,cdf,log_likelihood,constraintreturn values tolong double, notdouble. Especially forp, the precision matters. [done] - Remove
Apop_settings_alloc[done] - Rename
Apop_model_add_grouptoApop_settings_add_group. [done] - Change
namefromchar [101]tochar * - Remove
score,predictandparameter_model; implement using the vtable mechanism [done] -
estimatemethod can return void, saving a line of code everywhere. Note again that theprepmethod makes the copy of the model that theestimatemethod will parameterize. [done] - change vbase, m1base, m2base ==> vsize, msize1, msize2 [done]
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[removed output_pipe, output_type,...; set on a per-function basis.]
Functions and macros
-
Apop_rowshould produces a one-rowapop_dataset, not a vector as it does now. That is, renameApop_data_rowtoApop_row. [done] -
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. [done] - Model coefficients with common Greek names [μ, σ] should be labeled as such, not via English-language spellings of those names. [done]
- Deprecate
apop_line_to_data; useapop_data_fillandapop_data_falloc. [done] - for
apop_mle, trace_path should produce a matrix, not write to the db. [done] - Replace enum for search methods (
APOP_SIMPLEX_NM,APOP_CG_PR) with achar. - Remove
apop_strip_dots; coherent column names is the user's responsibility. [done] - Weighted moments like
apop_vector_weighted_varmerged with unweighted versions. fix in your code: just remove the_weightedsubstring. [done] - Remove
apop_(vector|matrix)_increment, which were a silly idea. Use, e.g., *gsl_vector_ptr(v, 7) += 3; or (*gsl_vector_ptr(v, 7))++. [done]