]> www.ginac.de Git - ginac.git/blobdiff - ginsh/ginsh.h
Within mLi_numeric, set signs of the imaginary parts correctly for G_numeric.
[ginac.git] / ginsh / ginsh.h
index fcd00390d9c7dc64d9de3610cab8342992a46249..92a53b45cfc376db329ad7a47f51f2d148a572a4 100644 (file)
@@ -2,7 +2,7 @@
  *
  *  Global definitions for ginsh.
  *
- *  GiNaC Copyright (C) 1999 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2011 Johannes Gutenberg University Mainz, Germany
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
 #ifndef GINSH_H
 #define GINSH_H
 
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <map>
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+#ifdef HAVE_READLINE_READLINE_H
+extern "C" {
+#include <readline/readline.h>
+}
+#endif
+
+#ifdef HAVE_READLINE_HISTORY_H
+extern "C" {
+#include <readline/history.h>
+}
+#endif
+
+#ifdef IN_GINAC
+#include "ginac.h"
+#else
+#include <ginac/ginac.h>
+#endif
+
+using namespace GiNaC;
+
 // yacc stack type
 #define YYSTYPE ex
 
 // lex functions/variables
-extern int yyerror(char *s);
+extern int yyerror(const char *s);
 extern int yylex(void);
-#if YYTEXT_POINTER
 extern char *yytext;
-#else
-extern char yytext[];
-#endif
 extern FILE *yyin;
 
 // List of input files to be processed
@@ -40,7 +66,10 @@ extern int num_files;
 extern char **file_list;
 
 // Table of all used symbols
-typedef map<string, symbol> sym_tab;
+typedef map<string, ex> sym_tab;
 extern sym_tab syms;
 
+// Type of symbols to generate (real or complex)
+extern unsigned symboltype;
+
 #endif