diff --git a/smnp/module/__init__.py b/smnp/module/__init__.py index 4ea9f27..76e9e63 100644 --- a/smnp/module/__init__.py +++ b/smnp/module/__init__.py @@ -1,4 +1,4 @@ -from smnp.module import system, mic, note, iterable, sound, synth, string, util +from smnp.module import system, mic, note, iterable, sound, synth, string, util, integer -functions = [ *system.functions, *mic.functions, *note.functions, *iterable.functions, *sound.functions, *synth.functions, *string.functions, *util.functions ] -methods = [ *system.methods, *mic.methods, *note.methods, *iterable.methods, *sound.methods, *synth.methods, *string.methods, *util.methods ] \ No newline at end of file +functions = [ *system.functions, *mic.functions, *note.functions, *iterable.functions, *sound.functions, *synth.functions, *string.functions, *util.functions, *integer.functions ] +methods = [ *system.methods, *mic.methods, *note.methods, *iterable.methods, *sound.methods, *synth.methods, *string.methods, *util.methods, *integer.methods ] \ No newline at end of file diff --git a/smnp/module/integer/__init__.py b/smnp/module/integer/__init__.py new file mode 100644 index 0000000..f67126b --- /dev/null +++ b/smnp/module/integer/__init__.py @@ -0,0 +1,4 @@ +from smnp.module.integer.function import integer + +functions = [ integer.function ] +methods = [] \ No newline at end of file diff --git a/smnp/module/integer/function/__init__.py b/smnp/module/integer/function/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/smnp/module/integer/function/integer.py b/smnp/module/integer/function/integer.py new file mode 100644 index 0000000..36647ca --- /dev/null +++ b/smnp/module/integer/function/integer.py @@ -0,0 +1,25 @@ +from smnp.function.model import CombinedFunction, Function +from smnp.function.signature import signature +from smnp.type.model import Type +from smnp.type.signature.matcher.type import ofType + +_signature1 = signature(ofType(Type.FLOAT)) +def _function1(env, value): + return Type.integer(int(value.value)) + + +_signature2 = signature(ofType(Type.STRING)) +def _function2(env, value): + return Type.integer(int(value.value)) + + +_signature3 = signature(ofType(Type.INTEGER)) +def _function3(env, value): + return value + +function = CombinedFunction( + 'Integer', + Function(_signature1, _function1), + Function(_signature2, _function2), + Function(_signature3, _function3), +) \ No newline at end of file