Skip to content
Snippets Groups Projects
  1. Nov 26, 2021
  2. Nov 22, 2021
    • boeschf's avatar
      Address compiler warnings (#1769) · 99f9ddca
      boeschf authored
      Fix various non-standards compliant code when compiled with elevated warning levels (-Wall -Wpedantic). Here is a list of the problems addressed:
      
      **preprocessor**
      - expansion of empty `__VA_ARGS__` in `ARB_PP_FOREACH`
      - named variadic macro arguments in `TRACE` macro
      
      **glibc** 
      - deprecated `mallinfo` call for newer glibc versions
      
      **simd**
      - non-const C-array sizes
      
      **modcc**
      - generation of C-arrays of size 0
      
      **switch/case**
      - switch-case ranges
      
      **tuple_foreach**
      - compound literals
  3. Nov 17, 2021
  4. Nov 16, 2021
  5. Nov 15, 2021
  6. Nov 12, 2021
  7. Nov 10, 2021
    • Benjamin Cumming's avatar
      Find morphology location from a coordinate (#1751) · 0e8875a9
      Benjamin Cumming authored
      Extend the `pwlin_place` interface to find the location of a morphology that is closest to a 3d coordinate.
      * extend `arb::pwlin_place` interface
      * python wrapper
      * unit tests
      * documentation
      
      Addresses a feature request by @Helveg that I don't think ever had a ticket assigned to it.
      
      Fixes #1661 and #1108.
    • Sam Yates's avatar
      Simplify default proc_allocation generation. (#1725) · e0c13e16
      Sam Yates authored
      * Consolidate default_concurrency, default_gpu functionality into arborenv/default_env.hpp, .cpp.
      * Add new arborenv function `default_allocation()` that uses environment variables ARBENV_NUM_THREADS and ARBENV_GPU_ID to create an `arb::proc_allocation`, with a fallback to `thread_concurrency()`.
      * Use arborenv-specific exceptions instead of generic std::runtime_error etc.
      * Update examples, docs to suit.
      
      Fixes #988 (except for reworking all the unit tests!)
  8. Nov 09, 2021
    • Sam Yates's avatar
      Update/fix tinyopt README.md (#1747) · 2a8878cd
      Sam Yates authored
      tinyopt README.md had an example which was not updated to the 1.0 API. Fixed upstream, and this is a copy.
    • Sam Yates's avatar
      Deal with zero radius points in a morphology (#1719) · 9b35ba52
      Sam Yates authored
      * Add test that is sensitive to small radius loss of precision in ixa computation.
      * Add test that checks for consistent behaviour when there is an (isolated) zero radius point in the morphology.
      * Special case p==1 q==1 case in ratelem so that it can interpolate ixa in the presence of non-finite interpolants.
      * Change naming in pw_element/pw_elements: 'element' refers to the extent+value pairs comprising a 'pw_elements' object; 'value' refers to the value associated with an element; 'extent' refers to the closed interval which is the support of the element.
      * Allow values (but not extents) in a pw_elements object to be mutable, using proxies for iterator access.
      * Write piecewise zip (pw_zip) in terms of a lazy pw_zip_view. Rename zip functions.
      * Document pw_elements more thoroughly.
      * Simplify and document embed_pwlin.cpp routines, expressing everything in terms of simple interpolate/integrate operations.
      * Represent integrated inverse cross-sectional area in the embedding by multiple piecewise-rational functions over a branch, each of which contribute separately to an ixa-based integration, so that precision loss associated with small (or zero) radii can be avoided.
      * Comment embed_pwlin.cpp more thoroughly.
      
      Fixes #1526 
  9. Nov 02, 2021
  10. Oct 29, 2021
  11. Oct 28, 2021
  12. Oct 27, 2021
  13. Oct 22, 2021
    • Nora Abi Akar's avatar
      Solve non-linear systems that are not kinetic schemes. (#1724) · ea25d7aa
      Nora Abi Akar authored
      Some refactoring of the SOLVE statement handling in `module.cpp`. 
      Allow the usage of `SparseNonlinearSolverVisitor` for non-linear systems not only when in the form of a kinetic scheme. 
      Check linearity of kinetic schemes and linear systems (was previously skipped).
    • Nora Abi Akar's avatar
      Gap Junction mechanisms (#1682) · dc371e5d
      Nora Abi Akar authored
      Adds support for user-defined gap junction mechanisms. Fixes #1600.
      
      - API Change: Wrap `mechanism_desc` in one of `density`, `synapse`, `junction` to be able to differentiate the kind of placed mechanism between point and junction mechanisms. 
      - API Change: The `ggap` parameter of a `gap_junction_connection` renamed to `weight` and is not a unit-less parameter. 
      - Mechanism ABI change: New `peer_index` vector which stores the indices of the peer sites of a gap-junction-connection. New mechanism kind. 
      - Internal API change: `shared_state` no longer controls the gap junction current contribution, that is now handled in the mechanism callbacks.
      - Modcc change: Add `JUNCTION_PROCESS` and `v_peer` keywords to nmodl, the first to identify a gap-junction mechanism, the second to access the peer voltage of a gap-junction connection. Modify modcc to be able to compile nmodl and generate correct code.
      - Behavior change: gap-junctions now contribute to both the current and conductance of a CV as opposed to just the current.
      - Add new "gj" mechanism, to replace the built-in constant-conductance based linear gap-junction implementation.
      - Fix unit tests.
      - Fix python wrapper. 
      - Fix docs. 
    • Benjamin Cumming's avatar
      Add locset expressions for proximal and distal translation of locations (#1671) · 5cc7d4dc
      Benjamin Cumming authored
      Add `proximal-translate` and `distal-translate` locset expressions.
      
      Fixes #1662
  14. Oct 21, 2021
  15. Oct 18, 2021
  16. Oct 14, 2021
  17. Oct 13, 2021
  18. Oct 12, 2021
  19. Oct 08, 2021
  20. Oct 07, 2021