comparison liboctave/dNDArray.h @ 4513:508238e65af7

[project @ 2003-09-19 21:40:57 by jwe]
author jwe
date Fri, 19 Sep 2003 21:41:21 +0000
parents 24af46b4ce84
children 01ee68d18069
comparison
equal deleted inserted replaced
4512:b55eaa010770 4513:508238e65af7
18 along with Octave; see the file COPYING. If not, write to the Free 18 along with Octave; see the file COPYING. If not, write to the Free
19 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 20
21 */ 21 */
22 22
23 #if !defined (octave_NDArray_int_h) 23 #if !defined (octave_NDArray_h)
24 #define octave_NDArray_int_h 1 24 #define octave_NDArray_h 1
25 25
26 #if defined (__GNUG__) && defined (USE_PRAGMA_INTERFACE_IMPLEMENTATION) 26 #if defined (__GNUG__) && defined (USE_PRAGMA_INTERFACE_IMPLEMENTATION)
27 #pragma interface 27 #pragma interface
28 #endif 28 #endif
29 29
30 #include "MArrayN.h" 30 #include "MArrayN.h"
31 //#include "mx-base.h" 31 #include "dMatrix.h"
32 32
33 #include "mx-defs.h" 33 #include "mx-defs.h"
34 #include "mx-op-defs.h" 34 #include "mx-op-defs.h"
35 35
36 #include "data-conv.h" 36 #include "data-conv.h"
37 #include "mach-info.h" 37 #include "mach-info.h"
38 38
39 class NDArray : public MArrayN<double> 39 class
40 NDArray : public MArrayN<double>
40 { 41 {
41 public: 42 public:
42 43
43 NDArray (void) : MArrayN<double> () { } 44 NDArray (void) : MArrayN<double> () { }
44 45
45 NDArray (Array<int>& dims) : MArrayN<double> (dims) { } 46 NDArray (dim_vector& dims) : MArrayN<double> (dims) { }
46 47
47 NDArray (Array<int>& dims, double val) : MArrayN<double> (dims, val) { } 48 NDArray (dim_vector& dims, double val) : MArrayN<double> (dims, val) { }
48 49
49 NDArray (const NDArray& a): MArrayN<double> (a) { } 50 NDArray (const NDArray& a) : MArrayN<double> (a) { }
51
52 NDArray (const Matrix& a) : MArrayN<double> (a) { }
50 53
51 NDArray (const MArrayN<double>& a) : MArrayN<double> (a) { } 54 NDArray (const MArrayN<double>& a) : MArrayN<double> (a) { }
52 55
53 NDArray (const Matrix& m) : MArrayN<double> (m) { }
54
55 NDArray (const ArrayN<double>& a) : MArrayN<double> (a) { } 56 NDArray (const ArrayN<double>& a) : MArrayN<double> (a) { }
56
57 //NDArray (const Array<double>& a) : MArrayN<double> (a) { }
58 57
59 NDArray& operator = (const NDArray& a) 58 NDArray& operator = (const NDArray& a)
60 { 59 {
61 MArrayN<double>::operator = (a); 60 MArrayN<double>::operator = (a);
62 return *this; 61 return *this;
63 } 62 }
63
64 // XXX FIXME XXX -- this is not quite the right thing.
65
66 boolMatrix all (int dim = -1) const;
67 boolMatrix any (int dim = -1) const;
68
69 Matrix matrix_value (void) const;
64 70
65 // i/o 71 // i/o
66 72
67 // friend std::ostream& operator << (std::ostream& os, const NDArray& a); 73 // friend std::ostream& operator << (std::ostream& os, const NDArray& a);
68 // friend std::istream& operator >> (std::istream& is, NDArray& a); 74 // friend std::istream& operator >> (std::istream& is, NDArray& a);
70 static double resize_fill_value (void) { return 0; } 76 static double resize_fill_value (void) { return 0; }
71 77
72 bool any_element_is_negative (bool = false) const; 78 bool any_element_is_negative (bool = false) const;
73 bool all_integers (double& max_val, double& min_val) const; 79 bool all_integers (double& max_val, double& min_val) const;
74 80
75 private: 81 private:
76 82
77 NDArray (double *d, Array<int>& dims) : MArrayN<double> (d, dims) { } 83 NDArray (double *d, dim_vector& dims) : MArrayN<double> (d, dims) { }
78 }; 84 };
79 85
80 MARRAY_FORWARD_DEFS (MArrayN, NDArray, double) 86 MARRAY_FORWARD_DEFS (MArrayN, NDArray, double)
81 87
82 #endif 88 #endif
89
90 /*
91 ;;; Local Variables: ***
92 ;;; mode: C++ ***
93 ;;; End: ***
94 */