Overview Schemas Index

MATHEMATICAL_FUNCTIONS_SCHEMA (jsdai.SMathematical_functions_schema)


FUNCTION definite_integral_expr_check
          (operands : LIST [2:?] OF generic_expression, lowerinf : BOOLEAN, upperinf : BOOLEAN) : BOOLEAN;

LOCAL
    nops : INTEGER := 2;
    vspc : maths_space;
    dim : nonnegative_integer;
    k : positive_integer;
    bspc : maths_space;
  END_LOCAL;
  IF  NOT  lowerinf THEN   nops := nops + 1;  END_IF;
  IF  NOT  upperinf THEN   nops := nops + 1;  END_IF;
  IF  SIZEOF (operands) <> nops THEN   RETURN  (FALSE);  END_IF;
  IF  NOT  ('GENERIC_VARIABLE' IN  stripped_typeof(operands[2])) THEN
    RETURN  (FALSE);
  END_IF;
  IF  NOT  has_values_space (operands[2]) THEN   RETURN  (FALSE);  END_IF;
  vspc := values_space_of (operands[2]);
  IF  NOT  ('REAL_INTERVAL' IN stripped_typeof(vspc)) THEN   RETURN  (FALSE);  END_IF;
  IF  lowerinf THEN
    IF  min_exists (vspc) THEN   RETURN  (FALSE);  END_IF;
    k := 3;
  ELSE
    IF  NOT  has_values_space (operands[3]) THEN   RETURN  (FALSE);  END_IF;
    bspc := values_space_of (operands[3]);
    IF  NOT  compatible_spaces (bspc, vspc) THEN   RETURN  (FALSE);  END_IF;
    k := 4;
  END_IF;
  IF  upperinf THEN
    IF  max_exists (vspc) THEN   RETURN  (FALSE);  END_IF;
  ELSE
    IF  NOT  has_values_space (operands[k]) THEN   RETURN  (FALSE);  END_IF;
    bspc := values_space_of (operands[k]);
    IF NOT compatible_spaces (bspc, vspc) THEN  RETURN  (FALSE);  END_IF;
  END_IF;
  RETURN (TRUE);

END_FUNCTION; -- definite_integral_expr_check

public class FDefinite_integral_expr_check
          public static Value run(SdaiContext _context, Value operands, Value lowerinf, Value upperinf)