Overview Schemas Index

MATHEMATICAL_FUNCTIONS_SCHEMA (jsdai.SMathematical_functions_schema)


FUNCTION compatible_es_values
          (esval1 : elementary_space_enumerators, esval2 : elementary_space_enumerators) : BOOLEAN;

LOCAL
    esval1_is_numeric, esval2_is_numeric : LOGICAL;
  END_LOCAL;
  IF  (esval1 = esval2) OR  (esval1 = es_generics) OR (esval2 = es_generics) THEN
    RETURN  (TRUE);
  END_IF;
  esval1_is_numeric := (esval1 >= es_numbers) AND  (esval1 <= es_integers);
  esval2_is_numeric := (esval2 >= es_numbers) AND  (esval2 <= es_integers);
  IF  (esval1_is_numeric AND  (esval2 = es_numbers)) OR
    (esval2_is_numeric AND  (esval1 = es_numbers)) THEN
    RETURN  (TRUE);
  END_IF;
  IF  esval1_is_numeric XOR esval2_is_numeric THEN
    RETURN  (FALSE);
  END_IF;
  IF ((esval1 = es_logicals) AND  (esval2 = es_booleans)) OR
    ((esval1 = es_booleans) AND (esval2 = es_logicals)) THEN
    RETURN  (TRUE);
  END_IF;
  -- All other cases are incompatible
  RETURN (FALSE);

END_FUNCTION; -- compatible_es_values

public class FCompatible_es_values
          public static Value run(SdaiContext _context, Value esval1, Value esval2)