SciComplex.java

Go to the documentation of this file.
00001 package javasci ;
00002 /********************************************************************************************************/
00003 /* Allan CORNET */
00004 /* INRIA 2006 */
00005 /********************************************************************************************************/
00006 public class SciComplex implements java.io.Serializable  
00007 {
00008 /********************************************************************************************************/
00009   private SciComplexArray pObjSciComplex;
00010   private double[] pTmpComplexRealArray;
00011   private double[] pTmpComplexImaginaryArray;
00012 /********************************************************************************************************/  
00016 /********************************************************************************************************/  
00017   
00018 /********************************************************************************************************/  
00019   public SciComplex(String name,SciComplex Obj) 
00020   {
00021         pTmpComplexRealArray=new double[1];
00022         pTmpComplexImaginaryArray=new double[1];
00023         
00024         pTmpComplexRealArray[0]=Obj.getRealPartData();
00025         pTmpComplexImaginaryArray[0]=Obj.getImaginaryPartData();
00026         
00027         pObjSciComplex = new SciComplexArray(name,1,1,pTmpComplexRealArray,pTmpComplexImaginaryArray);
00028   }
00029 /********************************************************************************************************/  
00030   public SciComplex(String name) 
00031   {
00032         pTmpComplexRealArray=new double[1];
00033         pTmpComplexImaginaryArray=new double[1];
00034                 
00035         pObjSciComplex = new SciComplexArray(name,1,1);
00036   }
00037  /********************************************************************************************************/  
00038   public SciComplex(String name,double RealPart,double ImaginaryPart)
00039   {
00040         pTmpComplexRealArray=new double[1];
00041         pTmpComplexImaginaryArray=new double[1];
00042         
00043         pTmpComplexRealArray[0]=RealPart;
00044         pTmpComplexImaginaryArray[0]=ImaginaryPart;
00045         pObjSciComplex = new SciComplexArray(name,1,1,pTmpComplexRealArray,pTmpComplexImaginaryArray);
00046   }
00047 /********************************************************************************************************/
00048   public String getName()
00049   {
00050     return  pObjSciComplex.getName();
00051   }
00052 /********************************************************************************************************/  
00053   public double getRealPartData() 
00054   {
00055     Get();
00056     pTmpComplexRealArray=pObjSciComplex.getRealPartData();
00057     return pTmpComplexRealArray[0];
00058   }
00059 /********************************************************************************************************/  
00060   public double getImaginaryPartData() 
00061   {
00062    Get();
00063    pTmpComplexImaginaryArray=pObjSciComplex.getImaginaryPartData();
00064    return pTmpComplexImaginaryArray[0];
00065   }
00066 /********************************************************************************************************/  
00067   public void Get() 
00068   {
00069         pObjSciComplex.Get();
00070         pTmpComplexImaginaryArray=pObjSciComplex.getImaginaryPartData();
00071         pTmpComplexRealArray=pObjSciComplex.getRealPartData();
00072   }
00073  /********************************************************************************************************/     
00074   public boolean Job(String job)
00075   {
00076         return pObjSciComplex.Job(job);
00077   }
00078  /********************************************************************************************************/     
00079   public void Send()
00080   {
00081         pObjSciComplex.Send();
00082   }
00083   /********************************************************************************************************/    
00084   public void disp() 
00085   {
00086     Get();
00087         System.out.println("double "+ getName() +"=");
00088     Job( "disp(" + getName() +");");
00089   }
00090   /********************************************************************************************************/    
00091   public String toString() 
00092   {
00093     Get();
00094         if (pTmpComplexRealArray[0]!=0 && pTmpComplexImaginaryArray[0]>0) 
00095         {
00096                 return pTmpComplexRealArray[0]+" + "+pTmpComplexImaginaryArray[0]+"i";
00097     }
00098     
00099     if (pTmpComplexRealArray[0]!=0 && pTmpComplexImaginaryArray[0]<0) 
00100     {
00101        return pTmpComplexRealArray[0]+" - "+(-pTmpComplexImaginaryArray[0])+"i";
00102     }
00103     
00104     if (pTmpComplexImaginaryArray[0]==0) 
00105     {
00106        return String.valueOf(pTmpComplexRealArray[0]);
00107     }
00108     
00109     if (pTmpComplexRealArray[0]==0) 
00110     {
00111        return pTmpComplexImaginaryArray[0]+"i";
00112     }
00113     
00114     /*(unless Inf or NaN)*/
00115     return pTmpComplexRealArray[0]+" + i*"+pTmpComplexImaginaryArray[0];
00116         
00117   }       
00118   /********************************************************************************************************/    
00119 }
00120 /********************************************************************************************************/  

Generated on Sun Mar 4 15:03:58 2007 for Scilab [trunk] by  doxygen 1.5.1