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:
DefinitionType
 constant_function ENTITY
 parallel_composed_function ENTITY
 selector_function ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:17:33-04:00