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