Commit graph

138 commits

Author SHA1 Message Date
Anand Balakrishnan
137c22cd70 tests(pyargus): add test cases for signals 2023-08-31 17:11:52 -07:00
Anand Balakrishnan
ab0a2c6d85 build: add pre-commit hooks 2023-08-31 17:09:58 -07:00
Anand Balakrishnan
a5bc6f5d36 chore(pyargus): minor changes 2023-08-30 16:02:37 -07:00
Anand Balakrishnan
73921db5f9 chore: run linter and fix formatting 2023-08-30 16:02:03 -07:00
Anand Balakrishnan
3b3a7ce15e chore: set workspace resolver 2023-08-30 15:55:33 -07:00
Anand Balakrishnan
9d5f4bd70c
begin work on automata library 2023-08-30 13:25:29 -07:00
Anand Balakrishnan
b20a838d06
change pyo3 features 2023-08-30 13:24:28 -07:00
Anand Balakrishnan
1bb032dadb
add pyargus to workspace 2023-08-30 12:49:46 -07:00
Anand Balakrishnan
b8c67bcea9
refactor(pyargus): update python bindings for breaking changes 2023-08-30 12:49:14 -07:00
Anand Balakrishnan
0e38c2fecf
add recommended envrc 2023-08-30 12:47:24 -07:00
Anand Balakrishnan
c916db3853
feat(argus-semantics): complete boolean semantics 2023-08-30 12:46:52 -07:00
Anand Balakrishnan
ad9afb4eba
feat(argus-semantics): finish quantitative semantics
The Boolean semantics are still incomplete. The decision to keep the
computations separate stays, as using the quantitative semantics for
Boolean values (while sound) interpolates in weird places.
May revisit this decision in the future
2023-08-29 18:16:52 -07:00
Anand Balakrishnan
28a79cb88c
refactor!(argus-core): remove unnecessary traits and Copy constraints 2023-08-29 18:16:10 -07:00
Anand Balakrishnan
86cef692dc
feat(argus-semantics): implement efficient streaming MinMax 2023-08-28 13:02:51 -07:00
Anand Balakrishnan
4084bb738b
refactor(argus-core): create explicit signal and and or methods 2023-08-28 13:01:08 -07:00
Anand Balakrishnan
16cbaace20
refactor(core): prelude exports all expressions 2023-06-07 10:00:27 -04:00
Anand Balakrishnan
87afc11b90
refactor~(core): use traits and structs for interpolation
We have to now pass the interpolation method as a generic argument to methods.
2023-06-07 09:57:56 -04:00
Anand Balakrishnan
2b16ef9c40
fix(semantics): migrate to new AST structure 2023-06-06 10:46:52 -04:00
Anand Balakrishnan
1c79847a77
feat!(core): Use new AST structure
Derive Expr methods using a derive proc-macro. These macros are present in
the `argus-derive` crate, but the traits are defined in `argus-core`
2023-06-06 10:46:27 -04:00
Anand Balakrishnan
70c5a50d22
feat(core): add shift left/right operators to Signal 2023-05-23 13:12:22 -07:00
Anand Balakrishnan
a54ec8a69f
feat(core): add helper methods and better construction for Interval 2023-05-14 16:37:57 -07:00
Anand Balakrishnan
86138fe213
chore(py): handle interval in the expression trampoline 2023-05-09 12:08:11 -07:00
Anand Balakrishnan
d13746f904
build(pyargus): exclude pyargus from workspace to enable cargo test 2023-05-09 12:07:21 -07:00
Anand Balakrishnan
0e62085edc
chore(semantics): make sure that interval is handled in the semantics 2023-05-09 12:05:41 -07:00
Anand Balakrishnan
c339343f84
feat!(core): add intervals to temporal operators 2023-05-09 12:04:45 -07:00
Anand Balakrishnan
299e572186
docs(core): add documentation for all public API members 2023-05-05 14:33:19 -07:00
Anand Balakrishnan
ee75539d73
feat(py): add convenience functions to create variables, literals, and signals 2023-05-04 13:36:06 -07:00
Anand Balakrishnan
31c65a4734
refactor(py): update the type stubs (and expose DType) 2023-05-04 13:33:56 -07:00
Anand Balakrishnan
9b07df440b
build(docs): don't try to document dependencies 2023-05-04 11:38:59 -07:00
Anand Balakrishnan
c3d4bad161
build(py): add justfile recipes for formatting and checking 2023-05-03 16:41:28 -07:00
Anand Balakrishnan
9f674bd385
feat(py): expose quantitative semantics 2023-05-03 16:38:35 -07:00
Anand Balakrishnan
bfb59c1008
refactor!(py): Boolean semantics should be exposed as function 2023-05-03 16:35:27 -07:00
Anand Balakrishnan
e6ef427e2f
feat!(py): expose boolean semantics to Python 2023-05-03 16:32:49 -07:00
Anand Balakrishnan
c42f892099
feat(python): add interface file and other small changes 2023-04-30 22:14:33 -07:00
Anand Balakrishnan
168e881884
refactor(pyargus): move library components into modules 2023-04-27 13:47:46 -07:00
Anand Balakrishnan
4b4d02a0ec
feat(pyargus): add temporal operators to bindings 2023-04-26 13:19:35 -07:00
Anand Balakrishnan
bfd5178982
feat(semantics): add quantitative semantics 2023-04-26 12:59:54 -07:00
Anand Balakrishnan
d3b30deaa3
feat!(core): update casting from bool to float to match quantitative semantics 2023-04-26 12:58:14 -07:00
Anand Balakrishnan
bcddb7a1a2
feat(semantics): add boolean semantics
correct references
2023-04-16 18:43:02 -07:00
Anand Balakrishnan
e22410eea8
feat(core): minor additions to the API 2023-04-16 18:41:21 -07:00
Anand Balakrishnan
c666498ac0
feat!(semantics): Use function for evaluating numeric expressions 2023-04-16 17:53:19 -07:00
Anand Balakrishnan
2e574c6009
feat!(semantics): update the Trace trait to use AnySignal 2023-04-16 17:19:17 -07:00
Anand Balakrishnan
a3d406f2b3
feat(core): add an AnySignal trait for trait objects and downcasting of signals 2023-04-16 17:16:10 -07:00
Anand Balakrishnan
aa952c3151
feat(core): add more fine grain casting operations for signals 2023-04-16 17:14:57 -07:00
Anand Balakrishnan
4431b79bcd
feat!(core): Change Signal to be a sumtype
We want to be able to reason about if a signal is empty, constant, or sampled
at compile time without using any trait objects. Moreover, the core Argus
library shouldn't care about how it deals with interfacing with other languages
like Python. Thus, we remove the need for having an `AnySignal` type and what
not.
2023-04-14 10:53:38 -07:00
Anand Balakrishnan
a6a3805107
feat(core): add LTL temporal expressions 2023-04-11 11:42:30 -07:00
Anand Balakrishnan
c322d34859
feat(py): python bindings for BoolExpr with sugar 2023-04-05 15:38:24 -07:00
Anand Balakrishnan
6340a18149
feat(core): add NumExpr and BoolExpr to prelude 2023-04-05 13:29:10 -07:00
Anand Balakrishnan
4f470eae50
feat(core): add easy constructors for Ordering 2023-04-05 13:28:47 -07:00
Anand Balakrishnan
f8ec8857d4
feat: add python bindings for argus 2023-04-04 14:41:17 -07:00