using System; using System.Collections.Generic; using System.Text; using Sunweaver.Commands.Attributes; namespace Sunweaver.Commands { /// /// /// [BasePair("Trigonometric sine operation. Input angles are scaled such that [0, 360 degrees] becomes [0, 9000]. "+ "Return values scaled from [-1,1] to [-9000, 9000]")] public class sin : Abstracts.UnaryOperation { public override void Operation(long a) { double angle = (double)a; angle /= DNASystem.UnitsInAFullCircle; angle *= 2 * Math.PI; VM.Stack.Push((long)Math.Round(DNASystem.UnitsInAFullCircle * Math.Sin(angle))); } } }