|
FUNCTION is_int_expr (arg : numeric_expression) : BOOLEAN; LOCAL i : INTEGER ; 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) |