Last updated July 30, 2009 10:39, by raindrop
Feedicon  

IMDTransform

public interface IMDTransform {

    int getDimN();
    int getDimM();

    IMDVector transform (IMDVector vector);

    IMDTransform mul(IMDTransform transform);

    float innerProduct(IMDVector vector1, IMDVector vector2);
    
}

IMDSquareTransform

public interface IMDSquareTransform extends IMDTransform{

    int getDim();

    IMDSquareTransform mul(IMDSquareTransform transform);

}

AMDTransform

public abstract class AMDTransform extends IMDTransform{

    public var dimN:Integer;
    public var dimM:Integer;

    public override function getDimN ():Integer{ dimN }
    public override function getDimM ():Integer{ dimM }


     public override function innerProduct(v1:IMDVector, v2:IMDVector):Number{
         var v = transform(v2);
         var s = 0.0;

         for(n in [0..dimN - 1]){ s += v.getElem(n) * v1.getElem(n); }
         
         return s;
     }

     public override function mul(transform:IMDTransform):IMDTransform{
        var  T1 = transform;
        var  T2 = this;

        AMDTransform{
            dimN: T2.getDimN()
            dimM: T1.getDimM();

            public override function transform(vector: IMDVector):IMDVector{
                T2.transform(T1.transform(vector));
            }

        }

     }
}

AMDSquareTransform

public abstract class AMDSquareTransform extends AMDTransform, IMDSquareTransform {

     public var dim: Integer;

     override function getDim ():Integer { dim }
     

     override function getDimN ():Integer { dim }
     override function getDimM ():Integer { dim }


     public override function mul(transform:IMDSquareTransform):IMDSquareTransform{
        var  T1 = transform;
        var  T2 = this;

        AMDSquareTransform{
            dim: dim

            public override function transform(vector: IMDVector):IMDVector{
                T2.transform(T1.transform(vector));
            }

        }


     }


}

  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2010, Oracle Corporation and/or its affiliates
(revision 20120518.3c65429)
 
 
Close
loading
Please Confirm
Close