00001 package javasci ;
00002
00003
00004
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
00115 return pTmpComplexRealArray[0]+" + i*"+pTmpComplexImaginaryArray[0];
00116
00117 }
00118
00119 }
00120