committed by
Nicolás Hatcher Andrés
parent
8e15c623dd
commit
7676efca44
@@ -68,14 +68,14 @@ macro_rules! single_number_fn {
|
||||
},
|
||||
// If String, parse to f64 then apply or #VALUE! error
|
||||
ArrayNode::String(s) => {
|
||||
let node = match s.parse::<f64>() {
|
||||
Ok(f) => match $op(f) {
|
||||
let node = match self.cast_number(&s) {
|
||||
Some(f) => match $op(f) {
|
||||
Ok(x) => ArrayNode::Number(x),
|
||||
Err(Error::DIV) => ArrayNode::Error(Error::DIV),
|
||||
Err(Error::VALUE) => ArrayNode::Error(Error::VALUE),
|
||||
Err(e) => ArrayNode::Error(e),
|
||||
},
|
||||
Err(_) => ArrayNode::Error(Error::VALUE),
|
||||
None => ArrayNode::Error(Error::VALUE),
|
||||
};
|
||||
data_row.push(node);
|
||||
}
|
||||
|
||||
@@ -1336,7 +1336,13 @@ impl Model {
|
||||
}
|
||||
Ok(acc)
|
||||
});
|
||||
single_number_fn!(fn_sign, |f| Ok(f64::signum(f)));
|
||||
single_number_fn!(fn_sign, |f| {
|
||||
if f == 0.0 {
|
||||
Ok(0.0)
|
||||
} else {
|
||||
Ok(f64::signum(f))
|
||||
}
|
||||
});
|
||||
single_number_fn!(fn_degrees, |f| Ok(f * (180.0 / PI)));
|
||||
single_number_fn!(fn_radians, |f| Ok(f * (PI / 180.0)));
|
||||
single_number_fn!(fn_odd, |f| {
|
||||
|
||||
Reference in New Issue
Block a user