tiramisu/docs/src/calculation.py

74 lines
2.9 KiB
Python
Raw Permalink Normal View History

2023-12-17 21:22:52 +01:00
from tiramisu import Config, OptionDescription, Leadership, IntOption, Params, ParamOption, ParamValue, ParamContext, ParamIndex
def a_function():
pass
Calculation(a_function)
def a_function_with_parameters(value1, value2):
return value1 + ' ' + value2
Calculation(a_function_with_parameters, Params(ParamValue('my value 1'), kwargs={value2: ParamValue('my value 2')}))
def a_function_with_parameters(value1, value2):
return value1 + ' ' + value2
Calculation(a_function_with_parameters, Params((ParamValue('my value 1'), ParamValue('my value 2'))))
def a_function_with_option(option1):
return option1
option1 = IntOption('option1', 'first option', 1)
Calculation(a_function_with_option, Params(ParamOption(option1)))
def a_function_with_option(option1):
return option1
option1 = IntOption('option1', 'first option', 1, properties=('disabled',))
Calculation(a_function_with_option, Params(ParamOption(option1)))
def a_function_with_option(option1):
return option1
Calculation(a_function_with_option, Params(ParamOption(option1, raisepropertyerror=True)))
def a_function_with_option(option1=None):
return option1
Calculation(a_function_with_option, Params(ParamOption(option1, notraisepropertyerror=True)))
def a_function_with_dict_option(option1):
return "the option {} has value {}".format(option1['name'], option1['value'])
Calculation(a_function_with_option, Params(ParamOption(todict=True)))
def a_function_with_context(context):
pass
Calculation(a_function_with_context, Params(ParamContext()))
def a_function_multi(option1):
return option1
option1 = IntOption('option1', 'option1', [1], multi=True)
Calculation(a_function, Params(ParamOption(option1)))
def a_function_leader(option):
return option
leader = IntOption('leader', 'leader', [1], multi=True)
follower1 = IntOption('follower1', 'follower1', default_multi=2, multi=True)
follower2 = IntOption('follower2', 'follower2', default_multi=3, multi=True)
leadership = Leadership('leadership', 'leadership', [leader, follower1, follower2])
Calculation(a_function_leader, Params(ParamOption(leader)))
def a_function_follower(follower):
return follower
leader = IntOption('leader', 'leader', [1], multi=True)
follower1 = IntOption('follower1', 'follower1', default_multi=2, multi=True)
follower2 = IntOption('follower2', 'follower2', default_multi=3, multi=True)
leadership = Leadership('leadership', 'leadership', [leader, follower1, follower2])
Calculation(a_function_follower, Params(ParamOption(follower1)))
def a_function_index(index):
return index
leader = IntOption('leader', 'leader', [1], multi=True)
follower1 = IntOption('follower1', 'follower1', default_multi=2, multi=True)
follower2 = IntOption('follower2', 'follower2', default_multi=3, multi=True)
leadership = Leadership('leadership', 'leadership', [leader, follower1, follower2])
Calculation(a_function_index, Params(ParamIndex()))