[R/cache.R:16:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/cache.R#L16) *warning:* **no visible binding for global variable ‘cache_env’**
```r
  cache_env[[model$id]][[name]]
  ^~~~~~~~~
```
[R/feature_growth.R:44:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_growth.R#L44) *warning:* **no visible binding for global variable ‘growth_class’**
```r
  growth_class$new(rate, population, time)
  ^~~~~~~~~~~~
```
[R/feature_ignore_singletons.R:28:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_ignore_singletons.R#L28) *warning:* **no visible binding for global variable ‘ign_singletons_class’**
```r
  ign_singletons_class$new()
  ^~~~~~~~~~~~~~~~~~~~
```
[R/feature_ignore_singletons.R:40:29:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_ignore_singletons.R#L40) *warning:* **no visible global function definition for ‘get_snps’**
```r
    is_singleton <- colSums(get_snps(segsites)) == 1
                            ^~~~~~~~
```
[R/feature_ignore_singletons.R:41:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_ignore_singletons.R#L41) *style:* **Commas should never have a space before.**
```r
    segsites[ , !is_singleton]
             ~^
```
[R/feature_ignore_singletons.R:52:1:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_ignore_singletons.R#L52) *style:* **Variable and function names should not be longer than 30 characters.**
```r
conv_to_msms_arg.ign_singletons <- ignore_par
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/feature_ignore_singletons.R:56:1:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_ignore_singletons.R#L56) *style:* **Variable and function names should not be longer than 30 characters.**
```r
conv_to_scrm_arg.ign_singletons <- ignore_par
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/feature_ignore_singletons.R:60:1:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_ignore_singletons.R#L60) *style:* **Variable and function names should not be longer than 30 characters.**
```r
conv_to_seqgen_arg.ign_singletons <- ignore_par
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/feature_migration.R:72:12:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_migration.R#L72) *warning:* **no visible binding for global variable ‘migration_class’**
```r
    return(migration_class$new(rate, time = time, symmetric = TRUE))
           ^~~~~~~~~~~~~~~
```
[R/feature_migration.R:74:12:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_migration.R#L74) *warning:* **no visible binding for global variable ‘migration_class’**
```r
    return(migration_class$new(rate, pop_from, pop_to, time))
           ^~~~~~~~~~~~~~~
```
[R/feature_mutation.R:178:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_mutation.R#L178) *warning:* **no visible global function definition for ‘conv_to_ms_arg.mutation’**
```r
  conv_to_ms_arg.mutation(feature, model)
  ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/feature_outgroup.R:31:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_outgroup.R#L31) *warning:* **no visible binding for global variable ‘outgroup_class’**
```r
  outgroup_class$new(population)
  ^~~~~~~~~~~~~~
```
[R/feature_outgroup.R:40:34:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_outgroup.R#L40) *warning:* **no visible binding for global variable ‘is_feat_outgroup’**
```r
  mask <- vapply(model$features, is_feat_outgroup, logical(1))
                                 ^~~~~~~~~~~~~~~~
```
[R/feature_outgroup.R:49:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_outgroup.R#L49) *warning:* **no visible global function definition for ‘get_outgroup’**
```r
  outgroup <- get_outgroup(model)
              ^~~~~~~~~~~~
```
[R/feature_outgroup.R:51:20:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_outgroup.R#L51) *warning:* **no visible global function definition for ‘get_sample_size’**
```r
  outgroup_size <- get_sample_size(model, for_sim)[outgroup]
                   ^~~~~~~~~~~~~~~
```
[R/feature_pop_merge.R:47:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_pop_merge.R#L47) *warning:* **no visible binding for global variable ‘pop_merge_class’**
```r
  pop_merge_class$new(time, pop_source, pop_target)
  ^~~~~~~~~~~~~~~
```
[R/feature_recombination.R:35:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_recombination.R#L35) *warning:* **no visible binding for global variable ‘recombination_class’**
```r
  recombination_class$new(rate)
  ^~~~~~~~~~~~~~~~~~~
```
[R/feature_recombination.R:54:1:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_recombination.R#L54) *style:* **Variable and function names should not be longer than 30 characters.**
```r
conv_to_seqgen_arg.recombination <- ignore_par
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/feature_sample.R:44:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_sample.R#L44) *warning:* **no visible binding for global variable ‘sample_class’**
```r
  sample_class$new(individuals, ploidy, time)
  ^~~~~~~~~~~~
```
[R/feature_sample.R:59:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_sample.R#L59) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(is.logical(for_sim))
  ^~~~~~~~~~~
```
[R/feature_sample.R:60:18:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_sample.R#L60) *warning:* **no visible global function definition for ‘read_cache’**
```r
  sample_size <- read_cache(model, paste0("sample_size_", for_sim))
                 ^~~~~~~~~~
```
[R/feature_sample.R:63:40:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_sample.R#L63) *warning:* **no visible binding for global variable ‘is_feat_sample’**
```r
    feat_mask <- sapply(model$feature, is_feat_sample)
                                       ^~~~~~~~~~~~~~
```
[R/feature_sample.R:68:36:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_sample.R#L68) *warning:* **no visible global function definition for ‘get_ploidy’**
```r
      sample_size <- sample_size * get_ploidy(model)
                                   ^~~~~~~~~~
```
[R/feature_sample.R:70:36:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_sample.R#L70) *warning:* **no visible global function definition for ‘get_samples_per_ind’**
```r
      sample_size <- sample_size * get_samples_per_ind(model)
                                   ^~~~~~~~~~~~~~~~~~~
```
[R/feature_sample.R:72:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_sample.R#L72) *warning:* **no visible global function definition for ‘cache’, Did you mean 'cycle'?**
```r
    cache(model, paste0("sample_size_", for_sim), sample_size)
    ^~~~~
```
[R/feature_sample.R:80:34:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_sample.R#L80) *warning:* **no visible binding for global variable ‘is_feat_sample’**
```r
  mask <- vapply(model$features, is_feat_sample, logical(1))
                                 ^~~~~~~~~~~~~~
```
[R/feature_sample.R:91:18:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_sample.R#L91) *warning:* **no visible global function definition for ‘get_sample_size’**
```r
  sample_size <- get_sample_size(model, TRUE)
                 ^~~~~~~~~~~~~~~
```
[R/feature_selection.R:176:21:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_selection.R#L176) *warning:* **no visible global function definition for ‘get_populations’**
```r
    n_pop <- length(get_populations(model))
                    ^~~~~~~~~~~~~~~
```
[R/feature_selection.R:191:36:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_selection.R#L191) *style:* **Commas should never have a space before.**
```r
                        n_pop, " " , paste(start_freq, collapse = " "), " ",
                                  ~^
```
[R/feature_size_change.R:47:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_size_change.R#L47) *warning:* **no visible binding for global variable ‘size_change_class’**
```r
  size_change_class$new(new_size, population, time)
  ^~~~~~~~~~~~~~~~~
```
[R/feature_sumstats.R:18:1:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_sumstats.R#L18) *style:* **Variable and function names should not be longer than 30 characters.**
```r
conv_to_msms_arg.seg_sites_feat <- conv_to_ms_arg.seg_sites_feat
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/feature_sumstats.R:22:1:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_sumstats.R#L22) *style:* **Variable and function names should not be longer than 30 characters.**
```r
conv_to_scrm_arg.seg_sites_feat <- conv_to_ms_arg.seg_sites_feat
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/feature_sumstats.R:26:1:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_sumstats.R#L26) *style:* **Variable and function names should not be longer than 30 characters.**
```r
conv_to_seqgen_arg.seg_sites_feat <- conv_to_ms_arg.seg_sites_feat
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/feature_unphased.R:52:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_unphased.R#L52) *warning:* **no visible binding for global variable ‘unphased_class’**
```r
  unphased_class$new(samples_per_ind)
  ^~~~~~~~~~~~~~
```
[R/feature_unphased.R:60:34:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_unphased.R#L60) *warning:* **no visible binding for global variable ‘is_feat_unphased’**
```r
  mask <- vapply(model$features, is_feat_unphased, logical(1))
                                 ^~~~~~~~~~~~~~~~
```
[R/feature_unphased.R:68:11:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_unphased.R#L68) *warning:* **no visible global function definition for ‘get_feature_unphased’**
```r
  feat <- get_feature_unphased(model)
          ^~~~~~~~~~~~~~~~~~~~
```
[R/feature_unphased.R:69:29:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/feature_unphased.R#L69) *warning:* **no visible global function definition for ‘get_ploidy’**
```r
  if (is.null(feat)) return(get_ploidy(model))
                            ^~~~~~~~~~
```
[R/import_popgenome.R:19:1:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/import_popgenome.R#L19) *style:* **Words within variable and function names should be separated by '_' rather than '.'.**
```r
as.segsites.GENOME <- function(data, only_synonymous = FALSE, ...) {
^~~~~~~~~~~~~~~~~~
```
[R/import_popgenome.R:20:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/import_popgenome.R#L20) *warning:* **no visible global function definition for ‘require_package’**
```r
  require_package("PopGenome")
  ^~~~~~~~~~~~~~~
```
[R/import_popgenome.R:43:43:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/import_popgenome.R#L43) *style:* **Commas should never have a space before.**
```r
      seg_sites <- bam[c(pops, outgroup), , drop = FALSE]
                                         ~^
```
[R/import_popgenome.R:49:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/import_popgenome.R#L49) *warning:* **no visible global function definition for ‘create_segsites’**
```r
    create_segsites(seg_sites, pos)
    ^~~~~~~~~~~~~~~
```
[R/import_popgenome.R:56:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/import_popgenome.R#L56) *warning:* **no visible global function definition for ‘require_package’**
```r
  require_package("PopGenome")
  ^~~~~~~~~~~~~~~
```
[R/interface_abc.R:80:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/interface_abc.R#L80) *warning:* **no visible global function definition for ‘get_summary_statistics’**
```r
  sumstats <- get_summary_statistics(model)
              ^~~~~~~~~~~~~~~~~~~~~~
```
[R/interface_abc.R:84:7:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/interface_abc.R#L84) *warning:* **no visible global function definition for ‘assert_that’**
```r
      assert_that(is.numeric(value))
      ^~~~~~~~~~~
```
[R/interface_abc.R:86:1:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/interface_abc.R#L86) *style:* **lines should not be more than 80 characters.**
```r
        warning("Value of the ", stat$get_name(), " statistic is not a vector. ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/locus.R:84:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/locus.R#L84) *warning:* **no visible binding for global variable ‘locus_class’**
```r
  locus_class$new(length, 1)
  ^~~~~~~~~~~
```
[R/locus.R:92:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/locus.R#L92) *warning:* **no visible binding for global variable ‘locus_class’**
```r
  locus_class$new(round(length), number)
  ^~~~~~~~~~~
```
[R/locus.R:151:10:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/locus.R#L151) *warning:* **no visible global function definition for ‘get_locus_length_matrix’**
```r
  llm <- get_locus_length_matrix(model)
         ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/locus.R:152:12:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/locus.R#L152) *warning:* **no visible global function definition for ‘get_locus_group’**
```r
  group <- get_locus_group(model, locus)
           ^~~~~~~~~~~~~~~
```
[R/model_build.R:10:7:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_build.R#L10) *warning:* **no visible global function definition for ‘is.model’**
```r
  if (is.model(e1)) return(add_to_model(e2, e1, e2name))
      ^~~~~~~~
```
[R/model_build.R:10:28:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_build.R#L10) *warning:* **no visible global function definition for ‘add_to_model’**
```r
  if (is.model(e1)) return(add_to_model(e2, e1, e2name))
                           ^~~~~~~~~~~~
```
[R/model_build.R:48:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_build.R#L48) *warning:* **no visible global function definition for ‘get_id’, Did you mean 'getwd'?**
```r
  model$id <- get_id()
              ^~~~~~
```
[R/model_build.R:54:12:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_build.R#L54) *warning:* **no visible global function definition for ‘add_variation’**
```r
  model <- add_variation(model)
           ^~~~~~~~~~~~~
```
[R/model_build.R:56:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_build.R#L56) *warning:* **no visible global function definition for ‘get_id’, Did you mean 'getwd'?**
```r
  model$id <- get_id()
              ^~~~~~
```
[R/model_build.R:79:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_build.R#L79) *warning:* **no visible global function definition for ‘get_id’, Did you mean 'getwd'?**
```r
  model$id <- get_id()
              ^~~~~~
```
[R/model_build.R:86:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_build.R#L86) *warning:* **no visible global function definition for ‘get_id’, Did you mean 'getwd'?**
```r
  model$id <- get_id()
              ^~~~~~
```
[R/model_check.R:18:16:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_check.R#L18) *warning:* **no visible global function definition for ‘get_simulator’**
```r
    simprog <- get_simulator(simprog_name)
               ^~~~~~~~~~~~~
```
[R/model_getters.R:15:13:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L15) *warning:* **no visible global function definition for ‘is.model’**
```r
  stopifnot(is.model(model))
            ^~~~~~~~
```
[R/model_getters.R:17:16:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L17) *warning:* **no visible global function definition for ‘read_cache’**
```r
  par_table <- read_cache(model, "par_table")
               ^~~~~~~~~~
```
[R/model_getters.R:35:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L35) *warning:* **no visible global function definition for ‘cache’, Did you mean 'cycle'?**
```r
    cache(model, "par_table", par_table)
    ^~~~~
```
[R/model_getters.R:45:13:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L45) *warning:* **no visible global function definition for ‘is.model’**
```r
  stopifnot(is.model(model))
            ^~~~~~~~
```
[R/model_getters.R:59:10:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L59) *warning:* **no visible global function definition for ‘get_locus_length_matrix’**
```r
  llm <- get_locus_length_matrix(model)
         ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/model_getters.R:71:14:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L71) *warning:* **no visible global function definition for ‘get_locus_group’**
```r
    group <- get_locus_group(model, locus)
             ^~~~~~~~~~~~~~~
```
[R/model_getters.R:75:21:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L75) *style:* **Commas should never have a space before.**
```r
  if (sum(llm[group , c(1:2, 4:5)]) == 0) return(llm[group , 3])
                   ~^
```
[R/model_getters.R:75:60:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L75) *style:* **Commas should never have a space before.**
```r
  if (sum(llm[group , c(1:2, 4:5)]) == 0) return(llm[group , 3])
                                                          ~^
```
[R/model_getters.R:81:10:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L81) *warning:* **no visible global function definition for ‘get_locus_length_matrix’**
```r
  llm <- get_locus_length_matrix(model)
         ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/model_getters.R:82:25:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L82) *style:* **Commas should never have a space before.**
```r
  min(which(cumsum(llm[ , "number"]) >= locus))
                       ~^
```
[R/model_getters.R:87:8:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L87) *warning:* **no visible global function definition for ‘get_locus_length_matrix’**
```r
  nrow(get_locus_length_matrix(model))
       ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/model_getters.R:94:49:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L94) *warning:* **no visible binding for global variable ‘is_feat_sample’**
```r
  feat <- model$features[vapply(model$features, is_feat_sample, logical(1))]
                                                ^~~~~~~~~~~~~~
```
[R/model_getters.R:96:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L96) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(pop_number > 0)
  ^~~~~~~~~~~
```
[R/model_getters.R:105:10:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L105) *warning:* **no visible global function definition for ‘read_cache’**
```r
  llm <- read_cache(model, "llm")
         ^~~~~~~~~~
```
[R/model_getters.R:107:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L107) *warning:* **no visible global function definition for ‘assert_that’**
```r
    assert_that(length(model$loci) >= 0)
    ^~~~~~~~~~~
```
[R/model_getters.R:115:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L115) *warning:* **no visible global function definition for ‘cache’, Did you mean 'cycle'?**
```r
    cache(model, "llm", llm)
    ^~~~~
```
[R/model_getters.R:125:14:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L125) *warning:* **no visible global function definition for ‘get_locus_length_matrix’**
```r
  numbers <- get_locus_length_matrix(model)[ , "number"]
             ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/model_getters.R:125:46:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L125) *style:* **Commas should never have a space before.**
```r
  numbers <- get_locus_length_matrix(model)[ , "number"]
                                            ~^
```
[R/model_getters.R:127:7:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L127) *warning:* **no visible global function definition for ‘has_variation’**
```r
  if (has_variation(model) && !ignore_variation) return(1)
      ^~~~~~~~~~~~~
```
[R/model_getters.R:144:18:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L144) *warning:* **no visible global function definition for ‘get_sample_size’**
```r
  sample_size <- get_sample_size(model)
                 ^~~~~~~~~~~~~~~
```
[R/model_getters.R:145:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L145) *warning:* **no visible global function definition for ‘get_outgroup’**
```r
  outgroup <- get_outgroup(model)
              ^~~~~~~~~~~~
```
[R/model_getters.R:152:47:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L152) *warning:* **no visible global function definition for ‘get_ploidy’**
```r
  if (!haploids) sample_size <- sample_size / get_ploidy(model)
                                              ^~~~~~~~~~
```
[R/model_getters.R:155:17:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L155) *warning:* **no visible global function definition for ‘get_populations’**
```r
  if (!pop %in% get_populations(model)) stop("Invalid population")
                ^~~~~~~~~~~~~~~
```
[R/model_getters.R:163:12:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L163) *warning:* **no visible global function definition for ‘get_parameter’**
```r
  param <- get_parameter(model)
           ^~~~~~~~~~~~~
```
[R/model_getters.R:166:35:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L166) *warning:* **no visible binding for global variable ‘is.prior_par’**
```r
    param <- param[!vapply(param, is.prior_par, numeric(1))]
                                  ^~~~~~~~~~~~
```
[R/model_getters.R:174:28:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_getters.R#L174) *warning:* **no visible global function definition for ‘select_simprog’**
```r
  suppressWarnings(prog <- select_simprog(model))
                           ^~~~~~~~~~~~~~
```
[R/model_print.R:17:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_print.R#L17) *warning:* **no visible global function definition for ‘print_model_part’**
```r
  print_model_part(x, "features", "Features")
  ^~~~~~~~~~~~~~~~
```
[R/model_print.R:20:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_print.R#L20) *warning:* **no visible global function definition for ‘print_model_part’**
```r
  print_model_part(x, "parameter", "Parameter")
  ^~~~~~~~~~~~~~~~
```
[R/model_print.R:23:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_print.R#L23) *warning:* **no visible global function definition for ‘print_model_part’**
```r
  print_model_part(x, "loci", "Loci")
  ^~~~~~~~~~~~~~~~
```
[R/model_print.R:26:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_print.R#L26) *warning:* **no visible global function definition for ‘print_model_part’**
```r
  print_model_part(x, "sum_stats", "Summary Statistics")
  ^~~~~~~~~~~~~~~~
```
[R/model_print.R:29:31:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_print.R#L29) *warning:* **no visible global function definition for ‘select_simprog’**
```r
  suppressWarnings(simprog <- select_simprog(x))
                              ^~~~~~~~~~~~~~
```
[R/model_print.R:35:23:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_print.R#L35) *warning:* **no visible global function definition for ‘get_cmd’**
```r
    cmd <- try(cmd <- get_cmd(x), silent = TRUE)
                      ^~~~~~~
```
[R/model.R:72:20:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model.R#L72) *warning:* **no visible global function definition for ‘feat_sample’**
```r
  model <- model + feat_sample(sample_size, ploidy)
                   ^~~~~~~~~~~
```
[R/model.R:76:22:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model.R#L76) *warning:* **no visible global function definition for ‘locus_averaged’**
```r
    model <- model + locus_averaged(loci_number, loci_length)
                     ^~~~~~~~~~~~~~
```
[R/model.R:92:11:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model.R#L92) *warning:* **no visible global function definition for ‘read_cache’**
```r
  name <- read_cache(model, "simprog")
          ^~~~~~~~~~
```
[R/model.R:98:18:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model.R#L98) *warning:* **no visible global function definition for ‘get_simulator’**
```r
      simprog <- get_simulator(simprog_name)
                 ^~~~~~~~~~~~~
```
[R/model.R:109:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model.R#L109) *warning:* **no visible global function definition for ‘cache’, Did you mean 'cycle'?**
```r
    cache(model, "simprog", name)
    ^~~~~
```
[R/model.R:126:7:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model.R#L126) *warning:* **no visible global function definition for ‘get_locus_length_matrix’**
```r
  sum(get_locus_length_matrix(model)[ , c(1:2, 4:5)]) > 0
      ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/model.R:126:39:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model.R#L126) *style:* **Commas should never have a space before.**
```r
  sum(get_locus_length_matrix(model)[ , c(1:2, 4:5)]) > 0
                                     ~^
```
[R/model.R:132:12:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model.R#L132) *warning:* **no visible global function definition for ‘get_positions’**
```r
    pos <- get_positions(seg_sites[[locus]])
           ^~~~~~~~~~~~~
```
[R/model.R:133:21:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model.R#L133) *warning:* **no visible global function definition for ‘get_locus_length’**
```r
    locus_length <- get_locus_length(model, locus, total = FALSE)
                    ^~~~~~~~~~~~~~~~
```
[R/model.R:142:19:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model.R#L142) *warning:* **no visible global function definition for ‘get_trio_locus’**
```r
    trio_locus <- get_trio_locus(seg_sites[[locus]])
                  ^~~~~~~~~~~~~~
```
[R/model_scale.R:23:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_scale.R#L23) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(is.model(model))
  ^~~~~~~~~~~
```
[R/model_scale.R:23:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_scale.R#L23) *warning:* **no visible global function definition for ‘is.model’**
```r
  assert_that(is.model(model))
              ^~~~~~~~
```
[R/model_scale.R:24:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_scale.R#L24) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(is.numeric(scaling_factor))
  ^~~~~~~~~~~
```
[R/model_scale.R:25:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_scale.R#L25) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(length(scaling_factor) == 1)
  ^~~~~~~~~~~
```
[R/model_scale.R:27:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_scale.R#L27) *warning:* **no visible global function definition for ‘get_id’, Did you mean 'getwd'?**
```r
  model$id <- get_id()
              ^~~~~~
```
[R/model_simulate.R:40:14:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_simulate.R#L40) *warning:* **no visible global function definition for ‘select_simprog’**
```r
  simprog <- select_simprog(object)
             ^~~~~~~~~~~~~~
```
[R/model_simulate.R:44:21:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/model_simulate.R#L44) *warning:* **no visible global function definition for ‘prepare_pars’**
```r
    current_pars <- prepare_pars(pars, object)
                    ^~~~~~~~~~~~
```
[R/onLoad.R:3:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/onLoad.R#L3) *warning:* **no visible global function definition for ‘activate_scrm’**
```r
  activate_scrm()
  ^~~~~~~~~~~~~
```
[R/parameter_prior.R:30:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter_prior.R#L30) *warning:* **no visible binding for global variable ‘prior_par_class’**
```r
  prior_par_class$new(name, as.expression(substitute(prior)))
  ^~~~~~~~~~~~~~~
```
[R/parameter_prior.R:38:10:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter_prior.R#L38) *warning:* **no visible global function definition for ‘get_parameter’**
```r
  par <- get_parameter(model)
         ^~~~~~~~~~~~~
```
[R/parameter_prior.R:39:32:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter_prior.R#L39) *warning:* **no visible binding for global variable ‘is.prior_par’**
```r
  prior_par <- par[vapply(par, is.prior_par, logical(1))]
                               ^~~~~~~~~~~~
```
[R/parameter.R:123:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter.R#L123) *warning:* **no visible binding for global variable ‘parameter_class’**
```r
  parameter_class$new(as.expression(substitute(expr)))
  ^~~~~~~~~~~~~~~
```
[R/parameter.R:135:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter.R#L135) *warning:* **no visible binding for global variable ‘parameter_class’**
```r
  parameter_class$new(as.expression(constant))
  ^~~~~~~~~~~~~~~
```
[R/parameter.R:144:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter.R#L144) *warning:* **no visible binding for global variable ‘named_par_class’**
```r
  named_par_class$new(name)
  ^~~~~~~~~~~~~~~
```
[R/parameter.R:166:11:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter.R#L166) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      if ((!is.numeric(value)) || length(value) != 1) {
          ^
```
[R/parameter.R:192:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter.R#L192) *warning:* **no visible binding for global variable ‘range_par_class’**
```r
  range_par_class$new(lower, upper, name)
  ^~~~~~~~~~~~~~~
```
[R/parameter.R:203:25:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter.R#L203) *warning:* **no visible binding for global variable ‘par_eval_func’**
```r
    par_env[["par"]] <- par_eval_func
                        ^~~~~~~~~~~~~
```
[R/parameter.R:209:25:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter.R#L209) *warning:* **no visible binding for global variable ‘par_print_func’**
```r
    par_env[["par"]] <- par_print_func
                        ^~~~~~~~~~~~~~
```
[R/parameter.R:225:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter.R#L225) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(is.numeric(pars))
  ^~~~~~~~~~~
```
[R/parameter.R:229:18:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter.R#L229) *warning:* **no visible global function definition for ‘get_par_names’**
```r
    par_names <- get_par_names(model, without_priors = TRUE)
                 ^~~~~~~~~~~~~
```
[R/parameter.R:237:11:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter.R#L237) *warning:* **no visible global function definition for ‘sample_par_priors’**
```r
  c(pars, sample_par_priors(model))
          ^~~~~~~~~~~~~~~~~
```
[R/parameter_variation.R:59:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/parameter_variation.R#L59) *warning:* **no visible binding for global variable ‘variation_par_class’**
```r
  variation_par_class$new(par, variance)
  ^~~~~~~~~~~~~~~~~~~
```
[R/segsites.R:47:11:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/segsites.R#L47) *warning:* **no visible global function definition for ‘get_snps’**
```r
  snps <- get_snps(x)
          ^~~~~~~~
```
[R/segsites.R:48:28:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/segsites.R#L48) *warning:* **no visible global function definition for ‘get_positions’**
```r
  colnames(snps) <- format(get_positions(x), scientific = FALSE)
                           ^~~~~~~~~~~~~
```
[R/segsites.R:62:1:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/segsites.R#L62) *style:* **Words within variable and function names should be separated by '_' rather than '.'.**
```r
as.matrix.segsites <- function(x, ...) get_snps(x)
^~~~~~~~~~~~~~~~~~
```
[R/segsites.R:75:19:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/segsites.R#L75) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  create_segsites((matrix(c(1, 1, 0, 1, 1,
                  ^
```
[R/segsites.R:83:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/segsites.R#L83) *warning:* **no visible global function definition for ‘create_segsites’**
```r
  create_segsites(matrix(0, n_ind, 0), numeric(0))
  ^~~~~~~~~~~~~~~
```
[R/segsites.R:103:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/segsites.R#L103) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(is.list(left) && is.list(middle) && is.list(right))
  ^~~~~~~~~~~
```
[R/segsites.R:104:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/segsites.R#L104) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(length(left) == length(middle))
  ^~~~~~~~~~~
```
[R/segsites.R:105:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/segsites.R#L105) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(length(left) == length(right))
  ^~~~~~~~~~~
```
[R/segsites.R:142:1:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/segsites.R#L142) *style:* **Words within variable and function names should be separated by '_' rather than '.'.**
```r
as.segsites.default <- function(data, ...) {
^~~~~~~~~~~~~~~~~~~
```
[R/segsites.R:147:1:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/segsites.R#L147) *style:* **Words within variable and function names should be separated by '_' rather than '.'.**
```r
as.segsites.list <- function(data, ...) {
^~~~~~~~~~~~~~~~
```
[R/segsites.R:148:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/segsites.R#L148) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(all(vapply(data, is_segsites, logical(1))))
  ^~~~~~~~~~~
```
[R/segsites.R:148:32:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/segsites.R#L148) *warning:* **no visible binding for global variable ‘is_segsites’**
```r
  assert_that(all(vapply(data, is_segsites, logical(1))))
                               ^~~~~~~~~~~
```
[R/simulator_class.R:28:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_class.R#L28) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(is_simulator(simulator))
  ^~~~~~~~~~~
```
[R/simulator_class.R:28:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_class.R#L28) *warning:* **no visible global function definition for ‘is_simulator’**
```r
  assert_that(is_simulator(simulator))
              ^~~~~~~~~~~~
```
[R/simulator_class.R:33:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_class.R#L33) *warning:* **no visible binding for global variable ‘simulators’**
```r
  simulators[[name]]
  ^~~~~~~~~~
```
[R/simulator_class.R:40:19:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_class.R#L40) *warning:* **no visible global function definition for ‘get_locus_length’**
```r
  locus_length <- get_locus_length(model, group = locus_group)
                  ^~~~~~~~~~~~~~~~
```
[R/simulator_class.R:41:25:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_class.R#L41) *warning:* **no visible global function definition for ‘get_locus_number’**
```r
  total_locus_number <- get_locus_number(model, locus_group, TRUE)
                        ^~~~~~~~~~~~~~~~
```
[R/simulator_class.R:64:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_class.R#L64) *warning:* **no visible global function definition for ‘reduce_sim_commands’**
```r
  reduce_sim_commands(sim_cmds)
  ^~~~~~~~~~~~~~~~~~~
```
[R/simulator_class.R:70:44:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_class.R#L70) *style:* **Commas should never have a space before.**
```r
  grouped_commands <- unique(sim_commands[ , 2])
                                          ~^
```
[R/simulator_class.R:73:36:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_class.R#L73) *style:* **Commas should never have a space before.**
```r
    sum(sim_commands[sim_commands[ , 2] == cmd, 1])
                                  ~^
```
[R/simulator_class.R:90:13:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_class.R#L90) *warning:* **no visible global function definition for ‘get_simulator’**
```r
    info <- get_simulator(simulator)$get_info()
            ^~~~~~~~~~~~~
```
[R/simulator_msms.R:109:41:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_msms.R#L109) *style:* **Commas should never have a space before.**
```r
        paste("msms", sample_size, cmd[ , 1], cmd[ , 2])
                                       ~^
```
[R/simulator_msms.R:109:52:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_msms.R#L109) *style:* **Commas should never have a space before.**
```r
        paste("msms", sample_size, cmd[ , 1], cmd[ , 2])
                                                  ~^
```
[R/simulator_msms.R:158:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_msms.R#L158) *warning:* **no visible global function definition for ‘reset_cache’**
```r
  reset_cache()
  ^~~~~~~~~~~
```
[R/simulator_ms.R:67:37:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_ms.R#L67) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
        paste("ms", sample_size, cmd[ , 1], cmd[ , 2])
                                    ^
```
[R/simulator_ms.R:87:39:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_ms.R#L87) *style:* **Commas should never have a space before.**
```r
        paste("ms", sample_size, cmd[ , 1], cmd[ , 2])
                                     ~^
```
[R/simulator_ms.R:87:50:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_ms.R#L87) *style:* **Commas should never have a space before.**
```r
        paste("ms", sample_size, cmd[ , 1], cmd[ , 2])
                                                ~^
```
[R/simulator_ms.R:136:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_ms.R#L136) *warning:* **no visible global function definition for ‘register_simulator’**
```r
  register_simulator(ms_class$new(priority))
  ^~~~~~~~~~~~~~~~~~
```
[R/simulator_ms.R:136:22:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_ms.R#L136) *warning:* **no visible binding for global variable ‘ms_class’**
```r
  register_simulator(ms_class$new(priority))
                     ^~~~~~~~
```
[R/simulator_ms.R:137:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_ms.R#L137) *warning:* **no visible global function definition for ‘reset_cache’**
```r
  reset_cache()
  ^~~~~~~~~~~
```
[R/simulator_scrm.R:11:10:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_scrm.R#L11) *warning:* **no visible global function definition for ‘read_cache’**
```r
  cmd <- read_cache(model, "scrm_cmd")
         ^~~~~~~~~~
```
[R/simulator_scrm.R:17:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_scrm.R#L17) *warning:* **no visible global function definition for ‘cache’, Did you mean 'cycle'?**
```r
    cache(model, "scrm_cmd", cmd)
    ^~~~~
```
[R/simulator_scrm.R:83:41:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_scrm.R#L83) *style:* **Commas should never have a space before.**
```r
        paste("scrm", sample_size, cmd[ , 1], cmd[ , 2])
                                       ~^
```
[R/simulator_scrm.R:83:52:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_scrm.R#L83) *style:* **Commas should never have a space before.**
```r
        paste("scrm", sample_size, cmd[ , 1], cmd[ , 2])
                                                  ~^
```
[R/simulator_scrm.R:129:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_scrm.R#L129) *warning:* **no visible global function definition for ‘register_simulator’**
```r
  register_simulator(scrm_class$new(priority))
  ^~~~~~~~~~~~~~~~~~
```
[R/simulator_scrm.R:129:22:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_scrm.R#L129) *warning:* **no visible binding for global variable ‘scrm_class’**
```r
  register_simulator(scrm_class$new(priority))
                     ^~~~~~~~~~
```
[R/simulator_scrm.R:130:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_scrm.R#L130) *warning:* **no visible global function definition for ‘reset_cache’**
```r
  reset_cache()
  ^~~~~~~~~~~
```
[R/simulator_seqgen.R:5:17:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_seqgen.R#L5) *warning:* **no visible global function definition for ‘read_cache’**
```r
  tree_model <- read_cache(model, "tree_model")
                ^~~~~~~~~~
```
[R/simulator_seqgen.R:20:29:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_seqgen.R#L20) *warning:* **no visible global function definition for ‘create_sumstat_container’**
```r
    tree_model$sum_stats <- create_sumstat_container()
                            ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/simulator_seqgen.R:21:32:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_seqgen.R#L21) *warning:* **no visible global function definition for ‘sumstat_sg_trees’**
```r
    tree_model <- tree_model + sumstat_sg_trees()
                               ^~~~~~~~~~~~~~~~
```
[R/simulator_seqgen.R:23:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_seqgen.R#L23) *warning:* **no visible global function definition for ‘cache’, Did you mean 'cycle'?**
```r
    cache(model, "tree_model", tree_model)
    ^~~~~
```
[R/simulator_seqgen.R:41:20:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_seqgen.R#L41) *warning:* **no visible global function definition for ‘get_locus_length’**
```r
  locus_lengths <- get_locus_length(model, group = locus, total = FALSE)
                   ^~~~~~~~~~~~~~~~
```
[R/simulator_seqgen.R:47:10:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_seqgen.R#L47) *warning:* **no visible global function definition for ‘sg_generate_opt_cmd’**
```r
  cmd <- sg_generate_opt_cmd(model)
         ^~~~~~~~~~~~~~~~~~~
```
[R/simulator_seqgen.R:61:10:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_seqgen.R#L61) *warning:* **no visible global function definition for ‘read_cache’**
```r
  cmd <- read_cache(model, "seqgen_cmd")
         ^~~~~~~~~~
```
[R/simulator_seqgen.R:74:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_seqgen.R#L74) *warning:* **no visible global function definition for ‘cache’, Did you mean 'cycle'?**
```r
    cache(model, "seqgen_cmd", cmd)
    ^~~~~
```
[R/simulator_seqgen.R:222:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_seqgen.R#L222) *warning:* **no visible global function definition for ‘register_simulator’**
```r
  register_simulator(seqgen_class$new(binary, priority))
  ^~~~~~~~~~~~~~~~~~
```
[R/simulator_seqgen.R:222:22:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_seqgen.R#L222) *warning:* **no visible binding for global variable ‘seqgen_class’**
```r
  register_simulator(seqgen_class$new(binary, priority))
                     ^~~~~~~~~~~~
```
[R/simulator_seqgen.R:223:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/simulator_seqgen.R#L223) *warning:* **no visible global function definition for ‘reset_cache’**
```r
  reset_cache()
  ^~~~~~~~~~~
```
[R/sumstat_dna.R:40:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_dna.R#L40) *warning:* **no visible binding for global variable ‘stat_dna_class’**
```r
  stat_dna_class$new(name, transformation)
  ^~~~~~~~~~~~~~
```
[R/sumstat_file.R:46:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_file.R#L46) *warning:* **no visible binding for global variable ‘stat_file_class’**
```r
  stat_file_class$new(folder)
  ^~~~~~~~~~~~~~~
```
[R/sumstat_four_gamete.R:73:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_four_gamete.R#L73) *warning:* **no visible binding for global variable ‘stat_four_gamete_class’**
```r
  stat_four_gamete_class$new(name, population, transformation)
  ^~~~~~~~~~~~~~~~~~~~~~
```
[R/sumstat_ihh.R:53:45:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_ihh.R#L53) *style:* **Commas should never have a space before.**
```r
                      iHS = data.frame(ihh[ , 1:2], iHS = rep(NA, n_snps))))
                                           ~^
```
[R/sumstat_ihh.R:61:55:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_ihh.R#L61) *style:* **Commas should never have a space before.**
```r
            data.frame(ihh2ihs(ihh, freqbin)$res.ihs[ , -4])
                                                     ~^
```
[R/sumstat_ihh.R:148:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_ihh.R#L148) *warning:* **no visible binding for global variable ‘stat_ihh_class’**
```r
  stat_ihh_class$new(name, population, max_snps, calc_ihs, transformation)
  ^~~~~~~~~~~~~~
```
[R/sumstat_jsfs.R:60:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_jsfs.R#L60) *warning:* **no visible binding for global variable ‘stat_jsfs_class’**
```r
  stat_jsfs_class$new(name, populations, per_locus, transformation)
  ^~~~~~~~~~~~~~~
```
[R/sumstat_mcmf.R:44:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_mcmf.R#L44) *warning:* **no visible binding for global variable ‘stat_mcmf_class’**
```r
  stat_mcmf_class$new(name, population, transformation)
  ^~~~~~~~~~~~~~~
```
[R/sumstat_nucleotide_div.R:46:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_nucleotide_div.R#L46) *warning:* **no visible binding for global variable ‘stat_pi_class’**
```r
  stat_pi_class$new(name, population, transformation)
  ^~~~~~~~~~~~~
```
[R/sumstat_omega.R:156:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_omega.R#L156) *warning:* **no visible binding for global variable ‘stat_omega_class’**
```r
  stat_omega_class$new(name, min_win, max_win, grid, binary, transformation)
  ^~~~~~~~~~~~~~~~
```
[R/sumstat_omega.R:160:12:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_omega.R#L160) *warning:* **no visible global function definition for ‘search_executable’**
```r
  !is.null(search_executable("OmegaPlus", envir_var = "OMEGAPLUS"))
           ^~~~~~~~~~~~~~~~~
```
[R/sumstat.R:71:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L71) *warning:* **no visible global function definition for ‘get_id’, Did you mean 'getwd'?**
```r
  model$id <- get_id()
              ^~~~~~
```
[R/sumstat.R:87:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L87) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(is.model(model))
  ^~~~~~~~~~~
```
[R/sumstat.R:87:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L87) *warning:* **no visible global function definition for ‘is.model’**
```r
  assert_that(is.model(model))
              ^~~~~~~~
```
[R/sumstat.R:89:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L89) *warning:* **no visible global function definition for ‘assert_that’**
```r
    assert_that(!is.null(segsites_list))
    ^~~~~~~~~~~
```
[R/sumstat.R:90:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L90) *warning:* **no visible global function definition for ‘assert_that’**
```r
    assert_that(all(vapply(segsites_list, is_segsites, logical(1))))
    ^~~~~~~~~~~
```
[R/sumstat.R:90:43:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L90) *warning:* **no visible binding for global variable ‘is_segsites’**
```r
    assert_that(all(vapply(segsites_list, is_segsites, logical(1))))
                                          ^~~~~~~~~~~
```
[R/sumstat.R:93:24:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L93) *warning:* **no visible global function definition for ‘remove_singletons’**
```r
      segsites_list <- remove_singletons(segsites_list)
                       ^~~~~~~~~~~~~~~~~
```
[R/sumstat.R:96:7:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L96) *warning:* **no visible global function definition for ‘requires_trees’**
```r
  if (requires_trees(model)) assert_that(!is.null(trees))
      ^~~~~~~~~~~~~~
```
[R/sumstat.R:96:30:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L96) *warning:* **no visible global function definition for ‘assert_that’**
```r
  if (requires_trees(model)) assert_that(!is.null(trees))
                             ^~~~~~~~~~~
```
[R/sumstat.R:97:7:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L97) *warning:* **no visible global function definition for ‘requires_files’**
```r
  if (requires_files(model)) assert_that(!is.null(files))
      ^~~~~~~~~~~~~~
```
[R/sumstat.R:97:30:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L97) *warning:* **no visible global function definition for ‘assert_that’**
```r
  if (requires_files(model)) assert_that(!is.null(files))
                             ^~~~~~~~~~~
```
[R/sumstat.R:111:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L111) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(is.model(model))
  ^~~~~~~~~~~
```
[R/sumstat.R:111:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L111) *warning:* **no visible global function definition for ‘is.model’**
```r
  assert_that(is.model(model))
              ^~~~~~~~
```
[R/sumstat.R:120:20:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L120) *warning:* **no visible global function definition for ‘conv_for_trios’**
```r
      seg_sites <- conv_for_trios(seg_sites, model)
                   ^~~~~~~~~~~~~~
```
[R/sumstat.R:176:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L176) *warning:* **no visible global function definition for ‘assert_that’**
```r
  assert_that(is.model(model))
  ^~~~~~~~~~~
```
[R/sumstat.R:176:15:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L176) *warning:* **no visible global function definition for ‘is.model’**
```r
  assert_that(is.model(model))
              ^~~~~~~~
```
[R/sumstat.R:179:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L179) *warning:* **no visible global function definition for ‘assert_that’**
```r
    assert_that(is.list(trios))
    ^~~~~~~~~~~
```
[R/sumstat.R:180:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L180) *warning:* **no visible global function definition for ‘assert_that’**
```r
    assert_that(!is.null(segsites_list))
    ^~~~~~~~~~~
```
[R/sumstat.R:186:7:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L186) *warning:* **no visible global function definition for ‘assert_that’**
```r
      assert_that(is.numeric(trio))
      ^~~~~~~~~~~
```
[R/sumstat.R:188:7:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L188) *warning:* **no visible global function definition for ‘assert_that’**
```r
      assert_that(length(trio) == 3)
      ^~~~~~~~~~~
```
[R/sumstat.R:196:22:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L196) *warning:* **no visible global function definition for ‘as.segsites’**
```r
    segsites_list <- as.segsites(segsites_list, ...)
                     ^~~~~~~~~~~
```
[R/sumstat.R:200:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L200) *warning:* **no visible global function definition for ‘assert_that’**
```r
    assert_that(length(segsites_list) == get_locus_number(model))
    ^~~~~~~~~~~
```
[R/sumstat.R:200:42:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L200) *warning:* **no visible global function definition for ‘get_locus_number’**
```r
    assert_that(length(segsites_list) == get_locus_number(model))
                                         ^~~~~~~~~~~~~~~~
```
[R/sumstat.R:209:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L209) *warning:* **no visible global function definition for ‘calc_sumstats’**
```r
  calc_sumstats(model, segsites_list, tree_list)
  ^~~~~~~~~~~~~
```
[R/sumstat.R:214:14:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L214) *warning:* **no visible global function definition for ‘get_summary_statistics’**
```r
  any(sapply(get_summary_statistics(model), function(x) x$requires_segsites()))
             ^~~~~~~~~~~~~~~~~~~~~~
```
[R/sumstat.R:219:14:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L219) *warning:* **no visible global function definition for ‘get_summary_statistics’**
```r
  any(sapply(get_summary_statistics(model), function(x) x$requires_trees()))
             ^~~~~~~~~~~~~~~~~~~~~~
```
[R/sumstat.R:224:14:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat.R#L224) *warning:* **no visible global function definition for ‘get_summary_statistics’**
```r
  any(sapply(get_summary_statistics(model), function(x) x$requires_files()))
             ^~~~~~~~~~~~~~~~~~~~~~
```
[R/sumstat_seg_sites.R:30:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_seg_sites.R#L30) *warning:* **no visible binding for global variable ‘stat_segsites_class’**
```r
  stat_segsites_class$new(name, transformation)
  ^~~~~~~~~~~~~~~~~~~
```
[R/sumstat_seg_sites.R:36:21:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_seg_sites.R#L36) *warning:* **no visible global function definition for ‘get_locus_length’**
```r
    locus_length <- get_locus_length(model, i, total = FALSE)
                    ^~~~~~~~~~~~~~~~
```
[R/sumstat_seg_sites.R:42:12:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_seg_sites.R#L42) *warning:* **no visible global function definition for ‘get_positions’**
```r
    pos <- get_positions(seg_sites[[i]])
           ^~~~~~~~~~~~~
```
[R/sumstat_seg_sites.R:51:38:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_seg_sites.R#L51) *style:* **Commas should never have a space before.**
```r
    trio_segsites <- seg_sites[[i]][ , left | middle | right]
                                    ~^
```
[R/sumstat_seg_sites.R:60:5:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_seg_sites.R#L60) *warning:* **no visible global function definition for ‘assert_that’**
```r
    assert_that(nrow(seg_sites[[i]]) > 0)
    ^~~~~~~~~~~
```
[R/sumstat_sfs.R:38:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_sfs.R#L38) *warning:* **no visible binding for global variable ‘stat_sfs_class’**
```r
  stat_sfs_class$new(name, population, transformation)
  ^~~~~~~~~~~~~~
```
[R/sumstat_tajimas_d.R:62:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_tajimas_d.R#L62) *warning:* **no visible binding for global variable ‘stat_tajimas_d_class’**
```r
  stat_tajimas_d_class$new(name, population, transformation)
  ^~~~~~~~~~~~~~~~~~~~
```
[R/sumstat_trees.R:28:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_trees.R#L28) *warning:* **no visible binding for global variable ‘stat_trees_class’**
```r
  stat_trees_class$new(name, identity)
  ^~~~~~~~~~~~~~~~
```
[R/sumstat_trees.R:57:3:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/R/sumstat_trees.R#L57) *warning:* **no visible binding for global variable ‘stat_sg_trees_class’**
```r
  stat_sg_trees_class$new("trees", identity)
  ^~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test-feature-ign-singletons.R:13:45:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/tests/testthat/test-feature-ign-singletons.R#L13) *style:* **Commas should never have a space before.**
```r
               list(create_test_segsites()[ , -c(1, 3)],
                                           ~^
```
[tests/testthat/test-feature-ign-singletons.R:14:45:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/tests/testthat/test-feature-ign-singletons.R#L14) *style:* **Commas should never have a space before.**
```r
                    create_test_segsites()[ , -c(1, 3)]))
                                           ~^
```
[tests/testthat/test-model-cache.R:47:1:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/tests/testthat/test-model-cache.R#L47) *style:* **Trailing blank lines are superfluous.**
```r

^
```
[tests/testthat/test-model-class.R:241:44:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/tests/testthat/test-model-class.R#L241) *style:* **Commas should always have a space after.**
```r
               data.frame(name = c("theta","tau"),
                                           ^
```
[tests/testthat/test-segsites-class.R:30:31:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/tests/testthat/test-segsites-class.R#L30) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  segsites <- create_segsites((matrix(c(1, 1, 0, 1, 1,
                              ^
```
[tests/testthat/test-segsites-class.R:36:26:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/tests/testthat/test-segsites-class.R#L36) *style:* **Commas should never have a space before.**
```r
  ss_subset <- segsites[ , 1:2]
                        ~^
```
[tests/testthat/test-segsites-class.R:38:64:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/tests/testthat/test-segsites-class.R#L38) *style:* **Commas should never have a space before.**
```r
  expect_equivalent(as.matrix(ss_subset), as.matrix(segsites)[ , 1:2])
                                                              ~^
```
[tests/testthat/test-segsites-class.R:41:30:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/tests/testthat/test-segsites-class.R#L41) *style:* **Commas should never have a space before.**
```r
  expect_equal(dim(segsites[ , 1]), c(3, 1))
                            ~^
```
[tests/testthat/test-segsites-class.R:42:33:](https://github.com/statgenlmu/coala/blob/96ba1e8e6b1aeead2441ef578cb3b98eebddaca4/tests/testthat/test-segsites-class.R#L42) *style:* **Commas should never have a space before.**
```r
  expect_equal(dim(segsites[1:2 , ]), c(2, 3))
                               ~^
```


I found this issue a while ago and I already fixed it. It will be relased in 0.8.3.
Thanks for PR anyways :)


GG


@mathiasbynens Thanks! :purple_heart:


it's a comma separated list of values, so in this case the mask should contain a comma :)
(the mask is applied on the full string, not on the separate values)


点検年月での絞り込み検索を追加しただけです。


you know what this line makes ?  This file proofs what I said the trace listeners are NOT on a conditional ...

I know what I do :) (In 50% of the cases)


@evilsocket u need tester ? i want be ur tester but im newbie okay :smiley:


Layer height can't be selected when printing "all at once". It can still be activated though when you set the global setting to "one at a time", then set the per-object setting, and then switch back to "all at once". Maybe that should be fixed instead.


bbbbb


I want to follow the extension as it is. For me is just a rename and is the same repo. I don't want to mess with the tags we have, and so on. For example the client remains the same because there is no changes in its structure, and we have all the tests versioned too.

Here is the deployment plan https://gist.github.com/ethervoid/b4444d4b05b3b6eec2f3


no thank you


import org.junit._

import Assert._

import ProjectEuler._
import scala.collection.mutable.PriorityQueue
import problem28._

class ProjectEulerSuite{

  @Test @Ignore def testBinary(){

    val lst = List(1,0,1)

    assertEquals(lst, binary(5))

    assertEquals(List(1,1,1), binary(7))
  }

  @Test@Ignore def testProblem36(){

    println("Sum is :%s" + problem36())

  }

  @Test @Ignore def testProblem45() {
    println("Solution is:" + problem45(286.0))
  }

  @Test @Ignore def allProducts() {

    //val coll = products(5)
    //println(coll)
  }

  @Test @Ignore  def balanced() {
    val balancedList = List[Char]('(', '(', '(', ')', '(', ')', ')', ')')
    val res = parenthesisBalanced(balancedList)
    assertTrue(res)

    assertFalse(parenthesisBalanced(List[Char](')', '(')))

  }

  @Test @Ignore def primeUpTo() {
    val expectedList = List(2, 3,5, 7)
    assertEquals(expectedList, primesUpTo(10))
  }

  @Test @Ignore def primeFactors() {
    val expectedList = List(2,3,5)
    val primes = primesUpTo(12).toList
    println(pFactors(644))
    println(pFactors(645))
    println(pFactors(646))
  }

  @Test  @Ignore def problem47() {
    print(testFun(3, 3, 10))

  }

  @Test @Ignore def testProblem50() {
    println(problem50(1000))
  }

  @Test @Ignore def testProblem46() {
    println(problem46())
  }

  @Test @Ignore def testProblem52() {
    println(problem52())
  }

  @Test @Ignore def testHuffmanCodes() {

    def buildBinaryTree(inputList:PriorityQueue[Node]):Node = inputList.size match {

      case 1 => inputList.dequeue()
      case _ => {
              //println("---------------------------")
              //println(inputList)
              //println("---------------------------")
              val first = inputList.dequeue()
              val second = inputList.dequeue()
              val newNode = new Node("*", first.value  + second.value, first, second)
              inputList.enqueue(newNode)
              buildBinaryTree(inputList)
      }
    }

    def findHuffmanCode2(frequency:Int, bTree:Node):String = {
      // traverse the tree left to right
      val (found, path) = findHuffman(frequency, bTree, List[Int]())
      if (found) {
        path
      } else
         findHuffman(frequency, bTree.right, List(1))._2
    }

    def findHuffman(frequency:Int, bTree:Node, resList:List[Int]):(Boolean, String) = {
      // traverse the tree left to right
      if (bTree == null) {
        //println("Returning not found" )
        return (false, resList.mkString)
      } else {
        //println("Checking at:" + bTree.value + " resList is:" + resList.mkString)
        if (frequency == bTree.value) {
          return (true, resList.mkString)
        }else {
          val (found, path) = findHuffman(frequency, bTree.left, resList:::List(0))
          if (found)
            (true, path)
          else
            findHuffman(frequency, bTree.right, resList ::: List(1))
        }
      }

    }

    /// WORKING VERSION

    def findHuffmanCode(frequency:Int, bTree:Node, resList:List[Int], found:Boolean=false):(Boolean, String) = {
      // traverse the tree left to right
      if (bTree != null && !found) {
        if (bTree.value == frequency) {
          (true,resList.mkString)
        } else {
          val (found, lst) = findHuffmanCode(frequency, bTree.left, resList:::List(0), bTree.value == frequency)
          if (!found) {
            findHuffmanCode(frequency, bTree.right, resList ::: List(1), bTree.value == frequency)
          } else
            (found, lst.mkString)
        }
      } else
         (found, resList.mkString)

    }

    val pQueue = huffmanCodes()

    val node = buildBinaryTree(pQueue)

    assertEquals(100, node.value)

    //println(node)

    val mp = Map[Int, String]()
    println("------------------------")

    println("Result is:45@" + findHuffmanCode2(45, node))
    println("Result is:12@" + findHuffmanCode2(12, node))
    println("Result is:13@" + findHuffmanCode2(13, node))
    println("Result is:16@" + findHuffmanCode2(16, node))
    println("Result is:9@" + findHuffmanCode2(9, node))
    println("Result is:5@" + findHuffmanCode2(5, node))

    println("---------------------------------------")
    println("Result is:45@" + findHuffmanCode(45, node, List[Int]()))
    println("Result is:12@" + findHuffmanCode(12, node, List[Int]()))
    println("Result is:13@" + findHuffmanCode(13, node, List[Int]()))
    println("Result is:16@" + findHuffmanCode(16, node, List[Int]()))
    println("Result is:9@" + findHuffmanCode(9, node, List[Int]()))
    println("Result is:5@" + findHuffmanCode(5, node, List[Int]()))

  }

  @Test @Ignore
  def testProblem28() {
   val lst = List(List('a, 'b, 'c), List('d, 'e), List('f, 'g, 'h), List('d, 'e), List('i, 'j, 'k, 'l), List('m, 'n), List('o))

   println("foo")

  }

  @Test @Ignore
  def testProblema() {
    val res = 1 // problem51()

    println("Result is :" + res)
    assertTrue(true)
  }

  @Test @Ignore
  def testCombinations() {

    /**
     *
     *
     * Example: the subsets of the occurrence list `List(('a', 2), ('b', 2))` are:
   *
   *    List(
   *      List(),
   *      List(('a', 1)),
   *      List(('a', 2)),
   *      List(('b', 1)),
   *      List(('a', 1), ('b', 1)),
   *      List(('a', 2), ('b', 1)),
   *      List(('b', 2)),
   *      List(('a', 1), ('b', 2)),
   *      List(('a', 2), ('b', 2))
   *    )
     *
     *
     *
     *
     *
     */
    val inputList = List(('a',2),('b',2))
    println(inputList)

    def allCombinations(tpl: (Char, Int)):List[(Char,Int)] = {
      if (tpl._2 == 0) List(tpl)
      else tpl :: allCombinations((tpl._1, tpl._2-1))
    }

    // for each item
    // item :: combination(rest)

    def combinations(lst:List[(Char, Int)]):List[List[(Char, Int)]] = {
      if (lst.size == 0) List[List[(Char, Int)]]()
      else if (lst.size == 1) allCombinations(lst.head) :: combinations(lst.tail)
      else {
        allCombinations(lst.head) :: combinations(lst.tail)
      }
      /**
      if (lst.size == 0) List[List[(Char, Int)]]()
      else {
        allCombinations(lst.head) :: combinations(lst.tail)
      }
      *
      */
    }

    def tentative(lst:List[(Char, Int)]) = {
      val res = lst.flatMap(item=> allCombinations(item)).groupBy(_._1).values.toList

      val first = res(0)
      val second = res(1)
      val allRes = for (f <- first;
           s <- second)
           yield List(f, s)

      allRes
    }

    def merge(l1:List[(Char, Int)], l2:List[(Char, Int)]):List[List[(Char, Int)]] = (l1, l2) match {
      case (h::t, Nil) => List(l1)
      case (Nil, h::t) => List(l2)
      case (h ::t, lst) =>
        println("Head is:"+ h)
        val mp = lst.flatMap(item=> List(item, h))
        println("Mp is :" + mp)
         mp :: merge(t, lst)
    }

    println("Attempting")
    println(combinations(inputList))
    println("======================")

    val allList = inputList.flatMap(item => item :: allCombinations(item))
    println(allList)
    println("==========================")
    val rs = tentative(inputList)

    for (item <- rs) println(item)

    print ("==============Final.......")
    val f  = inputList.flatMap(item => item :: allCombinations(item)).groupBy(_._1).values.toList

    println(merge(f(0), f(1)))

    println("===== tryinbg recursively with for loop....")

    def combinationRecursive(lst:List[(Char, Int)]) = {
      val allTpls = lst.flatMap(item=> allCombinations(item)).groupBy(_._1).values.toList

      def merge(l1:List[(Char, Int)], l2:List[(Char, Int)]):List[List[(Char, Int)]] = (l1, l2) match {
        case (h::t, Nil) => List[List[(Char, Int)]]()
        case (Nil, h::t) => List[List[(Char, Int)]]()
        case (h::t, lst) =>
          l2.map(item=>List(h, item).filter(tpl => tpl._2 !=0)) ::: merge(t, l2)
      }

      val res = for (it <- 0 until allTpls.size;
           nx <- it + 1 until allTpls.size)
             yield merge(allTpls(it), allTpls(nx))

      println("Res is:\n" + res)
      res.toList
    }

    println(combinationRecursive(inputList))

    println("==========Trying another one ==========")
    val inputList2 = List(('a',2),('b',2))
    val r = combinationRecursive(inputList2).flatten
    r.foreach(println)

    println("=======test combinations")

    def combine(lst:List[List[(Char, Int)]], acc:List[List[(Char, Int)]]):List[List[(Char, Int)]] = {
      println("-------- combine ----------")
      println(lst)
      if (lst.isEmpty) {
        println ("empty case")
        List[List[(Char, Int)]]()
      }
      else {
        for (item <- lst)  {
          println("Item:" + item)
          println("----")
          val nxt = combine(lst.tail, acc)
          println("Next:" + nxt)
          val flm = item.flatMap(item => nxt.map(x => List(x, item)))
          println("------")
          println("FLM is:" + flm)
          flm :: acc

        }
      }
        acc

    }

    println(f)

    println(combine(f, List[List[(Char, Int)]]()))

    def mergeLists(l1:List[(Char, Int)], l2:List[(Char, Int)]):List[List[(Char, Int)]] =  {
      l1.flatMap(item => l2.map(si=> List(item, si)))
    }

    //val r = for (s2l <- s2) yield mergeLists(first, s2l)
    // nearly there., we need to loop thru
    def globalMerge(global:List[List[(Char, Int)]]):List[List[(Char, Int)]] = global match {
      case Nil => println("NilCase");List[List[(Char,Int)]]()
      case h::Nil => println("HEAD NO TAIL CASE");println(global);List(h)
      case h::t => {
            mergeLists(h, t.head ) ::: globalMerge(t.tail)
      }
    }

    // for (item <- allTpls;

    val inputList3 = List(('a',2),('b',2), ('c',2))
    val grouped = inputList3.flatMap(item=> allCombinations(item)).groupBy(_._1).values.toList

    println("the final solution is ........")
    val res = globalMerge(grouped)
    println(res.size)
    res.foreach(println)
    println("Attemptin gagain....")

    def acc(t:List[List[(Char, Int)]], h:List[List[(Char, Int)]]):List[List[(Char, Int)]] = {
      if (h.isEmpty) {
        val mpList = t.head.map(item=> item::List())
        acc(t.tail, mpList)
      }else if(t.isEmpty)  {
         h
      } else {
        for (item <- t.head;
            lst <- acc(t.tail, h)) yield item::lst
      }

    }

    println ("--------------------  final acc test------------")
    val all = inputList.flatMap(item=> allCombinations(item)).groupBy(_._1).values.toList
    //val all = inputList3.flatMap(item=> allCombinations(item)).groupBy(_._1).values.toList
    println(all)
    val myres = acc(all, List[List[(Char, Int)]]())

    println(myres.size)
    myres.foreach(println)
    assertTrue(true)
  }

  @Test @Ignore
  def testLychrel() {
    assertFalse(isLychrel(47))
    assertFalse(isLychrel(349))
    assertFalse(isLychrel(89))

    val lychCollectionSize = problem53()
    println("We have:" + lychCollectionSize)

  }

  @Test  @Ignore
  def testProblem51() {
    problem51()

  }

  @Test @Ignore
  def testProblem691() {

    assertEquals(1, totient(2))
    assertEquals(2, totient(3))
    assertEquals(2, totient(4))
    assertEquals(4, totient(5))
    assertEquals(2, totient(6))
    assertEquals(6, totient(7))
    assertEquals(4, totient(8))
    assertEquals(6, totient(9))
    assertEquals(4, totient(10))

  }

  @Test @Ignore
  def testProblem692() {

    assertEquals(2.0, phi(2), 0.001)
    assertEquals(1.5, phi(3), 0.001)
    assertEquals(2.0, phi(4), 0.001)
    assertEquals(1.25, phi(5), 0.001)
    assertEquals(3, phi(6), 0.001)
    //assertEquals(1.166, phi(7))
    assertEquals(2, phi(8), 0.001)
    assertEquals(1.5, phi(9), 0.001)
    assertEquals(2.5, phi(10), 0.001)

  }

  @Test @Ignore
  def testProblem693() {

    val res = problem69()

    println("THe phi resul tis:" + res)
  }

  @Test @Ignore
  def testProblem62() {

    //10240, 8192, 6144, 4096, 2048

    println(generateCube(8384))
    println("--------------------")
    println(generateCube(8288))
    println("-------------------")
    println(generateCube(7202))
    println("-------------------")
    println(generateCube(7061))
    println("-------------------")
    println(generateCube(5027))

    //val res = problem62()
    //println("The result is :" +res )

  }

  @Test
  @Ignore
  def testProblem61x(){

    /**
     * The ordered set of three 4-digit numbers: 8128, 2882, 8281, has three interesting properties.
     */

    /**
     * Need to define a brain function which will check items in hte list for the nex titem
     * we  pass a list to this brain function, and hte list should contain the series we find so far
     * so for each num x, we will first create an item with (3,x) and give it to the brain
     * the brain will pick the last item n the list ((3,x) and generate a new List containing
     * [(3,x), (4, next of x) or [(3,x), (5, next to x)]
     */

    def findNumThatStartsWith(numTpl:(Int, String), candidates:List[(Int,String)]):List[(Int, String)] = {
      val (figure, num) = numTpl
      val ending = num.substring(2, num.length)
      candidates.filter(tpl => tpl._2.startsWith(ending) && tpl._1 != figure)

    }

    def findNextItem(candidateList:List[(Int, String)], allPossibilities:List[(Int, String)]):List[List[(Int, String)]] = {
      // if we get to 3, we can return
      val lastTpl = candidateList.last
      val next = findNumThatStartsWith(lastTpl, allPossibilities)
      val allItems = for (item <- next) yield {candidateList ::: List(item)}
      allItems.toList
    }

    def driver(triangularNumbers:List[(Int, String)], allPossibilities:List[(Int, String)]):Unit = {
      //for (trian <- triangularNumbers) {
        val firstRoundNumbers = triangularNumbers.flatMap(trian => findNextItem(List(trian), allPossibilities))
        val lastRoundNumbers = firstRoundNumbers.flatMap(second => findNextItem(second, allPossibilities))
        for (third <- lastRoundNumbers if third.size == 3) {
          val hd = third.head._2
          val lst = third.last._2
          val ending = lst.substring(2, lst.length)
          if (hd.startsWith(ending)) {
            println(s"We got  it! Its:" + third.toString)
          }

        }
        //}
      //}

    }

    def driver2(triangularNumbers:List[(Int, String)], allPossibilities:List[(Int, String)]):Unit = {
      //for (trian <- triangularNumbers) {
        val quadraticNumbers = triangularNumbers.flatMap(trian => findNextItem(List(trian), allPossibilities)) // quadratic
        val pentaNumbers = quadraticNumbers.flatMap(second => findNextItem(second, allPossibilities)) // penta
        val hexaNumbers = pentaNumbers.flatMap(second => findNextItem(second, allPossibilities)) // hex
        val heptNumbers = hexaNumbers.flatMap(second => findNextItem(second, allPossibilities)) // hept
        val octNumbers = heptNumbers.flatMap(second => findNextItem(second, allPossibilities)) // oct
        for (third <- octNumbers if third.size == 6) {
          val uniques = third.map(item => item._1).distinct

          if (uniques.size == 6) {
            val hd = third.head._2
            val lst = third.last._2
            val ending = lst.substring(2, lst.length)
            if (hd.startsWith(ending)) {
              println(s"We got  it! Its:" + third.toString)
              println(third.map(item => item._2.toInt).sum)
            }
          }

        }
        //}
      //}

    }

    def driver3(triangularNumbers:List[(Int, String)], allPossibilities:List[(Int, String)]):Unit = {
        def findNextLot(figurateNumbers:List[List[(Int, String)]], allPossibilities:List[(Int, String)],
                        remainder:List[Int]) :List[List[(Int, String)]] = {
          if (remainder.isEmpty) figurateNumbers
          else {
            val nextLot = figurateNumbers.flatMap(item => findNextItem(item, allPossibilities))
            findNextLot(nextLot, allPossibilities, remainder.tail)
          }
        }

        def findUniques(candidate:List[(Int, String)]):Int = {
          candidate.map(item => item._1).distinct.size
        }

        val quadraticNumbers = triangularNumbers.flatMap(trian => findNextItem(List(trian), allPossibilities)) // quadratic

        val counter = List.range(1, 5)
        val octNumbers = findNextLot(quadraticNumbers, allPossibilities, counter)

        val possibleSolutions = octNumbers.filter(item => findUniques(item) == 6) // filtering only ones that have all figurate Numbers
        for (sol <- possibleSolutions) {
          val hd = sol.head._2
          val lst = sol.last._2
          val ending = lst.substring(2, lst.length)
          if (hd.startsWith(ending)) {
            println(s"We got  it! Its:" + sol.toString)
            println(sol.map(item => item._2.toInt).sum)
          }
        }
        //}
      //}

    }

    // TODO: we need to add n to a tuple to make sure number are ordered.
    val seeds = 1 to 10
    val trian = (n:Int) => n*(n+1)/2
    val trianUpTo1000 = generate4DigitPolynomial(1, trian, List[Int]()).map(item=>(3, item))
    //println(trianUpTo1000)

    val square = (n:Int) => n*n
    val supto1000 = generate4DigitPolynomial(1, square, List[Int]()).map(item=>(4, item))
    //println(supto1000)

    val penta = (n:Int) => n*(3*n-1)/2
    val pentaUpTo1000 = generate4DigitPolynomial(1, penta, List[Int]()).map(item => (5,item))
    //println(pentaUpTo1000)

    val candidates = supto1000 ::: pentaUpTo1000

    //driver(trianUpTo1000, candidates)

    val hex = (n:Int) => n*(2*n-1)
    val hexTo1000 =  generate4DigitPolynomial(1, hex, List[Int]()).map(item => (6,item))
    val hept = (n:Int) => n*(5*n-3)/2
    val hpTo1000 = generate4DigitPolynomial(1, hept, List[Int]()).map(item => (7,item))
    val oct = (n:Int) => n*(3*n-2)
    val octTo1000 = generate4DigitPolynomial(1, oct, List[Int]()).map(item => (8,item))

    val allCandidates = supto1000 ::: pentaUpTo1000 ::: hexTo1000 ::: hpTo1000 ::: octTo1000

    //driver2(trianUpTo1000, allCandidates)
    driver3(trianUpTo1000, allCandidates)
  }

  @Test
  @Ignore
  def testProblem66(){

    assertEquals(7, findDigitSum("599992"))
    assertEquals(8, findDigitSum("7486352"))
    assertEquals(7, findDigitSum("65536"))

  }

  @Test
  @Ignore
  def testFindDiophantineMinSol(){
    //val dioph = findDiophantineSolution(2, 7)
    //print (dioph)
    assertEquals(BigDecimal("158070671986249"), findSol(109))
  }

  @Test
  @Ignore
  def testGrayCodes(){

    def generateGray(n:Int):List[String] = {
      if (n == 1) List("0", "1")
      else {
        List("0", "1").flatMap(idx => generateGray(n-1).map(item => idx.toString + item))
        //val res = for (i <- 0 to 1) yield generateGray(n-1).map
        //res.toList.flatten
      }

    }

    //val dioph = findDiophantineSolution(2, 7)
    //print (dioph)
    print(generateGray(1))
    print(generateGray(2))
    print(generateGray(3))
  }

  @Test
  @Ignore
  def testMergeSort(){
    def mergeSort( lst:List[Int]):List[Int] = {
      if (lst.size == 1) lst
      else {
        val (left, right) = lst.splitAt(lst.size / 2)
        merge(mergeSort(left), mergeSort(right))
      }

    }

    def merge(left:List[Int], right:List[Int]):List[Int] = (left, right) match {
      case (h::t, Nil) => left
      case (Nil, h::t) => right
      case (h::t, h1::t1) =>
        if (h < h1) h::merge(t, right)
        else h1::merge(left, t1)
    }

    val lst = List(3,6,4,10,8, 2)
    val merged1 = mergeSort(lst)
    println(merged1)
    println("Inserting something")
    println(mergeSort(merged1 ::: List(1)))
    val merged2 = mergeSort(merged1 ::: List(5))
    println(merged2)
    println(mergeSort(merged2 ::: List(1)))

  }

  @Test
  @Ignore
  def testInsertionSort(){
    def insertionSort( lst:List[Int]):List[Int] = {
      if (lst.size == 1) lst
      else {
        insert(insertionSort(List(lst.head)), insertionSort(lst.tail))
      }

    }

    def insert(left:List[Int], right:List[Int]):List[Int] = (left, right) match {
      case (h::t, Nil) => left
      case (Nil, h::t) => right
      case (h::t, h1::t1) =>
        if (h < h1) h::insert(t, right)
        else h1::insert(left, t1)
    }

    val lst = List(3,6,4,10,8, 2)
    val merged1 = insertionSort(lst)
    println(merged1)

  }

  @Test
  def testSelectionSort(){
    def selectionSort( lst:List[Int]):List[Int] = {
      if (lst.size == 1) lst
      else {
        val min = findMin(lst.head, lst.tail)
        min ::  selectionSort(lst.filter( _ != min))
      }

    }

    def findMin(head:Int, unsorted:List[Int]):Int = unsorted match  {
      case Nil => head
      case h::t => if (head < h) findMin(head, t) else findMin(h, t)
    }

    val lst = List(3,6,4,10,8, 2)
    val merged1 = selectionSort(lst)
    println(merged1)

  }

}
[ProjectEuler.txt](https://github.com/mmistroni/ScalaExercises/files/121377/ProjectEuler.txt)


Hm, looking at http://doc.qt.io/qt-4.8/qbrush.html I wonder what exactly the commit message talks about. Do you have an example of some QBrush-using code that you'd like to also do in awesome?


pyc не надо коммитить. Добавьте в `.gitignore`, а затем сделайте `git rm --cached`.


Spiralise and travel moves and such also won't work per-object, but that's a matter of updating the fdmprinter.json file once I find/make a complete list.


test


there is a typo, I guess :-)  Inserted.


Watch out for indentation, this library is using tab while you are using 2 spaces.


定数化了解です！


@adfineberg thanks!

@inbalg @blumentali I remember that we considered this a couple of years ago and decided against it. Can you remember why? It seems like a good idea to me, but I haven't taught the course in a while so you know better.


"different"


add new metod to add_article + column in content table + button css


Looks GOOD! :)

root@g2:/ # dmesg | grep -i encrypt
dmesg | grep -i encrypt
<4>QSEECOM: qseecom_probe: disk-encrypt-pipe-pair=0x2QSEECOM: qseecom_probe: file-encrypt-pipe-pair=0x0
<11>FOTA: OemFlash_GetPartitionTable : encrypt
<14>fs_mgr: __mount: target='/system, encryptable=0
<14>fs_mgr: __mount: target='/data, encryptable=0

should encrypt now. LG shame on you... you give us false broken source...


This comments make sense when putted next to defaultNamespaceLookupTable


Would be good to keep this comment, to know that this is just arbitrary.


I'd say this runs the risk of becoming unmaintainable if we use it too much, though for now it'll probably be fine because of the 2 use cases. If we need to have any more, the earlier idea of passing in a JSON object is something I'd rather.


Yeah, it is a bit ambiguous. I think in above statement, the writer meant to get children of `child_info` but he had to make sure he does not get an exception in case if `child_info` being sent as `None` or  `False`.

But I think that can be better re-coded as :
```python
children = child_info.get('children', []) if child_info else False
if children:
```
OR better and more concise, `children` is not being used, so no need to create a variable for just checking condition:
```python
if child_info and child_info.get('children', []):
```


OK reviewed


@kergoth kindly review this.


In future we may also need to verify month and year


I don't think @HmHmmHm wanted that - last time @PocketKiller & @DRedDogPE did this @HmHmmHm just reverted everything...


import org.junit._

import Assert._

import scala.collection.mutable.PriorityQueue

import binarytree._
import scala.io._
import scala.math._

class TreeTestSuite{

  @Test @Ignore def testBinary(){

    val t = Node('a',
     Node('b', Node('d'), Node('e')),
     Node('c', End, Node('f', Node('g'), End)))

    println(t)

    val tf = Node('a',
     Node('b'),
     Node('c', End, Node('f', Node('g'), End)))

    println(tf)

  }

  @Test @Ignore def testBuildBinary(){
    def buildBinary(parent:Node[String], nodeCount:Int):Node[String] = {
      // we need to pass down a flag telling where we want to have more nodes?

      println("Node count is:" + nodeCount)
      if (nodeCount < 0 ) {
        return Node("e", End, End)
       } else {
        Node("x", buildBinary(null, nodeCount-2), buildBinary(null, nodeCount-3))
      }
    }

    /**
    val t = Node('a',
     Node('b', Node('d'), Node('e')),
     Node('c', End, Node('f', Node('g'), End)))

    println(t)

    val tf = Node('a',
     Node('b'),
     Node('c', End, Node('f', Node('g'), End)))

    println(tf)
    **/
    println(buildBinary(null, 4))

  }

  @Test @Ignore def testInit(){

    val tmpList = List(1,2,3,4)

    def myinit(input: List[Int]):List[Int] = input match {
      case List() => throw new Exception("init for empty list")
      case List(x) => List[Int]()
      case h::t => h :: myinit(t)
    }

    val firstres = tmpList.init
    val secres = myinit(tmpList)
    assertEquals(firstres, secres)

  }

  @Test @Ignore def testConcatenate(){

    val tmpList1 = List(1,2,3)
    val tmpList2 = List(5,6,7)

    val expectedRes = tmpList1 ::: tmpList2

    def concatenate(input1: List[Int], input2:List[Int]):List[Int] = (input1, input2) match {
      case (h::t, Nil) => input1
      case (Nil, h::t) => input2
      case (h::t, h1::t1) => concatenate(h::t ::: List(h1), t1)
    }

    val res = concatenate(tmpList1, tmpList2)
    assertEquals(expectedRes, res)

  }

  @Test
  @Ignore
  def testIsSymmetric(){
    val t = Node("a", Node("b", End,End), Node("c", End, End))
    assertTrue(Tree.isMirrorOf(t.left, t.right))

    val t2 = Node("r", Node("left", Node("a", End, End)),
                       End)
    assertFalse(Tree.isMirrorOf(t2.left, t2.right))

    val t3 = Node("r", Node("left", Node("a", End, End)),
                       Node("right", Node("a", Node("achild", End, End), End)))

    assertFalse(Tree.isMirrorOf(t3.left, t2.right))

    val t4 = Node("r",
              Node("left",
                      Node("lchild",
                          Node("lcchild", End),
                          End)),
              Node("right",
                      Node("rchild", End, End),
                      Node("lchild", End, End)
                   )

              )
    assertFalse(Tree.isMirrorOf(t4.left, t4.right))
  }

  @Test
  @Ignore
  def testFromList() {

    val numberList = List(3, 2,5, 7,1)
    val resultTree = Tree.fromList(numberList)
    println(resultTree)

    println("----------------")
    val resultTree2 = Tree.fromList2(numberList)
    assertEquals(resultTree, resultTree2)
    println(resultTree2)

    assertTrue(Tree.fromList(List(5, 3, 18, 1, 4, 12, 21)).isSymmetric)
    assertFalse(Tree.fromList(List(3, 2, 5, 7, 4)).isSymmetric)
    /**
    val t1 = End.addValue(2)
    println(s" T1:$t1")
    val t2 = t1.addValue(5)
    println(s" T2:$t2")
    val t3 = t2.addValue(1)
    println(t3)
    */

  }

  @Test@Ignore
  def testSymmetricBalancedTrees() {

    val resultTree = Tree.symmetricBalancedTrees(5, "x")
    println(resultTree)

  }

  @Test@Ignore
  def testLeafCount() {
    val tree  = Node('x', Node('x'), End)
    println(tree)
    assertEquals(1, tree.leafCount)

  }

  @Test @Ignore
  def testLeafList() {
    val lst  = Node('a', Node('b'), Node('c', Node('d'), Node('e'))).leafList
    val expectedList = List[Char]('b', 'd', 'e')
    assertEquals(expectedList, lst)
    println(s"Actual:\n$lst")
    println(s"Expected:\n$expectedList")

  }

  @Test
  def testCBalanced() {
    for { h <- 1 to 5 } {
       println("------------------------------")
      println("CBalanced1:\n" +  Tree.cBalanced(h, "x"))

      println("CBalanced2:\n" +  Tree.cBalanced2(h, "x"))

    }

  }

  @Test @Ignore
  def testHBalanced() {

    val allBalancedTrees = Tree.hBalTree(2, "x")
    allBalancedTrees.foreach(tree => println(tree) )
    println("---------------------------")
    val res = allBalancedTrees.forall(tree => tree.height == 2)
    assertTrue(res)

  }

  @Test  @Ignore
  def testHeigth() {

    val single = Node('a', End, End)
    assertEquals(0, single.height)

    val twoHeight = Node('a',
           Node('b', End, End), Node('c', End, End))

    assertEquals(1, twoHeight.height)
    val lst  = Node('a',
        Node('b'),     Node('c',
                     Node('d'), Node('e')))
    assertEquals(2, lst.height)
  }

  @Test  @Ignore
  def testSourceFromURL() {

    val sitemap = Source.fromURL("http://www.google.com").mkString
    println(sitemap)

    /**
    for (h <- 1 to 4) {
      val nodes = Tree.maxHBalNodes(h)
      val minnodes = Tree.minHBalNodes(h)
      //println(s"Nodes at:$h=$nodes vs " + (pow(2, h).toInt -1))
      //println(s"MinNodes at $h=$minnodes")
    }

    val l = Tree.cBalanced(3, "x")

    l.foreach(println)

    assertEquals(4, Tree.minHBalNodes(3))
    //val numOfNodes = Node('a', Node('b'), Node('c', Node('d'), Node('e'))).numOfNodes
    //assertEquals(5, numOfNodes)
    */
  }

  @Test  @Ignore
  def testMinHbalNodes() {

    //val sitemap = Source.fromURL("http://www.google.com").mkString
    //println(sitemap)

    for (h <- 1 to 5) {
      val minnodes = Tree.minHBalNodes(h)
      //println(s"Nodes at:$h=$nodes vs " + (pow(2, h).toInt -1))
      println(s"Height:$h|MinNodes=$minnodes")
    }

  }

}


Modife README : Ajoute du texte.


ok reviewed