|
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) |