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:
DefinitionType
 definite_integral_expression ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2020-07-28T17:02:20-04:00