mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
Release calc version 2.11.5t0
This commit is contained in:
354
value.h
354
value.h
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* @(#) $Revision: 29.3 $
|
||||
* @(#) $Id: value.h,v 29.3 2000/07/17 15:35:49 chongo Exp $
|
||||
* @(#) $Revision: 29.4 $
|
||||
* @(#) $Id: value.h,v 29.4 2001/02/25 22:07:36 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/value.h,v $
|
||||
*
|
||||
* Under source code control: 1993/07/30 19:42:47
|
||||
@@ -32,6 +32,20 @@
|
||||
#define __VALUE_H__
|
||||
|
||||
|
||||
#if defined (_WIN32)
|
||||
#ifdef _EXPORTING
|
||||
#define DLL __declspec(dllexport)
|
||||
#else
|
||||
#define DLL __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
#else /* Windoz free systems */
|
||||
|
||||
#define DLL
|
||||
|
||||
#endif /* Windoz free systems */
|
||||
|
||||
|
||||
#include "cmath.h"
|
||||
#include "config.h"
|
||||
#include "shs.h"
|
||||
@@ -187,59 +201,59 @@ struct value {
|
||||
/*
|
||||
* value functions
|
||||
*/
|
||||
extern void freevalue(VALUE *vp);
|
||||
extern void copyvalue(VALUE *vp, VALUE *vres);
|
||||
extern void negvalue(VALUE *vp, VALUE *vres);
|
||||
extern void addvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern void subvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern void mulvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern void orvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern void andvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern void compvalue(VALUE *vp, VALUE *vres);
|
||||
extern void xorvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern void squarevalue(VALUE *vp, VALUE *vres);
|
||||
extern void invertvalue(VALUE *vp, VALUE *vres);
|
||||
extern void roundvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern void broundvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern void setminusvalue(VALUE *, VALUE *, VALUE *);
|
||||
extern void backslashvalue(VALUE *, VALUE *);
|
||||
extern void contentvalue(VALUE *, VALUE *);
|
||||
extern void hashopvalue(VALUE *, VALUE *, VALUE *);
|
||||
extern void apprvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern void intvalue(VALUE *vp, VALUE *vres);
|
||||
extern void fracvalue(VALUE *vp, VALUE *vres);
|
||||
extern void incvalue(VALUE *vp, VALUE *vres);
|
||||
extern void decvalue(VALUE *vp, VALUE *vres);
|
||||
extern void conjvalue(VALUE *vp, VALUE *vres);
|
||||
extern void sqrtvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern void rootvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern void absvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern void normvalue(VALUE *vp, VALUE *vres);
|
||||
extern void shiftvalue(VALUE *v1, VALUE *v2, BOOL rightshift, VALUE *vres);
|
||||
extern void scalevalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern void powivalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern void powervalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern void divvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern void quovalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern void modvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern BOOL testvalue(VALUE *vp);
|
||||
extern BOOL comparevalue(VALUE *v1, VALUE *v2);
|
||||
extern BOOL acceptvalue(VALUE *v1, VALUE *v2);
|
||||
extern void relvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern void sgnvalue(VALUE *vp, VALUE *vres);
|
||||
extern QCKHASH hashvalue(VALUE *vp, QCKHASH val);
|
||||
extern void printvalue(VALUE *vp, int flags);
|
||||
extern BOOL precvalue(VALUE *v1, VALUE *v2);
|
||||
extern VALUE error_value(int e);
|
||||
extern int set_errno(int e);
|
||||
extern int set_errcount(int e);
|
||||
extern long countlistitems(LIST *lp);
|
||||
extern void addlistitems(LIST *lp, VALUE *vres);
|
||||
extern void addlistinv(LIST *lp, VALUE *vres);
|
||||
extern void copy2octet(VALUE *, OCTET *);
|
||||
extern int copystod(VALUE *, long, long, VALUE *, long);
|
||||
extern void protectall(VALUE *, int);
|
||||
extern void set_update(int);
|
||||
DLL extern void freevalue(VALUE *vp);
|
||||
DLL extern void copyvalue(VALUE *vp, VALUE *vres);
|
||||
DLL extern void negvalue(VALUE *vp, VALUE *vres);
|
||||
DLL extern void addvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
DLL extern void subvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
DLL extern void mulvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
DLL extern void orvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
DLL extern void andvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
DLL extern void compvalue(VALUE *vp, VALUE *vres);
|
||||
DLL extern void xorvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
DLL extern void squarevalue(VALUE *vp, VALUE *vres);
|
||||
DLL extern void invertvalue(VALUE *vp, VALUE *vres);
|
||||
DLL extern void roundvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
DLL extern void broundvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
DLL extern void setminusvalue(VALUE *, VALUE *, VALUE *);
|
||||
DLL extern void backslashvalue(VALUE *, VALUE *);
|
||||
DLL extern void contentvalue(VALUE *, VALUE *);
|
||||
DLL extern void hashopvalue(VALUE *, VALUE *, VALUE *);
|
||||
DLL extern void apprvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
DLL extern void intvalue(VALUE *vp, VALUE *vres);
|
||||
DLL extern void fracvalue(VALUE *vp, VALUE *vres);
|
||||
DLL extern void incvalue(VALUE *vp, VALUE *vres);
|
||||
DLL extern void decvalue(VALUE *vp, VALUE *vres);
|
||||
DLL extern void conjvalue(VALUE *vp, VALUE *vres);
|
||||
DLL extern void sqrtvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
DLL extern void rootvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
DLL extern void absvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
DLL extern void normvalue(VALUE *vp, VALUE *vres);
|
||||
DLL extern void shiftvalue(VALUE *v1, VALUE *v2, BOOL rightshift, VALUE *vres);
|
||||
DLL extern void scalevalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
DLL extern void powivalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
DLL extern void powervalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
DLL extern void divvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
DLL extern void quovalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
DLL extern void modvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
DLL extern BOOL testvalue(VALUE *vp);
|
||||
DLL extern BOOL comparevalue(VALUE *v1, VALUE *v2);
|
||||
DLL extern BOOL acceptvalue(VALUE *v1, VALUE *v2);
|
||||
DLL extern void relvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
DLL extern void sgnvalue(VALUE *vp, VALUE *vres);
|
||||
DLL extern QCKHASH hashvalue(VALUE *vp, QCKHASH val);
|
||||
DLL extern void printvalue(VALUE *vp, int flags);
|
||||
DLL extern BOOL precvalue(VALUE *v1, VALUE *v2);
|
||||
DLL extern VALUE error_value(int e);
|
||||
DLL extern int set_errno(int e);
|
||||
DLL extern int set_errcount(int e);
|
||||
DLL extern long countlistitems(LIST *lp);
|
||||
DLL extern void addlistitems(LIST *lp, VALUE *vres);
|
||||
DLL extern void addlistinv(LIST *lp, VALUE *vres);
|
||||
DLL extern void copy2octet(VALUE *, OCTET *);
|
||||
DLL extern int copystod(VALUE *, long, long, VALUE *, long);
|
||||
DLL extern void protectall(VALUE *, int);
|
||||
DLL extern void set_update(int);
|
||||
|
||||
|
||||
/*
|
||||
@@ -256,44 +270,44 @@ struct matrix {
|
||||
#define matsize(n) (sizeof(MATRIX) - sizeof(VALUE) + ((n) * sizeof(VALUE)))
|
||||
|
||||
|
||||
extern MATRIX *matadd(MATRIX *m1, MATRIX *m2);
|
||||
extern MATRIX *matsub(MATRIX *m1, MATRIX *m2);
|
||||
extern MATRIX *matmul(MATRIX *m1, MATRIX *m2);
|
||||
extern MATRIX *matneg(MATRIX *m);
|
||||
extern MATRIX *matalloc(long size);
|
||||
extern MATRIX *matcopy(MATRIX *m);
|
||||
extern MATRIX *matinit(MATRIX *m, VALUE *v1, VALUE *v2);
|
||||
extern MATRIX *matsquare(MATRIX *m);
|
||||
extern MATRIX *matinv(MATRIX *m);
|
||||
extern MATRIX *matscale(MATRIX *m, long n);
|
||||
extern MATRIX *matshift(MATRIX *m, long n);
|
||||
extern MATRIX *matmulval(MATRIX *m, VALUE *vp);
|
||||
extern MATRIX *matpowi(MATRIX *m, NUMBER *q);
|
||||
extern MATRIX *matconj(MATRIX *m);
|
||||
extern MATRIX *matquoval(MATRIX *m, VALUE *vp, VALUE *v3);
|
||||
extern MATRIX *matmodval(MATRIX *m, VALUE *vp, VALUE *v3);
|
||||
extern MATRIX *matint(MATRIX *m);
|
||||
extern MATRIX *matfrac(MATRIX *m);
|
||||
extern MATRIX *matappr(MATRIX *m, VALUE *v2, VALUE *v3);
|
||||
extern VALUE mattrace(MATRIX *m);
|
||||
extern MATRIX *mattrans(MATRIX *m);
|
||||
extern MATRIX *matcross(MATRIX *m1, MATRIX *m2);
|
||||
extern BOOL mattest(MATRIX *m);
|
||||
extern void matsum(MATRIX *m, VALUE *vres);
|
||||
extern BOOL matcmp(MATRIX *m1, MATRIX *m2);
|
||||
extern int matsearch(MATRIX *m, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
extern int matrsearch(MATRIX *m, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
extern VALUE matdet(MATRIX *m);
|
||||
extern VALUE matdot(MATRIX *m1, MATRIX *m2);
|
||||
extern void matfill(MATRIX *m, VALUE *v1, VALUE *v2);
|
||||
extern void matfree(MATRIX *m);
|
||||
extern void matprint(MATRIX *m, long max_print);
|
||||
extern VALUE *matindex(MATRIX *mp, BOOL create, long dim, VALUE *indices);
|
||||
extern void matreverse(MATRIX *m);
|
||||
extern void matsort(MATRIX *m);
|
||||
extern BOOL matisident(MATRIX *m);
|
||||
extern MATRIX *matround(MATRIX *m, VALUE *v2, VALUE *v3);
|
||||
extern MATRIX *matbround(MATRIX *m, VALUE *v2, VALUE *v3);
|
||||
DLL extern MATRIX *matadd(MATRIX *m1, MATRIX *m2);
|
||||
DLL extern MATRIX *matsub(MATRIX *m1, MATRIX *m2);
|
||||
DLL extern MATRIX *matmul(MATRIX *m1, MATRIX *m2);
|
||||
DLL extern MATRIX *matneg(MATRIX *m);
|
||||
DLL extern MATRIX *matalloc(long size);
|
||||
DLL extern MATRIX *matcopy(MATRIX *m);
|
||||
DLL extern MATRIX *matinit(MATRIX *m, VALUE *v1, VALUE *v2);
|
||||
DLL extern MATRIX *matsquare(MATRIX *m);
|
||||
DLL extern MATRIX *matinv(MATRIX *m);
|
||||
DLL extern MATRIX *matscale(MATRIX *m, long n);
|
||||
DLL extern MATRIX *matshift(MATRIX *m, long n);
|
||||
DLL extern MATRIX *matmulval(MATRIX *m, VALUE *vp);
|
||||
DLL extern MATRIX *matpowi(MATRIX *m, NUMBER *q);
|
||||
DLL extern MATRIX *matconj(MATRIX *m);
|
||||
DLL extern MATRIX *matquoval(MATRIX *m, VALUE *vp, VALUE *v3);
|
||||
DLL extern MATRIX *matmodval(MATRIX *m, VALUE *vp, VALUE *v3);
|
||||
DLL extern MATRIX *matint(MATRIX *m);
|
||||
DLL extern MATRIX *matfrac(MATRIX *m);
|
||||
DLL extern MATRIX *matappr(MATRIX *m, VALUE *v2, VALUE *v3);
|
||||
DLL extern VALUE mattrace(MATRIX *m);
|
||||
DLL extern MATRIX *mattrans(MATRIX *m);
|
||||
DLL extern MATRIX *matcross(MATRIX *m1, MATRIX *m2);
|
||||
DLL extern BOOL mattest(MATRIX *m);
|
||||
DLL extern void matsum(MATRIX *m, VALUE *vres);
|
||||
DLL extern BOOL matcmp(MATRIX *m1, MATRIX *m2);
|
||||
DLL extern int matsearch(MATRIX *m, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
DLL extern int matrsearch(MATRIX *m, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
DLL extern VALUE matdet(MATRIX *m);
|
||||
DLL extern VALUE matdot(MATRIX *m1, MATRIX *m2);
|
||||
DLL extern void matfill(MATRIX *m, VALUE *v1, VALUE *v2);
|
||||
DLL extern void matfree(MATRIX *m);
|
||||
DLL extern void matprint(MATRIX *m, long max_print);
|
||||
DLL extern VALUE *matindex(MATRIX *mp, BOOL create, long dim, VALUE *indices);
|
||||
DLL extern void matreverse(MATRIX *m);
|
||||
DLL extern void matsort(MATRIX *m);
|
||||
DLL extern BOOL matisident(MATRIX *m);
|
||||
DLL extern MATRIX *matround(MATRIX *m, VALUE *v2, VALUE *v3);
|
||||
DLL extern MATRIX *matbround(MATRIX *m, VALUE *v2, VALUE *v3);
|
||||
|
||||
|
||||
/*
|
||||
@@ -320,32 +334,32 @@ struct list {
|
||||
};
|
||||
|
||||
|
||||
extern void insertlistfirst(LIST *lp, VALUE *vp);
|
||||
extern void insertlistlast(LIST *lp, VALUE *vp);
|
||||
extern void insertlistmiddle(LIST *lp, long index, VALUE *vp);
|
||||
extern void removelistfirst(LIST *lp, VALUE *vp);
|
||||
extern void removelistlast(LIST *lp, VALUE *vp);
|
||||
extern void removelistmiddle(LIST *lp, long index, VALUE *vp);
|
||||
extern void listfree(LIST *lp);
|
||||
extern void listprint(LIST *lp, long max_print);
|
||||
extern int listsearch(LIST *lp, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
extern int listrsearch(LIST *lp, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
extern BOOL listcmp(LIST *lp1, LIST *lp2);
|
||||
extern VALUE *listfindex(LIST *lp, long index);
|
||||
extern LIST *listalloc(void);
|
||||
extern LIST *listcopy(LIST *lp);
|
||||
extern void listreverse(LIST *lp);
|
||||
extern void listsort(LIST *lp);
|
||||
extern LIST *listappr(LIST *lp, VALUE *v2, VALUE *v3);
|
||||
extern LIST *listround(LIST *m, VALUE *v2, VALUE *v3);
|
||||
extern LIST *listbround(LIST *m, VALUE *v2, VALUE *v3);
|
||||
extern LIST *listquo(LIST *lp, VALUE *v2, VALUE *v3);
|
||||
extern LIST *listmod(LIST *lp, VALUE *v2, VALUE *v3);
|
||||
extern BOOL evp(LISTELEM *cp, LISTELEM *x, VALUE *vres);
|
||||
extern BOOL evalpoly(LIST *clist, LISTELEM *x, VALUE *vres);
|
||||
extern void insertitems(LIST *lp1, LIST *lp2);
|
||||
extern LISTELEM *listelement(LIST *, long);
|
||||
extern LIST *listsegment(LIST *, long, long);
|
||||
DLL extern void insertlistfirst(LIST *lp, VALUE *vp);
|
||||
DLL extern void insertlistlast(LIST *lp, VALUE *vp);
|
||||
DLL extern void insertlistmiddle(LIST *lp, long index, VALUE *vp);
|
||||
DLL extern void removelistfirst(LIST *lp, VALUE *vp);
|
||||
DLL extern void removelistlast(LIST *lp, VALUE *vp);
|
||||
DLL extern void removelistmiddle(LIST *lp, long index, VALUE *vp);
|
||||
DLL extern void listfree(LIST *lp);
|
||||
DLL extern void listprint(LIST *lp, long max_print);
|
||||
DLL extern int listsearch(LIST *lp, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
DLL extern int listrsearch(LIST *lp, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
DLL extern BOOL listcmp(LIST *lp1, LIST *lp2);
|
||||
DLL extern VALUE *listfindex(LIST *lp, long index);
|
||||
DLL extern LIST *listalloc(void);
|
||||
DLL extern LIST *listcopy(LIST *lp);
|
||||
DLL extern void listreverse(LIST *lp);
|
||||
DLL extern void listsort(LIST *lp);
|
||||
DLL extern LIST *listappr(LIST *lp, VALUE *v2, VALUE *v3);
|
||||
DLL extern LIST *listround(LIST *m, VALUE *v2, VALUE *v3);
|
||||
DLL extern LIST *listbround(LIST *m, VALUE *v2, VALUE *v3);
|
||||
DLL extern LIST *listquo(LIST *lp, VALUE *v2, VALUE *v3);
|
||||
DLL extern LIST *listmod(LIST *lp, VALUE *v2, VALUE *v3);
|
||||
DLL extern BOOL evp(LISTELEM *cp, LISTELEM *x, VALUE *vres);
|
||||
DLL extern BOOL evalpoly(LIST *clist, LISTELEM *x, VALUE *vres);
|
||||
DLL extern void insertitems(LIST *lp1, LIST *lp2);
|
||||
DLL extern LISTELEM *listelement(LIST *, long);
|
||||
DLL extern LIST *listsegment(LIST *, long, long);
|
||||
|
||||
|
||||
/*
|
||||
@@ -370,15 +384,15 @@ struct assoc {
|
||||
};
|
||||
|
||||
|
||||
extern ASSOC *assocalloc(long initsize);
|
||||
extern ASSOC *assoccopy(ASSOC *ap);
|
||||
extern void assocfree(ASSOC *ap);
|
||||
extern void assocprint(ASSOC *ap, long max_print);
|
||||
extern int assocsearch(ASSOC *ap, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
extern int assocrsearch(ASSOC *ap, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
extern BOOL assoccmp(ASSOC *ap1, ASSOC *ap2);
|
||||
extern VALUE *assocfindex(ASSOC *ap, long index);
|
||||
extern VALUE *associndex(ASSOC *ap, BOOL create, long dim, VALUE *indices);
|
||||
DLL extern ASSOC *assocalloc(long initsize);
|
||||
DLL extern ASSOC *assoccopy(ASSOC *ap);
|
||||
DLL extern void assocfree(ASSOC *ap);
|
||||
DLL extern void assocprint(ASSOC *ap, long max_print);
|
||||
DLL extern int assocsearch(ASSOC *ap, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
DLL extern int assocrsearch(ASSOC *ap, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
DLL extern BOOL assoccmp(ASSOC *ap1, ASSOC *ap2);
|
||||
DLL extern VALUE *assocfindex(ASSOC *ap, long index);
|
||||
DLL extern VALUE *associndex(ASSOC *ap, BOOL create, long dim, VALUE *indices);
|
||||
|
||||
|
||||
/*
|
||||
@@ -460,62 +474,62 @@ struct object {
|
||||
(sizeof(OBJECT) + ((elements) - USUAL_ELEMENTS) * sizeof(VALUE))
|
||||
|
||||
|
||||
extern OBJECT *objcopy(OBJECT *op);
|
||||
extern OBJECT *objalloc(long index);
|
||||
extern VALUE objcall(int action, VALUE *v1, VALUE *v2, VALUE *v3);
|
||||
extern void objfree(OBJECT *op);
|
||||
extern int addelement(char *name);
|
||||
extern int defineobject(char *name, int indices[], int count);
|
||||
extern int checkobject(char *name);
|
||||
extern void showobjfuncs(void);
|
||||
extern void showobjtypes(void);
|
||||
extern int findelement(char *name);
|
||||
extern char *objtypename(unsigned long index);
|
||||
extern int objoffset(OBJECT *op, long index);
|
||||
DLL extern OBJECT *objcopy(OBJECT *op);
|
||||
DLL extern OBJECT *objalloc(long index);
|
||||
DLL extern VALUE objcall(int action, VALUE *v1, VALUE *v2, VALUE *v3);
|
||||
DLL extern void objfree(OBJECT *op);
|
||||
DLL extern int addelement(char *name);
|
||||
DLL extern int defineobject(char *name, int indices[], int count);
|
||||
DLL extern int checkobject(char *name);
|
||||
DLL extern void showobjfuncs(void);
|
||||
DLL extern void showobjtypes(void);
|
||||
DLL extern int findelement(char *name);
|
||||
DLL extern char *objtypename(unsigned long index);
|
||||
DLL extern int objoffset(OBJECT *op, long index);
|
||||
|
||||
|
||||
/*
|
||||
* Configuration parameter name and type.
|
||||
*/
|
||||
extern NAMETYPE configs[];
|
||||
extern void config_value(CONFIG *cfg, int type, VALUE *ret);
|
||||
extern void setconfig(int type, VALUE *vp);
|
||||
extern void config_print(CONFIG *cfg); /* the CONFIG to print */
|
||||
DLL extern void config_value(CONFIG *cfg, int type, VALUE *ret);
|
||||
DLL extern void setconfig(int type, VALUE *vp);
|
||||
DLL extern void config_print(CONFIG *cfg); /* the CONFIG to print */
|
||||
|
||||
|
||||
/*
|
||||
* size, memsize and sizeof support
|
||||
*/
|
||||
extern long elm_count(VALUE *vp);
|
||||
extern long lsizeof(VALUE *vp);
|
||||
extern long memsize(VALUE *vp);
|
||||
DLL extern long elm_count(VALUE *vp);
|
||||
DLL extern long lsizeof(VALUE *vp);
|
||||
DLL extern long memsize(VALUE *vp);
|
||||
|
||||
/*
|
||||
* String functions
|
||||
*/
|
||||
extern STRING *stringadd(STRING *, STRING *);
|
||||
extern STRING *stringcopy(STRING *);
|
||||
extern STRING *stringsub(STRING *, STRING *);
|
||||
extern STRING *stringmul(NUMBER *, STRING *);
|
||||
extern STRING *stringand(STRING *, STRING *);
|
||||
extern STRING *stringor(STRING *, STRING *);
|
||||
extern STRING *stringxor(STRING *, STRING *);
|
||||
extern STRING *stringdiff(STRING *, STRING *);
|
||||
extern STRING *stringsegment(STRING *, long, long);
|
||||
extern STRING *stringshift(STRING *, long);
|
||||
extern STRING *stringcomp(STRING *);
|
||||
extern STRING *stringneg(STRING *);
|
||||
extern STRING *stringcpy(STRING *, STRING *);
|
||||
extern STRING *stringncpy(STRING *, STRING *, long);
|
||||
extern long stringcontent(STRING *s);
|
||||
extern long stringlowbit(STRING *s);
|
||||
extern long stringhighbit(STRING *s);
|
||||
extern BOOL stringcmp(STRING *, STRING *);
|
||||
extern BOOL stringrel(STRING *, STRING *);
|
||||
extern int stringbit(STRING *, long);
|
||||
extern BOOL stringtest(STRING *);
|
||||
extern int stringsetbit(STRING *, long, BOOL);
|
||||
extern int stringsearch(STRING *, STRING *, long, long, ZVALUE *);
|
||||
extern int stringrsearch(STRING *, STRING *, long, long, ZVALUE *);
|
||||
DLL extern STRING *stringadd(STRING *, STRING *);
|
||||
DLL extern STRING *stringcopy(STRING *);
|
||||
DLL extern STRING *stringsub(STRING *, STRING *);
|
||||
DLL extern STRING *stringmul(NUMBER *, STRING *);
|
||||
DLL extern STRING *stringand(STRING *, STRING *);
|
||||
DLL extern STRING *stringor(STRING *, STRING *);
|
||||
DLL extern STRING *stringxor(STRING *, STRING *);
|
||||
DLL extern STRING *stringdiff(STRING *, STRING *);
|
||||
DLL extern STRING *stringsegment(STRING *, long, long);
|
||||
DLL extern STRING *stringshift(STRING *, long);
|
||||
DLL extern STRING *stringcomp(STRING *);
|
||||
DLL extern STRING *stringneg(STRING *);
|
||||
DLL extern STRING *stringcpy(STRING *, STRING *);
|
||||
DLL extern STRING *stringncpy(STRING *, STRING *, long);
|
||||
DLL extern long stringcontent(STRING *s);
|
||||
DLL extern long stringlowbit(STRING *s);
|
||||
DLL extern long stringhighbit(STRING *s);
|
||||
DLL extern BOOL stringcmp(STRING *, STRING *);
|
||||
DLL extern BOOL stringrel(STRING *, STRING *);
|
||||
DLL extern int stringbit(STRING *, long);
|
||||
DLL extern BOOL stringtest(STRING *);
|
||||
DLL extern int stringsetbit(STRING *, long, BOOL);
|
||||
DLL extern int stringsearch(STRING *, STRING *, long, long, ZVALUE *);
|
||||
DLL extern int stringrsearch(STRING *, STRING *, long, long, ZVALUE *);
|
||||
|
||||
#endif /* !__VALUE_H__ */
|
||||
|
Reference in New Issue
Block a user