Esempio n. 1
0
def compile(expression, default_type=None, **types):
    """Compile 'expression'.

    'expression' -- """

    if isCompiledExpression(expression):
        # It is already compiled.  
        return expression
    expression = asExpression(expression)
    
    if default_type is not None:
        # Set default symbol types.
        expression = op.setTypesFixed(expression, None, default_type)
    if len(types) != 0:
        # Set specific symbol types.
        expression = op.setTypes(expression, **types)

    # Do the compilation.
    expression = op.optimize(expression)
    return compiler.compile(expression)
Esempio n. 2
0
def isExpression(object):
    """Return true if 'object' is an expression object."""

    return isCompiledExpression(object) \
           or isinstance(object, Expression)