TABLE OF CONTENTS


::pwtk::card_math_parser

SYNOPSIS

proc ::pwtk::input::card_math_parser {content} {

PURPOSE

Generic math parser for cards

SOURCE

    set parsedContent ""
    foreach line [split $content \n] {

        set  parsedLine ""

        foreach field $line {       
            if { [catch {::pwtk::mathParser $field}] } {
                # not a number (string)
                append parsedLine "  $field "
            } elseif { [string is integer $field] } {
                append parsedLine "  $field "
            } else {
                set parsedNumber [::pwtk::evalExpr $field]
                #set parsedNumber [::pwtk::mathParser $field]
                
                if { ! [string is double $parsedNumber] } {
                    # not a floating point number, print as is
                    append parsedLine "  $field "
                } else {
                    # floating point number
                    append parsedLine "   $parsedNumber "
                    #append parsedLine [format "  %20.16f " $parsedNumber]
                }
            }   
        }
        append parsedContent ${parsedLine}\n
    }
    if { $parsedContent eq {} } { set parsedContent \n }
    
    return $parsedContent
}