forked from katzen-cafe/iowo
experimentation: use dynamic type ids for signatures and add qol macro
This commit is contained in:
parent
911339fc2a
commit
31a044577a
4 changed files with 21 additions and 33 deletions
|
@ -1,12 +1,13 @@
|
|||
//! Operations on numeric data
|
||||
use core::panic;
|
||||
use std::any::TypeId;
|
||||
|
||||
use crate::experimental::trait_based::{
|
||||
data::{
|
||||
io::{Inputs, Outputs},
|
||||
raw::Data,
|
||||
},
|
||||
element::{DataType, ElementSignature, PipelineElement},
|
||||
element::{ElementSignature, PipelineElement},
|
||||
};
|
||||
|
||||
/// Addition
|
||||
|
@ -22,10 +23,7 @@ impl PipelineElement for Add {
|
|||
}
|
||||
|
||||
fn signature(&self) -> ElementSignature {
|
||||
ElementSignature {
|
||||
inputs: vec![DataType::Int, DataType::Int],
|
||||
outputs: vec![DataType::Int],
|
||||
}
|
||||
signature!(i32, i32 => i32)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -42,10 +40,7 @@ impl PipelineElement for Subtract {
|
|||
}
|
||||
|
||||
fn signature(&self) -> ElementSignature {
|
||||
ElementSignature {
|
||||
inputs: vec![DataType::Int, DataType::Int],
|
||||
outputs: vec![DataType::Int],
|
||||
}
|
||||
signature!(i32, i32 => i32)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -62,9 +57,6 @@ impl PipelineElement for Stringify {
|
|||
}
|
||||
|
||||
fn signature(&self) -> ElementSignature {
|
||||
ElementSignature {
|
||||
inputs: vec![DataType::Int],
|
||||
outputs: vec![DataType::String],
|
||||
}
|
||||
signature!(i32 => String)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue