changeset 135:50bf17f1ba39

Use MFCalc.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 04 Jun 2013 13:23:14 +0300
parents 089b59f94067
children 76eefceb2b90
files calc.tcl
diffstat 1 files changed, 2 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/calc.tcl	Tue Jun 04 13:22:59 2013 +0300
+++ b/calc.tcl	Tue Jun 04 13:23:14 2013 +0300
@@ -20,10 +20,6 @@
 ##########################################################################
 set calc_message "Calc v0.4 by ccr/TNSP"
 
-#set calc_reps [split "\$|| ||^|**|pi|3.14159265|e|2.71828183" "|"]
-set calc_reps [split "\!||\$||\;||^|**|pi|3.141592653589793238|PI|3.141592653589793238|e|2.71828183" "|"]
-#set calc_reps [split "\!||^|**|pi|3.141592653589793238|PI|3.141592653589793238|e|2.71828183" "|"]
-
 putlog "$calc_message"
 bind pub - !laske calc_pubmsg
 bind msg - laske calc_msg
@@ -37,14 +33,12 @@
 
 # ------------------------------------------------------------------------
 proc calc_do {args} {
-  global calc_reps
 
   # This is something rather perverse
-  set equ [join [join [string map $calc_reps $args] ""] ""]
+  set equ [join [join $args ""] ""]
 
   # Use 'expr' to calculate the result, but catch any exceptions / errors
-  if {[catch {set res [exec -- "/usr/bin/perl" "-e" "printf(\"%f\", $equ);"]} uerrmsg]} {
-    regsub -all " at -e line ." $uerrmsg "" uerrmsg
+  if {[catch {set res [exec -- "/usr/local/bin/mfcalc" "$equ"]} uerrmsg]} {
     return $uerrmsg
   } else {
     return "$equ = $res"