cram.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:transmutagen 作者: ergs 项目源码 文件源码
def main():
    parser = argparse.ArgumentParser(description=__doc__)

    parser.add_argument('degree')
    parser.add_argument('prec', type=int)
    parser.add_argument('--division', type=int)
    parser.add_argument('--c', type=float)
    parser.add_argument('--maxsteps', type=int)
    parser.add_argument('--max-loops', type=int)
    parser.add_argument('--convergence-value', type=mpmath.mpf)
    parser.add_argument('--tol', type=mpmath.mpf)
    parser.add_argument('--nsolve-type', default=None,
        choices=['points', 'intervals'])
    parser.add_argument('--solver', default=None)
    parser.add_argument('--D-scale', default=None, type=float)
    parser.add_argument('--scale', default=None, type=bool)
    parser.add_argument('--plot', default=True, type=bool)
    parser.add_argument('--seed', default=None, type=int)
    parser.add_argument('--initial-points', default=None,
        choices=['chebyshev', 'random'])
    parser.add_argument('--log-to-file', default=True, type=bool,
        help="Log output to a file (in the logs/ directory)")
    parser.add_argument('--log-level', default='info',
        choices=['debug', 'info', 'warning', 'error', 'critical'])
    parser.add_argument('--save-cache', action="store_true", default=False,
        help="""Save the computed CRAM expression to the local cache.""")

    try:
        import argcomplete
        argcomplete.autocomplete(parser)
    except ImportError:
        pass
    args = parser.parse_args()

    try:
        args.degree = ast.literal_eval(args.degree)
    except (ValueError, SyntaxError) as e:
        parser.error("Invalid degree: " + str(e))

    arguments = args.__dict__.copy()
    for i in arguments.copy():
        if not arguments[i]:
           del arguments[i]
    if args.log_level:
        logger.setLevel(getattr(logging, args.log_level.upper()))
        del arguments['log_level']

    expr = CRAM_exp(**arguments)

    if args.save_cache:
        local_cache_file = get_local_CRAM_cache_file(args.degree, args.prec)
        print("Saving to", local_cache_file)
        with open(local_cache_file, 'w') as f:
            f.write(srepr(expr))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号