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
Anand Balakrishnan
2b447409a1
feat: add Sub and Abs expression nodes
2023-04-04 14:32:37 -07:00
Anand Balakrishnan
4dc6effbde
feat(semantics): Add quantitative semantics
2023-04-04 11:56:45 -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
22c099a058
feat(semantics): add boolean semantics
...
TODO: Testing this
2023-03-24 13:26:11 -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
35a44ca3b1
feat: begin working on semantics
2023-03-23 14:22:37 -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
fee31cd066
build: clean goverage data before regenerating
2023-03-22 17:59:26 -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
Anand Balakrishnan
79384d436d
feat: add sugar for creating comparison ops
2023-03-20 10:26:04 -07:00
Anand Balakrishnan
55894d55fb
feat: implement an Expr trait
2023-03-19 23:15:54 -07:00
Anand Balakrishnan
afe265eba2
refactor: move overloaded ops into separate modules
...
This just makes editing the files easier for me as a cognitive load.
2023-03-19 23:13:44 -07:00
Anand Balakrishnan
57625fe707
build: add coverage target
2023-03-19 23:04:17 -07:00
Anand Balakrishnan
f23371ac39
style: adjust the enum variant length
2023-03-17 16:06:41 -07:00