comparison liboctave/idx-vector.h @ 191:b6b4d8c513fe

[project @ 1993-10-29 23:41:39 by jwe]
author jwe
date Fri, 29 Oct 1993 23:41:39 +0000
parents e2c950dd96d2
children 380cb9ccc889
comparison
equal deleted inserted replaced
190:edfb6cafe85d 191:b6b4d8c513fe
26 26
27 #ifdef __GNUG__ 27 #ifdef __GNUG__
28 #pragma interface 28 #pragma interface
29 #endif 29 #endif
30 30
31 #include <stdlib.h>
32 #include <assert.h> 31 #include <assert.h>
33 32
34 #define FAIL assert(0) /* XXX FIXME XXX */ 33 #define FAIL assert(0) /* XXX FIXME XXX */
35 34
36 class ostream; 35 class ostream;
42 public: 41 public:
43 idx_vector (void); 42 idx_vector (void);
44 idx_vector (const idx_vector& a); 43 idx_vector (const idx_vector& a);
45 44
46 idx_vector (const Matrix& m, int do_ftn_idx, 45 idx_vector (const Matrix& m, int do_ftn_idx,
47 const char *rc = (char *) NULL, int z_len = 0); 46 const char *rc = (char *) 0, int z_len = 0);
48 47
49 idx_vector (const Range& r); 48 idx_vector (const Range& r);
50 49
51 ~idx_vector (void); 50 ~idx_vector (void);
52 51
53 idx_vector& operator = (const idx_vector& a); 52 idx_vector& operator = (const idx_vector& a);
53
54 operator void * () const;
54 55
55 int capacity (void) const; 56 int capacity (void) const;
56 int length (void) const; 57 int length (void) const;
57 58
58 int elem (int n) const; 59 int elem (int n) const;
78 int one_zero; 79 int one_zero;
79 int num_zeros; 80 int num_zeros;
80 int num_ones; 81 int num_ones;
81 int max_val; 82 int max_val;
82 int min_val; 83 int min_val;
84 int initialized;
83 int *data; 85 int *data;
84 86
85 void init_state (const char *rc = (char *) NULL, int z_len = 0); 87 void init_state (const char *rc = (char *) 0, int z_len = 0);
86 void convert_one_zero_to_idx (void); 88 void convert_one_zero_to_idx (void);
87 }; 89 };
88 90
89 inline idx_vector::idx_vector (void) 91 inline idx_vector::idx_vector (void)
90 { 92 {
91 len = 0; 93 len = 0;
92 data = 0; 94 data = (int *) 0;
93 num_zeros = 0; 95 num_zeros = 0;
94 num_ones = 0; 96 num_ones = 0;
95 one_zero = 0; 97 one_zero = 0;
96 } 98 initialized = 0;
99 }
97 100
98 inline idx_vector::~idx_vector (void) 101 inline idx_vector::~idx_vector (void)
99 { 102 {
100 delete [] data; 103 delete [] data;
101 data = 0; 104 data = (int *) 0;
102 num_zeros = 0; 105 num_zeros = 0;
103 num_ones = 0; 106 num_ones = 0;
104 len = 0; 107 len = 0;
105 one_zero = 0; 108 one_zero = 0;
106 } 109 initialized = 0;
110 }
111
112 inline idx_vector::operator void * () const
113 {
114 return initialized ? (void *) 1 : (void *) 0;
115 }
107 116
108 inline int idx_vector::capacity (void) const { return len; } 117 inline int idx_vector::capacity (void) const { return len; }
109 inline int idx_vector::length (void) const { return len; } 118 inline int idx_vector::length (void) const { return len; }
110 119
111 inline int idx_vector::elem (int n) const { return data[n]; } 120 inline int idx_vector::elem (int n) const { return data[n]; }