Пример #1
0
        public override IBlauPoint clone()
        {
            IBlauPoint dupe = new QuantizedBlauPoint(this.Space, this._quantizer);

            for (int i = 0; i < this.Space.Dimension; i++)
            {
                dupe.setCoordinate(i, this.getCoordinate(i));
            }
            return(dupe);
        }
Пример #2
0
        // convert integral lattice coordinates to real blauspace coordinates
        private IBlauPoint getCurrentBlauPoint()
        {
            BlauPoint p = new QuantizedBlauPoint(this.BlauSpace, this);

            for (int i = 0; i < this.BlauSpace.Dimension; i++)
            {
                double coord =
                    this.BlauSpace.getAxis(i).MinimumValue +
                    ((double)this.getCoordinate(i) * getStepSize(i));

                p.setCoordinate(i, coord);
            }
            return(p);
        }
Пример #3
0
        // quantize a blaupoint with respect to this lattice
        public IBlauPoint quantize(IBlauPoint p)
        {
            if (p.Space != this.BlauSpace)
            {
                throw new Exception("BlauSpaceLattice is being requested to quantize a BlauPoint which lies in a foreign BlauSpace");
            }

            IBlauPoint qp = new QuantizedBlauPoint(p.Space, this);

            for (int i = 0; i < p.Space.Dimension; i++)
            {
                double px = p.getCoordinate(i);
                // qp will quantize coordinates to this lattice
                qp.setCoordinate(i, px);
            }
            return(qp);
        }
Пример #4
0
 public override int CompareTo(object obj)
 {
     if (obj is QuantizedBlauPoint)
     {
         QuantizedBlauPoint p = (QuantizedBlauPoint)obj;
         for (int i = 0; i < this.Space.Dimension; i++)
         {
             if (this.getQuantizedCoordinate(i) < p.getQuantizedCoordinate(i))
             {
                 return(-1);
             }
             if (this.getQuantizedCoordinate(i) > p.getQuantizedCoordinate(i))
             {
                 return(+1);
             }
         }
         return(0);
     }
     else if (obj is BlauPoint)
     {
         return(base.CompareTo(obj));
     }
     throw new ArgumentException("object is not a QuantizedBlauPoint/BlauPoint");
 }