Skip to content
Snippets Groups Projects
  1. Aug 24, 2021
  2. Aug 23, 2021
  3. Aug 20, 2021
    • thorstenhater's avatar
      Fix ambiguous Region/Locset expressions (#1629) · 939cb91a
      thorstenhater authored
      - Add a set of test cases to check the behaviour
      - Remove the function `(nil)` from the the DSL
      - Remove `nil` and `()` as literals
      - Add functions `(region-nil)` and `(locset-nil)`
      
      Fixes an issue where `join` (and likely `intersect`) would not work due to the fact that
      `nil` values could not be coerced to `region` or `locset`. This occurred while loading 
      a NML files.
      
      While investigating it was found that certain calls, eg `(join () ())` are ambiguous and cannot
      be resolved without changes in no proportion to the gain. The cause here is that
      we can resolve `()` as region or a locset and at the same time `join` maps a list of
      locsets or regions to a locset or region, consequently `(join () ())` can be both.
      
      For future reference, in `label_parse.cpp::eval` we look for the first match in the `eval_map` 
      of a function name that can be successfully evaluated. However, this might not be the best match
      (and the ordering depends on the internals of `eval_map`).  We _could_ check all successful
      evaluations, but as eval is recursive, this idea has some obvious issues.
  4. Aug 19, 2021
  5. Aug 17, 2021
  6. Aug 16, 2021
  7. Aug 10, 2021
  8. Aug 02, 2021
    • thorstenhater's avatar
      Bug/assorted static analysis (#1615) · fa63f8c3
      thorstenhater authored
      * Fix failure to return value in `py_mech_cat_value_iterator `.
      * String butchered by formatting.
      * Join unnecessary separation of string literals in `arborio/cabelio.cpp`
      * Add missing throw in s_expr code.
      * Return value, not reference, in `merge_iterator::operator++(int)`.
      * Check for self-assignment in `mechanism_catalogue`.
      * Initialize all members of `mechanism`.
      * Fix index check order in `multi_event_stream` debug output.
      * Use coordinator_ from base class in `memory::array`.
    • Brent Huisman's avatar
      Docs mechabi (#1610) · 79450573
      Brent Huisman authored
      * Bit of review on the copy of the mech abi docs.
      * Convert api/abi docs to C Domain directives.
  9. Jul 29, 2021
  10. Jul 27, 2021
  11. Jul 23, 2021
  12. Jul 05, 2021
  13. Jul 02, 2021
  14. Jun 29, 2021
    • thorstenhater's avatar
      Fix GPU compile. (#1601) · ca254d15
      thorstenhater authored
    • thorstenhater's avatar
      Add S-Exp for CV Policies (#1511) · a297ff44
      thorstenhater authored
      1. All s-exp parsing has migrated to `arborio`
      2. CV policies can now be read from string as per #1334. This is needed for the GUI project.
      2. No longer can `arb::locset` and `arb::region` be constructed from mere strings
      2. We have `arborio::literals` to construct `region`s, `locset`s, and `cv_policy`s in the form of `_rg`, `_ls`, and `_cvp`.
      3. The `_lab` suffix now constructs an object that converts to `named` morphologies, rather than a simple string.
      4. Constructors of `region` and `locset` are now properly guarded
      5. Consequently, a lot of missing inheritance from `region_tag` and `locset_tag` was retrofitted.
      
      Closes #1334 
      Closes #1419 
  15. Jun 25, 2021
  16. Jun 24, 2021
  17. Jun 23, 2021
  18. Jun 22, 2021
  19. Jun 21, 2021
    • Nora Abi Akar's avatar
      Fix stack overflow bug in the task system (#1583) · 8afe2594
      Nora Abi Akar authored
      
      * Turn each task queue in the task system into a finite set of queues of increasing priority. The number of queues is a compile-time constant, currently two.
      * When a task of priority higher than that of the highest priority queue is scheduled, execute it synchronously.
      * When scheduling tasks in a task group, use a priority one higher than that of the calling task; when waiting on the task group, work only on tasks with this priority or higher. This is sufficient to avoid the deep recursion issue seen in issue #1570.
      
      Fixes #1570.
      Co-authored-by: default avatarSam Yates <yates@cscs.ch>
  20. Jun 18, 2021
    • thorstenhater's avatar
      Fix SEGV in simulation with default `cable_cell` (#1543) · 250cce4f
      thorstenhater authored
      * Skip relevant corner cases in the matrix solver.
      * Minor clean-ups in `make_span`.
      * Add regression test for bug, additional unit tests for `span` and `make_span`.
      
      Closes #1540.
    • Nora Abi Akar's avatar
      Labels instead of indices for placeable item identfication. (#1504) · e0e18976
      Nora Abi Akar authored
      New structs and types:
      * `cell_tag_type` (std::string): for labelling placeable items on a cell. The label refers to a number of items placed on a locset, equal to the number of locations in a locset. The number of locations in not always known to the user, so the previous way of using indices for items was no longer sufficient. 
      * `lid_selection_policy`: for allowing a user to select a single item from a group of items sharing a label. Currently only `round_robin` and `assert_univalent` are supported. 
      * `cell_local_label_type` and `cell_global_label_type`: for identifying the target and source of a connection or gap_junction connection. 
      * `cell_label_ranges`, and `cell_labels_and_gids`: for propagating information about the labelled items on the cell from the cell groups back to the simulation and communicator. 
      * `label_resolution_map` and `resolver`: for selecting an item (and retaining state) from a labelled group of items on a...
  21. Jun 16, 2021
  22. Jun 08, 2021
  23. Jun 02, 2021
  24. Jun 01, 2021