lni
31st October 2015, 22:18
Hello,
How can I convert user input formular into Qt script. so it can be evaluated by QtScript engine.
For instance, when user type into
VAR1 / VAR2 * 35.4 * Math.min( Math.power( VAR3 / VAR4, 0.3 ) ) * Math.max( VAR4 )
Where VAR1, VAR2, VAR3, and VAR4 are known arrays with same length, such that VAR[ i ], i = 0, 1, ...., n
I need to convert to:
function calcMin1()
{
var val = Math.power( VAR3[ 0 ] / VAR4[ 0 ], 0.3 );
for ( var idx = 1; idx < VAR3.length; idx++ ) {
val = Math.min( Math.power( VAR3[ idx ] / VAR4[ idx ], 0.3 ), val );
}
return val;
}
function calcMax1()
{
var val = VAR4[ 0 ];
for ( var idx = 1; idx < VAR4.length; idx++ ) {
val = Math.max( VAR4[ idx ], val );
}
return val;
}
var min1 = calcMin1();
var max1 = calcMax1();
var result = new Array;
for ( var idx = 0; idx < VAR1.length; idx++ ) {
result[ idx ] = VAR1[idx] / VAR2[idx] * 35.4 * min1 * max1;
}
How can I convert user input formular into Qt script. so it can be evaluated by QtScript engine.
For instance, when user type into
VAR1 / VAR2 * 35.4 * Math.min( Math.power( VAR3 / VAR4, 0.3 ) ) * Math.max( VAR4 )
Where VAR1, VAR2, VAR3, and VAR4 are known arrays with same length, such that VAR[ i ], i = 0, 1, ...., n
I need to convert to:
function calcMin1()
{
var val = Math.power( VAR3[ 0 ] / VAR4[ 0 ], 0.3 );
for ( var idx = 1; idx < VAR3.length; idx++ ) {
val = Math.min( Math.power( VAR3[ idx ] / VAR4[ idx ], 0.3 ), val );
}
return val;
}
function calcMax1()
{
var val = VAR4[ 0 ];
for ( var idx = 1; idx < VAR4.length; idx++ ) {
val = Math.max( VAR4[ idx ], val );
}
return val;
}
var min1 = calcMin1();
var max1 = calcMax1();
var result = new Array;
for ( var idx = 0; idx < VAR1.length; idx++ ) {
result[ idx ] = VAR1[idx] / VAR2[idx] * 35.4 * min1 * max1;
}