Overview Schemas Index

MATHEMATICAL_FUNCTIONS_SCHEMA (jsdai.SMathematical_functions_schema)


FUNCTION no_cyclic_domain_reference
          (ref : maths_space_or_function, used : SET [0:?] 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; -- no_cyclic_domain_reference

public class FNo_cyclic_domain_reference
          public static Value run(SdaiContext _context, Value ref, Value used)