File: SciComplexArray.java

package info (click to toggle)
scilab 4.1.2-6
  • links: PTS, VCS
  • area: non-free
  • in suites: lenny
  • size: 113,992 kB
  • ctags: 65,732
  • sloc: ansic: 406,468; fortran: 242,412; xml: 223,812; tcl: 46,703; sh: 10,945; ml: 9,441; makefile: 4,697; cpp: 1,354; java: 926; csh: 260; yacc: 247; perl: 130; lex: 126; asm: 72; lisp: 30
file content (149 lines) | stat: -rw-r--r-- 4,276 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package javasci ;
/********************************************************************************************************/
/* Allan CORNET */
/* INRIA 2006 */
/********************************************************************************************************/
public class SciComplexArray implements java.io.Serializable  
{
/********************************************************************************************************/
  private double [] x ; /* Real part */
  private double [] y ; /* Imaginary part */
  
  private int m, n;
  /* m number of rows */
  /* n number of colons */
  
  private String name; 
/********************************************************************************************************/
  private static native void Initialize();
  /**
  * Initialize Scilab interface
  */
    
  public native boolean Job(String job);
  /**
  * Execute a command in Scilab 
  */
  
  public native void Get();
  /**
  * Get Matrix from Scilab
  */
  
  public native void Send();
  /**
  * Send Matrix to Scilab 
  */
  
  public native double GetRealPartElement(int indr,int indc);
  /**
  * Get only ONE element from Scilab Matrix 
  * indr AND indc are indices in scilab 
  * Get Real Part
  */


  public native double GetImaginaryPartElement(int indr,int indc);
  /**
  * Get only ONE element from Scilab Matrix 
  * indr AND indc are indices in scilab 
  * Get Imaginary Part
  */

  
  /**
  * See SCI/examples/callsci/callsciJava/others for some simple examples 
  */
/********************************************************************************************************/  
  static 
  {
    System.loadLibrary("javasci");
    Initialize();
  }
/********************************************************************************************************/  
  public SciComplexArray(String name,SciComplexArray Obj) 
  {
    this.name = name;
    this.m = Obj.getRow() ;
    this.n = Obj.getCol();
    
    this.x = new double[m*n];
    this.x =Obj.getRealPartData() ;
    
    this.y = new double[m*n];
    this.y =Obj.getImaginaryPartData() ;
    
    Send();
  }
/********************************************************************************************************/  
  public SciComplexArray(String name,int r,int c) 
  {
    this.m = r ;
    this.n = c ;
    
    this.x = new double[r*c];
    this.y = new double[r*c];
    
    this.name = name;
   
    for ( int i = 0 ; i < r*c ; i++)
    {
    	x[i]=0;
    	y[i]=0;
    }
    Send();
  }
 /********************************************************************************************************/  
  public SciComplexArray(String name,int r,int c,double [] x,double [] y )
  {
    if ( (r*c != x.length) && (r*c != y.length) )
    {
     throw new BadDataArgumentException("Bad Matrix call, size of third argument is wrong");
    }
    
    this.m = r ;
    this.n = c;
    
    this.x = x;
    this.y = y;
    
    this.name = name;
    
    Send();
  }
/********************************************************************************************************/
  public int getRow() 
  {
   return m;
  }
/********************************************************************************************************/  
  public int getCol() 
  {
   return n;
  }
/********************************************************************************************************/  
  public String getName()
  {
   return name;
  }
/********************************************************************************************************/  
  public double[] getRealPartData() 
  {
   Get();
   return x;
  }
/********************************************************************************************************/    
  public double[] getImaginaryPartData() 
  {
   Get();
   return y;
  }
/********************************************************************************************************/  
  public void disp() 
  {
    Get();
    System.out.println("Matrix "+ getName() +"=");
    Job( "disp(" + getName() +");");
  }
}
/********************************************************************************************************/