X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fcase.h;h=cf99e0226e4bb1883050f7d3be2b7611763cd58b;hb=998c6bac5f1d781505591ac6b3e78df25e566282;hp=7312aa9458942e9b6780e47b78476c56887ad46b;hpb=b321086267ad1014dc5d09886396cde30f094437;p=pspp diff --git a/src/case.h b/src/case.h index 7312aa9458..cf99e0226e 100644 --- a/src/case.h +++ b/src/case.h @@ -14,13 +14,14 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ #ifndef HEADER_CASE #define HEADER_CASE #include +#include #include "val.h" /* Opaque structure that represents a case. Use accessor @@ -56,6 +57,9 @@ CASE_INLINE void case_clone (struct ccase *, const struct ccase *); CASE_INLINE void case_move (struct ccase *, struct ccase *); CASE_INLINE void case_destroy (struct ccase *); +void case_resize (struct ccase *, size_t old_cnt, size_t new_cnt); +void case_swap (struct ccase *, struct ccase *); + int case_try_create (struct ccase *, size_t value_cnt); int case_try_clone (struct ccase *, const struct ccase *); @@ -73,6 +77,13 @@ CASE_INLINE const char *case_str (const struct ccase *, size_t idx); CASE_INLINE union value *case_data_rw (struct ccase *, size_t idx); +struct variable; +int case_compare (const struct ccase *, const struct ccase *, + struct variable *const *, size_t var_cnt); +int case_compare_2dict (const struct ccase *, const struct ccase *, + struct variable *const *, struct variable *const *, + size_t var_cnt); + const union value *case_data_all (const struct ccase *); union value *case_data_all_rw (struct ccase *); @@ -131,10 +142,10 @@ case_copy (struct ccase *dst, size_t dst_idx, static inline void case_to_values (const struct ccase *c, union value *output, - size_t output_size UNUSED) + size_t output_size ) { memcpy (output, c->case_data->values, - c->case_data->value_cnt * sizeof *output); + output_size * sizeof *output); } static inline void