FUNCTION is_int_expr

(* SCHEMA step_merged_ap_schema; *)
-- DIFF IN AP214
-- DIFF IN AP203e2
-- DIFF IN AP238 STEP-NC
-- IN AP203e2/AP214/AP238 STEP-NC/AP242
FUNCTION is_int_expr
      (arg : numeric_expression ) : BOOLEAN;
      IF 'STEP_MERGED_AP_SCHEMA.INT_LITERAL' IN TYPEOF(arg) THEN
         RETURN (TRUE);
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.REAL_LITERAL' IN TYPEOF(arg) THEN
         RETURN (FALSE);
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.INT_NUMERIC_VARIABLE' IN TYPEOF(arg) THEN
         RETURN (TRUE);
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.REAL_NUMERIC_VARIABLE' IN TYPEOF(arg) THEN
         RETURN (FALSE);
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.ABS_FUNCTION' IN TYPEOF(arg) THEN
         RETURN (is_int_expr(arg\unary_numeric_expression.operand));
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.MINUS_FUNCTION' IN TYPEOF(arg) THEN
         RETURN (is_int_expr(arg\unary_numeric_expression.operand));
      END_IF;
      IF (((((((((('STEP_MERGED_AP_SCHEMA.SIN_FUNCTION' IN TYPEOF(arg)) OR ('STEP_MERGED_AP_SCHEMA.COS_FUNCTION' IN TYPEOF(arg))) OR ('STEP_MERGED_AP_SCHEMA.TAN_FUNCTION' IN TYPEOF(arg))) OR ('STEP_MERGED_AP_SCHEMA.ASIN_FUNCTION' IN TYPEOF(arg))) OR ('STEP_MERGED_AP_SCHEMA.ACOS_FUNCTION' IN TYPEOF(arg))) OR ('STEP_MERGED_AP_SCHEMA.ATAN_FUNCTION' IN TYPEOF(arg))) OR ('STEP_MERGED_AP_SCHEMA.EXP_FUNCTION' IN TYPEOF(arg))) OR ('STEP_MERGED_AP_SCHEMA.LOG_FUNCTION' IN TYPEOF(arg))) OR ('STEP_MERGED_AP_SCHEMA.LOG2_FUNCTION' IN TYPEOF(arg))) OR ('STEP_MERGED_AP_SCHEMA.LOG10_FUNCTION' IN TYPEOF(arg))) OR ('STEP_MERGED_AP_SCHEMA.SQUARE_ROOT_FUNCTION' IN TYPEOF(arg)) THEN
         RETURN (FALSE);
      END_IF;
      IF ((('STEP_MERGED_AP_SCHEMA.PLUS_EXPRESSION' IN TYPEOF(arg)) OR ('STEP_MERGED_AP_SCHEMA.MULT_EXPRESSION' IN TYPEOF(arg))) OR ('STEP_MERGED_AP_SCHEMA.MAXIMUM_FUNCTION' IN TYPEOF(arg))) OR ('STEP_MERGED_AP_SCHEMA.MINIMUM_FUNCTION' IN TYPEOF(arg)) THEN
         REPEAT i := 1 TO SIZEOF(arg\multiple_arity_numeric_expression.operands) BY 1;
            IF NOT is_int_expr(arg\multiple_arity_numeric_expression.operands[i]) THEN
               RETURN (FALSE);
            END_IF;
         END_REPEAT;
         RETURN (TRUE);
      END_IF;
      IF ('STEP_MERGED_AP_SCHEMA.MINUS_EXPRESSION' IN TYPEOF(arg)) OR ('STEP_MERGED_AP_SCHEMA.POWER_EXPRESSION' IN TYPEOF(arg)) THEN
         RETURN (is_int_expr(arg\binary_numeric_expression.operands[1]) AND is_int_expr(arg\binary_numeric_expression.operands[2]));
      END_IF;
      IF ('STEP_MERGED_AP_SCHEMA.DIV_EXPRESSION' IN TYPEOF(arg)) OR ('STEP_MERGED_AP_SCHEMA.MOD_EXPRESSION' IN TYPEOF(arg)) THEN
         RETURN (TRUE);
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.SLASH_EXPRESSION' IN TYPEOF(arg) THEN
         RETURN (FALSE);
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.LENGTH_FUNCTION' IN TYPEOF(arg) THEN
         RETURN (TRUE);
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.VALUE_FUNCTION' IN TYPEOF(arg) THEN
         IF 'STEP_MERGED_AP_SCHEMA.INT_VALUE_FUNCTION' IN TYPEOF(arg) THEN
            RETURN (TRUE);
         ELSE
            RETURN (FALSE);
         END_IF;
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.INTEGER_DEFINED_FUNCTION' IN TYPEOF(arg) THEN
         RETURN (TRUE);
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.REAL_DEFINED_FUNCTION' IN TYPEOF(arg) THEN
         RETURN (FALSE);
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.BOOLEAN_DEFINED_FUNCTION' IN TYPEOF(arg) THEN
         RETURN (FALSE);
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.STRING_DEFINED_FUNCTION' IN TYPEOF(arg) THEN
         RETURN (FALSE);
      END_IF;
      RETURN (FALSE);
END_FUNCTION;

Referenced By

Defintion is_int_expr is references by the following definitions:
DefinitionType
 index_expression ENTITY
 numeric_expression ENTITY
 odd_function ENTITY
 substring_expression ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2017-01-19T11:17:24-05:00