Commit Graph

29 Commits

Author SHA1 Message Date
David Allemang
224d984184 wip - add Path<> stub; remove old. 2022-11-19 12:32:38 -05:00
David Allemang
47de177626 Improve tc::Group, tc::Cosets API.
This is a combination of many commits:

---------------------------------------------------------------------------

final. add public/private for core classes.

wip - big cleanup cosets.

index<>, cosets<>, and group<> all defined

transparent <void> overrides that operate directly on indices, not names

inheritance hierarchy means one can drop or change generator names

still missing path support.

wip - named cosets

fix lang test

wip - named generators

Move Group docstring away from specialization.

Remove tc::Gen; use Group<void>

remove tc::Rel

add thousands separators for benchmark limits

add generators list to tc::group

remove pair_map
2022-11-19 12:32:37 -05:00
David Allemang
aa88aee643 show fundamental lines 2022-10-13 12:21:03 -04:00
David Allemang
164d4f6d29 use coxeter notation parser for benchmark and tests 2022-10-09 21:05:50 -04:00
David Allemang
91045f2542 move test_lang 2022-09-27 21:15:49 -04:00
David Allemang
c9cad8be8d add complete named group list 2022-09-23 16:53:59 -04:00
David Allemang
26e0578421 add '-' syntax for free relation 2022-09-23 15:55:39 -04:00
David Allemang
f7bf77e5f0 modified coxeter notation parsing 2022-09-23 15:52:02 -04:00
David Allemang
2ba15097ec group constraint cassert 2022-09-16 13:25:59 -04:00
David Allemang
6d1bb807f3 remove invalid benchmarks 2022-09-16 13:09:49 -04:00
David Allemang
c7c6784643 add bound to support for infinite groups and free relations
special values tc::UNBOUND and tc::FREE used for this.
2022-09-16 11:49:40 -04:00
David Allemang
97d19a4600 simplify idem test 2022-09-15 10:54:55 -04:00
David Allemang
687c72ea77 correctly type Cosets methods 2022-09-14 21:59:25 -04:00
David Allemang
89c216dfe4 replace Rel with tuple 2022-09-14 21:37:34 -04:00
David Allemang
27a3231cfe Make Row struct smaller with bit fields. 2022-09-14 21:28:58 -04:00
David Allemang
73c6d800cc Use idem instead of gnr<0 2022-09-14 21:28:58 -04:00
David Allemang
c815ea3152 Use free instead of lst_idx=-1 2022-09-14 21:28:58 -04:00
David Allemang
4347f1f9ec Correctly typed cosets/indexes
Coset type is now `unsigned int`. Half the size as before; speeds up malloc.

Index type is now `size_t` for correctness. More expressive and ___might___ speed up array lookup?? Difference seems negligible since we aren't allocating tons and tons of those.
2022-09-14 21:28:58 -04:00
David Allemang
c346817743 lst_idx and lst_vals. more comments. 2022-09-14 21:28:58 -04:00
David Allemang
fbad368030 row-major rel_tables 2022-09-14 21:28:49 -04:00
David Allemang
d67aab4d43 std::queue facts is faster 2022-09-14 21:28:43 -04:00
David Allemang
5dc9bb3dd6 add comments to tc::solve 2022-09-14 21:28:43 -04:00
David Allemang
34db72ba8e AoS relation tables 2022-09-14 09:41:09 -04:00
David Allemang
c3e3043912 convert Group::solve to tc::solve function 2022-09-13 23:00:05 -04:00
David Allemang
c47c6262c0 Remove Group::name 2022-09-13 21:34:30 -04:00
David Allemang
35ea10b6ff tc::pair_map 2022-09-13 13:38:34 -04:00
David Allemang
88f1c5dbf4 WIP: Oversimplify reltables 2022-02-26 00:13:39 -05:00
David Allemang
2d2feb3256 WIP: Make tc::Group header-only
(except for tc::Group::subgroup, since it needs full definition of tc::Group _and_ tc::SubGroup)
2022-02-24 17:49:39 -05:00
David Allemang
63eb9e47b4 WIP: Copy tc logic from toddcox-faster 2022-02-23 18:36:51 -05:00