|
FUNCTION definite_integral_expr_check (operands : LIST [2:?] OF generic_expression, lowerinf : BOOLEAN, upperinf : BOOLEAN) : BOOLEAN; LOCAL nops : INTEGER := 2 ; vspc : maths_space ; dim : nonnegative_integer ; k : positive_integer ; bspc : maths_space ; END_LOCAL ; IF NOT lowerinf THEN nops := nops + 1 ; END_IF ; IF NOT upperinf THEN nops := nops + 1 ; END_IF ; IF SIZEOF ( operands ) <> nops THEN RETURN ( FALSE ) ; END_IF ; IF NOT ( 'generic_variable' IN stripped_typeof ( operands [ 2 ] ) ) THEN RETURN ( FALSE ) ; END_IF ; IF NOT has_values_space ( operands [ 2 ] ) THEN RETURN ( FALSE ) ; END_IF ; vspc := values_space_of ( operands [ 2 ] ) ; IF NOT ( 'real_interval' IN stripped_typeof ( vspc ) ) THEN RETURN ( FALSE ) ; END_IF ; IF lowerinf THEN IF min_exists ( vspc ) THEN RETURN ( FALSE ) ; END_IF ; k := 3 ; ELSE IF NOT has_values_space ( operands [ 3 ] ) THEN RETURN ( FALSE ) ; END_IF ; bspc := values_space_of ( operands [ 3 ] ) ; IF NOT compatible_spaces ( bspc , vspc ) THEN RETURN ( FALSE ) ; END_IF ; k := 4 ; END_IF ; IF upperinf THEN IF max_exists ( vspc ) THEN RETURN ( FALSE ) ; END_IF ; ELSE IF NOT has_values_space ( operands [ k ] ) THEN RETURN ( FALSE ) ; END_IF ; bspc := values_space_of ( operands [ k ] ) ; IF NOT compatible_spaces ( bspc , vspc ) THEN RETURN ( FALSE ) ; END_IF ; END_IF ; RETURN ( TRUE ) ; END_FUNCTION; -- definite_integral_expr_check |
|
public class FDefinite_integral_expr_check public static Value run(SdaiContext _context, Value operands, Value lowerinf, Value upperinf) |