Sindbad~EG File Manager

Current Path : /usr/home/beeson/MathXpert/automode/
Upload File :
Current File : /usr/home/beeson/MathXpert/automode/menusize.c

/* M. Beeson, for Mathpert.  This file specifies the
size of each of Mathpert's command menus.

7.16.91 file created by extraction from cmdmenus.c
1.10.00 last modified
2.27.00 added series_convergence2
4.2.00  modified for absolute_value_ineq2
3.8.01  modifed for automode_only since preparetocancel was added
3.9.01  modified for signed_fractions menu
6.16.04 modified for definite_integration menu
6.24.04 added four operations to complex_numbers menu
1.23.06 added two operations to advanced_sigma_notation menu
1.27.06 three new operations in sg_function2
1.14.11 six new operations in inverse_hyperbolic
5.13.13  a whole new menu of power series operations
5.17.13 one new operation in numerical_calculation
5.24.13 another one in numerical_calculation
        and 3 more in series_bernoulli
6.3.13  added one more in signed_fractions
6.4.13 added one more in log_ineq4;  one more in fractional_exponents
6.5.13  one more in log_ineq4
6.11.13  four more in series_bernoulli
10.8.24  added factorquadraticwithdisplay in factor_expansion
         and intsubwithdisplay in integrate_by_substitution
12.9.24  added factorbydemoivre
1.26.25  increased size of basic_trig because cottocscsec has been added
*/

/* To change a menu:  (1) change the text in file mtext.c  (and the translations) 
                      (2) change needs_arg etc. in getarg.c so the numbers
                          correspond to the choices, only necessary if there's
                          an op below the one you're adding or deleting
                          that requires an arg.
                      (3) change menusize in this file to reflect the new size
                      (4) change optable in opdef.c
                      (5) add prototypes of any new operators to trig.h, calc.h, or ops.h
                      (6) adjust the status-line text (and its translations) in ophelp1.c or ophelp2.c
                      (7) adjust the hint text in hints.c or hints2.c and in all translations

   To add a menu:     (1) change the typedef in operator.h
                      (2) change menus_needed
                      (3) do the things needed to change a menu
                      (4) change the array menutitles to give your new menu a title
                      (5) changes MAXMENUS in mtext.h
*/

#include "operator.h"
#include "mtext.h"
#include "terms.h"
#include "cmdmenus.h"
#include "userfunc.h"
#include "menusize.h"

/*_________________________________________________________________*/

void menusize(int i, int *n)
/* get number of items, + 1, of i-th command menu.  The
number of items can be at most 16, in which case this function
returns 17.
 */
{  if( i < factoring)
   switch(i)
     {  case numerical_calculation1: *n = 14; return;
        case numerical_calculation2: *n = 8; return;
        case complex_arithmetic:    *n = 17; return;
        case simplify_sums:         *n = 16; return;
        case simplify_products:     *n = 17; return;
        case expand_menu:           *n = 5;  return;
        case fractions:             *n = 17; return;
        case signed_fractions:      *n = 15;  return;
        case compound_fractions:    *n = 9 ; return;
        case common_denominators:   *n = 13; return;
        case exponents:             *n = 17; return;
        case expand_powers:         *n = 12;  return;
        case negative_exponents:    *n = 13; return;
        case square_roots:          *n = 17; return;
        case advanced_square_roots: *n = 16; return;
        case fractional_exponents:  *n = 17; return;
        case nth_roots:             *n = 17; return;
        case roots_of_roots:        *n = 5;  return;
        case roots_and_fractions:   *n = 17;  return;
        case complex_numbers:       *n = 17; return;
     }
   if( i < trig_ineq)   /* algebra menus */
   switch(i)
    {   case factoring:             *n = 17; return;
        case advanced_factoring:    *n = 17; return;
        case solve_equations:       *n = 17; return;
        case quadratic_equations:   *n = 10;  return;
        case numerical_equations:   *n = 3;  return;
        case advanced_equations:    *n = 17; return;
        case cubic_equations:       *n = 14; return;
        case logarithmic_equations: *n = 9;  return;
        case cramers_rule:          *n = 3;  return;
        case several_linear_equations: *n = 15; return;
        case linear_equations_by_selection: *n = 17; return;
        case selection_mode_only:  *n = 5; return;
        case linear_equations_by_substitution: *n = 10; return;
        case matrix_methods:       *n = 16; return;
        case advanced_matrix_methods: *n = 6; return;
        case absolute_value:       *n = 17; return;
        case absolute_value_ineq1:  *n = 17; return;
        case absolute_value_ineq2:  *n = 16; return;
        case less_than:            *n = 17; return;
        case greater_than:         *n = 8; return;
        case less_than_or_equals:  *n = 16; return;
        case greater_than_or_equals: *n = 7; return;
        case square_ineq1:         *n = 15; return;
        case square_ineq2:         *n = 15; return;
        case recip_ineq1:          *n = 11; return;
        case recip_ineq2:          *n = 11; return;
        case root_ineq1:           *n = 14; return;
        case root_ineq2:           *n = 14; return;
        case zero_ineq1:           *n = 11; return;
        case zero_ineq2:           *n = 11; return;
        case square_ineq3:         *n = 12;  return;
        case square_ineq4:         *n = 12;  return;
        case recip_ineq3:          *n = 5;  return;
        case recip_ineq4:          *n = 5;  return;
        case root_ineq3:           *n = 13; return;
        case root_ineq4:           *n = 13; return;
        case zero_ineq3:           *n = 9; return;
        case zero_ineq4:           *n = 9; return;
        case binomial_theorem:     *n = 17; return;
        case factor_expansion:     *n = 8;  return;
        case sigma_notation:       *n = 17; return;
        case advanced_sigma_notation: *n = 14; return;
        case prove_by_induction:   *n = 6; ; return;
    }
   else if( i < limits)
   switch(i)
    {   case trig_ineq:            *n = 8; return;
        case log_ineq1:            *n = 8; return;
        case log_ineq2:            *n = 8; return;
        case log_ineq3:            *n = 8; return;
        case log_ineq4:            *n = 10; return;
        case logarithms_base10:    *n = 12;  return;
        case logarithms:           *n = 17; return;
        case logarithms_base_e:    *n = 7;  return;
        case natural_logarithms:   *n = 16; return;
        case reverse_trig:         *n = 14;  return;
        case complex_polar_form:   *n = 12;  return;
        case logs_to_any_base:     *n = 17; return;
        case change_base:          *n = 10;  return;
        case evaluate_trig_function: *n = 16; return;
        case basic_trig:           *n = 9;  return;
        case trig_reciprocals:     *n = 12; return;
        case trig_squares:         *n = 17; return;
        case csc_and_cot_identities: *n = 10;  return;
        case trig_sum:             *n = 9; return;
        case double_angle:         *n = 14; return;
        case multiple_angles:      *n = 7; return;
        case verify_identities:    *n = 16; return;
        case solve_by_30_60_90:    *n = 13; return;
        case solve_by_45_45_90:    *n = 7; return;
        case zeroes_of_trig_functions: *n = 9; return;
        case inverse_trig_functions:  *n = 17; return;
        case adding_arctrig_functions:   *n = 3;return;
        case complementary_trig:   *n = 13 ; return;
        case complementary_degrees: *n = 16; return;
        case trig_odd_and_even:    *n = 13; return;
        case trig_periodic:        *n = 15; return;
        case invsimp:              *n = 17; return;
        case half_angle_identities: *n = 15; return;
        case product_and_factor_identities: *n = 11; return;
    }
   else
   switch(i)
    {   case limits:                *n = 17;  return;
        case limits_of_quotients:   *n = 14;  return;
        case lhopitalmenu:          *n = 10;  return;
        case quotients_of_roots:    *n = 9;   return;
        case advanced_limits:       *n = 17;  return;
        case logarithmic_limits:    *n = 13;   return;
        case limits_at_infinity:    *n = 17;  return;
        case special_limits:        *n = 16;  return;
        case hyper_limits:          *n = 5;   return;
        case infinite_limits:       *n = 13;  return;
        case infinities:            *n = 13;  return;
        case zero_denom:            *n = 13;   return;
        case more_infinities:       *n = 14;  return;
        case polynomial_derivs:     *n = 9;   return;
        case derivatives:           *n = 16;  return;
        case dif_trig:              *n = 7;   return;
        case dif_explog:            *n = 13;  return;
        case dif_inversetrig:       *n = 14;  return;
        case chain_rule:            *n = 13;  return;
        case minima_and_maxima:     *n = 16;  return;
        case implicit_diff:         *n = 4;   return;
        case related_rates:         *n = 5;  return;
        case simplify:              *n = 15;  return;
        case higher_derivatives:    *n = 8;   return;
        case basic_integration:     *n = 17;  return;
        case trig_integration:      *n = 13;  return;
        case trig_integration2:     *n = 13;  return;
        case integrate_exp:         *n = 10;   return;
        case integrate_by_substitution: *n = 12; return;
        case integrate_by_parts:    *n = 9;   return;
        case fundamental_theorem:   *n = 3;   return;
        case definite_integration:  *n = 10;   return;
        case improper_integrals:    *n = 7;   return;
        case oddandeven:            *n = 3;   return;
        case trig_substitutions:    *n = 10;  return;
        case trigonometric_integrals: *n = 14;return;
        case trigrationalize:       *n = 7; ; return;
        case integrate_rational:    *n = 15;  return;
        case integrate_sqrtdenom:   *n = 6;   return;
        case integrate_arctrig:     *n = 9;   return;
        case simplify_calculus:     *n = 14;  return;
        case integrate_hyperbolic:  *n = 7;   return;
        case series_geom1:          *n = 13;  return;
        case series_geom2:          *n = 13;  return;
        case series_geom3:          *n = 13;  return;
        case series_geom4:          *n = 13;  return;
        case series_geom5:          *n = 13;   return;
        case series_ln:             *n = 13;  return;
        case series_trig:           *n = 13;  return;
        case series_atan:           *n = 13;   return;
        case series_exp:            *n = 13;  return;
        case series_bernoulli:      *n = 17;  return;
        case series_appearance:     *n = 11;   return;
        case series_algebra:        *n = 12;   return;
        case series_manipulations:  *n = 17;  return;
        case series_convergence_tests: *n = 17;return;
        case series_convergence2:   *n = 7;   return;
        case complex_functions:     *n = 17;  return;
        case complex_hyperbolic:    *n = 15;   return;
        case hyperbolic_functions:  *n = 15;  return;
        case hyperbolic2:           *n = 8;   return;
        case more_hyperbolic:       *n = 17;  return;
        case inverse_hyperbolic:    *n = 10;   return;
        case dif_hyperbolic:        *n = 9;   return;
        case dif_inversehyperbolic: *n = 7;   return;
        case sg_function1:          *n = 17;  return;
        case sg_function2:          *n = 10;  return;
        case bessel_functions:      *n = 7;   return;
        case modified_bessel_functions: *n = 7; return;
        case automode_only:         *n = 16;  return;
        case automode_only2:        *n = 15;  return;
        case automode_only3:        *n = 7;   return;
        case functions_menu:         *n = nuserfunctions()+1; return;
    }
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists