Commit graph

9 commits

Author SHA1 Message Date
Anand Balakrishnan
50d5a0a78a feat!: make interpolation method explicit
All methods that need to perform interpolation of some sort need an
explicit interpolation method. In Rust, this manifests as a generic
parameter, while in Python, this is a string parameter.
2023-10-04 14:42:51 -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
28a79cb88c
refactor!(argus-core): remove unnecessary traits and Copy constraints 2023-08-29 18:16:10 -07: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
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
6e41380262
feat(core): Add SignalAbs trait for numeric signals 2023-04-04 11:55:48 -07:00
Anand Balakrishnan
b517043d0e
feat(core): Add casting and correct subtraction/cmp 2023-04-04 09:57:20 -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
c6a05ef5b4
feat: add syntactic sugar for signal operations 2023-03-22 19:06:23 -07:00