Overview Schemas Index

MATHEMATICAL_FUNCTIONS_SCHEMA (jsdai.SMathematical_functions_schema)


FUNCTION derive_elementary_function_range
          (ef_val : elementary_function_enumerators) : tuple_space;

IF NOT EXISTS (ef_val) THEN  RETURN  (?);  END_IF;
  CASE ef_val OF
  ef_and : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_or : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_not : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_xor : RETURN  (make_uniform_product_space (the_logicals, 2));
  ef_negate_i : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_add_i : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_subtract_i : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_multiply_i : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_divide_i : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_mod_i : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_exponentiate_i : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_eq_i : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_ne_i : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_gt_i : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_lt_i : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_ge_i : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_le_i : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_abs_i : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_if_i : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_negate_r : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_reciprocal_r : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_add_r : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_subtract_r : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_multiply_r : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_divide_r : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_mod_r : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_exponentiate_r : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_exponentiate_ri : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_eq_r : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_ne_r : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_gt_r : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_lt_r : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_ge_r : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_le_r : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_abs_r : RETURN  (make_uniform_product_space (the_nonnegative_reals, 1));
  ef_acos_r : RETURN  (make_uniform_product_space (the_zero_pi_interval, 1));
  ef_asin_r : RETURN  (make_uniform_product_space (the_neghalfpi_halfpi_interval, 1));
  ef_atan2_r : RETURN  (make_uniform_product_space (the_negpi_pi_interval, 1));
  ef_cos_r : RETURN  (make_uniform_product_space (the_neg1_one_interval, 1));
  ef_exp_r : RETURN  (make_uniform_product_space (the_nonnegative_reals, 1));
  ef_ln_r : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_log2_r : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_log10_r : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_sin_r : RETURN  (make_uniform_product_space (the_neg1_one_interval, 1));
  ef_sqrt_r : RETURN  (make_uniform_product_space (the_nonnegative_reals, 1));
  ef_tan_r : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_if_r : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_negate_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_reciprocal_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_add_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_subtract_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_multiply_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_divide_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_exponentiate_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_exponentiate_ci : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_eq_c : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_ne_c : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_conjugate_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_abs_c : RETURN  (make_uniform_product_space (the_nonnegative_reals, 1));
  ef_arg_c : RETURN  (make_uniform_product_space (the_negpi_pi_interval, 1));
  ef_cos_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_exp_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_ln_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_sin_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_sqrt_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_tan_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_if_c : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_subscript_s : RETURN  (make_uniform_product_space (the_strings, 1));
  ef_eq_s : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_ne_s : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_gt_s : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_lt_s : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_ge_s : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_le_s : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_subsequence_s : RETURN  (make_uniform_product_space (the_strings, 1));
  ef_concat_s : RETURN  (make_uniform_product_space (the_strings, 1));
  ef_size_s : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_format : RETURN  (make_uniform_product_space (the_strings, 1));
  ef_value : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_like : RETURN  (make_uniform_product_space (the_booleans, 1));
  ef_if_s : RETURN  (make_uniform_product_space (the_strings, 1));
  ef_subscript_b : RETURN  (make_uniform_product_space (the_binarys, 1));
  ef_eq_b : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_ne_b : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_gt_b : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_lt_b : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_ge_b : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_le_b : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_subsequence_b : RETURN  (make_uniform_product_space (the_binarys, 1));
  ef_concat_b : RETURN  (make_uniform_product_space (the_binarys, 1));
  ef_size_b : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_if_b : RETURN  (make_uniform_product_space (the_binarys, 1));
  ef_subscript_t : RETURN  (make_uniform_product_space (the_generics, 1));
  ef_eq_t : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_ne_t : RETURN  (make_uniform_product_space (the_logicals, 1));
  ef_concat_t : RETURN  (make_uniform_product_space (the_tuples, 1));
  ef_size_t : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_entuple : RETURN  (make_uniform_product_space (the_tuples, 1));
  ef_detuple : RETURN  (the_tuples);
  ef_insert : RETURN  (make_uniform_product_space (the_tuples, 1));
  ef_remove : RETURN  (make_uniform_product_space (the_tuples, 1));
  ef_if_t : RETURN  (make_uniform_product_space (the_tuples, 1));
  ef_sum_it : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_product_it : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_add_it : RETURN  (make_uniform_product_space (the_integer_tuples, 1));
  ef_subtract_it : RETURN  (make_uniform_product_space (the_integer_tuples, 1));
  ef_scalar_mult_it : RETURN  (make_uniform_product_space (the_integer_tuples, 1));
  ef_dot_prod_it : RETURN  (make_uniform_product_space (the_integers, 1));
  ef_sum_rt : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_product_rt : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_add_rt : RETURN  (make_uniform_product_space (the_real_tuples, 1));
  ef_subtract_rt : RETURN  (make_uniform_product_space (the_real_tuples, 1));
  ef_scalar_mult_rt : RETURN  (make_uniform_product_space (the_real_tuples, 1));
  ef_dot_prod_rt : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_norm_rt : RETURN  (make_uniform_product_space (the_reals, 1));
  ef_sum_ct : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_product_ct : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_add_ct : RETURN  (make_uniform_product_space (the_complex_tuples, 1));
  ef_subtract_ct : RETURN  (make_uniform_product_space (the_complex_tuples, 1));
  ef_scalar_mult_ct : RETURN  (make_uniform_product_space (the_complex_tuples, 1));
  ef_dot_prod_ct : RETURN  (make_uniform_product_space (the_complex_numbers, 1));
  ef_norm_ct : RETURN  (make_uniform_product_space (the_nonnegative_reals, 1));
  ef_if : RETURN  (make_uniform_product_space (the_generics, 1));
  ef_ensemble : RETURN  (make_uniform_product_space (the_maths_spaces, 1));
  ef_member_of : RETURN  (make_uniform_product_space (the_logicals, 1));
  OTHERWISE : RETURN (?);
  END_CASE;

END_FUNCTION; -- derive_elementary_function_range

public class FDerive_elementary_function_range
          public static Value run(SdaiContext _context, Value ef_val)