diff --git a/include/prototypes.h b/include/prototypes.h index aa782cf..94ff54d 100644 --- a/include/prototypes.h +++ b/include/prototypes.h @@ -748,7 +748,6 @@ void prime(void); // primetab.cpp // print.cpp -//char* get_tex_flag_address(); void print(U *p); void printline(U *p); void print_subexpr(U *p); diff --git a/src/config.c b/src/config.c index c920494..40bc357 100644 --- a/src/config.c +++ b/src/config.c @@ -10,8 +10,6 @@ #define menu_free_item(item) if(item) free(item->str) -extern int* get_tex_flag_address(); - int test; void draw_menu(Menu* menu) @@ -87,22 +85,22 @@ void draw_menu(Menu* menu) void menu_setup() { - int number = 2; + int number = 1; Menu menu; menu.items = malloc(sizeof(Menu_Item*) * number); menu.items[0] = menu_create_item("About", FUNCTION_CALL, menu_about, (void*)NULL); - menu.items[1] = menu_create_item("Pretty Print", CHECK_BOX, get_tex_flag_address(), save_config); - if(menu.items[0] && menu.items[1]) menu.items_number = number; + //menu.items[1] = menu_create_item("Pretty Print", CHECK_BOX, get_tex_flag_address(), save_config); + if(menu.items[0]/* && menu.items[1]*/) menu.items_number = number; else { menu_free_item(menu.items[0]); - menu_free_item(menu.items[1]); + //menu_free_item(menu.items[1]); } draw_menu(&menu); menu_free_item(menu.items[0]); - menu_free_item(menu.items[1]); + //menu_free_item(menu.items[1]); free(menu.items); } @@ -146,11 +144,11 @@ Menu_Item* menu_create_item(const char* str, Menu_Item_Type type, void* other, v void save_config() { - memory_save(CONFIG_FILE, (int*)get_tex_flag_address(), 4); + //memory_save(CONFIG_FILE, (int*)get_tex_flag_address(), 4); } void load_config() { - if(memory_exists(CONFIG_FILE)) - *(int*)(get_tex_flag_address()) = *((int*)memory_load(CONFIG_FILE)); + //if(memory_exists(CONFIG_FILE)) + // *(int*)(get_tex_flag_address()) = *((int*)memory_load(CONFIG_FILE)); } diff --git a/src/engine/print.cpp b/src/engine/print.cpp index 6e725fb..7520a57 100644 --- a/src/engine/print.cpp +++ b/src/engine/print.cpp @@ -1,32 +1,13 @@ -// tty style printing - #include "stdafx.h" #include "defs.h" #include "console.h" -#include "tex/TeX.h" - -#define TEX 1 -#define MAX_TEX_WIDTH 110 -#define MAX_TEX_HEIGHT 50 - -//char* get_tex_flag_address(); - -int tex_flag = 1; - int out_index, out_length; char *out_str; static int char_count, last_char; char *power_str = "^"; -extern "C"{ -int* get_tex_flag_address() -{ - return &tex_flag; -} -} - void print(U *p) { @@ -36,23 +17,7 @@ print(U *p) void printline(U *p) { - int old_tex_flag = tex_flag; -#ifdef TEX - int width, height, baseline; - char* edit_line = (char*)Console_GetEditLine(); - //tex_flag = 1; -#endif print_expr(p); -#ifdef TEX - TeX_sizeComplex(edit_line, &width, &height, &baseline); - /*if(width > MAX_TEX_WIDTH || height > MAX_TEX_HEIGHT) { - tex_flag = 0; - Console_Clear_EditLine(); - print_expr(p); - }*/ - - tex_flag = old_tex_flag; -#endif } void @@ -150,10 +115,6 @@ print_a_over_b(U *p) p1 = cdr(p1); } -//#ifdef TEX - if(tex_flag) print_str("\\frac{"); -//#endif - if (n == 0) print_char('1'); else { @@ -179,19 +140,13 @@ print_a_over_b(U *p) } } -//#ifdef TEX - if(tex_flag) print_str("}{"); - else { -//#else - if (test_flag == 0) - print_str(" / "); - else - print_str("/"); + if (test_flag == 0) + print_str(" / "); + else + print_str("/"); - if (d > 1) - print_char('('); - } -//#endif + if (d > 1) + print_char('('); flag = 0; p1 = cdr(p); @@ -215,15 +170,6 @@ print_a_over_b(U *p) p1 = cdr(p1); } -//#ifdef TEX - -//#else - if(!tex_flag && d > 1) //if (d > 1) - print_char(')'); - - if(tex_flag) print_str("}"); -//#endif - restore(); } @@ -231,7 +177,6 @@ void print_term(U *p) { U* p_sqrt = NULL; - int sqrt_factor_number = 0, non_sqrt_factor_number = 0, i = 0; if (car(p) == symbol(MULTIPLY) && any_denominators(p)) { print_a_over_b(p); @@ -248,78 +193,6 @@ print_term(U *p) p = cdr(p); } -#if 0 -#ifdef TEX - p_sqrt = p; //temp buffer - sqrt_factor_number = 0; - non_sqrt_factor_number = 0; - - //Get the number of factor which are square root of something - while(iscons(p_sqrt) || isnum(p_sqrt)){ - if(caar(p_sqrt) == symbol(POWER) && equalq(caddar(p), 1, 2)) sqrt_factor_number++; - else non_sqrt_factor_number++; - p_sqrt = cdr(p_sqrt); - } - - p_sqrt = p; - - if(sqrt_factor_number > 1) { - //First, print the factor wich are not square root of something - if(non_sqrt_factor_number) { - //Print the first wich is not square root of something - while (iscons(p_sqrt) || isnum(p_sqrt)) { - if(!(caar(p_sqrt) == symbol(POWER) && equalq(caddar(p), 1, 2))) { - print_factor(cdar(p_sqrt)); - break; - } - else p_sqrt = cdr(p_sqrt); - } - - p_sqrt = cdr(p_sqrt); - i++; - //Print the other ones - while ((iscons(p_sqrt) || isnum(p_sqrt)) && i < non_sqrt_factor_number) { - if(!(caar(p_sqrt) == symbol(POWER) && equalq(caddar(p), 1, 2))){ - print_multiply_sign(); - print_factor(cdar(p_sqrt)); - p_sqrt = cdr(p_sqrt); - i++; - } - } - } - - p_sqrt = p; - i = 0; - - print_str("\\sqrt{"); - - while (iscons(p_sqrt) || isnum(p_sqrt)) { - if(caar(p_sqrt) == symbol(POWER) && equalq(caddar(p), 1, 2)) { - print_expr(cadar(p_sqrt)); - i++; - break; - } - p_sqrt = cdr(p_sqrt); - } - - p_sqrt = cdr(p_sqrt); - - while ((iscons(p_sqrt) || isnum(p_sqrt)) && i < sqrt_factor_number) { - if(caar(p_sqrt) == symbol(POWER) && equalq(caddar(p), 1, 2)) { - print_multiply_sign(); - print_expr(cadar(p_sqrt)); - i++; - p_sqrt = cdr(p_sqrt); - } - } - - print_str("}"); - - return; - } -#endif // TeX -#endif // 0 - print_factor(car(p)); p = cdr(p); while (iscons(p)) { @@ -351,16 +224,6 @@ print_denom(U *p, int d) if (d == 1 && !isminusone(EXPO)) print_char('('); -#ifdef TEX - if (tex_flag && equalq(EXPO, -1, 2)) { - print_str("\\sqrt{"); - print_expr(BASE); - print_str("}"); - restore(); - return; - } -#endif - if (isfraction(BASE) || car(BASE) == symbol(ADD) || car(BASE) == symbol(MULTIPLY) || car(BASE) == symbol(POWER) || lessp(BASE, zero)) { print_char('('); print_expr(BASE); @@ -437,8 +300,7 @@ print_factor(U *p) if (isminusone(caddr(p))) { if (test_flag == 0) - if(tex_flag) print_str("\\frac{1}{"); - else print_str("1 / "); + print_str("1 / "); else { print_str("1/"); } @@ -449,27 +311,9 @@ print_factor(U *p) } else print_expr(cadr(p)); - if(tex_flag) print_str("}"); return; } -#ifdef TEX - if (tex_flag && equalq(caddr(p), 1, 2)) { - print_str("\\sqrt{"); - print_expr(cadr(p)); - print_str("}"); - return; - } - - if (tex_flag && equalq(caddr(p), -1, 2)) { - print_str("\\frac{1}{\\sqrt{"); - print_expr(cadr(p)); - //if(caddr) - print_str("}}"); - return; - } -#endif - if (isadd(cadr(p)) || caadr(p) == symbol(MULTIPLY) || caadr(p) == symbol(POWER) || isnegativenumber(cadr(p))) { print_str("("); print_expr(cadr(p)); @@ -502,22 +346,6 @@ print_factor(U *p) return; } -// if (car(p) == _list) { -// print_str("{"); -// p = cdr(p); -// if (iscons(p)) { -// print_expr(car(p)); -// p = cdr(p); -// } -// while (iscons(p)) { -// print_str(","); -// print_expr(car(p)); -// p = cdr(p); -// } -// print_str("}"); -// return; -// } - if (car(p) == symbol(INDEX) && issymbol(cadr(p))) { print_index_function(p); return; @@ -529,10 +357,6 @@ print_factor(U *p) } if (iscons(p)) { - //if (car(p) == symbol(FORMAL) && cadr(p)->k == SYM) { - // print_str(((struct symbol *) cadr(p))->name); - // return; - //} print_factor(car(p)); p = cdr(p); print_str("("); @@ -555,17 +379,9 @@ print_factor(U *p) if (p == symbol(DERIVATIVE)) print_char('d'); else if (p == symbol(E)) -#ifdef ARM9 - print_str("\235(1)"); -#else print_str("e"); -#endif else if (p == symbol(PI)) -#ifdef ARM9 - print_str("\233"); -#else - Console_Output((const unsigned char *)"pi"); -#endif + print_str("pi"); else print_str(get_printname(p)); } @@ -643,10 +459,7 @@ print_char(int c) { last_char = c; char_count++; -// if (display_flag == 1) -// displaychar(c); -// else - printchar(c); + printchar(c); } void