diff --git a/arbor/morph/label_parse.cpp b/arbor/morph/label_parse.cpp index 86edaadf19cd556745bc257fd6ec2519d339d598..a40bb160a89fe698260cb44d3d96f9d0a175a91c 100644 --- a/arbor/morph/label_parse.cpp +++ b/arbor/morph/label_parse.cpp @@ -246,6 +246,8 @@ std::unordered_multimap<std::string, evaluator> eval_map { "'uniform' with 4 arguments: (reg:region, first:int, last:int, seed:int)")}, {"on-branches",make_call<double>(arb::ls::on_branches, "'on-branches' with 1 argument: (pos:double)")}, + {"on-components",make_call<double, arb::region>(arb::ls::on_components, + "'on-components' with 2 arguments: (pos:double, reg:region)")}, {"locset", make_call<std::string>(arb::ls::named, "'locset' with 1 argument: (name:string)")}, {"restrict", make_call<arb::locset, arb::region>(arb::ls::restrict, diff --git a/arbor/morph/locset.cpp b/arbor/morph/locset.cpp index 17a27addb585c5a3a1f54becaaddbd806490bf27..2fc140e5ea223187e9656fb60b9b2f1b38e9e753 100644 --- a/arbor/morph/locset.cpp +++ b/arbor/morph/locset.cpp @@ -392,7 +392,7 @@ mlocation_list thingify_(const on_components_& n, const mprovider& p) { } std::ostream& operator<<(std::ostream& o, const on_components_& x) { - return o << "(on_components " << x.relpos << " " << x.reg << ")"; + return o << "(on-components " << x.relpos << " " << x.reg << ")"; } // Uniform locset. diff --git a/test/unit/test_s_expr.cpp b/test/unit/test_s_expr.cpp index a70169b54890798658cfe389238afce1aa00ab2d..13bd7b7b303cf385d8cce21f8e2f8fe8cc988b56 100644 --- a/test/unit/test_s_expr.cpp +++ b/test/unit/test_s_expr.cpp @@ -136,6 +136,7 @@ TEST(regloc, round_tripping) { "(proximal (join (tag 1) (tag 2)))", "(uniform (tag 1) 0 100 52)", "(restrict (terminal) (tag 12))", + "(on-components 0.3 (segment 2))", "(join (terminal) (root))", "(sum (terminal) (root))", };