def main(argv): if len(argv) == 1: text = sys.stdin.read() elif len(argv) == 2: with open(argv[1], "r") as f: text = f.read() if text.strip() == "": text = "(FPCore (x) :pre (<= 1/100 x 1/2) (/ (- (exp x) 1) x))" parsed = parse(text)[0] parsed.remove_let() parsed.set_name() parsed.extract_input_domains() query = parsed.to_fptaylor() result = FPTaylorResult(query, ERROR_FORM_CONFIG) logger.set_log_level(Logger.EXTRA) logger.blog("Input text", text) parsed.match_fptaylor_forms(result) def print_forms(e): logger.log("{} = {}", e.name, e.name_val()) for wrt, form in e.forms.items(): for k,v in form.items(): logger.log(" form wrt {} {}: {}", wrt, k, v) parsed.expression.for_each(print_forms)
def main(argv): logger.set_log_level(Logger.EXTRA) if len(argv) == 1: text = sys.stdin.read() elif len(argv) == 2: with open(argv[1], "r") as f: text = f.read() if text.strip() == "": text = "(FPCore (x) :pre (<= 1/100 x 1/2) (/ (- (exp x) 1) x))" logger.blog("Input text", text) parsed = parse(text)[0] parsed.remove_let() logger.blog("Removed lets", parsed)
def main(argv): logger.set_log_level(Logger.EXTRA) if len(argv) == 1: text = sys.stdin.read() elif len(argv) == 2: with open(argv[1], "r") as f: text = f.read() if text.strip() == "": text = ("(FPCore (x) :pre (<= 101/100 x 3/2)" " (+ (- (exp x) 1) (log (+ 1 x))))") logger.blog("Input text", text) parsed = parse(text)[0] parsed.replace_exp_log() logger.blog("Replaced log/exp", parsed)
def main(argv): logger.set_log_level(Logger.EXTRA) if len(argv) == 1: text = sys.stdin.read() elif len(argv) == 2: with open(argv[1], "r") as f: text = f.read() if text.strip() == "": text = "(FPCore (x) :pre (<= 1/100 x 1/2) (/ (- (exp x) 1) x))" logger.blog("Input text", text) parsed = parse(text)[0] parsed.remove_let() parsed.set_name() parsed.extract_input_domains() logger.blog("FPTaylor_query", parsed.to_fptaylor())
def main(argv): logger.set_log_level(Logger.EXTRA) if len(argv) == 1: text = sys.stdin.read() elif len(argv) == 2: with open(argv[1], "r") as f: text = f.read() if text.strip() == "": text = "(FPCore (x) :pre (<= 1/100 x 1/2) (/ (- (exp x) 1) x))" logger.blog("Input text", text) parsed = parse(text)[0] parsed.remove_let() parsed.set_name() print_name_assignment = lambda e: logger.log("{} = {}", e.name, e.name_val( )) parsed.expression.for_each(print_name_assignment)
def main(argv): logger.set_log_level(Logger.EXTRA) if len(argv) == 1: text = sys.stdin.read() elif len(argv) == 2: with open(argv[1], "r") as f: text = f.read() if text.strip() == "": text = "(FPCore (x) :pre (<= 1/100 x 1/2) (let ([y (sin x)]) (+ y y)))" logger.blog("Input text", text) parsed = parse(text)[0] parsed.remove_let() parsed.set_name() parsed.extract_input_domains() parsed.mark_duplicates() logger.blog("AST nodes", parsed.pretty_internals())
def main(argv): logger.set_log_level(Logger.EXTRA) if len(argv) == 1: text = sys.stdin.read() elif len(argv) == 2: with open(argv[1], "r") as f: text = f.read() if text.strip() == "": text = "(FPCore (x) :pre (<= 1/100 x 1/2) (/ (- (exp x) 1) x))" logger.blog("Input text", text) parsed = parse(text)[0] parsed.remove_let() try: parsed.reject_unsupported() logger("FPCore accepted") except UnsupportedFPCoreError as e: logger("Caught unsupported FPCore feature: {}", e.feature)