mirror of
https://github.com/Interlisp/maiko.git
synced 2026-01-21 01:57:49 +00:00
The code is being re-licensed under the MIT license. modified: bin/fixid modified: bin/launch.asm modified: bin/makefile-hpux.hp9000-x modified: bin/makefile-init.sgi modified: bin/makefile-init.sparc modified: bin/makefile-init.sparc-multi modified: bin/makefile-irix.sgi-x modified: bin/makefile-sunos4.sparc modified: bin/makefile-sunos4.sparc% modified: bin/makefile-sunos4.sparc-multi modified: bin/makefile-sunos5.386-x modified: bin/makefile-sunos5.i386-x modified: bin/makefile-sunos5.sparc-x modified: bin/makefile-tail modified: bin/makeisc modified: bin/makeright modified: inc/Check.h modified: inc/MyWindow.h modified: inc/Stipple.h modified: inc/XCursors.h modified: inc/XKeymap.h modified: inc/XVersion.h modified: inc/Xdeflt.h modified: inc/Xicon.h modified: inc/address.h modified: inc/arith.h modified: inc/arith2.h modified: inc/array.h modified: inc/bb.h modified: inc/cell.h modified: inc/cell.h% modified: inc/copyright modified: inc/dbprint.h modified: inc/debug.h modified: inc/devif.h modified: inc/display.h modified: inc/dspdata.h modified: inc/ether.h modified: inc/fast_dsp.h modified: inc/fp.h modified: inc/gc.h modified: inc/gc.h.save modified: inc/gcscan.h modified: inc/hdw_conf.h modified: inc/ifpage.h modified: inc/inlineC.h modified: inc/inlnMIPS.h modified: inc/inlnPS2.h modified: inc/inlndos.h modified: inc/iopage.h modified: inc/kbdif.h modified: inc/keyboard.h modified: inc/keyboard.h% modified: inc/keysym.h modified: inc/ldeXdefs.h modified: inc/lispemul.h modified: inc/lispemul.h.save modified: inc/lispmap.h modified: inc/lldsp.h modified: inc/lnk-Xdeflt.h modified: inc/lnk-debug.h modified: inc/lnk-fast_dsp.h modified: inc/lnk-inlineC.h modified: inc/lnk-lispmap.h modified: inc/lnk-tosfns.h modified: inc/lnk-tosret.h modified: inc/locfile.h modified: inc/lpdefs.h modified: inc/lpglobl.h modified: inc/lspglob.h modified: inc/lsptypes.h modified: inc/medleyfp.h modified: inc/mnxdefs.h modified: inc/my.h modified: inc/native.h modified: inc/ocr.h modified: inc/osmsg.h modified: inc/picture.h modified: inc/pilotbbt.h modified: inc/print.h modified: inc/profile.h modified: inc/rawrs232c.h modified: inc/return.h modified: inc/rs232c.h modified: inc/stack.h modified: inc/stream.h modified: inc/stream.h% modified: inc/stream.h2 modified: inc/sysatms.h modified: inc/timeout.h modified: inc/tos1defs.h modified: inc/tosfns.h modified: inc/tosret.h modified: inc/tty.h modified: inc/version.h modified: inc/vmemsave.h modified: inc/xbitmaps.h modified: inc/xdefs.h modified: src/Cldeetr.c modified: src/allocmds.c modified: src/arith2.c modified: src/arith3.c modified: src/arith4.c modified: src/array.c modified: src/array2.c modified: src/array3.c modified: src/array4.c modified: src/array5.c modified: src/array6.c modified: src/asmbbt.c modified: src/asmbitblt.c modified: src/atom.c modified: src/bbtSPARC.s modified: src/bbtsub.c modified: src/bin.c modified: src/binds.c modified: src/bitblt.c modified: src/blt.c modified: src/byteswap.c modified: src/call-c.c modified: src/car-cdr.c modified: src/cdaudio.c modified: src/cdrom.c modified: src/chardev.c modified: src/chatter.c modified: src/codeconv.c modified: src/codetbl.c modified: src/colorbltfns.c modified: src/common.c modified: src/conspage.c modified: src/cr modified: src/dbgtool.c modified: src/dir.c modified: src/doscomm.c modified: src/doskbd.c modified: src/dosmouse.c modified: src/draw.c modified: src/dsk.c modified: src/dspif.c modified: src/dspsubrs.c modified: src/ejlisp.c modified: src/eqf.c modified: src/ether.c modified: src/findkey.c modified: src/foreign.c modified: src/fp.c modified: src/fvar.c modified: src/gc.c modified: src/gc2.c modified: src/gcarray.c modified: src/gccode.c modified: src/gcfinal.c modified: src/gchtfind.c modified: src/gcmain3.c modified: src/gcoflow.c modified: src/gcr.c modified: src/gcrcell.c modified: src/gcscan.c modified: src/gvar2.c modified: src/hacks.c modified: src/hardrtn.c modified: src/imagefile.c modified: src/imagefile2.c modified: src/inet.c modified: src/initdsp.c modified: src/initkbd.c modified: src/initsout.c modified: src/intcall.c modified: src/kbdif.c modified: src/kbdsubrs.c modified: src/keyevent.c modified: src/keylib.c modified: src/keymaker.c modified: src/keytst.c modified: src/keytstno.c modified: src/kprint.c modified: src/launch.asm modified: src/ldeboot.c modified: src/ldeether.c modified: src/ldsout.c modified: src/lineblt8.c modified: src/lisp2c.c modified: src/llcolor.c modified: src/llstk.c modified: src/loader.c modified: src/loopsops.c modified: src/lowlev1.c modified: src/lowlev2.c modified: src/lpdual.c modified: src/lpkit.c modified: src/lplexyy.c modified: src/lpmain.c modified: src/lpread.c modified: src/lpsolve.c modified: src/lptran.c modified: src/lpwrite.c modified: src/lpytab.c modified: src/lsthandl.c modified: src/main.c modified: src/misc7.c modified: src/miscn.c modified: src/mkatom.c modified: src/mkcell.c modified: src/mkkey.c modified: src/mkvdate.c modified: src/mnwevent.c modified: src/mnxmeth.c modified: src/mouseif.c modified: src/mvs.c modified: src/ocr.c modified: src/ocrproc.c modified: src/oether.c modified: src/oldeether.c modified: src/optck.c modified: src/osmsg.c modified: src/perrno.c modified: src/picture.c modified: src/rawcolor.c modified: src/rawrs232c.c modified: src/return.c modified: src/rpc.c modified: src/rplcons.c modified: src/rs232c.c modified: src/setsout.c modified: src/shift.c modified: src/socdvr.c modified: src/storage.c modified: src/subr.c modified: src/subr0374.c modified: src/sxhash.c modified: src/testdsp.c modified: src/testtool.c modified: src/timeoday.c modified: src/timeofday.c modified: src/timer.c modified: src/truecolor.c modified: src/tstsout.c modified: src/tty.c modified: src/typeof.c modified: src/ubf1.c modified: src/ubf2.c modified: src/ubf3.c modified: src/ufn.c modified: src/ufs.c modified: src/unixcomm.c modified: src/unixfork.c modified: src/unwind.c modified: src/uraid.c modified: src/usrsubr.c modified: src/uutils.c modified: src/vars3.c modified: src/vesafns.asm modified: src/vesainit.c modified: src/vgainit.c modified: src/vmemsave.c modified: src/xbbt.c modified: src/xc.c modified: src/xc.c.orig modified: src/xcursor.c modified: src/xinit.c modified: src/xlspwin.c modified: src/xmkicon.c modified: src/xrdopt.c modified: src/xscroll.c modified: src/xwinman.c modified: src/z2.c
191 lines
5.4 KiB
C
Executable File
191 lines
5.4 KiB
C
Executable File
/* $Id: lpdefs.h,v 1.2 1999/01/03 02:06:13 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
|
|
|
|
|
|
|
|
|
/************************************************************************/
|
|
/* */
|
|
/* (C) Copyright 1989, 1990, 1990, 1991, 1992, 1993, 1994, 1995 Venue. */
|
|
/* All Rights Reserved. */
|
|
/* Manufactured in the United States of America. */
|
|
/* */
|
|
/************************************************************************/
|
|
|
|
#include <stdio.h>
|
|
#include <math.h>
|
|
#include <setjmp.h>
|
|
#ifndef OS4
|
|
#include <stdlib.h>
|
|
#else
|
|
#include <sys/types.h>
|
|
#endif /* OS4 */
|
|
#include <string.h>
|
|
#include <setjmp.h>
|
|
|
|
|
|
#define HASHSIZE 10007 /* prime number is better, MB */
|
|
#define ETA_START_SIZE 10000 /* start size of array Eta. Realloced if needed */
|
|
#define FNAMLEN 64
|
|
#define NAMELEN 25
|
|
#define MAXSTRL (NAMELEN-1)
|
|
#define STD_ROW_NAME_PREFIX "r_"
|
|
|
|
#define FALSE 0
|
|
#define TRUE 1
|
|
|
|
#define LE 0
|
|
#define EQ 1
|
|
#define GE 2
|
|
#define OF 3
|
|
|
|
#define OPTIMAL 0
|
|
#define MILP_FAIL 1
|
|
#define INFEASIBLE 2
|
|
#define UNBOUNDED 3
|
|
#define TIMEOUT 4
|
|
#define INT_SOLN 5
|
|
|
|
#define my_abs(x) ((x) < 0 ? -(x) : (x))
|
|
#define my_min(x, y) ((x) < (y) ? (x) : (y))
|
|
#define my_max(x, y) ((x) > (y) ? (x) : (y))
|
|
|
|
#define CALLOC(ptr, nr, type) if(!(ptr = calloc((size_t)(nr),\
|
|
sizeof(type)))) { fprintf(stderr, "calloc failed\n"); ERROR(ERR_NOMEM); }
|
|
|
|
#define MALLOC(ptr, nr, type) if(!(ptr = malloc((size_t)((nr) * \
|
|
sizeof(type))))) { fprintf(stderr, "malloc failed\n"); ERROR(ERR_NOMEM); }
|
|
|
|
#define DEFAULT_INFINITE 1.0e24 /* limit for dynamic range */
|
|
#define DEFAULT_EPSB 0.0001 /* for rounding RHS values to 0 */
|
|
#define DEFAULT_EPSEL 1.0e-8 /* for rounding other values to 0 */
|
|
#define DEFAULT_EPSD 0.0001 /* ?? MB */
|
|
#define DEFAULT_EPSILON 1e-6 /* to determine if a float value is integer */
|
|
|
|
#define INVITER 50 /* number of iterations between inversions */
|
|
|
|
#ifndef REAL /* to allow -DREAL=<float type> while compiling */
|
|
#define REAL double
|
|
#endif
|
|
|
|
typedef char nstring[NAMELEN];
|
|
|
|
typedef struct _column
|
|
{
|
|
int row;
|
|
float value;
|
|
struct _column *next ;
|
|
} column;
|
|
|
|
typedef struct _constraint_name
|
|
{
|
|
char name[NAMELEN];
|
|
int row;
|
|
struct _constraint_name *next;
|
|
} constraint_name;
|
|
|
|
typedef struct _bound
|
|
{
|
|
REAL upbo;
|
|
REAL lowbo;
|
|
} bound;
|
|
|
|
typedef struct _hashelem
|
|
{
|
|
nstring colname;
|
|
struct _hashelem *next;
|
|
struct _column *col;
|
|
struct _bound *bnd;
|
|
int must_be_int;
|
|
} hashelem;
|
|
|
|
typedef struct _rside /* contains relational operator and rhs value */
|
|
{
|
|
REAL value;
|
|
struct _rside *next;
|
|
short relat;
|
|
} rside;
|
|
|
|
/* structure or final data-storage */
|
|
|
|
typedef struct _matrec
|
|
{
|
|
int rownr;
|
|
REAL value;
|
|
} matrec;
|
|
|
|
typedef struct _lispmr
|
|
{
|
|
int rownr;
|
|
float value;
|
|
} lispmr;
|
|
|
|
|
|
|
|
typedef struct _tmp_store_struct
|
|
{
|
|
nstring name;
|
|
int row;
|
|
REAL value;
|
|
REAL rhs_value;
|
|
short relat;
|
|
} tmp_store_struct;
|
|
|
|
typedef struct _intrec
|
|
{
|
|
int varnr;
|
|
struct _intrec *next;
|
|
}
|
|
intrec;
|
|
|
|
|
|
/************************************************************************/
|
|
/* */
|
|
/* S T A T E - S A V I N G F O R T I M E - O U T S */
|
|
/* */
|
|
/* */
|
|
/* */
|
|
/************************************************************************/
|
|
|
|
typedef struct solve_state
|
|
{
|
|
int saved; /* 0 = not used, else states below */
|
|
int notint; /* variable # of the non-integer var chosen */
|
|
int bound; /* integer lower bound for variable notint */
|
|
int res1, res2;
|
|
struct solve_state *next; /* The next state holder in the chain */
|
|
} sstate;
|
|
|
|
#define ST_LO 1 /* We got to before calling solve on the lower bound side */
|
|
#define ST_HI 2 /* We got to before calling solve on the upper bound side */
|
|
#define ST_SOLN 3 /* We got past calling solve, not to analyzing */
|
|
|
|
|
|
|
|
/*************************************************************************/
|
|
/* */
|
|
/* E R R O R H A N D L I N G F O R L I B R A R Y */
|
|
/* */
|
|
/* */
|
|
/* */
|
|
/* */
|
|
/* */
|
|
/*************************************************************************/
|
|
|
|
#define ERROR(x) longjmp(LP_jmpbuf,256|x)
|
|
|
|
#define ERR_NOMEM 0x10 /* Any out-of-memory problem */
|
|
#define ERR_ST 0x11 /* ran out allocating State-infos */
|
|
|
|
#define ERR_NUM 0x20 /* Any numeric stability problem */
|
|
|
|
#define ERR_BUG 0x40 /* Any lp_solve-bug exit */
|
|
#define ERR_BUG_CONDCOL 0x41 /* Condensecol out-of-bounds */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|