FUNCTION definite_integral_expr_check
(* SCHEMA step_merged_ap_schema; *)
-- DIFF IN AP238 STEP-NC
-- IN AP238 STEP-NC/AP242
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 (UNKNOWN);
END_IF;
IF NOT has_values_space(operands[2]) THEN
RETURN (UNKNOWN);
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 (FALSE);
END_FUNCTION;
Referenced By
Defintion definite_integral_expr_check is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2020-07-28T17:02:20-04:00