FUNCTION derive_elementary_function_range

(* SCHEMA step_merged_ap_schema; *)
-- IN AP238 STEP-NC/AP242
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;

Referenced By

Defintion derive_elementary_function_range is references by the following definitions:
DefinitionType
 derive_function_range FUNCTION


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2020-07-28T17:02:20-04:00