elliptic.Kernel.DSL module

class elliptic.Kernel.DSL.DSL(template_manager, dsl_contract, dsl_meta)[source]

Bases: object

Defines the interface for interacting with a DSL.

Parameters:
  • template_manager (TemplateManagerBase) – A TemplateManagerBase subinstance.
  • dsl_contract (DSLContract[~DSLImplementationSubclass]) – A DSL Contract.
  • dsl_meta (DSLMeta) – A DSLMeta instance.
get_built_module()[source]

Returns the compiled module that holds the generated code.

Return type:module
root()[source]

Entry point for building expressions.

Should be used as a context manager, using the with statement.

Return type:Iterator[DSLContract[~DSLImplementationSubclass]]
exception elliptic.Kernel.DSL.DSLBuildError[source]

Bases: elliptic.Kernel.DSL.DSLException

Exception raised when an error related to a DSL build process happens.

exception elliptic.Kernel.DSL.DSLException[source]

Bases: Exception

class elliptic.Kernel.DSL.DSLMeta[source]

Bases: abc.ABC

Class which stores information regarding the DSL compilation.

include_dirs()[source]

Returns the list of include directories that should be used when compiling.

Cypyler adds the numpy includes by default. Any extra include paths should be returned here.

Example

[‘/usr/local/include/moab’]

Return type:List[str]
libs()[source]

Returns the list of libraries that should be linked against.

Example

[‘MOAB’, ‘Trilinos’]

Return type:List[str]