FUNCTION no_cyclic_domain_reference
(* SCHEMA FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_MIM_LF; *)
FUNCTION no_cyclic_domain_reference(ref : maths_space_or_function; used : SET
OF maths_function) : BOOLEAN;
LOCAL
typenames : SET OF STRING := TYPEOF(ref);
func : maths_function;
END_LOCAL;
IF NOT EXISTS(ref) OR NOT EXISTS(used) THEN
RETURN (FALSE);
END_IF;
IF schema_prefix + 'MATHS_SPACE' IN typenames THEN
RETURN (TRUE);
END_IF;
func := ref;
IF func IN used THEN
RETURN (FALSE);
END_IF;
IF schema_prefix + 'CONSTANT_FUNCTION' IN typenames THEN
RETURN (no_cyclic_domain_reference(func\constant_function.source_of_domain
, used + [func]));
END_IF;
IF schema_prefix + 'SELECTOR_FUNCTION' IN typenames THEN
RETURN (no_cyclic_domain_reference(func\selector_function.source_of_domain
, used + [func]));
END_IF;
IF schema_prefix + 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN
RETURN (no_cyclic_domain_reference(func\parallel_composed_function.
source_of_domain, used + [func]));
END_IF;
RETURN (TRUE);
END_FUNCTION;
Referenced By
Defintion no_cyclic_domain_reference is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:17:33-04:00