Overview Schemas Index

ISO13584_EXPRESSIONS_SCHEMA (jsdai.SIso13584_expressions_schema)


FUNCTION is_int_expr
          (arg : numeric_expression) : LOGICAL;

LOCAL
          i: INTEGER := 0;
END_LOCAL;

IF 'ISO13584_EXPRESSIONS_SCHEMA.INT_LITERAL' IN  TYPEOF(arg) 
THEN 
          RETURN (TRUE); 
END_IF;
IF 'ISO13584_EXPRESSIONS_SCHEMA.REAL_LITERAL' IN  TYPEOF(arg) 
THEN 
          RETURN (FALSE); 
END_IF;
IF 'ISO13584_EXPRESSIONS_SCHEMA.INT_NUMERIC_VARIABLE' IN  TYPEOF(arg) 
THEN 
          RETURN (TRUE); 
END_IF;
IF 'ISO13584_EXPRESSIONS_SCHEMA.REAL_NUMERIC_VARIABLE' IN  TYPEOF(arg) 
THEN 
          RETURN (FALSE); 
END_IF;
IF 'ISO13584_EXPRESSIONS_SCHEMA.ABS_FUNCTION' IN  TYPEOF(arg) 
THEN 
          RETURN (is_int_expr(arg\unary_numeric_expression.operand));
END_IF;
IF 'ISO13584_EXPRESSIONS_SCHEMA.MINUS_FUNCTION' IN  TYPEOF(arg) 
THEN 
          RETURN (is_int_expr(arg\unary_numeric_expression.operand)); 
END_IF;
IF ('ISO13584_EXPRESSIONS_SCHEMA.SIN_FUNCTION' IN  TYPEOF(arg)) 
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.COS_FUNCTION' IN  TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.TAN_FUNCTION' IN  TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.ASIN_FUNCTION' IN  TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.ACOS_FUNCTION' IN  TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.ATAN_FUNCTION' IN  TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.EXP_FUNCTION' IN  TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.LOG_FUNCTION' IN  TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.LOG2_FUNCTION' IN  TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.LOG10_FUNCTION' IN  TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.SQUARE_ROOT_FUNCTION' 
                                                                                IN TYPEOF(arg))
THEN 
          RETURN (FALSE);
END_IF;
IF           ('ISO13584_EXPRESSIONS_SCHEMA.PLUS_EXPRESSION' IN  TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.MULT_EXPRESSION' 
                                                                                IN TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.MAXIMUM_FUNCTION'
                                                                                IN TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.MINIMUM_FUNCTION'
                                                                                IN TYPEOF(arg)) 
THEN 
          REPEAT i :=1 TO SIZEOF (
                              arg\multiple_arity_numeric_expression.operands);
          IF NOT 
                    is_int_expr(arg\multiple_arity_numeric_expression.operands[i]) 
          THEN 
                    RETURN (FALSE);
          END_IF;
          END_REPEAT;
          RETURN (TRUE);
END_IF;
IF           ('ISO13584_EXPRESSIONS_SCHEMA.MINUS_EXPRESSION' IN  TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_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          ('ISO13584_EXPRESSIONS_SCHEMA.DIV_EXPRESSION' IN  TYPEOF(arg))
                    OR ('ISO13584_EXPRESSIONS_SCHEMA.MOD_EXPRESSION' IN  TYPEOF(arg))
THEN 
          RETURN(TRUE);         
END_IF;
IF 'ISO13584_EXPRESSIONS_SCHEMA.SLASH_EXPRESSION' IN  TYPEOF(arg) 
THEN 
          RETURN (FALSE);          
END_IF;
IF 'ISO13584_EXPRESSIONS_SCHEMA.LENGTH_FUNCTION' IN  TYPEOF(arg) 
THEN 
          RETURN (TRUE); 
END_IF;
IF 'ISO13584_EXPRESSIONS_SCHEMA.VALUE_FUNCTION' IN  TYPEOF(arg) 
THEN 
          IF 'ISO13584_EXPRESSIONS_SCHEMA.INT_VALUE_FUNCTION' 
                                                                                IN TYPEOF(arg) 
          THEN 
                    RETURN (TRUE); 
          ELSE 
                    RETURN (FALSE); 
          END_IF;
END_IF;
IF 'ISO13584_EXPRESSIONS_SCHEMA.INTEGER_DEFINED_FUNCTION' 
                                                                                IN TYPEOF(arg)
THEN 
          RETURN(TRUE) ;
END_IF;
IF'ISO13584_EXPRESSIONS_SCHEMA.REAL_DEFINED_FUNCTION' IN TYPEOF(arg) 
THEN 
          RETURN(FALSE) ;
END_IF ;
IF 'ISO13584_EXPRESSIONS_SCHEMA.BOOLEAN_DEFINED_FUNCTION' 
                                                                                IN TYPEOF(arg)
THEN 
          RETURN(FALSE) ;
END_IF ;
IF 'ISO13584_EXPRESSIONS_SCHEMA.STRING_DEFINED_FUNCTION' 
                                                                                IN TYPEOF(arg)
THEN 
          RETURN (FALSE) ;
END_IF ;

RETURN (FALSE);

END_FUNCTION; -- is_int_expr

public class FIs_int_expr
          public static Value run(SdaiContext _context, Value arg)