chiark / gitweb /
symbolic.py: turn into a module
[moebius3.git] / gensymbolic
diff --git a/gensymbolic b/gensymbolic
new file mode 100755 (executable)
index 0000000..e0f08ee
--- /dev/null
@@ -0,0 +1,30 @@
+#!/usr/bin/python3
+
+import sys, codecs
+from optparse import OptionParser
+
+import sympy
+
+import symbolic
+from moedebug import dbg_enable, dbg
+
+opt_parser = OptionParser()
+opt_parser.add_option('-q',dest='quiet',action='store_true',
+                      default=False,help='suppress diagnostic output')
+opt_parser.add_option('-7',dest='ascii',action='store_true',
+                      default=False,help='use 7-bit output only')
+opt_parser.add_option('-w',dest='width',action='store',type='int',
+                      default=80,help='width for printing')
+(options, args) = opt_parser.parse_args()
+assert(not len(args))
+
+if (not options.ascii) and sys.stdout.encoding is None:
+  sys.stdout = codecs.open("/dev/stdout", "w", 'utf-8')
+
+dbg_enable = not options.quiet
+if dbg_enable:
+  sympy.init_printing(use_unicode=(not options.ascii),
+                      num_columns=options.width)
+
+symbolic.calculate()
+symbolic.gen_C()