using System; using System.Collections.Generic; using System.Text; using Sunweaver.Commands.Attributes; namespace Sunweaver.Commands { [BasePair("Trigonometric cosine operation. " + "Input angles are scaled such that [0, 360 degrees] becomes [0, 9000]. " + "Return values scaled from [-1,1] to [-9000, 9000].")] public class cos : 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.Cos(angle))); } } }