-
Notifications
You must be signed in to change notification settings - Fork 31
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
column
tocol
[done] - change
title
fromchar [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_ptr
only [done] -
apop_data_get_page
gets pages using regexes; use simple string comparison. Same withapop_data_rm_page
. [done: changed default to case-insensitive search] - Change
name
fromchar [101]
tochar *
[done]
apop_model
struct
- Change
p
,cdf
,log_likelihood
,constraint
return values tolong double
, notdouble
. Especially forp
, the precision matters. [done] - Remove
Apop_settings_alloc
[done] - Rename
Apop_model_add_group
toApop_settings_add_group
. [done] - Change
name
fromchar [101]
tochar *
- Remove
score
,predict
andparameter_model
; implement using the vtable mechanism [done] -
estimate
method can return void, saving a line of code everywhere. Note again that theprep
method makes the copy of the model that theestimate
method 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_delimiters
apop_opts.db_nan
apop_opts.db_user/pass
[removed output_pipe, output_type,...; set on a per-function basis.]
Functions and macros
-
Apop_row
should produces a one-rowapop_data
set, not a vector as it does now. That is, renameApop_data_row
toApop_row
. [done] -
apop_data_add_named_elmt
should 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_fill
andapop_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_var
merged with unweighted versions. fix in your code: just remove the_weighted
substring. [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]