FUNCTION derive_elementary_function_domain
(* SCHEMA step_merged_ap_schema; *)
-- IN AP238 STEP-NC/AP242
FUNCTION derive_elementary_function_domain
(ef_val : elementary_function_enumerators ) : tuple_space;
IF NOT EXISTS(ef_val) THEN
RETURN (?);
END_IF;
CASE ef_val OF
ef_and :
RETURN (make_extended_tuple_space(the_zero_tuple_space, the_logicals));
ef_or :
RETURN (make_extended_tuple_space(the_zero_tuple_space, the_logicals));
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 (the_integer_tuples);
ef_subtract_i :
RETURN (make_uniform_product_space(the_integers, 2));
ef_multiply_i :
RETURN (the_integer_tuples);
ef_divide_i :
RETURN (make_uniform_product_space(the_integers, 2));
ef_mod_i :
RETURN (make_uniform_product_space(the_integers, 2));
ef_exponentiate_i :
RETURN (make_uniform_product_space(the_integers, 2));
ef_eq_i :
RETURN (make_uniform_product_space(the_integers, 2));
ef_ne_i :
RETURN (make_uniform_product_space(the_integers, 2));
ef_gt_i :
RETURN (make_uniform_product_space(the_integers, 2));
ef_lt_i :
RETURN (make_uniform_product_space(the_integers, 2));
ef_ge_i :
RETURN (make_uniform_product_space(the_integers, 2));
ef_le_i :
RETURN (make_uniform_product_space(the_integers, 2));
ef_abs_i :
RETURN (make_uniform_product_space(the_integers, 1));
ef_if_i :
RETURN (make_listed_product_space([ the_logicals, the_integers, the_integers ]));
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 (the_real_tuples);
ef_subtract_r :
RETURN (make_uniform_product_space(the_reals, 2));
ef_multiply_r :
RETURN (the_real_tuples);
ef_divide_r :
RETURN (make_uniform_product_space(the_reals, 2));
ef_mod_r :
RETURN (make_uniform_product_space(the_reals, 2));
ef_exponentiate_r :
RETURN (make_listed_product_space([ the_nonnegative_reals, the_reals ]));
ef_exponentiate_ri :
RETURN (make_listed_product_space([ the_reals, the_integers ]));
ef_eq_r :
RETURN (make_uniform_product_space(the_reals, 2));
ef_ne_r :
RETURN (make_uniform_product_space(the_reals, 2));
ef_gt_r :
RETURN (make_uniform_product_space(the_reals, 2));
ef_lt_r :
RETURN (make_uniform_product_space(the_reals, 2));
ef_ge_r :
RETURN (make_uniform_product_space(the_reals, 2));
ef_le_r :
RETURN (make_uniform_product_space(the_reals, 2));
ef_abs_r :
RETURN (make_uniform_product_space(the_reals, 1));
ef_acos_r :
RETURN (make_uniform_product_space(the_neg1_one_interval, 1));
ef_asin_r :
RETURN (make_uniform_product_space(the_neg1_one_interval, 1));
ef_atan2_r :
RETURN (make_uniform_product_space(the_reals, 2));
ef_cos_r :
RETURN (make_uniform_product_space(the_reals, 1));
ef_exp_r :
RETURN (make_uniform_product_space(the_reals, 1));
ef_ln_r :
RETURN (make_uniform_product_space(the_nonnegative_reals, 1));
ef_log2_r :
RETURN (make_uniform_product_space(the_nonnegative_reals, 1));
ef_log10_r :
RETURN (make_uniform_product_space(the_nonnegative_reals, 1));
ef_sin_r :
RETURN (make_uniform_product_space(the_reals, 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_listed_product_space([ the_logicals, the_reals, the_reals ]));
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 (the_complex_tuples);
ef_subtract_c :
RETURN (make_uniform_product_space(the_complex_numbers, 2));
ef_multiply_c :
RETURN (the_complex_tuples);
ef_divide_c :
RETURN (make_uniform_product_space(the_complex_numbers, 2));
ef_exponentiate_c :
RETURN (make_uniform_product_space(the_complex_numbers, 2));
ef_exponentiate_ci :
RETURN (make_listed_product_space([ the_complex_numbers, the_integers ]));
ef_eq_c :
RETURN (make_uniform_product_space(the_complex_numbers, 2));
ef_ne_c :
RETURN (make_uniform_product_space(the_complex_numbers, 2));
ef_conjugate_c :
RETURN (make_uniform_product_space(the_complex_numbers, 1));
ef_abs_c :
RETURN (make_uniform_product_space(the_complex_numbers, 1));
ef_arg_c :
RETURN (make_uniform_product_space(the_complex_numbers, 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_listed_product_space([ the_logicals, the_complex_numbers, the_complex_numbers ]));
ef_subscript_s :
RETURN (make_listed_product_space([ the_strings, the_integers ]));
ef_eq_s :
RETURN (make_uniform_product_space(the_strings, 2));
ef_ne_s :
RETURN (make_uniform_product_space(the_strings, 2));
ef_gt_s :
RETURN (make_uniform_product_space(the_strings, 2));
ef_lt_s :
RETURN (make_uniform_product_space(the_strings, 2));
ef_ge_s :
RETURN (make_uniform_product_space(the_strings, 2));
ef_le_s :
RETURN (make_uniform_product_space(the_strings, 2));
ef_subsequence_s :
RETURN (make_listed_product_space([ the_strings, the_integers, the_integers ]));
ef_concat_s :
RETURN (make_extended_tuple_space(the_zero_tuple_space, the_strings));
ef_size_s :
RETURN (make_uniform_product_space(the_strings, 1));
ef_format :
RETURN (make_listed_product_space([ the_numbers, the_strings ]));
ef_value :
RETURN (make_uniform_product_space(the_strings, 1));
ef_like :
RETURN (make_uniform_product_space(the_strings, 2));
ef_if_s :
RETURN (make_listed_product_space([ the_logicals, the_strings, the_strings ]));
ef_subscript_b :
RETURN (make_listed_product_space([ the_binarys, the_integers ]));
ef_eq_b :
RETURN (make_uniform_product_space(the_binarys, 2));
ef_ne_b :
RETURN (make_uniform_product_space(the_binarys, 2));
ef_gt_b :
RETURN (make_uniform_product_space(the_binarys, 2));
ef_lt_b :
RETURN (make_uniform_product_space(the_binarys, 2));
ef_ge_b :
RETURN (make_uniform_product_space(the_binarys, 2));
ef_le_b :
RETURN (make_uniform_product_space(the_binarys, 2));
ef_subsequence_b :
RETURN (make_listed_product_space([ the_binarys, the_integers, the_integers ]));
ef_concat_b :
RETURN (make_extended_tuple_space(the_zero_tuple_space, the_binarys));
ef_size_b :
RETURN (make_uniform_product_space(the_binarys, 1));
ef_if_b :
RETURN (make_listed_product_space([ the_logicals, the_binarys, the_binarys ]));
ef_subscript_t :
RETURN (make_listed_product_space([ the_tuples, the_integers ]));
ef_eq_t :
RETURN (make_uniform_product_space(the_tuples, 2));
ef_ne_t :
RETURN (make_uniform_product_space(the_tuples, 2));
ef_concat_t :
RETURN (make_extended_tuple_space(the_zero_tuple_space, the_tuples));
ef_size_t :
RETURN (make_uniform_product_space(the_tuples, 1));
ef_entuple :
RETURN (the_tuples);
ef_detuple :
RETURN (make_uniform_product_space(the_generics, 1));
ef_insert :
RETURN (make_listed_product_space([ the_tuples, the_generics, the_integers ]));
ef_remove :
RETURN (make_listed_product_space([ the_tuples, the_integers ]));
ef_if_t :
RETURN (make_listed_product_space([ the_logicals, the_tuples, the_tuples ]));
ef_sum_it :
RETURN (make_uniform_product_space(the_integer_tuples, 1));
ef_product_it :
RETURN (make_uniform_product_space(the_integer_tuples, 1));
ef_add_it :
RETURN (make_extended_tuple_space(the_integer_tuples, the_integer_tuples));
ef_subtract_it :
RETURN (make_uniform_product_space(the_integer_tuples, 2));
ef_scalar_mult_it :
RETURN (make_listed_product_space([ the_integers, the_integer_tuples ]));
ef_dot_prod_it :
RETURN (make_uniform_product_space(the_integer_tuples, 2));
ef_sum_rt :
RETURN (make_uniform_product_space(the_real_tuples, 1));
ef_product_rt :
RETURN (make_uniform_product_space(the_real_tuples, 1));
ef_add_rt :
RETURN (make_extended_tuple_space(the_real_tuples, the_real_tuples));
ef_subtract_rt :
RETURN (make_uniform_product_space(the_real_tuples, 2));
ef_scalar_mult_rt :
RETURN (make_listed_product_space([ the_reals, the_real_tuples ]));
ef_dot_prod_rt :
RETURN (make_uniform_product_space(the_real_tuples, 2));
ef_norm_rt :
RETURN (make_uniform_product_space(the_real_tuples, 1));
ef_sum_ct :
RETURN (make_uniform_product_space(the_complex_tuples, 1));
ef_product_ct :
RETURN (make_uniform_product_space(the_complex_tuples, 1));
ef_add_ct :
RETURN (make_extended_tuple_space(the_complex_tuples, the_complex_tuples));
ef_subtract_ct :
RETURN (make_uniform_product_space(the_complex_tuples, 2));
ef_scalar_mult_ct :
RETURN (make_listed_product_space([ the_complex_numbers, the_complex_tuples ]));
ef_dot_prod_ct :
RETURN (make_uniform_product_space(the_complex_tuples, 2));
ef_norm_ct :
RETURN (make_uniform_product_space(the_complex_tuples, 1));
ef_if :
RETURN (make_listed_product_space([ the_logicals, the_generics, the_generics ]));
ef_ensemble :
RETURN (the_tuples);
ef_member_of :
RETURN (make_listed_product_space([ the_generics, the_maths_spaces ]));
OTHERWISE :
RETURN (?);
END_CASE;
END_FUNCTION;
Referenced By
Defintion derive_elementary_function_domain is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2024-09-06T14:00:33-04:00