FUNCTION no_cyclic_domain_reference

(* SCHEMA step_merged_ap_schema; *)
-- IN AP242
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
2017-01-19T11:17:24-05:00