Commit graph

59 commits

Author SHA1 Message Date
Anand Balakrishnan
6632e897ba add Expr type for union of BoolExpr or NumExpr 2023-09-29 14:00:24 -07:00
Anand Balakrishnan
7c81b30a8f don't try to do an Any trampoline for Expr 2023-09-29 13:59:16 -07:00
Anand Balakrishnan
b2e56594b0
initial parser signature 2023-09-29 13:09:04 -07:00
Anand Balakrishnan
475d32c533
refactor!(argus-core): update find_intersection method
Don't separate the intersection finding code into a different trait, as
it can be bundled with interpolation method.
2023-09-07 13:28:30 -07:00
Anand Balakrishnan
3a9623b99b
fix(argus-core): disable clippy warnings for proptest 2023-09-07 13:24:52 -07:00
Anand Balakrishnan
5489ddbd09
chore: itertools bump version 2023-09-05 10:12:14 -07:00
Anand Balakrishnan
961551b2cb
chore: bump dependencies 2023-09-01 14:54:47 -07:00
Anand Balakrishnan
ff2e74517a
minor 2023-09-01 14:54:29 -07:00
Anand Balakrishnan
137c22cd70 tests(pyargus): add test cases for signals 2023-08-31 17:11:52 -07:00
Anand Balakrishnan
73921db5f9 chore: run linter and fix formatting 2023-08-30 16:02:03 -07:00
Anand Balakrishnan
c916db3853
feat(argus-semantics): complete boolean semantics 2023-08-30 12:46: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
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
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
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
d3b30deaa3
feat!(core): update casting from bool to float to match quantitative semantics 2023-04-26 12:58:14 -07:00
Anand Balakrishnan
e22410eea8
feat(core): minor additions to the API 2023-04-16 18:41:21 -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
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
2b447409a1
feat: add Sub and Abs expression nodes 2023-04-04 14:32:37 -07:00
Anand Balakrishnan
6e41380262
feat(core): Add SignalAbs trait for numeric signals 2023-04-04 11:55:48 -07:00
Anand Balakrishnan
55b7cdd075
style(semantics): move macro impls to specific modules 2023-04-04 09:59:10 -07:00
Anand Balakrishnan
b517043d0e
feat(core): Add casting and correct subtraction/cmp 2023-04-04 09:57:20 -07:00
Anand Balakrishnan
7c8c833469
test: add proptest arbitrary as a feature 2023-04-04 09:56:19 -07:00
Anand Balakrishnan
00b03a509f
style: run rustfmt on all files 2023-03-25 20:43:08 -07:00
Anand Balakrishnan
e982dfe5a5
feat: add error for traces without signal names 2023-03-24 13:25:27 -07:00
Anand Balakrishnan
f86f0a2ea8
feat: use argus_core::prelude for necessities 2023-03-24 13:25:04 -07:00
Anand Balakrishnan
02070c1f5a
feat: error for invalid operations on signals 2023-03-23 15:37:02 -07:00
Anand Balakrishnan
989da9ac92
feat: add enum for supported signal types 2023-03-23 14:33:46 -07:00
Anand Balakrishnan
eea6b2a619
test: add some proptest regressions
The additional regression corresponds to overflowing addition in signal
addition. This is a problem for future Anand... sorry...
2023-03-23 14:15:12 -07:00
Anand Balakrishnan
01b4e55fec
fix: correctly use || instead of && in BitOr 2023-03-23 14:03:06 -07:00
Anand Balakrishnan
a6dc175c8a
test: add tests for signal operation sugar
TODO: Some tests overflow, so we need to fix that.
2023-03-23 14:02:56 -07:00
Anand Balakrishnan
5b88a1dac6
fix: linear interpolation of bool signal should extend previous value 2023-03-23 14:00:15 -07:00
Anand Balakrishnan
c6a05ef5b4
feat: add syntactic sugar for signal operations 2023-03-22 19:06:23 -07:00
Anand Balakrishnan
9ecba8b6b4
test: add proptest regressions 2023-03-22 18:14:51 -07:00
Anand Balakrishnan
978c4531c7
test: minor cases for testing 2023-03-22 18:14:35 -07:00
Anand Balakrishnan
ad4d85ec3d
chore: run rustfmt 2023-03-22 14:57:27 -07:00
Anand Balakrishnan
00a1c32fc1
test: add tests for signals 2023-03-22 14:56:56 -07:00
Anand Balakrishnan
22d19154af
feat: add general signal types 2023-03-22 13:40:13 -07:00
Anand Balakrishnan
cde8cb24e5
test: add simple unit test for expression iteration 2023-03-20 10:29:03 -07:00
Anand Balakrishnan
0359029741
feat: add ExprRef sumtype with better expression iteration 2023-03-20 10:28:26 -07:00