Commit Graph

18 Commits

Author SHA1 Message Date
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
c9cad8be8d add complete named group list 2022-09-23 16:53:59 -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
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
a867631393 add benchmark executable 2022-09-16 11:49:40 -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
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
c3e3043912 convert Group::solve to tc::solve function 2022-09-13 23:00:05 -04:00
David Allemang
576e277d41 fix pair_map 2022-09-13 23:00:05 -04:00
David Allemang
cd435dcf54 Improve tests 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
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