FUNCTION values_space_of
(* SCHEMA Ap242_managed_model_based_3d_engineering_mim_LF; *)
FUNCTION values_space_of(expr : generic_expression) : maths_space;
LOCAL
e_prefix : STRING := 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.';
typenames : SET OF STRING := TYPEOF (expr);
END_LOCAL;
IF (schema_prefix + 'MATHS_VARIABLE') IN typenames THEN
RETURN (expr\maths_variable.values_space);
END_IF;
IF (e_prefix + 'EXPRESSION') IN typenames THEN
IF (e_prefix + 'NUMERIC_EXPRESSION') IN typenames THEN
IF expr\numeric_expression.is_int THEN
IF (e_prefix + 'INT_LITERAL') IN typenames THEN
RETURN (make_finite_space ([expr\int_literal.the_value]));
ELSE
RETURN (the_integers);
END_IF;
ELSE
IF (e_prefix + 'REAL_LITERAL') IN typenames THEN
RETURN (make_finite_space ([expr\real_literal.the_value]));
ELSE
RETURN (the_reals);
END_IF;
END_IF;
END_IF;
IF (e_prefix + 'BOOLEAN_EXPRESSION') IN typenames THEN
IF (e_prefix + 'BOOLEAN_LITERAL') IN typenames THEN
RETURN (make_finite_space ([expr\boolean_literal.the_value]));
ELSE
RETURN (the_booleans);
END_IF;
END_IF;
IF (e_prefix + 'STRING_EXPRESSION') IN typenames THEN
IF (e_prefix + 'STRING_LITERAL') IN typenames THEN
RETURN (make_finite_space ([expr\string_literal.the_value]));
ELSE
RETURN (the_strings);
END_IF;
END_IF;
RETURN (?);
END_IF;
IF (schema_prefix + 'MATHS_FUNCTION') IN typenames THEN
IF expression_is_constant (expr) THEN
RETURN (make_finite_space ([expr]));
ELSE
RETURN (make_function_space (sc_equal, expr\maths_function.domain,
sc_equal, expr\maths_function.range));
END_IF;
END_IF;
IF (schema_prefix + 'FUNCTION_APPLICATION') IN typenames THEN
RETURN (expr\function_application.func.range);
END_IF;
IF (schema_prefix + 'MATHS_SPACE') IN typenames THEN
IF expression_is_constant (expr) THEN
RETURN (make_finite_space ([expr]));
ELSE
RETURN (make_elementary_space (es_maths_spaces));
END_IF;
END_IF;
IF (schema_prefix + 'DEPENDENT_VARIABLE_DEFINITION') IN typenames THEN
RETURN (values_space_of (expr\unary_generic_expression.operand));
END_IF;
IF (schema_prefix + 'COMPLEX_NUMBER_LITERAL') IN typenames THEN
RETURN (make_finite_space ([expr]));
END_IF;
IF (schema_prefix + 'LOGICAL_LITERAL') IN typenames THEN
RETURN (make_finite_space ([expr\logical_literal.lit_value]));
END_IF;
IF (schema_prefix + 'BINARY_LITERAL') IN typenames THEN
RETURN (make_finite_space ([expr\binary_literal.lit_value]));
END_IF;
IF (schema_prefix + 'MATHS_ENUM_LITERAL') IN typenames THEN
RETURN (make_finite_space ([expr\maths_enum_literal.lit_value]));
END_IF;
IF (schema_prefix + 'REAL_TUPLE_LITERAL') IN typenames THEN
RETURN (make_finite_space ([expr\real_tuple_literal.lit_value]));
END_IF;
IF (schema_prefix + 'INTEGER_TUPLE_LITERAL') IN typenames THEN
RETURN (make_finite_space ([expr\integer_tuple_literal.lit_value]));
END_IF;
IF (schema_prefix + 'ATOM_BASED_LITERAL') IN typenames THEN
RETURN (make_finite_space ([expr\atom_based_literal.lit_value]));
END_IF;
IF (schema_prefix + 'MATHS_TUPLE_LITERAL') IN typenames THEN
RETURN (make_finite_space ([expr\maths_tuple_literal.lit_value]));
END_IF;
IF (schema_prefix + 'PARTIAL_DERIVATIVE_EXPRESSION') IN typenames THEN
RETURN (drop_numeric_constraints (values_space_of (
expr\partial_derivative_expression.derivand)));
END_IF;
IF (schema_prefix + 'DEFINITE_INTEGRAL_EXPRESSION') IN typenames THEN
RETURN (drop_numeric_constraints (values_space_of (
expr\definite_integral_expression.integrand)));
END_IF;
RETURN (?);
END_FUNCTION;
Referenced By
Defintion values_space_of is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:20:10-04:00