diff --git a/src/formula/mod.rs b/src/formula/mod.rs index bd2281c..b0d4024 100644 --- a/src/formula/mod.rs +++ b/src/formula/mod.rs @@ -3,7 +3,7 @@ use crate::formula::node::Node; pub mod node; pub struct Formula { - root: node::Node, + root: node::Node, } impl Formula { diff --git a/src/formula/node/function.rs b/src/formula/node/function.rs deleted file mode 100644 index f8ba181..0000000 --- a/src/formula/node/function.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub trait Function { - fn map(x: f64) -> f64; -} diff --git a/src/formula/node/mod.rs b/src/formula/node/mod.rs index 6e53a7a..ea7f1d2 100644 --- a/src/formula/node/mod.rs +++ b/src/formula/node/mod.rs @@ -1,6 +1,5 @@ use crate::formula::node::graph_constructor::GraphBuilder; -mod function; mod graph_constructor; pub struct Node { @@ -20,8 +19,13 @@ impl Node { } pub fn get_value(&self) -> f64 { if self.children.len() == 0 { - 0f64 + return (self.function)(vec![0f64]); } - for node in self.children {} + let mut inputs: Vec = vec![]; + for node in &self.children { + inputs.push(node.get_value()); + } + + return (self.function)(inputs); } }