[pythran]

# optimization chain used by Pythran
# It's a list of space separated optimization to apply in the given order
optimizations = pythran.optimizations.InlineBuiltins
                pythran.optimizations.Inlining
                pythran.optimizations.RemoveDeadFunctions
                pythran.optimizations.ForwardSubstitution
                pythran.optimizations.DeadCodeElimination
                pythran.optimizations.ConstantFolding
                pythran.optimizations.PartialConstantFolding
                pythran.optimizations.IterTransformation
                pythran.optimizations.LoopFullUnrolling
                pythran.optimizations.ModIndex
                pythran.transformations.FalsePolymorphism
                pythran.optimizations.PatternTransform
                pythran.optimizations.Square
                pythran.optimizations.RangeLoopUnfolding
                pythran.optimizations.RangeBasedSimplify
                pythran.optimizations.ListToTuple
                pythran.optimizations.TupleToShape

complex_hook = False

[typing]

# maximum number of combiner per user function
# increasing this value inreases typing accuracy
# but slows down compilation time, to the point of making g++ crash
max_combiner = 2

# set this to true to enable a costly yet more accurate type inference algorithm
# This algorithms generates code difficult to compile for g++, but not clang++
enable_two_steps_typing = False

# above this number of overloads, pythran specifications are considered invalid
# as it generates ultra-large binaries
max_export_overloads = 128
