public SingleOperation(SingleMethod <T> method)
 {
     _method = method;
 }
 public SingleOperation(SingleMethod <T> method, INode <T> right) : this(right)
 {
     _method = method;
 }
        public INode <double> GetCosOperation(INode <double> first)
        {
            SingleMethod <double> cos = new SingleMethod <double>(Operation.COS, (double one) => Math.Cos(one));

            return(new SingleOperation <double>(cos, first));
        }
        public INode <double> GetPow2Operation(INode <double> first)
        {
            SingleMethod <double> pow2 = new SingleMethod <double>(Operation.POW2, (double one) => Math.Pow(one, 2.0));

            return(new SingleOperation <double>(pow2, first));
        }
        public INode <double> GetSinOperation(INode <double> first)
        {
            SingleMethod <double> sin = new SingleMethod <double>(Operation.SIN, (double one) => Math.Sin(one));

            return(new SingleOperation <double>(sin, first));
        }