Return to ox_toolkit.h CVS log | Up to [local] / OpenXM / src / ox_toolkit |
version 1.19, 2003/05/29 15:50:49 | version 1.23, 2003/06/05 21:12:07 | ||
---|---|---|---|
|
|
||
/* -*- mode: C -*- */ | /* -*- mode: C -*- */ | ||
/* $OpenXM: OpenXM/src/ox_toolkit/ox_toolkit.h,v 1.18 2003/05/28 08:43:59 ohara Exp $ */ | /* $OpenXM: OpenXM/src/ox_toolkit/ox_toolkit.h,v 1.22 2003/06/03 16:06:48 ohara Exp $ */ | ||
#ifndef _OX_TOOLKIT_H_ | #ifndef _OX_TOOLKIT_H_ | ||
|
|
||
#include <ox/cmotag.h> | #include <ox/cmotag.h> | ||
#include <ox/oxMessageTag.h> | #include <ox/oxMessageTag.h> | ||
#include <ox/smCommand.h> | #include <ox/smCommand.h> | ||
#include <gc/gc.h> | |||
#define MALLOC(x) GC_MALLOC((x)) | |||
#define MALLOC_ATOMIC(x) GC_MALLOC_ATOMIC((x)) | |||
#define ALLOCA(x) alloca((x)) | |||
/* #define FREE(x) free((x)) */ | |||
#define FREE(x) | |||
#if !defined(__GNUC__) && !defined(__inline__) | #if !defined(__GNUC__) && !defined(__inline__) | ||
#define __inline__ | #define __inline__ | ||
#endif | #endif | ||
|
|
||
struct cmo *cmo; | struct cmo *cmo; | ||
struct cell *next; | struct cell *next; | ||
struct cell *prev; | struct cell *prev; | ||
int exp; | |||
} cell; | } cell; | ||
typedef struct { | typedef struct { | ||
|
|
||
int list_endof(cmo_list *, cell *el); | int list_endof(cmo_list *, cell *el); | ||
cell* list_next(cell *el); | cell* list_next(cell *el); | ||
cmo_list* list_append(cmo_list*, cmo *ob); | cmo_list* list_append(cmo_list*, cmo *ob); | ||
cmo_list* list_append_monomial(cmo_list* , cmo* coef, int exp); | |||
cmo_list* list_appendl(cmo_list*, ...); | cmo_list* list_appendl(cmo_list*, ...); | ||
int list_length(cmo_list* ); | int list_length(cmo_list* ); | ||
cmo* list_nth(cmo_list* , int n); | cmo* list_nth(cmo_list* , int n); |