mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
Release calc version 2.11.5t1.0
This commit is contained in:
23
BUGS
23
BUGS
@@ -108,6 +108,25 @@ Problems with known work-a-rounds:
|
||||
int remsign;
|
||||
BOOL up, onebit;
|
||||
ZVALUE sqrt;
|
||||
*** zmath.c 2000/06/07 14:02:13 29.2
|
||||
--- zmath.c 2001/03/13 19:47:03
|
||||
***************
|
||||
*** 1608,1614 ****
|
||||
void
|
||||
zbitvalue(long n, ZVALUE *res)
|
||||
{
|
||||
! ZVALUE z;
|
||||
|
||||
if (n < 0) n = 0;
|
||||
z.sign = 0;
|
||||
--- 1608,1614 ----
|
||||
void
|
||||
zbitvalue(long n, ZVALUE *res)
|
||||
{
|
||||
! volatile ZVALUE z;
|
||||
|
||||
if (n < 0) n = 0;
|
||||
z.sign = 0;
|
||||
|
||||
* Solaris cc somtimes barfs while compiling zrand.c. In particular, calc
|
||||
barfs on on the SVAL macro. The work-a-round is to use the Solaric cc
|
||||
@@ -205,8 +224,8 @@ Problems with known work-a-rounds:
|
||||
## 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.7 $
|
||||
## @(#) $Id: BUGS,v 29.7 2001/02/25 21:01:52 chongo Exp $
|
||||
## @(#) $Revision: 29.9 $
|
||||
## @(#) $Id: BUGS,v 29.9 2001/03/18 03:34:41 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/RCS/BUGS,v $
|
||||
##
|
||||
## Under source code control: 1994/03/18 14:06:13
|
||||
|
37
CHANGES
37
CHANGES
@@ -15,6 +15,39 @@ The following are the changes from calc version 2.11.5t0 to date:
|
||||
to calc source. These changes should not effect Windoz
|
||||
free system such as GNU/Linux, Solaris, POSIX-like, etc ...
|
||||
|
||||
Added windll.h to deal with Windoz related DLL issues.
|
||||
Using the convention of 'extern DLL' instead of 'DLL extern'
|
||||
to deal with symbols that export to or import from a DLL.
|
||||
|
||||
Added HAVE_MALLOC_H, HAVE_STDLIB_H, HAVE_STRING_H, HAVE_TIMES_H,
|
||||
HAVE_SYS_TIMES_H, HAVE_TIME_H, HAVE_SYS_TIME_H, HAVE_UNISTD_H
|
||||
and HAVE_URANDOM to the Makefile. If these symcols are empty,
|
||||
then the Makefile looks for the appropriate system include file.
|
||||
If they are YES, then the Makefile will assume they exist.
|
||||
If they are NO, then the Makefile will assume they do not exist.
|
||||
|
||||
Changed HAVE_URANDOM to match the empty, YES, NO values.
|
||||
If HAVE_URANDOM is empty, then the Makefile will look for /dev/urandom.
|
||||
If HAVE_URANDOM is YES, then the Makefile will assume /dev/urandom exists.
|
||||
If HAVE_URANDOM is NO, then the Makefile will assume /dev/urandom does
|
||||
not exist.
|
||||
|
||||
If TERMCONTROL is -DUSE_WIN32, then the Windoz terminal control
|
||||
(no TERMIOS, no TERMIO, no SGTTY) will be assumed.
|
||||
|
||||
Added a win32_hsrc Makefile rule to create hsrc files appropriate
|
||||
for a Windoz system using Cygwin gcc environment. Added win32.mkdef
|
||||
which is used by the win32_hsrc rule to set the Windoz specific
|
||||
Makefile values to build hsrc files. The hsrc files are built
|
||||
under the win32 directory.
|
||||
|
||||
Added FPOS_POS_BITS, OFF_T_BITS, DEV_BITS and INODE_BITS Makefile
|
||||
symbiols to allow one to force the size of a file position, file
|
||||
offset, dev and inode value. Leaving these values blank will
|
||||
Makefile to determine their size.
|
||||
|
||||
Fixed a bug in the way file offsets, device and inode values are copied.
|
||||
|
||||
|
||||
The following are the changes from calc version 2.11.4t1 to date:
|
||||
|
||||
@@ -5059,8 +5092,8 @@ Following is a list of visible changes to calc from version 1.24.7 to 1.26.1:
|
||||
## 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.20 $
|
||||
## @(#) $Id: CHANGES,v 29.20 2001/02/25 22:07:36 chongo Exp $
|
||||
## @(#) $Revision: 29.22 $
|
||||
## @(#) $Id: CHANGES,v 29.22 2001/03/18 03:27:28 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/RCS/CHANGES,v $
|
||||
##
|
||||
## Under source code control: 1993/06/02 18:12:57
|
||||
|
@@ -64,7 +64,7 @@ People who maintain calc need to keep in mind the following:
|
||||
|
||||
The following was added to opcodes.h, config.h, zmath.h and value.h:
|
||||
|
||||
#if defined (_WIN32)
|
||||
#if defined(_WIN32)
|
||||
#ifdef _EXPORTING
|
||||
#define DLL __declspec(dllexport)
|
||||
#else
|
||||
@@ -102,8 +102,8 @@ was changed to:
|
||||
## 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.2 $
|
||||
## @(#) $Id: README.WINDOWS,v 29.2 2001/02/25 22:20:38 chongo Exp $
|
||||
## @(#) $Revision: 29.3 $
|
||||
## @(#) $Id: README.WINDOWS,v 29.3 2001/03/17 21:31:47 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/RCS/README.WINDOWS,v $
|
||||
##
|
||||
## Under source code control: 2001/02/25 14:00:05
|
||||
|
20
calc.c
20
calc.c
@@ -19,8 +19,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.6 $
|
||||
* @(#) $Id: calc.c,v 29.6 2001/02/25 22:07:36 chongo Exp $
|
||||
* @(#) $Revision: 29.7 $
|
||||
* @(#) $Id: calc.c,v 29.7 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:11
|
||||
@@ -32,20 +32,25 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include <pwd.h>
|
||||
|
||||
#if !defined (_WIN32)
|
||||
# include <pwd.h>
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#if defined (_WIN32)
|
||||
#include <io.h>
|
||||
#if defined(_WIN32)
|
||||
# include <io.h>
|
||||
/*
|
||||
* getopt.h file is from the Cygwin GNU library
|
||||
*
|
||||
* See:
|
||||
* http://sources.redhat.com/cygwin/
|
||||
*/
|
||||
#include "../getopt/getopt.h"
|
||||
#define strdup _strdup
|
||||
# include "../getopt/getopt.h"
|
||||
# define strdup _strdup
|
||||
# define isatty _isatty
|
||||
#endif /* Windoz */
|
||||
|
||||
#define CALC_C
|
||||
@@ -61,6 +66,7 @@
|
||||
#include "custom.h"
|
||||
#include "math_error.h"
|
||||
#include "args.h"
|
||||
#include "zmath.h"
|
||||
|
||||
#include "have_unistd.h"
|
||||
#if defined(HAVE_UNISTD_H)
|
||||
|
229
calc.h
229
calc.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.5 $
|
||||
* @(#) $Id: calc.h,v 29.5 2000/12/04 19:32:33 chongo Exp $
|
||||
* @(#) $Revision: 29.6 $
|
||||
* @(#) $Id: calc.h,v 29.6 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.h,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:31
|
||||
@@ -32,9 +32,8 @@
|
||||
#define __CALC_H__
|
||||
|
||||
#include <setjmp.h>
|
||||
|
||||
#include "win32dll.h"
|
||||
#include "value.h"
|
||||
|
||||
#include "have_const.h"
|
||||
|
||||
|
||||
@@ -94,134 +93,140 @@
|
||||
/*
|
||||
* File I/O routines.
|
||||
*/
|
||||
extern FILEID openid(char *name, char *mode);
|
||||
extern FILEID indexid(long index);
|
||||
extern BOOL validid(FILEID id);
|
||||
extern BOOL errorid(FILEID id);
|
||||
extern BOOL eofid(FILEID id);
|
||||
extern int closeid(FILEID id);
|
||||
extern int getcharid(FILEID id);
|
||||
extern int idprintf(FILEID id, char *fmt, int count, VALUE **vals);
|
||||
extern int idfputc(FILEID id, int ch);
|
||||
extern int idfputs(FILEID id, char *str);
|
||||
extern int printid(FILEID id, int flags);
|
||||
extern int flushid(FILEID id);
|
||||
extern int readid(FILEID id, int flags, char **retptr);
|
||||
extern int getloc(FILEID id, ZVALUE *loc);
|
||||
extern int setloc(FILEID id, ZVALUE zpos);
|
||||
extern int getsize(FILEID id, ZVALUE *size);
|
||||
extern int get_device(FILEID id, ZVALUE *dev);
|
||||
extern int get_inode(FILEID id, ZVALUE *ino);
|
||||
extern FILEID reopenid(FILEID id, char *mode, char *name);
|
||||
extern int closeall(void);
|
||||
extern int flushall(void);
|
||||
extern int idfputstr(FILEID id, char *str);
|
||||
extern int rewindid(FILEID id);
|
||||
extern void rewindall(void);
|
||||
extern ZVALUE zfilesize(FILEID id);
|
||||
extern void showfiles(void);
|
||||
extern int fscanfid(FILEID id, char *fmt, int count, VALUE **vals);
|
||||
extern int scanfstr(char *str, char *fmt, int count, VALUE **vals);
|
||||
extern int ftellid(FILEID id, ZVALUE *res);
|
||||
extern int fseekid(FILEID id, ZVALUE offset, int whence);
|
||||
extern int isattyid(FILEID id);
|
||||
extern int fsearch(FILEID id, char *str, ZVALUE start, ZVALUE end, ZVALUE *res);
|
||||
extern int frsearch(FILEID id, char *str, ZVALUE first, ZVALUE last, ZVALUE *res);
|
||||
extern void showconstants(void);
|
||||
extern void freeconstant(unsigned long);
|
||||
extern void freestringconstant(long);
|
||||
extern void trimconstants(void);
|
||||
extern DLL FILEID openid(char *name, char *mode);
|
||||
extern DLL FILEID indexid(long index);
|
||||
extern DLL BOOL validid(FILEID id);
|
||||
extern DLL BOOL errorid(FILEID id);
|
||||
extern DLL BOOL eofid(FILEID id);
|
||||
extern DLL int closeid(FILEID id);
|
||||
extern DLL int getcharid(FILEID id);
|
||||
extern DLL int idprintf(FILEID id, char *fmt, int count, VALUE **vals);
|
||||
extern DLL int idfputc(FILEID id, int ch);
|
||||
extern DLL int idfputs(FILEID id, char *str);
|
||||
extern DLL int printid(FILEID id, int flags);
|
||||
extern DLL int flushid(FILEID id);
|
||||
extern DLL int readid(FILEID id, int flags, char **retptr);
|
||||
extern DLL int getloc(FILEID id, ZVALUE *loc);
|
||||
extern DLL int setloc(FILEID id, ZVALUE zpos);
|
||||
extern DLL int getsize(FILEID id, ZVALUE *size);
|
||||
extern DLL int get_device(FILEID id, ZVALUE *dev);
|
||||
extern DLL int get_inode(FILEID id, ZVALUE *ino);
|
||||
extern DLL FILEID reopenid(FILEID id, char *mode, char *name);
|
||||
extern DLL int closeall(void);
|
||||
|
||||
#if !defined(_WIN32)
|
||||
extern DLL int flushall(void);
|
||||
#endif
|
||||
|
||||
extern DLL int idfputstr(FILEID id, char *str);
|
||||
extern DLL int rewindid(FILEID id);
|
||||
extern DLL void rewindall(void);
|
||||
extern DLL ZVALUE zfilesize(FILEID id);
|
||||
extern DLL void showfiles(void);
|
||||
extern DLL int fscanfid(FILEID id, char *fmt, int count, VALUE **vals);
|
||||
extern DLL int scanfstr(char *str, char *fmt, int count, VALUE **vals);
|
||||
extern DLL int ftellid(FILEID id, ZVALUE *res);
|
||||
extern DLL int fseekid(FILEID id, ZVALUE offset, int whence);
|
||||
extern DLL int isattyid(FILEID id);
|
||||
extern DLL int fsearch(FILEID id, char *str, ZVALUE start, ZVALUE end, ZVALUE *res);
|
||||
extern DLL int frsearch(FILEID id, char *str, ZVALUE first, ZVALUE last, ZVALUE *res);
|
||||
extern DLL void showconstants(void);
|
||||
extern DLL void freeconstant(unsigned long);
|
||||
extern DLL void freestringconstant(long);
|
||||
extern DLL void trimconstants(void);
|
||||
|
||||
/*
|
||||
* Input routines.
|
||||
*/
|
||||
extern int openstring(char *str, long num);
|
||||
extern int openterminal(void);
|
||||
extern int opensearchfile(char *name, char *pathlist, char *exten, int reopen_ok);
|
||||
extern char *nextline(void);
|
||||
extern int nextchar(void);
|
||||
extern void reread(void);
|
||||
extern void resetinput(void);
|
||||
extern void setprompt(char *);
|
||||
extern BOOL inputisterminal(void);
|
||||
extern int inputlevel(void);
|
||||
extern long calclevel(void);
|
||||
extern char *inputname(void);
|
||||
extern long linenumber(void);
|
||||
extern void runrcfiles(void);
|
||||
extern void closeinput(void);
|
||||
extern DLL int openstring(char *str, long num);
|
||||
extern DLL int openterminal(void);
|
||||
extern DLL int opensearchfile(char *name, char *pathlist, char *exten, int reopen_ok);
|
||||
extern DLL char *nextline(void);
|
||||
extern DLL int nextchar(void);
|
||||
extern DLL void reread(void);
|
||||
extern DLL void resetinput(void);
|
||||
extern DLL void setprompt(char *);
|
||||
extern DLL BOOL inputisterminal(void);
|
||||
extern DLL int inputlevel(void);
|
||||
extern DLL long calclevel(void);
|
||||
extern DLL char *inputname(void);
|
||||
extern DLL long linenumber(void);
|
||||
extern DLL void runrcfiles(void);
|
||||
extern DLL void closeinput(void);
|
||||
|
||||
/*
|
||||
* Other routines.
|
||||
*/
|
||||
extern NUMBER *constvalue(unsigned long index);
|
||||
extern long addnumber(char *str);
|
||||
extern long addqconstant(NUMBER *q);
|
||||
extern void initstack(void);
|
||||
extern void getcommands(BOOL toplevel);
|
||||
extern void givehelp(char *type);
|
||||
extern void libcalc_call_me_first(void);
|
||||
extern void libcalc_call_me_last(void);
|
||||
extern BOOL calc_tty(int fd);
|
||||
extern BOOL orig_tty(int fd);
|
||||
extern void showerrors(void);
|
||||
extern char *calc_strdup(CONST char *);
|
||||
extern DLL NUMBER *constvalue(unsigned long index);
|
||||
extern DLL long addnumber(char *str);
|
||||
extern DLL long addqconstant(NUMBER *q);
|
||||
extern DLL void initstack(void);
|
||||
extern DLL void getcommands(BOOL toplevel);
|
||||
extern DLL void givehelp(char *type);
|
||||
extern DLL void libcalc_call_me_first(void);
|
||||
extern DLL void libcalc_call_me_last(void);
|
||||
extern DLL BOOL calc_tty(int fd);
|
||||
extern DLL BOOL orig_tty(int fd);
|
||||
extern DLL void showerrors(void);
|
||||
extern DLL char *calc_strdup(CONST char *);
|
||||
|
||||
/*
|
||||
* Initialization
|
||||
*/
|
||||
extern void initialize(void);
|
||||
extern void reinitialize(void);
|
||||
extern int isatty(int tty); /* TRUE if fd is a tty */
|
||||
extern char *version(void); /* return version string */
|
||||
extern int post_init; /* TRUE => setjmp for math_error is ready */
|
||||
extern DLL void initialize(void);
|
||||
extern DLL void reinitialize(void);
|
||||
#if !defined (_WIN32)
|
||||
extern DLL int isatty(int tty); /* TRUE if fd is a tty */
|
||||
#endif
|
||||
extern DLL char *version(void); /* return version string */
|
||||
extern DLL int post_init; /* TRUE => math_error setjmp is ready */
|
||||
|
||||
/*
|
||||
* global flags and definitions
|
||||
*/
|
||||
extern int abortlevel; /* current level of aborts */
|
||||
extern BOOL inputwait; /* TRUE if in a terminal input wait */
|
||||
extern jmp_buf jmpbuf; /* for errors */
|
||||
extern DLL int abortlevel; /* current level of aborts */
|
||||
extern DLL BOOL inputwait; /* TRUE if in a terminal input wait */
|
||||
extern DLL jmp_buf jmpbuf; /* for errors */
|
||||
|
||||
extern int p_flag; /* TRUE => pipe mode */
|
||||
extern int q_flag; /* TRUE => don't execute rc files */
|
||||
extern int u_flag; /* TRUE => unbuffer stdin and stdout */
|
||||
extern int d_flag; /* TRUE => disable heading, resource_debug */
|
||||
extern int c_flag; /* TRUE => continue after error if permitted */
|
||||
extern int i_flag; /* TRUE => try to go interactive after error */
|
||||
extern int s_flag; /* TRUE => keep args as strings for argv() */
|
||||
extern int stoponerror; /* >0 => stop, <0 => continue, ==0 => use -c */
|
||||
extern BOOL abort_now; /* TRUE => try to go interactive */
|
||||
extern DLL int p_flag; /* TRUE => pipe mode */
|
||||
extern DLL int q_flag; /* TRUE => don't execute rc files */
|
||||
extern DLL int u_flag; /* TRUE => unbuffer stdin and stdout */
|
||||
extern DLL int d_flag; /* TRUE => disable heading, resource_debug */
|
||||
extern DLL int c_flag; /* TRUE => continue after error if permitted */
|
||||
extern DLL int i_flag; /* TRUE => try to go interactive after error */
|
||||
extern DLL int s_flag; /* TRUE => keep args as strings for argv() */
|
||||
extern DLL int stoponerror; /* >0 => stop, <0 => continue, ==0 => use -c */
|
||||
extern DLL BOOL abort_now; /* TRUE => try to go interactive */
|
||||
|
||||
extern int argc_value; /* count of argv[] strings for argv() builtin */
|
||||
extern char **argv_value; /* argv[] strings for argv() builtin */
|
||||
extern DLL int argc_value; /* count of argv[] strings for argv() builtin */
|
||||
extern DLL char **argv_value; /* argv[] strings for argv() builtin */
|
||||
|
||||
extern char *pager; /* $PAGER or default */
|
||||
extern int stdin_tty; /* TRUE if stdin is a tty */
|
||||
extern int havecommands; /* TRUE if have cmd args) */
|
||||
extern char *program; /* our name */
|
||||
extern char *base_name; /* basename of our name */
|
||||
extern char cmdbuf[]; /* command line expression */
|
||||
extern DLL char *pager; /* $PAGER or default */
|
||||
extern DLL int stdin_tty; /* TRUE if stdin is a tty */
|
||||
extern DLL int havecommands; /* TRUE if have cmd args) */
|
||||
extern DLL char *program; /* our name */
|
||||
extern DLL char *base_name; /* basename of our name */
|
||||
extern DLL char cmdbuf[]; /* command line expression */
|
||||
|
||||
extern int abortlevel; /* current level of aborts */
|
||||
extern BOOL inputwait; /* TRUE if in a terminal input wait */
|
||||
extern VALUE *stack; /* execution stack */
|
||||
extern int dumpnames; /* TRUE => dump names rather than indices */
|
||||
extern DLL int abortlevel; /* current level of aborts */
|
||||
extern DLL BOOL inputwait; /* TRUE if in a terminal input wait */
|
||||
extern DLL VALUE *stack; /* execution stack */
|
||||
extern DLL int dumpnames; /* TRUE => dump names rather than indices */
|
||||
|
||||
extern char *calcpath; /* $CALCPATH or default */
|
||||
extern char *calcrc; /* $CALCRC or default */
|
||||
extern char *calcbindings; /* $CALCBINDINGS or default */
|
||||
extern char *home; /* $HOME or default */
|
||||
extern char *shell; /* $SHELL or default */
|
||||
extern char *program; /* our name (argv[0]) */
|
||||
extern DLL char *calcpath; /* $CALCPATH or default */
|
||||
extern DLL char *calcrc; /* $CALCRC or default */
|
||||
extern DLL char *calcbindings; /* $CALCBINDINGS or default */
|
||||
extern DLL char *home; /* $HOME or default */
|
||||
extern DLL char *shell; /* $SHELL or default */
|
||||
extern DLL char *program; /* our name (argv[0]) */
|
||||
|
||||
extern int no_env; /* TRUE (-e) => ignore env vars on startup */
|
||||
extern int errmax; /* if >= 0, error when errcount exceeds errmax */
|
||||
extern int new_std; /* TRUE (-n) => use newstd configuration */
|
||||
extern DLL int no_env; /* TRUE (-e) => ignore env vars on startup */
|
||||
extern DLL int errmax; /* if >= 0, error when errcount exceeds errmax */
|
||||
extern DLL int new_std; /* TRUE (-n) => use newstd configuration */
|
||||
|
||||
extern int allow_read; /* FALSE => may not open any files for reading */
|
||||
extern int allow_write; /* FALSE => may not open any files for writing */
|
||||
extern int allow_exec; /* FALSE => may not execute any commands */
|
||||
extern DLL int allow_read; /* FALSE => dont open any files for reading */
|
||||
extern DLL int allow_write; /* FALSE => dont open any files for writing */
|
||||
extern DLL int allow_exec; /* FALSE => may not execute any commands */
|
||||
|
||||
/*
|
||||
* calc startup and run state
|
||||
@@ -237,8 +242,8 @@ typedef enum {
|
||||
RUN_EXIT, /* normal exit from calc */
|
||||
RUN_EXIT_WITH_ERROR /* exit with error */
|
||||
} run;
|
||||
extern run run_state;
|
||||
extern char *run_state_name(run state);
|
||||
extern DLL run run_state;
|
||||
extern DLL char *run_state_name(run state);
|
||||
|
||||
/*
|
||||
* calc version information
|
||||
@@ -249,7 +254,7 @@ extern int calc_minor_ver;
|
||||
extern int calc_major_patch;
|
||||
extern char *calc_minor_patch;
|
||||
extern char *Copyright;
|
||||
extern char *version(void);
|
||||
extern DLL char *version(void);
|
||||
|
||||
|
||||
#endif /* !__CALC_H__ */
|
||||
|
@@ -19,8 +19,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: codegen.c,v 29.3 2000/07/17 15:35:49 chongo Exp $
|
||||
* @(#) $Revision: 29.4 $
|
||||
* @(#) $Id: codegen.c,v 29.4 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/codegen.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:13
|
||||
@@ -45,6 +45,10 @@
|
||||
#include "func.h"
|
||||
#include "conf.h"
|
||||
|
||||
#if defined(_WIN32)
|
||||
# include <direct.h>
|
||||
#endif
|
||||
|
||||
static BOOL rdonce; /* TRUE => do not reread this file */
|
||||
|
||||
FUNC *curfunc;
|
||||
|
43
config.h
43
config.h
@@ -19,8 +19,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.5 $
|
||||
* @(#) $Id: config.h,v 29.5 2001/02/25 22:07:36 chongo Exp $
|
||||
* @(#) $Revision: 29.6 $
|
||||
* @(#) $Id: config.h,v 29.6 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/config.h,v $
|
||||
*
|
||||
* Under source code control: 1995/11/01 22:20:17
|
||||
@@ -35,20 +35,7 @@
|
||||
#define __CONFIG_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 "win32dll.h"
|
||||
#include "nametype.h"
|
||||
#include "qmath.h"
|
||||
|
||||
@@ -196,23 +183,23 @@ typedef struct config CONFIG;
|
||||
/*
|
||||
* global configuration states and aliases
|
||||
*/
|
||||
extern CONFIG *conf; /* current configuration */
|
||||
extern CONFIG oldstd; /* backward compatible standard configuration */
|
||||
extern CONFIG newstd; /* new non-backward compatible configuration */
|
||||
extern char *calc_debug; /* !=NULL => value of config("calc_debug") */
|
||||
extern char *resource_debug; /* !=NULL => config("resource_debug") value */
|
||||
extern char *user_debug; /* !=NULL => value of config("user_debug") */
|
||||
extern DLL CONFIG *conf; /* current configuration */
|
||||
extern DLL CONFIG oldstd; /* backward compatible standard configuration */
|
||||
extern DLL CONFIG newstd; /* new non-backward compatible configuration */
|
||||
extern DLL char *calc_debug; /* !=NULL => value of config("calc_debug") */
|
||||
extern DLL char *resource_debug; /* !=NULL => config("resource_debug") value */
|
||||
extern DLL char *user_debug; /* !=NULL => value of config("user_debug") */
|
||||
|
||||
|
||||
/*
|
||||
* configuration externals
|
||||
*/
|
||||
DLL extern CONFIG *config_copy(CONFIG *src);
|
||||
DLL extern void config_free(CONFIG *cfg);
|
||||
DLL extern void config_print(CONFIG *cfg);
|
||||
DLL extern int configtype(char*);
|
||||
DLL extern void config_print(CONFIG*);
|
||||
DLL extern BOOL config_cmp(CONFIG*, CONFIG*);
|
||||
extern DLL CONFIG *config_copy(CONFIG *src);
|
||||
extern DLL void config_free(CONFIG *cfg);
|
||||
extern DLL void config_print(CONFIG *cfg);
|
||||
extern DLL int configtype(char*);
|
||||
extern DLL void config_print(CONFIG*);
|
||||
extern DLL BOOL config_cmp(CONFIG*, CONFIG*);
|
||||
|
||||
|
||||
#endif /* !__CONFIG_H__ */
|
||||
|
7
custom.c
7
custom.c
@@ -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.2 $
|
||||
* @(#) $Id: custom.c,v 29.2 2000/06/07 14:02:13 chongo Exp $
|
||||
* @(#) $Revision: 29.3 $
|
||||
* @(#) $Id: custom.c,v 29.3 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/custom.c,v $
|
||||
*
|
||||
* Under source code control: 1997/03/03 04:53:08
|
||||
@@ -34,11 +34,10 @@
|
||||
#include "value.h"
|
||||
#include "custom.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#if defined(CUSTOM)
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "calc.h"
|
||||
|
||||
#include "have_string.h"
|
||||
|
@@ -18,8 +18,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: Makefile,v 29.3 2000/12/17 12:28:15 chongo Exp $
|
||||
# @(#) $Revision: 29.5 $
|
||||
# @(#) $Id: Makefile,v 29.5 2001/03/17 21:39:24 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/custom/RCS/Makefile,v $
|
||||
#
|
||||
# Under source code control: 1997/03/09 02:28:54
|
||||
@@ -460,7 +460,7 @@ clean:
|
||||
|
||||
clobber:
|
||||
-rm -f ${TARGETS}
|
||||
rm -f .all Makefile.tmp
|
||||
rm -f .all Makefile.tmp Makefile.bak
|
||||
|
||||
install: all
|
||||
-${Q}if [ ! -d ${TOPDIR} ]; then \
|
||||
@@ -537,11 +537,13 @@ install: all
|
||||
|
||||
# DO NOT DELETE THIS LINE
|
||||
|
||||
|
||||
c_argv.o: ../alloc.h
|
||||
c_argv.o: ../block.h
|
||||
c_argv.o: ../byteswap.h
|
||||
c_argv.o: ../calc.h
|
||||
c_argv.o: ../calcerr.h
|
||||
c_argv.o: ../calc.h
|
||||
c_argv.o: c_argv.c
|
||||
c_argv.o: ../cmath.h
|
||||
c_argv.o: ../config.h
|
||||
c_argv.o: ../custom.h
|
||||
@@ -557,16 +559,17 @@ c_argv.o: ../longbits.h
|
||||
c_argv.o: ../md5.h
|
||||
c_argv.o: ../nametype.h
|
||||
c_argv.o: ../qmath.h
|
||||
c_argv.o: ../shs.h
|
||||
c_argv.o: ../shs1.h
|
||||
c_argv.o: ../shs.h
|
||||
c_argv.o: ../string.h
|
||||
c_argv.o: ../value.h
|
||||
c_argv.o: ../win32dll.h
|
||||
c_argv.o: ../zmath.h
|
||||
c_argv.o: c_argv.c
|
||||
c_devnull.o: ../alloc.h
|
||||
c_devnull.o: ../block.h
|
||||
c_devnull.o: ../byteswap.h
|
||||
c_devnull.o: ../calcerr.h
|
||||
c_devnull.o: c_devnull.c
|
||||
c_devnull.o: ../cmath.h
|
||||
c_devnull.o: ../config.h
|
||||
c_devnull.o: ../custom.h
|
||||
@@ -582,16 +585,17 @@ c_devnull.o: ../longbits.h
|
||||
c_devnull.o: ../md5.h
|
||||
c_devnull.o: ../nametype.h
|
||||
c_devnull.o: ../qmath.h
|
||||
c_devnull.o: ../shs.h
|
||||
c_devnull.o: ../shs1.h
|
||||
c_devnull.o: ../shs.h
|
||||
c_devnull.o: ../string.h
|
||||
c_devnull.o: ../value.h
|
||||
c_devnull.o: ../win32dll.h
|
||||
c_devnull.o: ../zmath.h
|
||||
c_devnull.o: c_devnull.c
|
||||
c_help.o: ../alloc.h
|
||||
c_help.o: ../block.h
|
||||
c_help.o: ../byteswap.h
|
||||
c_help.o: ../calcerr.h
|
||||
c_help.o: c_help.c
|
||||
c_help.o: ../cmath.h
|
||||
c_help.o: ../config.h
|
||||
c_help.o: ../custom.h
|
||||
@@ -607,18 +611,19 @@ c_help.o: ../longbits.h
|
||||
c_help.o: ../md5.h
|
||||
c_help.o: ../nametype.h
|
||||
c_help.o: ../qmath.h
|
||||
c_help.o: ../shs.h
|
||||
c_help.o: ../shs1.h
|
||||
c_help.o: ../shs.h
|
||||
c_help.o: ../string.h
|
||||
c_help.o: ../value.h
|
||||
c_help.o: ../win32dll.h
|
||||
c_help.o: ../zmath.h
|
||||
c_help.o: c_help.c
|
||||
c_pzasusb8.o: ../alloc.h
|
||||
c_pzasusb8.o: ../block.h
|
||||
c_pzasusb8.o: ../byteswap.h
|
||||
c_pzasusb8.o: ../calcerr.h
|
||||
c_pzasusb8.o: ../cmath.h
|
||||
c_pzasusb8.o: ../config.h
|
||||
c_pzasusb8.o: c_pzasusb8.c
|
||||
c_pzasusb8.o: ../custom.h
|
||||
c_pzasusb8.o: ../endian_calc.h
|
||||
c_pzasusb8.o: ../hash.h
|
||||
@@ -632,20 +637,21 @@ c_pzasusb8.o: ../longbits.h
|
||||
c_pzasusb8.o: ../md5.h
|
||||
c_pzasusb8.o: ../nametype.h
|
||||
c_pzasusb8.o: ../qmath.h
|
||||
c_pzasusb8.o: ../shs.h
|
||||
c_pzasusb8.o: ../shs1.h
|
||||
c_pzasusb8.o: ../shs.h
|
||||
c_pzasusb8.o: ../string.h
|
||||
c_pzasusb8.o: ../value.h
|
||||
c_pzasusb8.o: ../win32dll.h
|
||||
c_pzasusb8.o: ../zmath.h
|
||||
c_pzasusb8.o: c_pzasusb8.c
|
||||
c_sysinfo.o: ../alloc.h
|
||||
c_sysinfo.o: ../block.h
|
||||
c_sysinfo.o: ../byteswap.h
|
||||
c_sysinfo.o: ../calc.h
|
||||
c_sysinfo.o: ../calcerr.h
|
||||
c_sysinfo.o: ../calc.h
|
||||
c_sysinfo.o: ../cmath.h
|
||||
c_sysinfo.o: ../conf.h
|
||||
c_sysinfo.o: ../config.h
|
||||
c_sysinfo.o: c_sysinfo.c
|
||||
c_sysinfo.o: ../custom.h
|
||||
c_sysinfo.o: ../endian_calc.h
|
||||
c_sysinfo.o: ../fposval.h
|
||||
@@ -663,14 +669,14 @@ c_sysinfo.o: ../md5.h
|
||||
c_sysinfo.o: ../nametype.h
|
||||
c_sysinfo.o: ../prime.h
|
||||
c_sysinfo.o: ../qmath.h
|
||||
c_sysinfo.o: ../shs.h
|
||||
c_sysinfo.o: ../shs1.h
|
||||
c_sysinfo.o: ../shs.h
|
||||
c_sysinfo.o: ../string.h
|
||||
c_sysinfo.o: ../value.h
|
||||
c_sysinfo.o: ../win32dll.h
|
||||
c_sysinfo.o: ../zmath.h
|
||||
c_sysinfo.o: ../zrand.h
|
||||
c_sysinfo.o: ../zrandom.h
|
||||
c_sysinfo.o: c_sysinfo.c
|
||||
custtbl.o: ../alloc.h
|
||||
custtbl.o: ../block.h
|
||||
custtbl.o: ../byteswap.h
|
||||
@@ -678,6 +684,7 @@ custtbl.o: ../calcerr.h
|
||||
custtbl.o: ../cmath.h
|
||||
custtbl.o: ../config.h
|
||||
custtbl.o: ../custom.h
|
||||
custtbl.o: custtbl.c
|
||||
custtbl.o: ../endian_calc.h
|
||||
custtbl.o: ../hash.h
|
||||
custtbl.o: ../have_const.h
|
||||
@@ -690,9 +697,9 @@ custtbl.o: ../longbits.h
|
||||
custtbl.o: ../md5.h
|
||||
custtbl.o: ../nametype.h
|
||||
custtbl.o: ../qmath.h
|
||||
custtbl.o: ../shs.h
|
||||
custtbl.o: ../shs1.h
|
||||
custtbl.o: ../shs.h
|
||||
custtbl.o: ../string.h
|
||||
custtbl.o: ../value.h
|
||||
custtbl.o: ../win32dll.h
|
||||
custtbl.o: ../zmath.h
|
||||
custtbl.o: custtbl.c
|
||||
|
12
endian.c
12
endian.c
@@ -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.2 $
|
||||
* @(#) $Id: endian.c,v 29.2 2000/06/07 14:02:13 chongo Exp $
|
||||
* @(#) $Revision: 29.3 $
|
||||
* @(#) $Id: endian.c,v 29.3 2001/03/18 02:59:42 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/endian.c,v $
|
||||
*
|
||||
* Under source code control: 1993/11/15 04:32:58
|
||||
@@ -48,8 +48,10 @@ char byte[8] = { (char)0x12, (char)0x36, (char)0x48, (char)0x59,
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
#if !defined(LITTLE_ENDIAN) && !defined(BIG_ENDIAN)
|
||||
/* pointers into the byte order array */
|
||||
int *intp = (int *)byte;
|
||||
#endif
|
||||
#if defined(DEBUG)
|
||||
short *shortp = (short *)byte;
|
||||
long *longp = (long *)byte;
|
||||
@@ -69,6 +71,11 @@ main(void)
|
||||
printf("#define BIG_ENDIAN\t4321\n");
|
||||
printf("#define LITTLE_ENDIAN\t1234\n");
|
||||
|
||||
#if defined(LITTLE_ENDIAN)
|
||||
printf("#define CALC_BYTE_ORDER\tLITTLE_ENDIAN\n");
|
||||
#elif defined(BIG_ENDIAN)
|
||||
printf("#define CALC_BYTE_ORDER\tBIG_ENDIAN\n");
|
||||
#else
|
||||
/* Determine byte order */
|
||||
if (intp[0] == 0x12364859) {
|
||||
/* Most Significant Byte first */
|
||||
@@ -81,6 +88,7 @@ main(void)
|
||||
"Unknown int Byte Order, set CALC_BYTE_ORDER in Makefile\n");
|
||||
exit(1);
|
||||
}
|
||||
#endif
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
12
file.c
12
file.c
@@ -19,8 +19,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.5 $
|
||||
* @(#) $Id: file.c,v 29.5 2001/02/25 22:07:36 chongo Exp $
|
||||
* @(#) $Revision: 29.6 $
|
||||
* @(#) $Id: file.c,v 29.6 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/file.c,v $
|
||||
*
|
||||
* Under source code control: 1991/07/20 00:21:56
|
||||
@@ -37,7 +37,7 @@
|
||||
#include <stdlib.h>
|
||||
#include "have_unistd.h"
|
||||
#if defined(HAVE_UNISTD_H)
|
||||
#include <unistd.h>
|
||||
# include <unistd.h>
|
||||
#endif /* HAVE_UNISTD_H */
|
||||
#include <ctype.h>
|
||||
#include "calc.h"
|
||||
@@ -48,6 +48,10 @@
|
||||
#include "file.h"
|
||||
#include "calcerr.h"
|
||||
|
||||
#if defined(_WIN32)
|
||||
# include <io.h>
|
||||
#endif
|
||||
|
||||
#define READSIZE 1024 /* buffer size for reading */
|
||||
|
||||
/*
|
||||
@@ -540,6 +544,7 @@ flushid(FILEID id)
|
||||
}
|
||||
|
||||
|
||||
#if !defined(_WIN32)
|
||||
int
|
||||
flushall(void)
|
||||
{
|
||||
@@ -555,6 +560,7 @@ flushall(void)
|
||||
}
|
||||
return err;
|
||||
}
|
||||
#endif /* Windoz free systems */
|
||||
|
||||
|
||||
/*
|
||||
|
26
fposval.c
26
fposval.c
@@ -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.5 $
|
||||
* @(#) $Id: fposval.c,v 29.5 2001/02/25 21:01:34 chongo Exp $
|
||||
* @(#) $Revision: 29.6 $
|
||||
* @(#) $Id: fposval.c,v 29.6 2001/03/18 03:01:41 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/fposval.c,v $
|
||||
*
|
||||
* Under source code control: 1994/11/05 03:19:52
|
||||
@@ -87,7 +87,11 @@ main(int argc, char **argv)
|
||||
#if defined(HAVE_FPOS_POS)
|
||||
fileposlen = FPOS_POS_BITS;
|
||||
#else /* ! HAVE_FPOS_POS */
|
||||
# if defined(FPOS_BITS)
|
||||
fileposlen = FPOS_BITS;
|
||||
# else
|
||||
fileposlen = sizeof(FILEPOS)*8;
|
||||
# endif
|
||||
#endif /* ! HAVE_FPOS_POS */
|
||||
printf("#undef FILEPOS_BITS\n");
|
||||
printf("#define FILEPOS_BITS %d\n", fileposlen);
|
||||
@@ -127,7 +131,11 @@ main(int argc, char **argv)
|
||||
/*
|
||||
* print the stat file size information
|
||||
*/
|
||||
#if defined(OFF_T_BITS)
|
||||
stsizelen = OFF_T_BITS;
|
||||
#else
|
||||
stsizelen = sizeof(buf.st_size)*8;
|
||||
#endif
|
||||
printf("#undef OFF_T_BITS\n");
|
||||
printf("#define OFF_T_BITS %d\n", stsizelen);
|
||||
#if CALC_BYTE_ORDER == BIG_ENDIAN
|
||||
@@ -161,7 +169,7 @@ main(int argc, char **argv)
|
||||
* systems, a off_t is not a scalar hince we must memcpy.
|
||||
*/
|
||||
printf("#define SWAP_HALF_IN_OFF_T(dest, src)\t%s%d%s\n",
|
||||
"memcpy((void *)(dest), (void *)(src), sizeof(",stsizelen,"))");
|
||||
"memcpy((void *)(dest), (void *)(src), ", stsizelen/8, ")");
|
||||
#endif /* HAVE_OFF_T_SCALAR */
|
||||
#endif /* CALC_BYTE_ORDER == BIG_ENDIAN */
|
||||
putchar('\n');
|
||||
@@ -169,7 +177,11 @@ main(int argc, char **argv)
|
||||
/*
|
||||
* print the dev_t size
|
||||
*/
|
||||
#if defined(DEV_BITS)
|
||||
devlen = DEV_BITS;
|
||||
#else
|
||||
devlen = sizeof(buf.st_dev)*8;
|
||||
#endif
|
||||
printf("#undef DEV_BITS\n");
|
||||
printf("#define DEV_BITS %d\n", devlen);
|
||||
#if CALC_BYTE_ORDER == BIG_ENDIAN
|
||||
@@ -198,14 +210,18 @@ main(int argc, char **argv)
|
||||
* systems, a DEV is not a scalar hince we must memcpy.
|
||||
*/
|
||||
printf("#define SWAP_HALF_IN_DEV(dest, src)\t%s%d%s\n",
|
||||
"memcpy((void *)(dest), (void *)(src), sizeof(",devlen,"))");
|
||||
"memcpy((void *)(dest), (void *)(src), ", devlen/8, ")");
|
||||
#endif /* CALC_BYTE_ORDER == BIG_ENDIAN */
|
||||
putchar('\n');
|
||||
|
||||
/*
|
||||
* print the ino_t size
|
||||
*/
|
||||
#if defined(INODE_BITS)
|
||||
inodelen = INODE_BITS;
|
||||
#else
|
||||
inodelen = sizeof(buf.st_ino)*8;
|
||||
#endif
|
||||
printf("#undef INODE_BITS\n");
|
||||
printf("#define INODE_BITS %d\n", inodelen);
|
||||
#if CALC_BYTE_ORDER == BIG_ENDIAN
|
||||
@@ -234,7 +250,7 @@ main(int argc, char **argv)
|
||||
* systems, a INODE is not a scalar hince we must memcpy.
|
||||
*/
|
||||
printf("#define SWAP_HALF_IN_INODE(dest, src)\t%s%d%s\n",
|
||||
"memcpy((void *)(dest), (void *)(src), sizeof(",inodelen,"))");
|
||||
"memcpy((void *)(dest), (void *)(src), ", inodelen/8, ")");
|
||||
#endif /* CALC_BYTE_ORDER == BIG_ENDIAN */
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
|
23
func.c
23
func.c
@@ -19,8 +19,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.6 $
|
||||
* @(#) $Id: func.c,v 29.6 2001/02/25 22:07:36 chongo Exp $
|
||||
* @(#) $Revision: 29.7 $
|
||||
* @(#) $Id: func.c,v 29.7 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/func.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:15
|
||||
@@ -36,9 +36,9 @@
|
||||
#include <errno.h>
|
||||
|
||||
#if defined(_WIN32)
|
||||
#include <io.h>
|
||||
#define _access access
|
||||
#endif /* Windoz */
|
||||
# include <io.h>
|
||||
# define _access access
|
||||
#endif
|
||||
|
||||
#if defined(FUNCLIST)
|
||||
|
||||
@@ -6894,7 +6894,16 @@ f_system(VALUE *vp)
|
||||
if (conf->calc_debug & CALCDBG_SYSTEM) {
|
||||
printf("%s\n", vp->v_str->s_str);
|
||||
}
|
||||
result.v_num = itoq((long) system(vp->v_str->s_str));
|
||||
#if defined(_WIN32)
|
||||
/* if the execute length is 0 then use NULL in system call */
|
||||
if (strlen(vp->v_str->s_str) == 0) {
|
||||
result.v_num = itoq((long)system(NULL));
|
||||
} else {
|
||||
result.v_num = itoq((long)system(vp->v_str->s_str));
|
||||
}
|
||||
#else /* Windoz free systems */
|
||||
result.v_num = itoq((long)system(vp->v_str->s_str));
|
||||
#endif /* Windoz free systems */
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -6907,6 +6916,7 @@ f_sleep(int count, VALUE **vals)
|
||||
NUMBER *q1, *q2;
|
||||
|
||||
res.v_type = V_NULL;
|
||||
#if !defined(_WIN32)
|
||||
if (count > 0) {
|
||||
if (vals[0]->v_type != V_NUM || qisneg(vals[0]->v_num))
|
||||
return error_value(E_SLEEP);
|
||||
@@ -6937,6 +6947,7 @@ f_sleep(int count, VALUE **vals)
|
||||
res.v_type = V_NUM;
|
||||
res.v_num = itoq(time);
|
||||
}
|
||||
#endif /* Windoz free systems */
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@@ -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.1 $
|
||||
* @(#) $Id: have_fpos_pos.c,v 29.1 2000/12/17 11:25:22 chongo Exp $
|
||||
* @(#) $Revision: 29.2 $
|
||||
* @(#) $Id: have_fpos_pos.c,v 29.2 2001/03/18 03:00:11 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/have_fpos_pos.c,v $
|
||||
*
|
||||
* Under source code control: 2000/12/17 01:23
|
||||
@@ -51,8 +51,17 @@ main(void)
|
||||
printf("#define HAVE_FPOS_POS 1 /* yes */\n\n");
|
||||
|
||||
/* determine __pos element size */
|
||||
printf("#undef FPOS_POS_BITS\n");
|
||||
printf("#undef FPOS_POS_BITS\t/* no */\n");
|
||||
# if defined(FPOS_POS_BITS)
|
||||
printf("#define FPOS_POS_BITS %d\n\n", FPOS_POS_BITS);
|
||||
# else
|
||||
printf("#define FPOS_POS_BITS %d\n\n", sizeof(pos.__pos)*8);
|
||||
# endif
|
||||
|
||||
#else
|
||||
/* we have no __pos element */
|
||||
printf("#undef HAVE_FPOS_POS\t/* no */\n");
|
||||
printf("#undef FPOS_POS_BITS\n");
|
||||
#endif
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
|
9
help.c
9
help.c
@@ -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.5 $
|
||||
* @(#) $Id: help.c,v 29.5 2001/02/25 22:07:36 chongo Exp $
|
||||
* @(#) $Revision: 29.6 $
|
||||
* @(#) $Id: help.c,v 29.6 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/help.c,v $
|
||||
*
|
||||
* Under source code control: 1997/09/14 10:58:30
|
||||
@@ -42,6 +42,11 @@
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32)
|
||||
# define popen _popen
|
||||
# define pclose _pclose
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* some help topics are symbols, so we alias them to nice filenames
|
||||
|
8
hist.c
8
hist.c
@@ -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.2 $
|
||||
* @(#) $Id: hist.c,v 29.2 2000/06/07 14:02:13 chongo Exp $
|
||||
* @(#) $Revision: 29.3 $
|
||||
* @(#) $Id: hist.c,v 29.3 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/hist.c,v $
|
||||
*
|
||||
* Under source code control: 1993/05/02 20:09:19
|
||||
@@ -40,7 +40,9 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <pwd.h>
|
||||
#if !defined(_WIN32)
|
||||
# include <pwd.h>
|
||||
#endif
|
||||
|
||||
#include "have_unistd.h"
|
||||
#if defined(HAVE_UNISTD_H)
|
||||
|
12
hist.h
12
hist.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.2 $
|
||||
* @(#) $Id: hist.h,v 29.2 2000/06/07 14:02:13 chongo Exp $
|
||||
* @(#) $Revision: 29.3 $
|
||||
* @(#) $Id: hist.h,v 29.3 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/hist.h,v $
|
||||
*
|
||||
* Under source code control: 1993/05/02 20:09:20
|
||||
@@ -64,10 +64,10 @@
|
||||
#define HIST_NOTTY 3 /* terminal modes could not be set */
|
||||
|
||||
|
||||
extern int hist_init(char *filename);
|
||||
extern void hist_term(void);
|
||||
extern int hist_getline(char *prompt, char *buf, int len);
|
||||
extern void hist_saveline(char *line, int len);
|
||||
extern DLL int hist_init(char *filename);
|
||||
extern DLL void hist_term(void);
|
||||
extern DLL int hist_getline(char *prompt, char *buf, int len);
|
||||
extern DLL void hist_saveline(char *line, int len);
|
||||
|
||||
|
||||
#endif /* !__HIST_H__ */
|
||||
|
42
input.c
42
input.c
@@ -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.4 $
|
||||
* @(#) $Id: input.c,v 29.4 2001/02/25 22:07:36 chongo Exp $
|
||||
* @(#) $Revision: 29.5 $
|
||||
* @(#) $Id: input.c,v 29.5 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/input.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:16
|
||||
@@ -36,8 +36,8 @@
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#if !defined(_WIN32)
|
||||
#include <pwd.h>
|
||||
#endif /* Windoz free systems */
|
||||
# include <pwd.h>
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
@@ -259,7 +259,7 @@ opensearchfile(char *name, char *pathlist, char *extension, int rd_once)
|
||||
static char *
|
||||
homeexpand(char *name)
|
||||
{
|
||||
#if defined (_WIN32)
|
||||
#if defined(_WIN32)
|
||||
|
||||
return NULL;
|
||||
|
||||
@@ -804,6 +804,15 @@ runrcfiles(void)
|
||||
* This function returns the index of the readset element that matches
|
||||
* a given device/inode, -1 otherwise.
|
||||
*
|
||||
*
|
||||
* WIN32 NOTE:
|
||||
*
|
||||
* This function does not work under WIN32. The sbuf->st_ino is always
|
||||
* zero because the FAT and NTFS filesystems do not support inodes.
|
||||
* They also don't support links, which is why you need this function
|
||||
* under UNIX. For WIN32, use _fullpath() to determine if you have
|
||||
* already opened a file.
|
||||
*
|
||||
* given:
|
||||
* sbuf stat of the inode in question
|
||||
*/
|
||||
@@ -811,6 +820,9 @@ static int
|
||||
isinoderead(struct stat *sbuf)
|
||||
{
|
||||
int i;
|
||||
#if defined(_WIN32)
|
||||
char fullpathname[_MAX_PATH];
|
||||
#endif
|
||||
|
||||
/* deal with the empty case */
|
||||
if (readset == NULL || maxreadset <= 0) {
|
||||
@@ -820,12 +832,22 @@ isinoderead(struct stat *sbuf)
|
||||
|
||||
/* scan the entire readset */
|
||||
for (i=0; i < maxreadset; ++i) {
|
||||
#if defined(_WIN32)
|
||||
if (readset[i].active &&
|
||||
strcmp(readset[i].path,
|
||||
_fullpath(fullpathname,cip->i_name,
|
||||
_MAX_PATH)) == 0) {
|
||||
/* found a match */
|
||||
return i;
|
||||
}
|
||||
#else /* Windoz free systems */
|
||||
if (readset[i].active &&
|
||||
sbuf->st_dev == readset[i].inode.st_dev &&
|
||||
sbuf->st_ino == readset[i].inode.st_ino) {
|
||||
/* found a match */
|
||||
return i;
|
||||
}
|
||||
#endif /* Windoz free systems */
|
||||
}
|
||||
|
||||
/* no match found */
|
||||
@@ -932,11 +954,21 @@ addreadset(char *name, char *path, struct stat *sbuf)
|
||||
return -1;
|
||||
}
|
||||
strcpy(readset[ret].name, name);
|
||||
#if defined(_WIN32)
|
||||
/*
|
||||
* For WIN32, _fullpath expands the path to a fully qualified
|
||||
* path name, which under WIN32 FAT and NTFS is unique, just
|
||||
* like UNIX inodes. _fullpath also allocated the memory for
|
||||
* this new longer path name.
|
||||
*/
|
||||
readset[ret].path = _fullpath(NULL, path, 0);
|
||||
#else /* Windoz free systems */
|
||||
readset[ret].path = (char *)malloc(strlen(path)+1);
|
||||
if (readset[ret].path == NULL) {
|
||||
return -1;
|
||||
}
|
||||
strcpy(readset[ret].path, path);
|
||||
#endif /* Windoz free systems */
|
||||
readset[ret].inode = *sbuf;
|
||||
readset[ret].active = 1;
|
||||
|
||||
|
41
lib_calc.c
41
lib_calc.c
@@ -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.5 $
|
||||
* @(#) $Id: lib_calc.c,v 29.5 2001/02/25 22:07:36 chongo Exp $
|
||||
* @(#) $Revision: 29.6 $
|
||||
* @(#) $Id: lib_calc.c,v 29.6 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/lib_calc.c,v $
|
||||
*
|
||||
* Under source code control: 1996/06/17 18:06:19
|
||||
@@ -32,7 +32,10 @@
|
||||
#include <stdio.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
#include <pwd.h>
|
||||
|
||||
#if !defined(_WIN32)
|
||||
# include <pwd.h>
|
||||
#endif
|
||||
|
||||
#include "calc.h"
|
||||
#include "zmath.h"
|
||||
@@ -63,7 +66,7 @@
|
||||
# include <termios.h>
|
||||
typedef struct termios ttystruct;
|
||||
|
||||
#elif defined(USE_TERMIOS)
|
||||
#elif defined(USE_TERMIO)
|
||||
|
||||
# include <termio.h>
|
||||
typedef struct termio ttystruct;
|
||||
@@ -73,12 +76,20 @@ typedef struct termio ttystruct;
|
||||
# include <sys/ioctl.h>
|
||||
typedef struct sgttyb ttystruct;
|
||||
|
||||
#elif !defined(_WIN32)
|
||||
#else
|
||||
|
||||
typedef struct {int fd;} ttystruct;
|
||||
|
||||
#endif
|
||||
|
||||
#if !defined(_WIN32)
|
||||
# if !defined(USE_SGTTY) && !defined (USE_TERMIOS) && !defined(USE_TERMIO)
|
||||
|
||||
-=*#*=- A Windoz free system without termio, termios or sgtty!!! -=*#*=-
|
||||
-=*#*=- We do not know how to compile for such a host, sorry!!!! -=*#*=-
|
||||
|
||||
#endif
|
||||
# endif
|
||||
#endif /* Windoz */
|
||||
|
||||
/*
|
||||
* in case we do not have certain .h files
|
||||
@@ -199,7 +210,7 @@ libcalc_call_me_first(void)
|
||||
*/
|
||||
#if !defined(_WIN32)
|
||||
(void) signal(SIGPIPE, SIG_IGN);
|
||||
#endif /* Windoz free systems */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* determine the basename
|
||||
@@ -382,7 +393,7 @@ initenv(void)
|
||||
{
|
||||
#if !defined(_WIN32)
|
||||
struct passwd *ent; /* our password entry */
|
||||
#endif /* Windoz free systems */
|
||||
#endif
|
||||
char *c;
|
||||
|
||||
/* determine the $CALCPATH value */
|
||||
@@ -742,7 +753,7 @@ calc_tty(int fd)
|
||||
printf("calc_tty: stty -ECHO -ECHOE -ECHOK -ICANON +ISTRIP "
|
||||
"VMIN=1 VTIME=0: fd %d\n", fd);
|
||||
|
||||
#else /* assume USE_SGTTY */
|
||||
#elif defined (USE_SGTTY)/* assume USE_SGTTY */
|
||||
|
||||
/*
|
||||
* assume USE_SGTTY tty state method
|
||||
@@ -768,6 +779,10 @@ calc_tty(int fd)
|
||||
if (conf->calc_debug & CALCDBG_TTY)
|
||||
printf("calc_tty: stty -ECHO -ECHOE -ECHOK -ICANON +ISTRIP "
|
||||
"VMIN=1 VTIME=0: fd %d\n", fd);
|
||||
|
||||
#else /* Using none of the above */
|
||||
fd_cur[slot] = fd_orig[slot];
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -833,7 +848,7 @@ orig_tty(int fd)
|
||||
if (conf->calc_debug & CALCDBG_TTY)
|
||||
printf("orig_tty: TCSETAW restored fd %d\n", fd);
|
||||
|
||||
#else /* assume USE_SGTTY */
|
||||
#elif defined (USE_SGTTY)/* assume USE_SGTTY */
|
||||
|
||||
/*
|
||||
* assume USE_SGTTY tty state method
|
||||
@@ -841,6 +856,12 @@ orig_tty(int fd)
|
||||
(void) tcsetattr(fd, TCSANOW, fd_orig+slot);
|
||||
if (conf->calc_debug & CALCDBG_TTY)
|
||||
printf("orig_tty: TCSANOW restored fd %d\n", fd);
|
||||
|
||||
#else /* nothing assigned */
|
||||
|
||||
if (conf->calc_debug & CALCDBG_TTY)
|
||||
printf ("orig_tty: nothing restored to fd %d\n", fd);
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
@@ -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.2 $
|
||||
* @(#) $Id: math_error.h,v 29.2 2000/06/07 14:02:13 chongo Exp $
|
||||
* @(#) $Revision: 29.3 $
|
||||
* @(#) $Id: math_error.h,v 29.3 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/math_error.h,v $
|
||||
*
|
||||
* Under source code control: 1997/03/23 18:37:10
|
||||
@@ -33,10 +33,13 @@
|
||||
#define __MATH_ERROR_H__
|
||||
|
||||
|
||||
#include "win32dll.h"
|
||||
|
||||
|
||||
/*
|
||||
* Global data definitions.
|
||||
*/
|
||||
extern jmp_buf jmpbuf; /* for errors */
|
||||
extern DLL jmp_buf jmpbuf; /* for errors */
|
||||
|
||||
|
||||
#endif /* !__MATH_ERROR_H__ */
|
||||
|
21
opcodes.h
21
opcodes.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: opcodes.h,v 29.3 2001/02/25 22:07:36 chongo Exp $
|
||||
* @(#) $Revision: 29.4 $
|
||||
* @(#) $Id: opcodes.h,v 29.4 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/opcodes.h,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:35
|
||||
@@ -32,18 +32,7 @@
|
||||
#define __OPCODES_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 "win32dll.h"
|
||||
|
||||
|
||||
/*
|
||||
@@ -188,8 +177,8 @@
|
||||
/*
|
||||
* external declarations
|
||||
*/
|
||||
extern char *funcname; /* function being executed */
|
||||
extern long funcline; /* function line being executed */
|
||||
extern DLL char *funcname; /* function being executed */
|
||||
extern DLL long funcline; /* function line being executed */
|
||||
|
||||
|
||||
#endif /* !__OPCODES_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: Makefile,v 29.3 2000/12/17 12:28:31 chongo Exp $
|
||||
# @(#) $Revision: 29.4 $
|
||||
# @(#) $Id: Makefile,v 29.4 2001/03/17 21:37:54 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/sample/RCS/Makefile,v $
|
||||
#
|
||||
# Under source code control: 1997/04/19 22:46:49
|
||||
@@ -446,11 +446,12 @@ install: all
|
||||
|
||||
# DO NOT DELETE THIS LINE
|
||||
|
||||
|
||||
many_random.o: ../alloc.h
|
||||
many_random.o: ../block.h
|
||||
many_random.o: ../byteswap.h
|
||||
many_random.o: ../calc.h
|
||||
many_random.o: ../calcerr.h
|
||||
many_random.o: ../calc.h
|
||||
many_random.o: ../cmath.h
|
||||
many_random.o: ../config.h
|
||||
many_random.o: ../endian_calc.h
|
||||
@@ -463,21 +464,22 @@ many_random.o: ../have_stdlib.h
|
||||
many_random.o: ../have_string.h
|
||||
many_random.o: ../lib_util.h
|
||||
many_random.o: ../longbits.h
|
||||
many_random.o: many_random.c
|
||||
many_random.o: ../md5.h
|
||||
many_random.o: ../nametype.h
|
||||
many_random.o: ../qmath.h
|
||||
many_random.o: ../shs.h
|
||||
many_random.o: ../shs1.h
|
||||
many_random.o: ../shs.h
|
||||
many_random.o: ../string.h
|
||||
many_random.o: ../value.h
|
||||
many_random.o: ../win32dll.h
|
||||
many_random.o: ../zmath.h
|
||||
many_random.o: ../zrandom.h
|
||||
many_random.o: many_random.c
|
||||
test_random.o: ../alloc.h
|
||||
test_random.o: ../block.h
|
||||
test_random.o: ../byteswap.h
|
||||
test_random.o: ../calc.h
|
||||
test_random.o: ../calcerr.h
|
||||
test_random.o: ../calc.h
|
||||
test_random.o: ../cmath.h
|
||||
test_random.o: ../config.h
|
||||
test_random.o: ../endian_calc.h
|
||||
@@ -493,10 +495,11 @@ test_random.o: ../longbits.h
|
||||
test_random.o: ../md5.h
|
||||
test_random.o: ../nametype.h
|
||||
test_random.o: ../qmath.h
|
||||
test_random.o: ../shs.h
|
||||
test_random.o: ../shs1.h
|
||||
test_random.o: ../shs.h
|
||||
test_random.o: ../string.h
|
||||
test_random.o: test_random.c
|
||||
test_random.o: ../value.h
|
||||
test_random.o: ../win32dll.h
|
||||
test_random.o: ../zmath.h
|
||||
test_random.o: ../zrandom.h
|
||||
test_random.o: test_random.c
|
||||
|
18
seed.c
18
seed.c
@@ -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: seed.c,v 29.3 2001/02/25 22:07:36 chongo Exp $
|
||||
* @(#) $Revision: 29.4 $
|
||||
* @(#) $Id: seed.c,v 29.4 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/seed.c,v $
|
||||
*
|
||||
* Under source code control: 1999/10/03 10:06:53
|
||||
@@ -47,9 +47,9 @@
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32)
|
||||
#include <process.h>
|
||||
#define pid_t int
|
||||
#endif /* Windoz */
|
||||
# include <process.h>
|
||||
# define pid_t int
|
||||
#endif
|
||||
|
||||
/*
|
||||
* PORTING NOTE:
|
||||
@@ -75,8 +75,8 @@
|
||||
#include <sys/times.h>
|
||||
#endif
|
||||
#if !defined(_WIN32)
|
||||
#include <sys/resource.h>
|
||||
#endif /* Windoz free systems */
|
||||
# include <sys/resource.h>
|
||||
#endif
|
||||
#include <setjmp.h>
|
||||
#include "qmath.h"
|
||||
#include "longbits.h"
|
||||
@@ -308,7 +308,9 @@ pseudo_seed(void)
|
||||
struct timeval tp; /* time of day */
|
||||
#endif
|
||||
pid_t getpid; /* process ID */
|
||||
#if !defined(_WIN32)
|
||||
pid_t getppid; /* parent process ID */
|
||||
#endif
|
||||
#if defined(HAVE_UID_T)
|
||||
uid_t getuid; /* real user ID */
|
||||
uid_t geteuid; /* effective user ID */
|
||||
@@ -387,7 +389,9 @@ pseudo_seed(void)
|
||||
(void) gettimeofday(&sdata.tp, NULL);
|
||||
#endif
|
||||
sdata.getpid = getpid();
|
||||
#if !defined(_WIN32)
|
||||
sdata.getppid = getppid();
|
||||
#endif
|
||||
#if defined(HAVE_UID_T)
|
||||
sdata.getuid = getuid();
|
||||
sdata.geteuid = geteuid();
|
||||
|
355
value.h
355
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.4 $
|
||||
* @(#) $Id: value.h,v 29.4 2001/02/25 22:07:36 chongo Exp $
|
||||
* @(#) $Revision: 29.5 $
|
||||
* @(#) $Id: value.h,v 29.5 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/value.h,v $
|
||||
*
|
||||
* Under source code control: 1993/07/30 19:42:47
|
||||
@@ -32,20 +32,7 @@
|
||||
#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 "win32dll.h"
|
||||
#include "cmath.h"
|
||||
#include "config.h"
|
||||
#include "shs.h"
|
||||
@@ -201,59 +188,59 @@ struct value {
|
||||
/*
|
||||
* value functions
|
||||
*/
|
||||
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);
|
||||
extern DLL void freevalue(VALUE *vp);
|
||||
extern DLL void copyvalue(VALUE *vp, VALUE *vres);
|
||||
extern DLL void negvalue(VALUE *vp, VALUE *vres);
|
||||
extern DLL void addvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern DLL void subvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern DLL void mulvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern DLL void orvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern DLL void andvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern DLL void compvalue(VALUE *vp, VALUE *vres);
|
||||
extern DLL void xorvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern DLL void squarevalue(VALUE *vp, VALUE *vres);
|
||||
extern DLL void invertvalue(VALUE *vp, VALUE *vres);
|
||||
extern DLL void roundvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern DLL void broundvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern DLL void setminusvalue(VALUE *, VALUE *, VALUE *);
|
||||
extern DLL void backslashvalue(VALUE *, VALUE *);
|
||||
extern DLL void contentvalue(VALUE *, VALUE *);
|
||||
extern DLL void hashopvalue(VALUE *, VALUE *, VALUE *);
|
||||
extern DLL void apprvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern DLL void intvalue(VALUE *vp, VALUE *vres);
|
||||
extern DLL void fracvalue(VALUE *vp, VALUE *vres);
|
||||
extern DLL void incvalue(VALUE *vp, VALUE *vres);
|
||||
extern DLL void decvalue(VALUE *vp, VALUE *vres);
|
||||
extern DLL void conjvalue(VALUE *vp, VALUE *vres);
|
||||
extern DLL void sqrtvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern DLL void rootvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern DLL void absvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern DLL void normvalue(VALUE *vp, VALUE *vres);
|
||||
extern DLL void shiftvalue(VALUE *v1, VALUE *v2, BOOL rightshift, VALUE *vres);
|
||||
extern DLL void scalevalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern DLL void powivalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern DLL void powervalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern DLL void divvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern DLL void quovalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern DLL void modvalue(VALUE *v1, VALUE *v2, VALUE *v3, VALUE *vres);
|
||||
extern DLL BOOL testvalue(VALUE *vp);
|
||||
extern DLL BOOL comparevalue(VALUE *v1, VALUE *v2);
|
||||
extern DLL BOOL acceptvalue(VALUE *v1, VALUE *v2);
|
||||
extern DLL void relvalue(VALUE *v1, VALUE *v2, VALUE *vres);
|
||||
extern DLL void sgnvalue(VALUE *vp, VALUE *vres);
|
||||
extern DLL QCKHASH hashvalue(VALUE *vp, QCKHASH val);
|
||||
extern DLL void printvalue(VALUE *vp, int flags);
|
||||
extern DLL BOOL precvalue(VALUE *v1, VALUE *v2);
|
||||
extern DLL VALUE error_value(int e);
|
||||
extern DLL int set_errno(int e);
|
||||
extern DLL int set_errcount(int e);
|
||||
extern DLL long countlistitems(LIST *lp);
|
||||
extern DLL void addlistitems(LIST *lp, VALUE *vres);
|
||||
extern DLL void addlistinv(LIST *lp, VALUE *vres);
|
||||
extern DLL void copy2octet(VALUE *, OCTET *);
|
||||
extern DLL int copystod(VALUE *, long, long, VALUE *, long);
|
||||
extern DLL void protectall(VALUE *, int);
|
||||
extern DLL void set_update(int);
|
||||
|
||||
|
||||
/*
|
||||
@@ -270,44 +257,44 @@ struct matrix {
|
||||
#define matsize(n) (sizeof(MATRIX) - sizeof(VALUE) + ((n) * sizeof(VALUE)))
|
||||
|
||||
|
||||
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);
|
||||
extern DLL MATRIX *matadd(MATRIX *m1, MATRIX *m2);
|
||||
extern DLL MATRIX *matsub(MATRIX *m1, MATRIX *m2);
|
||||
extern DLL MATRIX *matmul(MATRIX *m1, MATRIX *m2);
|
||||
extern DLL MATRIX *matneg(MATRIX *m);
|
||||
extern DLL MATRIX *matalloc(long size);
|
||||
extern DLL MATRIX *matcopy(MATRIX *m);
|
||||
extern DLL MATRIX *matinit(MATRIX *m, VALUE *v1, VALUE *v2);
|
||||
extern DLL MATRIX *matsquare(MATRIX *m);
|
||||
extern DLL MATRIX *matinv(MATRIX *m);
|
||||
extern DLL MATRIX *matscale(MATRIX *m, long n);
|
||||
extern DLL MATRIX *matshift(MATRIX *m, long n);
|
||||
extern DLL MATRIX *matmulval(MATRIX *m, VALUE *vp);
|
||||
extern DLL MATRIX *matpowi(MATRIX *m, NUMBER *q);
|
||||
extern DLL MATRIX *matconj(MATRIX *m);
|
||||
extern DLL MATRIX *matquoval(MATRIX *m, VALUE *vp, VALUE *v3);
|
||||
extern DLL MATRIX *matmodval(MATRIX *m, VALUE *vp, VALUE *v3);
|
||||
extern DLL MATRIX *matint(MATRIX *m);
|
||||
extern DLL MATRIX *matfrac(MATRIX *m);
|
||||
extern DLL MATRIX *matappr(MATRIX *m, VALUE *v2, VALUE *v3);
|
||||
extern DLL VALUE mattrace(MATRIX *m);
|
||||
extern DLL MATRIX *mattrans(MATRIX *m);
|
||||
extern DLL MATRIX *matcross(MATRIX *m1, MATRIX *m2);
|
||||
extern DLL BOOL mattest(MATRIX *m);
|
||||
extern DLL void matsum(MATRIX *m, VALUE *vres);
|
||||
extern DLL BOOL matcmp(MATRIX *m1, MATRIX *m2);
|
||||
extern DLL int matsearch(MATRIX *m, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
extern DLL int matrsearch(MATRIX *m, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
extern DLL VALUE matdet(MATRIX *m);
|
||||
extern DLL VALUE matdot(MATRIX *m1, MATRIX *m2);
|
||||
extern DLL void matfill(MATRIX *m, VALUE *v1, VALUE *v2);
|
||||
extern DLL void matfree(MATRIX *m);
|
||||
extern DLL void matprint(MATRIX *m, long max_print);
|
||||
extern DLL VALUE *matindex(MATRIX *mp, BOOL create, long dim, VALUE *indices);
|
||||
extern DLL void matreverse(MATRIX *m);
|
||||
extern DLL void matsort(MATRIX *m);
|
||||
extern DLL BOOL matisident(MATRIX *m);
|
||||
extern DLL MATRIX *matround(MATRIX *m, VALUE *v2, VALUE *v3);
|
||||
extern DLL MATRIX *matbround(MATRIX *m, VALUE *v2, VALUE *v3);
|
||||
|
||||
|
||||
/*
|
||||
@@ -334,32 +321,32 @@ struct list {
|
||||
};
|
||||
|
||||
|
||||
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);
|
||||
extern DLL void insertlistfirst(LIST *lp, VALUE *vp);
|
||||
extern DLL void insertlistlast(LIST *lp, VALUE *vp);
|
||||
extern DLL void insertlistmiddle(LIST *lp, long index, VALUE *vp);
|
||||
extern DLL void removelistfirst(LIST *lp, VALUE *vp);
|
||||
extern DLL void removelistlast(LIST *lp, VALUE *vp);
|
||||
extern DLL void removelistmiddle(LIST *lp, long index, VALUE *vp);
|
||||
extern DLL void listfree(LIST *lp);
|
||||
extern DLL void listprint(LIST *lp, long max_print);
|
||||
extern DLL int listsearch(LIST *lp, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
extern DLL int listrsearch(LIST *lp, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
extern DLL BOOL listcmp(LIST *lp1, LIST *lp2);
|
||||
extern DLL VALUE *listfindex(LIST *lp, long index);
|
||||
extern DLL LIST *listalloc(void);
|
||||
extern DLL LIST *listcopy(LIST *lp);
|
||||
extern DLL void listreverse(LIST *lp);
|
||||
extern DLL void listsort(LIST *lp);
|
||||
extern DLL LIST *listappr(LIST *lp, VALUE *v2, VALUE *v3);
|
||||
extern DLL LIST *listround(LIST *m, VALUE *v2, VALUE *v3);
|
||||
extern DLL LIST *listbround(LIST *m, VALUE *v2, VALUE *v3);
|
||||
extern DLL LIST *listquo(LIST *lp, VALUE *v2, VALUE *v3);
|
||||
extern DLL LIST *listmod(LIST *lp, VALUE *v2, VALUE *v3);
|
||||
extern DLL BOOL evp(LISTELEM *cp, LISTELEM *x, VALUE *vres);
|
||||
extern DLL BOOL evalpoly(LIST *clist, LISTELEM *x, VALUE *vres);
|
||||
extern DLL void insertitems(LIST *lp1, LIST *lp2);
|
||||
extern DLL LISTELEM *listelement(LIST *, long);
|
||||
extern DLL LIST *listsegment(LIST *, long, long);
|
||||
|
||||
|
||||
/*
|
||||
@@ -384,15 +371,15 @@ struct assoc {
|
||||
};
|
||||
|
||||
|
||||
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);
|
||||
extern DLL ASSOC *assocalloc(long initsize);
|
||||
extern DLL ASSOC *assoccopy(ASSOC *ap);
|
||||
extern DLL void assocfree(ASSOC *ap);
|
||||
extern DLL void assocprint(ASSOC *ap, long max_print);
|
||||
extern DLL int assocsearch(ASSOC *ap, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
extern DLL int assocrsearch(ASSOC *ap, VALUE *vp, long start, long end, ZVALUE *index);
|
||||
extern DLL BOOL assoccmp(ASSOC *ap1, ASSOC *ap2);
|
||||
extern DLL VALUE *assocfindex(ASSOC *ap, long index);
|
||||
extern DLL VALUE *associndex(ASSOC *ap, BOOL create, long dim, VALUE *indices);
|
||||
|
||||
|
||||
/*
|
||||
@@ -474,62 +461,62 @@ struct object {
|
||||
(sizeof(OBJECT) + ((elements) - USUAL_ELEMENTS) * sizeof(VALUE))
|
||||
|
||||
|
||||
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);
|
||||
extern DLL OBJECT *objcopy(OBJECT *op);
|
||||
extern DLL OBJECT *objalloc(long index);
|
||||
extern DLL VALUE objcall(int action, VALUE *v1, VALUE *v2, VALUE *v3);
|
||||
extern DLL void objfree(OBJECT *op);
|
||||
extern DLL int addelement(char *name);
|
||||
extern DLL int defineobject(char *name, int indices[], int count);
|
||||
extern DLL int checkobject(char *name);
|
||||
extern DLL void showobjfuncs(void);
|
||||
extern DLL void showobjtypes(void);
|
||||
extern DLL int findelement(char *name);
|
||||
extern DLL char *objtypename(unsigned long index);
|
||||
extern DLL int objoffset(OBJECT *op, long index);
|
||||
|
||||
|
||||
/*
|
||||
* Configuration parameter name and type.
|
||||
*/
|
||||
extern NAMETYPE configs[];
|
||||
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 */
|
||||
extern DLL void config_value(CONFIG *cfg, int type, VALUE *ret);
|
||||
extern DLL void setconfig(int type, VALUE *vp);
|
||||
extern DLL void config_print(CONFIG *cfg); /* the CONFIG to print */
|
||||
|
||||
|
||||
/*
|
||||
* size, memsize and sizeof support
|
||||
*/
|
||||
DLL extern long elm_count(VALUE *vp);
|
||||
DLL extern long lsizeof(VALUE *vp);
|
||||
DLL extern long memsize(VALUE *vp);
|
||||
extern DLL long elm_count(VALUE *vp);
|
||||
extern DLL long lsizeof(VALUE *vp);
|
||||
extern DLL long memsize(VALUE *vp);
|
||||
|
||||
/*
|
||||
* String functions
|
||||
*/
|
||||
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 *);
|
||||
extern DLL STRING *stringadd(STRING *, STRING *);
|
||||
extern DLL STRING *stringcopy(STRING *);
|
||||
extern DLL STRING *stringsub(STRING *, STRING *);
|
||||
extern DLL STRING *stringmul(NUMBER *, STRING *);
|
||||
extern DLL STRING *stringand(STRING *, STRING *);
|
||||
extern DLL STRING *stringor(STRING *, STRING *);
|
||||
extern DLL STRING *stringxor(STRING *, STRING *);
|
||||
extern DLL STRING *stringdiff(STRING *, STRING *);
|
||||
extern DLL STRING *stringsegment(STRING *, long, long);
|
||||
extern DLL STRING *stringshift(STRING *, long);
|
||||
extern DLL STRING *stringcomp(STRING *);
|
||||
extern DLL STRING *stringneg(STRING *);
|
||||
extern DLL STRING *stringcpy(STRING *, STRING *);
|
||||
extern DLL STRING *stringncpy(STRING *, STRING *, long);
|
||||
extern DLL long stringcontent(STRING *s);
|
||||
extern DLL long stringlowbit(STRING *s);
|
||||
extern DLL long stringhighbit(STRING *s);
|
||||
extern DLL BOOL stringcmp(STRING *, STRING *);
|
||||
extern DLL BOOL stringrel(STRING *, STRING *);
|
||||
extern DLL int stringbit(STRING *, long);
|
||||
extern DLL BOOL stringtest(STRING *);
|
||||
extern DLL int stringsetbit(STRING *, long, BOOL);
|
||||
extern DLL int stringsearch(STRING *, STRING *, long, long, ZVALUE *);
|
||||
extern DLL int stringrsearch(STRING *, STRING *, long, long, ZVALUE *);
|
||||
|
||||
#endif /* !__VALUE_H__ */
|
||||
|
@@ -19,8 +19,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.19 $
|
||||
* @(#) $Id: version.c,v 29.19 2001/02/25 22:07:36 chongo Exp $
|
||||
* @(#) $Revision: 29.20 $
|
||||
* @(#) $Id: version.c,v 29.20 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/version.c,v $
|
||||
*
|
||||
* Under source code control: 1990/05/22 11:00:58
|
||||
@@ -43,7 +43,7 @@ static char *program;
|
||||
#define MAJOR_VER 2 /* major version */
|
||||
#define MINOR_VER 11 /* minor version */
|
||||
#define MAJOR_PATCH 5 /* patch level or 0 if no patch */
|
||||
#define MINOR_PATCH "0" /* test number or empty string if no patch */
|
||||
#define MINOR_PATCH "1.0" /* test number or empty string if no patch */
|
||||
|
||||
/*
|
||||
* calc version constants
|
||||
|
50
win32dll.h
Normal file
50
win32dll.h
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* win32dll - definitions for building windoz dll files
|
||||
*
|
||||
* Copyright (C) 2001 Landon Curt Noll
|
||||
*
|
||||
* Calc is open software; you can redistribute it and/or modify it under
|
||||
* the terms of the version 2.1 of the GNU Lesser General Public License
|
||||
* as published by the Free Software Foundation.
|
||||
*
|
||||
* Calc is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
|
||||
* Public License for more details.
|
||||
*
|
||||
* A copy of version 2.1 of the GNU Lesser General Public License is
|
||||
* distributed with calc under the filename COPYING-LGPL. You should have
|
||||
* 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.1 $
|
||||
* @(#) $Id: win32dll.h,v 29.1 2001/03/18 03:03:11 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/win32dll.h,v $
|
||||
*
|
||||
* Under source code control: 2001/03/17 13:05:31
|
||||
* File existed as early as: 2001
|
||||
*
|
||||
* chongo <was here> /\oo/\ http://www.isthe.com/chongo/
|
||||
* Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
|
||||
*/
|
||||
|
||||
|
||||
#if !defined(__WIN32DLL_H__)
|
||||
#define __WIN32DLL_H__
|
||||
|
||||
#if defined(_WIN32)
|
||||
|
||||
# if defined(_EXPORTING)
|
||||
# define DLL __declspec(dllexport)
|
||||
# else
|
||||
# define DLL __declspec(dllimport)
|
||||
# endif
|
||||
|
||||
#else /* Windoz free systems */
|
||||
|
||||
# define DLL
|
||||
|
||||
#endif /* Windoz free systems */
|
||||
|
||||
|
||||
#endif /* !__WIN32DLL_H__ */
|
243
zmath.h
243
zmath.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.4 $
|
||||
* @(#) $Id: zmath.h,v 29.4 2001/02/25 22:07:36 chongo Exp $
|
||||
* @(#) $Revision: 29.5 $
|
||||
* @(#) $Id: zmath.h,v 29.5 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/zmath.h,v $
|
||||
*
|
||||
* Under source code control: 1993/07/30 19:42:48
|
||||
@@ -38,20 +38,7 @@
|
||||
#define __ZMATH_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 "win32dll.h"
|
||||
#include "alloc.h"
|
||||
#include "endian_calc.h"
|
||||
#include "longbits.h"
|
||||
@@ -281,126 +268,126 @@ typedef struct {
|
||||
/*
|
||||
* Function prototypes for integer math routines.
|
||||
*/
|
||||
DLL extern HALF * alloc(LEN len);
|
||||
extern DLL HALF * alloc(LEN len);
|
||||
#ifdef ALLOCTEST
|
||||
DLL extern void freeh(HALF *);
|
||||
extern DLL void freeh(HALF *);
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Input, output, and conversion routines.
|
||||
*/
|
||||
DLL extern void zcopy(ZVALUE z, ZVALUE *res);
|
||||
DLL extern void itoz(long i, ZVALUE *res);
|
||||
DLL extern void utoz(FULL i, ZVALUE *res);
|
||||
DLL extern void str2z(char *s, ZVALUE *res);
|
||||
DLL extern long ztoi(ZVALUE z);
|
||||
DLL extern FULL ztou(ZVALUE z);
|
||||
DLL extern void zprintval(ZVALUE z, long decimals, long width);
|
||||
DLL extern void zprintx(ZVALUE z, long width);
|
||||
DLL extern void zprintb(ZVALUE z, long width);
|
||||
DLL extern void zprinto(ZVALUE z, long width);
|
||||
DLL extern void fitzprint(ZVALUE, long, long);
|
||||
extern DLL void zcopy(ZVALUE z, ZVALUE *res);
|
||||
extern DLL void itoz(long i, ZVALUE *res);
|
||||
extern DLL void utoz(FULL i, ZVALUE *res);
|
||||
extern DLL void str2z(char *s, ZVALUE *res);
|
||||
extern DLL long ztoi(ZVALUE z);
|
||||
extern DLL FULL ztou(ZVALUE z);
|
||||
extern DLL void zprintval(ZVALUE z, long decimals, long width);
|
||||
extern DLL void zprintx(ZVALUE z, long width);
|
||||
extern DLL void zprintb(ZVALUE z, long width);
|
||||
extern DLL void zprinto(ZVALUE z, long width);
|
||||
extern DLL void fitzprint(ZVALUE, long, long);
|
||||
|
||||
|
||||
/*
|
||||
* Basic numeric routines.
|
||||
*/
|
||||
DLL extern void zmuli(ZVALUE z, long n, ZVALUE *res);
|
||||
DLL extern long zdivi(ZVALUE z, long n, ZVALUE *res);
|
||||
DLL extern long zmodi(ZVALUE z, long n);
|
||||
DLL extern void zadd(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern void zsub(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern void zmul(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern long zdiv(ZVALUE z1, ZVALUE z2, ZVALUE *res, ZVALUE *rem, long R);
|
||||
DLL extern long zquo(ZVALUE z1, ZVALUE z2, ZVALUE *res, long R);
|
||||
DLL extern long zmod(ZVALUE z1, ZVALUE z2, ZVALUE *rem, long R);
|
||||
DLL extern void zequo(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern BOOL zdivides(ZVALUE z1, ZVALUE z2);
|
||||
DLL extern void zor(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern void zand(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern void zxor(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern void zandnot(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern long zpopcnt(ZVALUE z, int bitval);
|
||||
DLL extern void zshift(ZVALUE z, long n, ZVALUE *res);
|
||||
DLL extern void zsquare(ZVALUE z, ZVALUE *res);
|
||||
DLL extern long zlowbit(ZVALUE z);
|
||||
DLL extern LEN zhighbit(ZVALUE z);
|
||||
DLL extern void zbitvalue(long n, ZVALUE *res);
|
||||
DLL extern BOOL zisset(ZVALUE z, long n);
|
||||
DLL extern BOOL zisonebit(ZVALUE z);
|
||||
DLL extern BOOL zisallbits(ZVALUE z);
|
||||
DLL extern FLAG ztest(ZVALUE z);
|
||||
DLL extern FLAG zrel(ZVALUE z1, ZVALUE z2);
|
||||
DLL extern FLAG zabsrel(ZVALUE z1, ZVALUE z2);
|
||||
DLL extern BOOL zcmp(ZVALUE z1, ZVALUE z2);
|
||||
extern DLL void zmuli(ZVALUE z, long n, ZVALUE *res);
|
||||
extern DLL long zdivi(ZVALUE z, long n, ZVALUE *res);
|
||||
extern DLL long zmodi(ZVALUE z, long n);
|
||||
extern DLL void zadd(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL void zsub(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL void zmul(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL long zdiv(ZVALUE z1, ZVALUE z2, ZVALUE *res, ZVALUE *rem, long R);
|
||||
extern DLL long zquo(ZVALUE z1, ZVALUE z2, ZVALUE *res, long R);
|
||||
extern DLL long zmod(ZVALUE z1, ZVALUE z2, ZVALUE *rem, long R);
|
||||
extern DLL void zequo(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL BOOL zdivides(ZVALUE z1, ZVALUE z2);
|
||||
extern DLL void zor(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL void zand(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL void zxor(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL void zandnot(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL long zpopcnt(ZVALUE z, int bitval);
|
||||
extern DLL void zshift(ZVALUE z, long n, ZVALUE *res);
|
||||
extern DLL void zsquare(ZVALUE z, ZVALUE *res);
|
||||
extern DLL long zlowbit(ZVALUE z);
|
||||
extern DLL LEN zhighbit(ZVALUE z);
|
||||
extern DLL void zbitvalue(long n, ZVALUE *res);
|
||||
extern DLL BOOL zisset(ZVALUE z, long n);
|
||||
extern DLL BOOL zisonebit(ZVALUE z);
|
||||
extern DLL BOOL zisallbits(ZVALUE z);
|
||||
extern DLL FLAG ztest(ZVALUE z);
|
||||
extern DLL FLAG zrel(ZVALUE z1, ZVALUE z2);
|
||||
extern DLL FLAG zabsrel(ZVALUE z1, ZVALUE z2);
|
||||
extern DLL BOOL zcmp(ZVALUE z1, ZVALUE z2);
|
||||
|
||||
|
||||
/*
|
||||
* More complicated numeric functions.
|
||||
*/
|
||||
DLL extern FULL uugcd(FULL i1, FULL i2);
|
||||
DLL extern long iigcd(long i1, long i2);
|
||||
DLL extern void zgcd(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern void zlcm(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern void zreduce(ZVALUE z1, ZVALUE z2, ZVALUE *z1res, ZVALUE *z2res);
|
||||
DLL extern void zfact(ZVALUE z, ZVALUE *dest);
|
||||
DLL extern void zperm(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern int zcomb(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern FLAG zjacobi(ZVALUE z1, ZVALUE z2);
|
||||
DLL extern void zfib(ZVALUE z, ZVALUE *res);
|
||||
DLL extern void zpowi(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern void ztenpow(long power, ZVALUE *res);
|
||||
DLL extern void zpowermod(ZVALUE z1, ZVALUE z2, ZVALUE z3, ZVALUE *res);
|
||||
DLL extern BOOL zmodinv(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern BOOL zrelprime(ZVALUE z1, ZVALUE z2);
|
||||
DLL extern long zlog(ZVALUE z1, ZVALUE z2);
|
||||
DLL extern long zlog10(ZVALUE z);
|
||||
DLL extern long zdivcount(ZVALUE z1, ZVALUE z2);
|
||||
DLL extern long zfacrem(ZVALUE z1, ZVALUE z2, ZVALUE *rem);
|
||||
DLL extern long zgcdrem(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern long zdigits(ZVALUE z1);
|
||||
DLL extern long zdigit(ZVALUE z1, long n);
|
||||
DLL extern FLAG zsqrt(ZVALUE z1, ZVALUE *dest, long R);
|
||||
DLL extern void zroot(ZVALUE z1, ZVALUE z2, ZVALUE *dest);
|
||||
DLL extern BOOL zissquare(ZVALUE z);
|
||||
DLL extern void zhnrmod(ZVALUE v, ZVALUE h, ZVALUE zn, ZVALUE zr, ZVALUE *res);
|
||||
extern DLL FULL uugcd(FULL i1, FULL i2);
|
||||
extern DLL long iigcd(long i1, long i2);
|
||||
extern DLL void zgcd(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL void zlcm(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL void zreduce(ZVALUE z1, ZVALUE z2, ZVALUE *z1res, ZVALUE *z2res);
|
||||
extern DLL void zfact(ZVALUE z, ZVALUE *dest);
|
||||
extern DLL void zperm(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL int zcomb(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL FLAG zjacobi(ZVALUE z1, ZVALUE z2);
|
||||
extern DLL void zfib(ZVALUE z, ZVALUE *res);
|
||||
extern DLL void zpowi(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL void ztenpow(long power, ZVALUE *res);
|
||||
extern DLL void zpowermod(ZVALUE z1, ZVALUE z2, ZVALUE z3, ZVALUE *res);
|
||||
extern DLL BOOL zmodinv(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL BOOL zrelprime(ZVALUE z1, ZVALUE z2);
|
||||
extern DLL long zlog(ZVALUE z1, ZVALUE z2);
|
||||
extern DLL long zlog10(ZVALUE z);
|
||||
extern DLL long zdivcount(ZVALUE z1, ZVALUE z2);
|
||||
extern DLL long zfacrem(ZVALUE z1, ZVALUE z2, ZVALUE *rem);
|
||||
extern DLL long zgcdrem(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL long zdigits(ZVALUE z1);
|
||||
extern DLL long zdigit(ZVALUE z1, long n);
|
||||
extern DLL FLAG zsqrt(ZVALUE z1, ZVALUE *dest, long R);
|
||||
extern DLL void zroot(ZVALUE z1, ZVALUE z2, ZVALUE *dest);
|
||||
extern DLL BOOL zissquare(ZVALUE z);
|
||||
extern DLL void zhnrmod(ZVALUE v, ZVALUE h, ZVALUE zn, ZVALUE zr, ZVALUE *res);
|
||||
|
||||
|
||||
/*
|
||||
* Prime related functions.
|
||||
*/
|
||||
DLL extern FLAG zisprime(ZVALUE z);
|
||||
DLL extern FULL znprime(ZVALUE z);
|
||||
DLL extern FULL next_prime(FULL v);
|
||||
DLL extern FULL zpprime(ZVALUE z);
|
||||
DLL extern void zpfact(ZVALUE z, ZVALUE *dest);
|
||||
DLL extern BOOL zprimetest(ZVALUE z, long count, ZVALUE skip);
|
||||
DLL extern BOOL zredcprimetest(ZVALUE z, long count, ZVALUE skip);
|
||||
DLL extern BOOL znextcand(ZVALUE z1, long count, ZVALUE skip, ZVALUE res, ZVALUE mod, ZVALUE *cand);
|
||||
DLL extern BOOL zprevcand(ZVALUE z1, long count, ZVALUE skip, ZVALUE res, ZVALUE mod, ZVALUE *cand);
|
||||
DLL extern FULL zlowfactor(ZVALUE z, long count);
|
||||
DLL extern FLAG zfactor(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern long zpix(ZVALUE z1);
|
||||
DLL extern void zlcmfact(ZVALUE z, ZVALUE *dest);
|
||||
extern DLL FLAG zisprime(ZVALUE z);
|
||||
extern DLL FULL znprime(ZVALUE z);
|
||||
extern DLL FULL next_prime(FULL v);
|
||||
extern DLL FULL zpprime(ZVALUE z);
|
||||
extern DLL void zpfact(ZVALUE z, ZVALUE *dest);
|
||||
extern DLL BOOL zprimetest(ZVALUE z, long count, ZVALUE skip);
|
||||
extern DLL BOOL zredcprimetest(ZVALUE z, long count, ZVALUE skip);
|
||||
extern DLL BOOL znextcand(ZVALUE z1, long count, ZVALUE skip, ZVALUE res, ZVALUE mod, ZVALUE *cand);
|
||||
extern DLL BOOL zprevcand(ZVALUE z1, long count, ZVALUE skip, ZVALUE res, ZVALUE mod, ZVALUE *cand);
|
||||
extern DLL FULL zlowfactor(ZVALUE z, long count);
|
||||
extern DLL FLAG zfactor(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL long zpix(ZVALUE z1);
|
||||
extern DLL void zlcmfact(ZVALUE z, ZVALUE *dest);
|
||||
|
||||
|
||||
/*
|
||||
* Misc misc functions. :-)
|
||||
*/
|
||||
DLL extern void zsquaremod(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern void zminmod(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern BOOL zcmpmod(ZVALUE z1, ZVALUE z2, ZVALUE z3);
|
||||
DLL extern void zio_init(void);
|
||||
extern DLL void zsquaremod(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL void zminmod(ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL BOOL zcmpmod(ZVALUE z1, ZVALUE z2, ZVALUE z3);
|
||||
extern DLL void zio_init(void);
|
||||
|
||||
|
||||
/*
|
||||
* These functions are for internal use only.
|
||||
*/
|
||||
DLL extern void ztrim(ZVALUE *z);
|
||||
DLL extern void zshiftr(ZVALUE z, long n);
|
||||
DLL extern void zshiftl(ZVALUE z, long n);
|
||||
DLL extern HALF *zalloctemp(LEN len);
|
||||
extern DLL void ztrim(ZVALUE *z);
|
||||
extern DLL void zshiftr(ZVALUE z, long n);
|
||||
extern DLL void zshiftl(ZVALUE z, long n);
|
||||
extern DLL HALF *zalloctemp(LEN len);
|
||||
|
||||
|
||||
/*
|
||||
@@ -417,13 +404,13 @@ typedef struct {
|
||||
ZVALUE one; /* REDC format for the number 1 */
|
||||
} REDC;
|
||||
|
||||
DLL extern REDC *zredcalloc(ZVALUE z1);
|
||||
DLL extern void zredcfree(REDC *rp);
|
||||
DLL extern void zredcencode(REDC *rp, ZVALUE z1, ZVALUE *res);
|
||||
DLL extern void zredcdecode(REDC *rp, ZVALUE z1, ZVALUE *res);
|
||||
DLL extern void zredcmul(REDC *rp, ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
DLL extern void zredcsquare(REDC *rp, ZVALUE z1, ZVALUE *res);
|
||||
DLL extern void zredcpower(REDC *rp, ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL REDC *zredcalloc(ZVALUE z1);
|
||||
extern DLL void zredcfree(REDC *rp);
|
||||
extern DLL void zredcencode(REDC *rp, ZVALUE z1, ZVALUE *res);
|
||||
extern DLL void zredcdecode(REDC *rp, ZVALUE z1, ZVALUE *res);
|
||||
extern DLL void zredcmul(REDC *rp, ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
extern DLL void zredcsquare(REDC *rp, ZVALUE z1, ZVALUE *res);
|
||||
extern DLL void zredcpower(REDC *rp, ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
|
||||
|
||||
/*
|
||||
@@ -564,32 +551,32 @@ DLL extern void zredcpower(REDC *rp, ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
/*
|
||||
* Output routines for either FILE handles or strings.
|
||||
*/
|
||||
DLL extern void math_chr(int ch);
|
||||
DLL extern void math_str(char *str);
|
||||
DLL extern void math_fill(char *str, long width);
|
||||
DLL extern void math_flush(void);
|
||||
DLL extern void math_divertio(void);
|
||||
DLL extern void math_cleardiversions(void);
|
||||
DLL extern char *math_getdivertedio(void);
|
||||
DLL extern int math_setmode(int mode);
|
||||
DLL extern LEN math_setdigits(LEN digits);
|
||||
DLL extern void math_fmt(char *, ...);
|
||||
extern DLL void math_chr(int ch);
|
||||
extern DLL void math_str(char *str);
|
||||
extern DLL void math_fill(char *str, long width);
|
||||
extern DLL void math_flush(void);
|
||||
extern DLL void math_divertio(void);
|
||||
extern DLL void math_cleardiversions(void);
|
||||
extern DLL char *math_getdivertedio(void);
|
||||
extern DLL int math_setmode(int mode);
|
||||
extern DLL LEN math_setdigits(LEN digits);
|
||||
extern DLL void math_fmt(char *, ...);
|
||||
|
||||
|
||||
/*
|
||||
* The error routine.
|
||||
*/
|
||||
DLL extern void math_error(char *, ...);
|
||||
extern DLL void math_error(char *, ...);
|
||||
|
||||
|
||||
/*
|
||||
* external swap functions
|
||||
*/
|
||||
DLL extern HALF *swap_b8_in_HALFs(HALF *dest, HALF *src, LEN len);
|
||||
DLL extern ZVALUE *swap_b8_in_ZVALUE(ZVALUE *dest, ZVALUE *src, BOOL all);
|
||||
DLL extern HALF *swap_b16_in_HALFs(HALF *dest, HALF *src, LEN len);
|
||||
DLL extern ZVALUE *swap_b16_in_ZVALUE(ZVALUE *dest, ZVALUE *src, BOOL all);
|
||||
DLL extern ZVALUE *swap_HALF_in_ZVALUE(ZVALUE *dest, ZVALUE *src, BOOL all);
|
||||
extern DLL HALF *swap_b8_in_HALFs(HALF *dest, HALF *src, LEN len);
|
||||
extern DLL ZVALUE *swap_b8_in_ZVALUE(ZVALUE *dest, ZVALUE *src, BOOL all);
|
||||
extern DLL HALF *swap_b16_in_HALFs(HALF *dest, HALF *src, LEN len);
|
||||
extern DLL ZVALUE *swap_b16_in_ZVALUE(ZVALUE *dest, ZVALUE *src, BOOL all);
|
||||
extern DLL ZVALUE *swap_HALF_in_ZVALUE(ZVALUE *dest, ZVALUE *src, BOOL all);
|
||||
|
||||
|
||||
/*
|
||||
@@ -609,7 +596,7 @@ extern ZVALUE _sqbase_, _pow4base_, _pow8base_;
|
||||
|
||||
extern ZVALUE _b32_, _b64_;
|
||||
|
||||
extern BOOL _math_abort_; /* nonzero to abort calculations */
|
||||
extern DLL BOOL _math_abort_; /* nonzero to abort calculations */
|
||||
extern ZVALUE _tenpowers_[]; /* table of 10^2^n */
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user