- Oct 15, 2020
-
-
Benjamin Cumming authored
-
Benjamin Cumming authored
-
Benjamin Cumming authored
-
- Oct 14, 2020
-
-
thorstenhater authored
Memory access optimization for the fine matrix GPU solver.
-
thorstenhater authored
Optimise the hh NMODL implementation to reduce unnecessary loads/stores and memory overheads.
-
- Oct 09, 2020
-
-
Brent Huisman authored
-
Nora Abi Akar authored
Add a catalogue of mechanisms used by the BBP models.
-
Nora Abi Akar authored
* Add some log messages in python examples * Add python examples to CI
-
Nora Abi Akar authored
* Fix some broken links and typos. * Fix out-of-date documentation. * Reword some of the existing sections.
-
Brent Huisman authored
-
Nora Abi Akar authored
-
- Oct 08, 2020
-
-
Brent Huisman authored
Remove Python API ref page, Spack Install, fix some links
-
- Oct 07, 2020
-
-
Brent Huisman authored
Remove imported dependencies in the documentation generation.
-
Brent Huisman authored
-
- Oct 06, 2020
-
-
Sebastian Schmitt authored
-
Benjamin Cumming authored
-
- Oct 05, 2020
-
-
Brent Huisman authored
* Python examples: Updated to use region expressions (quotes) * Python examples: Uniform plotting * Python examples: Removed tutorial directory (example roughly matches python/example/single_cell_model.py) * Python examples: Rewrote flat_cell_builder() to segment_tree()
-
Brent Huisman authored
* Synced pages between Concepts, Python API and C++ API wherever possible * Recipe pages conform between the three section (concepts, python, c++) * Cell, Cable Cell and Cell * pages are rearranged and provided with some copy explaining the relationship between them. * Moved Python API out of Concepts * Renamed Concepts "How does Arbor work?" * Added Python Module Index plus mock import of Arbor for RTD build (unfortunately won't show there) * Broke out Interconnectivity (synapses) page. * Reworked Single Cell Model page into a quick start, with lots of cross referencing. * Tweaked logo. * Added Spack to install options. * Updated blurb. * Documentation now follows EU capitalization rules. * Assorted typofixes
-
Benjamin Cumming authored
-
Sam Yates authored
* Remove contiguous numbering requirement from 'strict' mode SWC parsing, as it is not necessary for correct interpretation as a segment tree. * Describe in the swcio.hpp header how (strict) swc data is interpreted as a segment tree. * Demonstrate in unit tests that out-of-order and non-contiguously numbered records are valid for `parse_swc`. * Add unit test for `as_segment_tree`.
-
- Oct 01, 2020
-
-
Brent Huisman authored
-
- Sep 30, 2020
-
-
Sam Yates authored
* Minor output formatting fix for `swc_record`. * Modify the Python `load_swc_allen` implementation to cope with SWC record ids not necessarily being contiguous, and with SWC record parent ids corresponding to record ids, not 0-based indices.
-
- Sep 29, 2020
-
-
Sam Yates authored
-
Nora Abi Akar authored
* Update `dryrun` to generate some spikes again, add a voltage printer. * Fix `ring.py` recipe. * Fix labels in `single_cell_builder.py` and `single_cell_swc.py`.
-
- Sep 28, 2020
-
-
Sam Yates authored
* Simplify scanning of SWC records. * `parse_swc` now retains metadata read from SWC comments. * `parse_swc` is given two modes, relaxed and strict. Strict mode enforces contiguous record numbering and rejects SWC that looks like it has a single-point soma. * Subtype `swc_error` according to error mode. * Remove `point` class and corresponding unit tests. * Add a RAII stream formatting flag saver, used in SWC record output operator. * Replace included 1-point soma SWC example with a regular SWC from NeuroMorpho.
-
- Sep 25, 2020
-
-
Sam Yates authored
-
Nora Abi Akar authored
* Raise an exception if: 1. `recipe.num_souces(gid)` != number of detectors placed on the cell. 2. `recipe.num_targets(gid)` != number of synapses placed on the cell. 3. `recipe.connections_on(gid)` has connections with non-existent source or target gids or lids * Raise better exception for gap junctions * Fix unit test Addresses #681
-
Sam Yates authored
* Use structured bindings where noted (there are likely other opportunities in the code). * Use `if constexpr` to simplify some template-dispatched code. * Remove `arb::uitl::get`, as it is no longer required now that util::variant is replaced. * Add `_v` utility inline constexpr template values. Part of the C++17 migration task #1022.
-
Sam Yates authored
* Substitute `std::optional<T>` for `arb::util::optional<T>` for non-reference types T. * Remove reference-deducing `util::value_by_key`; replace usages with new function `util::ptr_by_key`. * Add some missing header includes that were required but included only transitively. * Remove `operator<<` overload for optional in python/strprintf.hpp; replace with utility wrapper class that catches `std::optional<T>`. * Wrap some `std::optional` values with `to_string` in ostream output in python lib. Fixes #1154.
-
Benjamin Cumming authored
-
Sam Yates authored
* Add CMake infrastructure for new `arbornml` library comprising Arbor's NeuroML2 (C++) support. * Implement NeuroML2 parsing and interpretation, using libxml2 for XML parsing. * Add associated documentation, unit tests. * Replace `arb::util::optional` with `std::optional` in stitch morphology interface. * Add optional prefix to `arb::label_dict` import. * Update CI to test arbornml, with associated workarounds for OS X targets. * Remove glob functionality from `sup`, as it is no longer needed (it was used for lmorpho) and it triggers yet another OS X issue. Fixes #1088.
-
- Sep 22, 2020
-
-
Benjamin Cumming authored
* Move label and s-expr parsing code and unit tests from Python to arbor C++ library. * Update `locset` and `region` constructors that take string arguments to parse strings as s-expressions or "quoted" labels. * Modify the input stream modifier used to parse asc files to use a lookup table for substitutions, renamed it transmogrifier. * Replace `hopefully` type implemented in python headers with an `arb::util::expected`. * Add `ARBDEV_COLOR` CMake option that forces gcc and clang to always output color output. * Allow arbitrary strings in labels in region and locset expressions. * Add `parse_region_expression` and `parse_locset_expression` functions alongside the existing `parse_label_expression` function for use when a region or locset is expected. These calls will promote a quoted string `"label"` to `(region "label")` or `(locset "label")` respectively. * Add user-defined string literals for labels so that the C++ interface can use `"soma"_lab` instead of awkward escaping `"\"soma\""`. * Simplify Python wrapper code.
-
- Sep 18, 2020
-
-
Sam Yates authored
* Replace usages of `util::any` with `std::any`. * Modify `util::any_cast` so that it forwards `std::any` arguments to `std::any_cast`; move into own header. * Prevent `std::unique_any` from implicitly encapsulating `std::any` objects. * Replace `test_any.cpp` unit tests with `test_any_cast.cpp` unit tests. * Replace some usages of `std::is_same<X, Y>::value` with `std::is_same_v<X, Y>` as part of general C++17ification. * Remove `util/variant.hpp`, `test_variant.cpp`. * Replace occurrences of `util::variant` with `std::variant`. * Replace `util::variant::get<N>` with `std::get<N>`. * Replace `util::get_if<N>` with `std::get_if<N>`, passing a pointer to variant instead of a ref or value. * Add some standard #includes where they were required in the source, but only included transitively. * Some minor comment tidying and fix-ups. * Update C++ API docs. Fixes #1144.
-
Sam Yates authored
Fixes #1149.
-
- Sep 17, 2020
-
-
Nora Abi Akar authored
* Make the members of `cable_cell_ion_data` optional. * Add separate methods for painting `init_int_concentration` , `init_ext_concentration` and `init_reversal_potential` on the cell.
-
- Sep 16, 2020
-
-
Nora Abi Akar authored
-
- Sep 14, 2020
-
-
Sam Yates authored
* Implement a workalike for the proposed `std::expected` class: see http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0323r9.html . * Replace use of `either` with `expected` in `mprovider`, `mechanism_catalogue`, `util::partition_range`, and `pyarb::hopefully`. * Replace use of `either` with `variant` in `util::sentinel_iterator`. * Add `in_place_t` constructor for `util::optional`. * Fix move assignment bug in `util::variant`. * Remove `util/either.hpp` and associated tests. Fixes #1135.
-
Benjamin Cumming authored
* Update CMake CXX version. * Make CUDA 10 a minimum requirement and remove CUDA 9 support code. * Set up g++ Travis tests to use g++ 8. * Explicitly set C++14 version for nvcc. * Properly split cuda compilation, including in unit tests. * Remove unnecessary modcc `SOLVE` warning. * Update pybind11 module to tag v2.5.0 * Replace `util::size` and `util::data` with `std::` equivalents.
-
- Sep 08, 2020
-
-
Benjamin Cumming authored
Switch `arb::util::either` to `arb::util::variant` in the Python wrapper. Fixes #1133
-
- Sep 07, 2020
-
-
Sam Yates authored
* Fix copy-paste error that led to legitimate copies throwing a bad_variant_access exception. * Fix exception safety for the case when an error thrown in copy assignment takes the lhs to valueless. * Fix wrong valueless semantics associated with an exception being thrown during move assignment. * Add unit tests that exercise these issues. Fixes #1136.
-