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:
vsc 2008-05-13 10:37:27 +00:00
parent 897224b36e
commit a25234a2da
5 changed files with 20 additions and 10 deletions

View File

@ -217,7 +217,7 @@ p_uminus(Term t E_ARGS)
{
MP_INT *new = TMP_BIG();
MPZ_SET(new, Yap_BigIntOfTerm(t));
mpz_init_set(new, Yap_BigIntOfTerm(t));
mpz_neg(new, new);
RBIG(new);
}
@ -233,9 +233,14 @@ p_uminus(Term t E_ARGS)
RFLOAT(-v.dbl);
#ifdef USE_GMP
case big_int_e:
mpz_neg(v.big, v.big);
fprintf(stderr,"Here I am %p\n", v.big);
RBIG(v.big);
{
MP_INT *new = TMP_BIG();
mpz_init_set(new, v.big);
mpz_neg(new, new);
mpz_clear(v.big);
RBIG(new);
}
#endif
default:
/* Error */
@ -378,6 +383,7 @@ p_log(Term t E_ARGS)
dbl = v.dbl;
break;
#ifdef USE_GMP
case big_int_e:
dbl = mpz_get_d(v.big);
mpz_clear(v.big);
break;

View File

@ -269,7 +269,7 @@ dump_stack(void)
#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 mode: %ux\n",(unsigned long int)Yap_PrologMode);
fprintf(stderr,"%% YAP mode: %ux\n",(unsigned int)Yap_PrologMode);
if (Yap_ErrorMessage)
fprintf(stderr,"%% YAP_ErrorMessage: %s\n",Yap_ErrorMessage);
#endif

View File

@ -182,9 +182,11 @@ Yap_Eval(Term t, E_ARGS)
P = (yamop *)FAILCODE;
RERROR();
}
if (n == 1)
return(p->FOfEE.unary(ArgOfTerm(1,t), USE_E_ARGS));
return(p->FOfEE.binary(ArgOfTerm(1,t),ArgOfTerm(2,t), USE_E_ARGS));
if (n == 1) {
return p->FOfEE.unary(ArgOfTerm(1,t), USE_E_ARGS);
}
return
p->FOfEE.binary(ArgOfTerm(1,t),ArgOfTerm(2,t), USE_E_ARGS);
}
}
} else if (IsPairTerm(t)) {

View File

@ -10,7 +10,7 @@
* File: Yap.h.m4 *
* mods: *
* 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"
@ -243,7 +243,7 @@ extern char Yap_Option[20];
#elif defined(__APPLE__) && !__LP64__
#define MMAP_ADDR 0x20000000
#else
#define MMAP_ADDR 0x08c00000
#define MMAP_ADDR 0x08800000
#endif
#elif __svr4__ || defined(__SVR4)
#define MMAP_ADDR 0x02000000

View File

@ -17,6 +17,8 @@ xb
<h2>Yap-5.1.3:</h2>
<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: bad mem management in threads (obs from Paulo Moura).</li>
<li> FIXED: should init_slots when sucessfully exiting (obs from