diff --git a/src/InputOutput/IHMImpl/Tools/IHMExpressionParserClass.php b/src/InputOutput/IHMImpl/Tools/IHMExpressionParserClass.php index 1000315..8db05b6 100644 --- a/src/InputOutput/IHMImpl/Tools/IHMExpressionParserClass.php +++ b/src/InputOutput/IHMImpl/Tools/IHMExpressionParserClass.php @@ -84,6 +84,7 @@ class IHMExpressionParserClass "2/(1+dst)" => array("expression" => "2/(1+\$dst)", "params" => array(array("paramid" => "dst"))), "2/abs(1+dst)" => array("expression" => "2/(abs(1+\$dst))", "params" => array(array("paramid" => "dst"))), "cross(vect_1,vect_2)" => array("expression" => "(cross(\$vect_1,\$vect_2))", "params" => array(array("paramid" => "vect_1"), array("paramid" => "vect_2"))), + "cross(cross(vect_1,vect_2),vect_3)" => array("expression" => "(cross((cross(\$vect_1,\$vect_2)),\$vect_3))","params" => array(array("paramid" => "vect_1"), array("paramid" => "vect_2"), array("paramid" => "vect_3"))), ); //init constants, aliases and functions for test @@ -795,8 +796,9 @@ class IHMExpressionParserClass /* * @brief process used to replace "," by ";" for function */ - private function fixComaFunction($tree,$crt_function,&$result,&$nbParams) + private function fixComaFunction($tree,$crt_function,&$result) { + $nbParams = 0; for ($i = 0; $i < count($tree); ++$i) { if (is_array($tree[$i]) && (count($tree[$i]) > 0)) @@ -807,8 +809,7 @@ class IHMExpressionParserClass $groupFunc = $this->isFunction($tree[$i-1]); } $res = array(); - $nbParams = 0; - $this->fixComaFunction($tree[$i],$groupFunc ? $tree[$i-1] : "",$res,$nbParams); + $this->fixComaFunction($tree[$i],$groupFunc ? $tree[$i-1] : "",$res); $result[] = $res; } else @@ -930,8 +931,7 @@ class IHMExpressionParserClass $this->fixGroupFunction($res_1,$res_2); $res_3 = array(); - $nbParams = 0; - $this->fixComaFunction($res_2,"",$res_3,$nbParams); + $this->fixComaFunction($res_2,"",$res_3); $res_4 = array(); $this->fixOperatorToFunction($res_3,$res_4); -- libgit2 0.21.2