Пример #1
0
            public static IAminoAcidResult Three(IFunctionExecutionData functionExecutionData,
                                                                   params IArgument[] arguments)
            {
                if (arguments.Length != 0)
                    throw new InvalidArgumentCount();

                return new AminoAcidResult(3);
            }
Пример #2
0
            public static IAminoAcidResult RegistryRead(IFunctionExecutionData functionExecutionData, params IArgument[] arguments)
            {
                if (arguments.Length != 0)
                    throw new InvalidArgumentCount();

                var registry = functionExecutionData.AvailableRegistries[0];
                return registry.Read();
            }
Пример #3
0
            public static IAminoAcidResult SumConvertedCodonAndEvaluatedAminoAcid(
                IFunctionExecutionData functionExecutionData, params IArgument[] arguments)
            {
                if (arguments.Length != 2)
                    throw new InvalidArgumentCount();

                var arg1 = arguments[0].Value.ConvertedCodon.Value.ToDouble();
                var arg2 = arguments[1].Value.EvaluatedAminoAcid.Value;
                return new AminoAcidResult(arg1 + arg2);
            }
Пример #4
0
            public static IAminoAcidResult RegistryWriteEvaluatedAminoAcid(IFunctionExecutionData functionExecutionData, params IArgument[] arguments)
            {
                if (arguments.Length != 1)
                    throw new InvalidArgumentCount();

                var registry = functionExecutionData.AvailableRegistries[0];
                var arg = arguments[0].Value.EvaluatedAminoAcid.Value;

                var aminoAcidResult = new AminoAcidResult(value: arg);
                registry.Write(aminoAcidResult);

                return aminoAcidResult;
            }
Пример #5
0
            public static IAminoAcidResult Difference2EvaluatedAminoAcids(IFunctionExecutionData functionExecutionData,
                                                                   params IArgument[] arguments)
            {
                if (arguments.Length != 2)
                    throw new InvalidArgumentCount();

                var arg1 = arguments[0].Value.EvaluatedAminoAcid.Value;
                var arg2 = arguments[1].Value.EvaluatedAminoAcid.Value;
                return new AminoAcidResult(arg1 - arg2);
            }
Пример #6
0
            public static IAminoAcidResult PredecessorConvertedCodons(IFunctionExecutionData functionExecutionData,
                                                               params IArgument[] arguments)
            {
                if (arguments.Length != 1)
                    throw new InvalidArgumentCount();

                var arg1 = arguments[0].Value.ConvertedCodon.Value.ToDouble();

                return new AminoAcidResult(arg1 - 1);
            }
Пример #7
0
            public static IAminoAcidResult PredecessorEvaluatedAminoAcid(IFunctionExecutionData functionExecutionData,
                                                                   params IArgument[] arguments)
            {
                if (arguments.Length != 1)
                    throw new InvalidArgumentCount();

                var arg1 = arguments[0].Value.EvaluatedAminoAcid.Value;

                return new AminoAcidResult(arg1 - 1);
            }
Пример #8
0
            public static IAminoAcidResult RoundToNearestWholeNumberConvertedCodons(IFunctionExecutionData functionExecutionData,
                                                               params IArgument[] arguments)
            {
                if (arguments.Length != 1)
                    throw new InvalidArgumentCount();

                var arg1 = arguments[0].Value.ConvertedCodon.Value.ToDouble();

                return new AminoAcidResult(Math.Round(arg1, 0));
            }
Пример #9
0
            public static IAminoAcidResult RoundToNearestWholeNumberEvaluatedAminoAcid(IFunctionExecutionData functionExecutionData,
                                                                   params IArgument[] arguments)
            {
                if (arguments.Length != 1)
                    throw new InvalidArgumentCount();

                var arg1 = arguments[0].Value.EvaluatedAminoAcid.Value;

                return new AminoAcidResult(Math.Round(arg1, 0));
            }
Пример #10
0
            public static IAminoAcidResult AbsoluteEvaluatedAminoAcid(IFunctionExecutionData functionExecutionData,
                                                                   params IArgument[] arguments)
            {
                if (arguments.Length != 1)
                    throw new InvalidArgumentCount();

                var arg1 = arguments[0].Value.EvaluatedAminoAcid.Value;

                return new AminoAcidResult(Math.Abs(arg1));
            }
Пример #11
0
            public static IAminoAcidResult ForceNegateConvertedCodons(IFunctionExecutionData functionExecutionData,
                                                               params IArgument[] arguments)
            {
                if (arguments.Length != 1)
                    throw new InvalidArgumentCount();

                var arg1 = arguments[0].Value.ConvertedCodon.Value.ToDouble();

                return new AminoAcidResult(-Math.Abs(arg1));
            }
Пример #12
0
            public static IAminoAcidResult Power2ConvertedCodons(IFunctionExecutionData functionExecutionData,
                                                               params IArgument[] arguments)
            {
                if (arguments.Length != 2)
                    throw new InvalidArgumentCount();

                var arg1 = arguments[0].Value.ConvertedCodon.Value.ToDouble();
                var arg2 = arguments[1].Value.ConvertedCodon.Value.ToDouble();

                return new AminoAcidResult(Math.Pow(arg1, arg2));
            }
Пример #13
0
            public static IAminoAcidResult Divide2ConvertedCodons(IFunctionExecutionData functionExecutionData,
                                                               params IArgument[] arguments)
            {
                if (arguments.Length != 2)
                    throw new InvalidArgumentCount();

                var arg1 = arguments[0].Value.ConvertedCodon.Value.ToDouble();
                var arg2 = arguments[1].Value.ConvertedCodon.Value.ToDouble();

                if (arg2 == 0)
                    return null;

                return new AminoAcidResult(arg1 / arg2);
            }