Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stage 1 #1

Merged
merged 156 commits into from
Dec 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
3384e10
Create ci.yml
AaronKutch Jul 7, 2022
96ac591
make workspace
AaronKutch Jul 7, 2022
1d7479a
Add Permutations
AaronKutch Jul 8, 2022
04fa4bb
add inversion
AaronKutch Jul 8, 2022
c5ed583
add halving function
AaronKutch Jul 8, 2022
190bcfb
fixes
AaronKutch Jul 9, 2022
b5d8fef
fix brokenness in `halve`
AaronKutch Jul 9, 2022
108e514
beginning work on permutation DAG
AaronKutch Jul 22, 2022
65732e7
add debugging capabilities
AaronKutch Jul 23, 2022
c72c638
rethink links
AaronKutch Jul 24, 2022
7da98b8
add symbolic links
AaronKutch Jul 24, 2022
760306f
Update debug.rs
AaronKutch Jul 25, 2022
d99e2f3
improve debugging
AaronKutch Jul 25, 2022
d21f3df
fix many bugs
AaronKutch Jul 25, 2022
b5598ca
Update lower.rs
AaronKutch Jul 25, 2022
066d1e4
update to `triple_arena` 0.6
AaronKutch Jul 31, 2022
6667350
use external ChainArena
AaronKutch Aug 2, 2022
1f22a7a
update `triple_arena`
AaronKutch Aug 2, 2022
dfdb66f
update
AaronKutch Aug 10, 2022
8a08626
updating
AaronKutch Aug 20, 2022
d145872
tmp
AaronKutch Aug 26, 2022
a97a1ac
fuzzing lowering and evaluation
AaronKutch Sep 13, 2022
d95c977
fix debug_assertions enables
AaronKutch Sep 24, 2022
4428ddd
change invariants slightly
AaronKutch Sep 26, 2022
0ac65f2
better fuzzing
AaronKutch Nov 4, 2022
b998d12
Update fuzz.rs
AaronKutch Nov 4, 2022
64bfa26
refactor tmp
AaronKutch Nov 4, 2022
7ba57a0
tmp
AaronKutch Nov 4, 2022
38d7478
more tmp
AaronKutch Nov 5, 2022
00fba54
finish refactor
AaronKutch Nov 5, 2022
30cc1a3
add basic_simplify
AaronKutch Nov 10, 2022
dbb4688
Add `Loop`s
AaronKutch Nov 15, 2022
fa13a88
fixes
AaronKutch Nov 15, 2022
3559734
more fixes
AaronKutch Nov 15, 2022
cac1d9d
make invariant for `Net` to have at least one port
AaronKutch Nov 16, 2022
949f75a
make `Net` `Vec`-like
AaronKutch Nov 26, 2022
edf9648
using awint 0.8.0 functions
AaronKutch Dec 2, 2022
ba1cdb6
refactor the way `Net` works
AaronKutch Dec 2, 2022
75ff176
Update toroidal.rs
AaronKutch Dec 3, 2022
4aad00a
add `Net::exchange`
AaronKutch Dec 4, 2022
3e6e373
normalize imports
AaronKutch Dec 10, 2022
de08c62
Update debug.rs
AaronKutch Dec 11, 2022
48c0302
Introduce idea of permanence
AaronKutch Dec 11, 2022
fda725d
incrementer test
AaronKutch Dec 11, 2022
7b6f082
add `set_noted`
AaronKutch Dec 12, 2022
e4d0eeb
clippy
AaronKutch Dec 27, 2022
a3f2427
Updates
AaronKutch Dec 27, 2022
c61b0c5
Update Cargo.toml
AaronKutch Jan 10, 2023
0c70827
Update lib.rs
AaronKutch Jan 11, 2023
0498d5c
updates
AaronKutch Jan 14, 2023
23d6d0a
fix test
AaronKutch Jan 14, 2023
e894634
updates
AaronKutch Jan 17, 2023
49d8ee3
Update Cargo.toml
AaronKutch May 4, 2023
55a8c28
ungenericize because we will rely on generation counters
AaronKutch May 6, 2023
9871cbc
side attempt
AaronKutch May 8, 2023
f6c9d25
new chain based method
AaronKutch May 8, 2023
78d4847
Delete union_arena.rs
AaronKutch May 15, 2023
e99d931
overhaul
AaronKutch Aug 29, 2023
525b2e2
fixes
AaronKutch Aug 29, 2023
6e091e8
fixes
AaronKutch Aug 30, 2023
c9f8f09
Update fuzz.rs
AaronKutch Aug 30, 2023
998f43a
refactor in preparation for equivalence graphs
AaronKutch Aug 31, 2023
e3e83e7
refactor into two proper surject arenas
AaronKutch Sep 1, 2023
89c2d75
tests all pass again
AaronKutch Sep 1, 2023
88034ec
make the backref surjects be per TNode
AaronKutch Sep 9, 2023
31bf96a
begin refactor back to be per equivalence with single SurjectArena
AaronKutch Sep 10, 2023
5e59ffe
improve debug
AaronKutch Sep 14, 2023
a3157b1
get all tests passing again
AaronKutch Sep 14, 2023
0bcc15c
new optimization framework
AaronKutch Sep 19, 2023
7621d48
test `StarRng`
AaronKutch Sep 19, 2023
be075f6
changes to `StarRng`
AaronKutch Sep 19, 2023
5950621
input independence
AaronKutch Sep 19, 2023
cbf4641
Update optimize.rs
AaronKutch Sep 19, 2023
24c5d85
improvements
AaronKutch Sep 19, 2023
f2fd2d1
fix tests again
AaronKutch Sep 20, 2023
20fad09
optimization in fuzz testing
AaronKutch Sep 20, 2023
c9a8377
input deduplication
AaronKutch Sep 20, 2023
57ce3fa
add missing forwarding path
AaronKutch Sep 20, 2023
1130044
Update optimize.rs
AaronKutch Sep 21, 2023
d1b7584
updates
AaronKutch Oct 1, 2023
aaad772
preparing for skipping `OpDag` with `PState` embedded into referent s…
AaronKutch Oct 1, 2023
500713a
start fleshing out `Epoch`
AaronKutch Oct 2, 2023
0172998
use `Awi` instead of `ExtAwi`
AaronKutch Oct 4, 2023
d2337d8
old TODOs
AaronKutch Oct 4, 2023
a721bc4
Update lower.rs
AaronKutch Oct 5, 2023
6051508
working towards a user friendly system
AaronKutch Oct 30, 2023
3a1550b
tmp
AaronKutch Nov 3, 2023
faa28e1
aint going to work
AaronKutch Nov 14, 2023
9385036
tmp
AaronKutch Nov 14, 2023
483b745
tmp
AaronKutch Nov 15, 2023
5d4498c
tmp
AaronKutch Nov 18, 2023
e3daed0
better direction
AaronKutch Nov 18, 2023
b33cad1
refactor LUT reduction
AaronKutch Nov 19, 2023
26f9068
Update value.rs
AaronKutch Nov 19, 2023
e1acdb0
should almost work
AaronKutch Nov 19, 2023
ed498cc
all tests compile but not succeed
AaronKutch Nov 21, 2023
a0de10f
misc cruft
AaronKutch Nov 21, 2023
bc68265
introduce `EvalAwi`
AaronKutch Nov 21, 2023
a267188
coming together
AaronKutch Nov 21, 2023
4b369cf
Update state.rs
AaronKutch Nov 22, 2023
5572b51
Update state.rs
AaronKutch Nov 22, 2023
3ce9951
another rewrite of `Epoch`
AaronKutch Nov 22, 2023
a3885ab
updates to be able to lock
AaronKutch Nov 22, 2023
caa0353
add back rc counting
AaronKutch Nov 23, 2023
73a12e5
factor out `Stator`
AaronKutch Nov 23, 2023
1c03dc3
more verification
AaronKutch Nov 23, 2023
01e9726
improving lowering
AaronKutch Nov 23, 2023
f43c513
more
AaronKutch Nov 23, 2023
2b5d7b1
finally running
AaronKutch Nov 23, 2023
a647e73
Update state.rs
AaronKutch Nov 23, 2023
0057c31
more debugging
AaronKutch Nov 23, 2023
1f8fc78
almost working
AaronKutch Nov 23, 2023
8475d10
fixes
AaronKutch Nov 24, 2023
638ea1d
fix lowering
AaronKutch Nov 24, 2023
e65690c
reorg dec_rc
AaronKutch Nov 25, 2023
16d5f04
fix unused states
AaronKutch Nov 25, 2023
0fdbd59
lowered_from info
AaronKutch Nov 25, 2023
4a16a43
Update state.rs
AaronKutch Nov 25, 2023
6e72477
fix bug
AaronKutch Nov 25, 2023
a8ae4d9
the first full evaluations
AaronKutch Nov 25, 2023
01fde4e
clippy
AaronKutch Nov 25, 2023
a61b6a5
use `Rc<RefCell>` instead of `Arc<Mutex>`
AaronKutch Nov 25, 2023
b6221cf
fix bugs
AaronKutch Nov 25, 2023
ddd0c86
Update fuzz.rs
AaronKutch Nov 25, 2023
993ef63
getting optimization working again
AaronKutch Nov 25, 2023
db768cf
put optionality in `p_self_bits`
AaronKutch Nov 25, 2023
822ebc0
clippy
AaronKutch Nov 26, 2023
104fc07
fix bug
AaronKutch Nov 26, 2023
bc6ff3e
fix bug
AaronKutch Nov 26, 2023
fd02191
all non-loop tests passing again
AaronKutch Nov 26, 2023
3c47ebb
actually fix the tests
AaronKutch Nov 26, 2023
37b6f15
many fixes
AaronKutch Dec 1, 2023
4973a06
start evaluating in lowering
AaronKutch Dec 3, 2023
28ada02
fix interface of the special Awi's
AaronKutch Dec 3, 2023
d0df853
many things
AaronKutch Dec 4, 2023
addef08
Update lib.rs
AaronKutch Dec 4, 2023
dc200fd
Update lib.rs
AaronKutch Dec 4, 2023
9ec720d
add other example
AaronKutch Dec 4, 2023
abdac4e
pruning
AaronKutch Dec 4, 2023
7f2f152
Update lib.rs
AaronKutch Dec 4, 2023
70f11d6
pruning
AaronKutch Dec 4, 2023
bbd98b1
fix old docs
AaronKutch Dec 5, 2023
a7d2d7a
Create bench.rs
AaronKutch Dec 5, 2023
1d06a44
move
AaronKutch Dec 5, 2023
9860326
adding fuzz_lower
AaronKutch Dec 5, 2023
7f03b3e
all eval tests working
AaronKutch Dec 5, 2023
d429524
lowering properly tested
AaronKutch Dec 5, 2023
3a00471
move in lowering definitions
AaronKutch Dec 5, 2023
09d6282
Update fuzz_elementary.rs
AaronKutch Dec 5, 2023
2cffa6e
update docs
AaronKutch Dec 5, 2023
5e3b96f
Version 0.14
AaronKutch Dec 5, 2023
7cdff4c
Update ci.yml
AaronKutch Dec 5, 2023
381c8bf
Update ci.yml
AaronKutch Dec 5, 2023
3c8c772
fix crazy bug
AaronKutch Dec 5, 2023
01f3538
Update ci.yml
AaronKutch Dec 5, 2023
147b5c9
fix this in next version
AaronKutch Dec 5, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Starlight CI

on: [pull_request]

env:
RUST_BACKTRACE: 1

jobs:
test_suite:
name: Test suite
runs-on: ubuntu-latest
env:
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v2
- name: Install Rust components
run: |
rustup set profile minimal
rustup default nightly
- name: Run test suite
run: |
cargo doc --all-features
cargo test --all-features
cargo test --release --all-features
cargo bench

msrv_test_suite:
runs-on: ubuntu-latest
env:
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v2
- name: Install Rust components
run: |
rustup set profile minimal
rustup install nightly-2023-04-14
- name: Run test suite
run: |
cd ./starlight && cargo build --no-default-features

rustfmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
# Acquire the most recent nightly with a rustfmt component
- name: Install most recent Rustfmt
run: |
rustup set profile minimal
rustup default "nightly-$(curl -s https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/rustfmt)"
rustup component add rustfmt
- name: Run `cargo fmt`
run: |
cargo fmt -- --check

clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
# Acquire the most recent nightly with a clippy component
- name: Install most recent Clippy
run: |
rustup set profile minimal
rustup default "nightly-$(curl -s https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/clippy)"
rustup component add clippy
- name: Run `cargo clippy`
run: |
cargo clippy --all --all-targets --all-features -- -D clippy::all
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
/target
/Cargo.lock
ensemble.svg
states.svg
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# Changelog

## [0.1.0] - TODO
## [0.1.0] - 2023-12-05
### Crate
- `awint` 0.14

### Additions
- Initial release with `Epoch`, `LazyAwi`, `LazyInlAwi`, and `EvalAwi`. Lowering of all mimicking
operations to LUTs and evaluation is fully working.
20 changes: 7 additions & 13 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
[package]
name = "starlight"
version = "0.0.0"
edition = "2021"
authors = ["Aaron Kutch <[email protected]>"]
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/AaronKutch/starlight"
documentation = "https://docs.rs/starlight"
description = "reservation"
keywords = []
categories = []
[workspace]
resolver = "2"
members = [
"starlight",
"testcrate",
]

[dependencies]
[patch.crates-io]
Empty file removed src/lib.rs
Empty file.
1 change: 1 addition & 0 deletions starlight/CHANGELOG.md
30 changes: 30 additions & 0 deletions starlight/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
[package]
name = "starlight"
version = "0.1.0"
edition = "2021"
authors = ["Aaron Kutch <[email protected]>"]
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/AaronKutch/starlight"
documentation = "https://docs.rs/starlight"
description = "reservation"
keywords = []
categories = []

[dependencies]
#awint = { path = "../../awint/awint", default-features = false, features = ["rand_support", "dag"] }
awint = { version = "0.14", default-features = false, features = ["rand_support", "dag"] }
rand_xoshiro = { version = "0.6", default-features = false }

[features]
# note: "dag", "rand_support", and "std" are all turned on always
default = ["try_support"]
# Turns on nightly features required for some functions to be marked `const`
#const_support = ["awint/const_support"] # TODO
# Turns on nightly features required for `Try` to work with some mimick types
try_support = ["awint/try_support"]
# Turns on `serde` support
serde_support = ["awint/serde_support"]
# Turns on `zeroize` support
zeroize_support = ["awint/zeroize_support"]
debug = ["awint/debug"]
1 change: 1 addition & 0 deletions starlight/LICENSE-APACHE
1 change: 1 addition & 0 deletions starlight/LICENSE-MIT
1 change: 1 addition & 0 deletions starlight/README.md
9 changes: 9 additions & 0 deletions starlight/src/awi_structs.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
pub mod epoch;
mod eval_awi;
mod lazy_awi;
mod temporal;

pub use epoch::{Assertions, Epoch};
pub use eval_awi::EvalAwi;
pub use lazy_awi::{LazyAwi, LazyInlAwi};
pub use temporal::{Loop, LoopHandle, Net};
Loading
Loading