Mercurial > hg > octave-lyh
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]; } |