fix -(2<<100).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2236 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
897224b36e
commit
a25234a2da
14
C/arith1.c
14
C/arith1.c
@ -217,7 +217,7 @@ p_uminus(Term t E_ARGS)
|
|||||||
{
|
{
|
||||||
MP_INT *new = TMP_BIG();
|
MP_INT *new = TMP_BIG();
|
||||||
|
|
||||||
MPZ_SET(new, Yap_BigIntOfTerm(t));
|
mpz_init_set(new, Yap_BigIntOfTerm(t));
|
||||||
mpz_neg(new, new);
|
mpz_neg(new, new);
|
||||||
RBIG(new);
|
RBIG(new);
|
||||||
}
|
}
|
||||||
@ -233,9 +233,14 @@ p_uminus(Term t E_ARGS)
|
|||||||
RFLOAT(-v.dbl);
|
RFLOAT(-v.dbl);
|
||||||
#ifdef USE_GMP
|
#ifdef USE_GMP
|
||||||
case big_int_e:
|
case big_int_e:
|
||||||
mpz_neg(v.big, v.big);
|
{
|
||||||
fprintf(stderr,"Here I am %p\n", v.big);
|
MP_INT *new = TMP_BIG();
|
||||||
RBIG(v.big);
|
|
||||||
|
mpz_init_set(new, v.big);
|
||||||
|
mpz_neg(new, new);
|
||||||
|
mpz_clear(v.big);
|
||||||
|
RBIG(new);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
/* Error */
|
/* Error */
|
||||||
@ -378,6 +383,7 @@ p_log(Term t E_ARGS)
|
|||||||
dbl = v.dbl;
|
dbl = v.dbl;
|
||||||
break;
|
break;
|
||||||
#ifdef USE_GMP
|
#ifdef USE_GMP
|
||||||
|
case big_int_e:
|
||||||
dbl = mpz_get_d(v.big);
|
dbl = mpz_get_d(v.big);
|
||||||
mpz_clear(v.big);
|
mpz_clear(v.big);
|
||||||
break;
|
break;
|
||||||
|
@ -269,7 +269,7 @@ dump_stack(void)
|
|||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
fprintf(stderr,"%% YAP regs: P=%p, CP=%p, ASP=%p, H=%p, TR=%p, HeapTop=%p\n",P,CP,ASP,H,TR,HeapTop);
|
fprintf(stderr,"%% YAP regs: P=%p, CP=%p, ASP=%p, H=%p, TR=%p, HeapTop=%p\n",P,CP,ASP,H,TR,HeapTop);
|
||||||
fprintf(stderr,"%% YAP mode: %ux\n",(unsigned long int)Yap_PrologMode);
|
fprintf(stderr,"%% YAP mode: %ux\n",(unsigned int)Yap_PrologMode);
|
||||||
if (Yap_ErrorMessage)
|
if (Yap_ErrorMessage)
|
||||||
fprintf(stderr,"%% YAP_ErrorMessage: %s\n",Yap_ErrorMessage);
|
fprintf(stderr,"%% YAP_ErrorMessage: %s\n",Yap_ErrorMessage);
|
||||||
#endif
|
#endif
|
||||||
|
8
C/eval.c
8
C/eval.c
@ -182,9 +182,11 @@ Yap_Eval(Term t, E_ARGS)
|
|||||||
P = (yamop *)FAILCODE;
|
P = (yamop *)FAILCODE;
|
||||||
RERROR();
|
RERROR();
|
||||||
}
|
}
|
||||||
if (n == 1)
|
if (n == 1) {
|
||||||
return(p->FOfEE.unary(ArgOfTerm(1,t), USE_E_ARGS));
|
return p->FOfEE.unary(ArgOfTerm(1,t), USE_E_ARGS);
|
||||||
return(p->FOfEE.binary(ArgOfTerm(1,t),ArgOfTerm(2,t), USE_E_ARGS));
|
}
|
||||||
|
return
|
||||||
|
p->FOfEE.binary(ArgOfTerm(1,t),ArgOfTerm(2,t), USE_E_ARGS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (IsPairTerm(t)) {
|
} else if (IsPairTerm(t)) {
|
||||||
|
4
H/Yap.h
4
H/Yap.h
@ -10,7 +10,7 @@
|
|||||||
* File: Yap.h.m4 *
|
* File: Yap.h.m4 *
|
||||||
* mods: *
|
* mods: *
|
||||||
* comments: main header file for YAP *
|
* comments: main header file for YAP *
|
||||||
* version: $Id: Yap.h,v 1.34 2008-05-12 14:04:23 vsc Exp $ *
|
* version: $Id: Yap.h,v 1.35 2008-05-13 10:37:27 vsc Exp $ *
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@ -243,7 +243,7 @@ extern char Yap_Option[20];
|
|||||||
#elif defined(__APPLE__) && !__LP64__
|
#elif defined(__APPLE__) && !__LP64__
|
||||||
#define MMAP_ADDR 0x20000000
|
#define MMAP_ADDR 0x20000000
|
||||||
#else
|
#else
|
||||||
#define MMAP_ADDR 0x08c00000
|
#define MMAP_ADDR 0x08800000
|
||||||
#endif
|
#endif
|
||||||
#elif __svr4__ || defined(__SVR4)
|
#elif __svr4__ || defined(__SVR4)
|
||||||
#define MMAP_ADDR 0x02000000
|
#define MMAP_ADDR 0x02000000
|
||||||
|
@ -17,6 +17,8 @@ xb
|
|||||||
|
|
||||||
<h2>Yap-5.1.3:</h2>
|
<h2>Yap-5.1.3:</h2>
|
||||||
<ul>
|
<ul>
|
||||||
|
<li> FIXED: X is -(222222222222) would crash (obs from Jan Wielemaker).</li>
|
||||||
|
<li> FIXED: more restore fixes.</li>
|
||||||
<li> FIXED: don't ever jump to mid of lu code.</li>
|
<li> FIXED: don't ever jump to mid of lu code.</li>
|
||||||
<li> FIXED: bad mem management in threads (obs from Paulo Moura).</li>
|
<li> FIXED: bad mem management in threads (obs from Paulo Moura).</li>
|
||||||
<li> FIXED: should init_slots when sucessfully exiting (obs from
|
<li> FIXED: should init_slots when sucessfully exiting (obs from
|
||||||
|
Reference in New Issue
Block a user