fixes to Makefile and manual.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1641 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
eea9f2a58e
commit
b172a9e75d
16
C/dbase.c
16
C/dbase.c
@ -663,22 +663,6 @@ copy_double(CELL *st, CELL *pt)
|
||||
return st+(2+SIZEOF_DOUBLE/SIZEOF_LONG_INT);
|
||||
}
|
||||
|
||||
static CELL *
|
||||
copy_int_array(CELL *st, CELL *pt)
|
||||
{
|
||||
UInt sz = SIZEOF_LONG_INT*(pt[1]+4);
|
||||
memcpy((void *)st, (void *)pt, sz);
|
||||
return (CELL *)((char *)st+sz);
|
||||
}
|
||||
|
||||
static CELL *
|
||||
copy_double_array(CELL *st, CELL *pt)
|
||||
{
|
||||
UInt sz = SIZEOF_LONG_INT*4+SIZEOF_DOUBLE*pt[1]+(SIZEOF_DOUBLE-SIZEOF_LONG_INT);
|
||||
memcpy((void *)st, (void *)pt, sz);
|
||||
return (CELL *)((char *)st+sz);
|
||||
}
|
||||
|
||||
#ifdef USE_GMP
|
||||
static CELL *
|
||||
copy_big_int(CELL *st, CELL *pt)
|
||||
|
38
C/other.c
38
C/other.c
@ -99,42 +99,4 @@ Yap_MkNewApplTerm(Functor f, unsigned int n)
|
||||
return (AbsAppl(t));
|
||||
}
|
||||
|
||||
Term
|
||||
Yap_MkIntArrayTerm (UInt sz, Int *ptr)
|
||||
{
|
||||
CELL *h0 = H;
|
||||
|
||||
H[0] = (CELL) FunctorLongInt;
|
||||
H[1] = (CELL) (sz);
|
||||
memcpy((void *)(H+2), (void *)ptr, sz*sizeof(Int));
|
||||
H += sz+2;
|
||||
H[0] = (CELL) (sz);
|
||||
#if GC_NO_TAGS
|
||||
H[1] = EndSpecials;
|
||||
#else
|
||||
H[1] = EndSpecials | MBIT;
|
||||
#endif
|
||||
H += 2;
|
||||
return AbsAppl(h0);
|
||||
}
|
||||
|
||||
Term
|
||||
Yap_MkFloatArrayTerm (UInt sz, Float *ptr)
|
||||
{
|
||||
CELL *h0 = H;
|
||||
|
||||
H[0] = (CELL) FunctorLongInt;
|
||||
H[1] = (CELL) (sz);
|
||||
H[2] = 0;
|
||||
memcpy((void *)(H+3), (void *)ptr, sz*sizeof(Float));
|
||||
H += sz+3;
|
||||
H[0] = (CELL) (sz);
|
||||
#if GC_NO_TAGS
|
||||
H[1] = EndSpecials;
|
||||
#else
|
||||
H[1] = EndSpecials | MBIT;
|
||||
#endif
|
||||
H += 2;
|
||||
return AbsAppl(h0);
|
||||
}
|
||||
|
||||
|
@ -526,8 +526,8 @@ libYap.a: $(LIB_OBJECTS)
|
||||
$(AR) rc libYap.a $(LIB_OBJECTS)
|
||||
$(RANLIB) libYap.a
|
||||
|
||||
@IN_UNIX@@DO_SECOND_LD@@YAPLIB@: $(LIB_OBJECTS)
|
||||
@IN_UNIX@@DO_SECOND_LD@ @DYNLIB_LD@ -o @YAPLIB@ $(LIB_OBJECTS) $(LIBS)
|
||||
@DYNYAPLIB@: $(LIB_OBJECTS)
|
||||
@DYNLIB_LD@ -o @YAPLIB@ $(LIB_OBJECTS) $(LIBS)
|
||||
|
||||
install: install_bin install_data
|
||||
|
||||
@ -539,7 +539,6 @@ install_unix: startup libYap.a
|
||||
mkdir -p $(DESTDIR)$(YAPLIBDIR)
|
||||
$(INSTALL_DATA) startup $(DESTDIR)$(YAPLIBDIR)/startup
|
||||
@INSTALL_DLLS@ $(INSTALL_DATA) -m 755 @YAPLIB@ $(DESTDIR)$(LIBDIR)
|
||||
$(INSTALL_DATA) libYap.a $(DESTDIR)$(LIBDIR)/libYap.a
|
||||
mkdir -p $(DESTDIR)$(SHAREDIR)/Yap
|
||||
mkdir -p $(DESTDIR)$(SHAREDIR)/Yap/pl
|
||||
for f in $(PL_SOURCES); do $(INSTALL) $$f $(DESTDIR)$(SHAREDIR)/Yap/pl; done
|
||||
@ -574,7 +573,6 @@ install_win32: startup
|
||||
@# (cd library/Tries; make install)
|
||||
|
||||
install_library: @YAPLIB@
|
||||
$(INSTALL_DATA) libYap.a $(DESTDIR)$(LIBDIR)/libYap.a
|
||||
mkdir -p $(DESTDIR)$(INCLUDEDIR)
|
||||
for h in $(HEADERS); do $(INSTALL) $$h $(DESTDIR)$(INCLUDEDIR); done
|
||||
|
||||
|
@ -761,15 +761,19 @@ then
|
||||
CROSS_SIMULATOR="LD_LIBRARY_PATH=."
|
||||
case "$target_os" in
|
||||
*darwin*)
|
||||
YAPLIB=libYap"$SHLIB_SUFFIX"
|
||||
DYNYAPLIB=libYap"$SHLIB_SUFFIX"
|
||||
YAPLIB="$DYNYAPLIB"
|
||||
DYNLIB_LD="gcc -dynamiclib"
|
||||
;;
|
||||
*)
|
||||
LDFLAGS="$LDFLAGS -Wl,-R,$prefix/lib"
|
||||
YAPLIB=libYap"$SHLIB_SUFFIX"
|
||||
DYNYAPLIB=libYap"$SHLIB_SUFFIX"
|
||||
YAPLIB="$DYNYAPLIB"
|
||||
DYNLIB_LD="$SHLIB_LD"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
DYNYAPLIB=libYap.notused
|
||||
fi
|
||||
|
||||
if test "$coroutining" = "yes"
|
||||
@ -961,6 +965,7 @@ AC_SUBST(SHLIB_LD)
|
||||
AC_SUBST(DYNLIB_LD)
|
||||
dnl objects in YAP library
|
||||
AC_SUBST(YAPLIB)
|
||||
AC_SUBST(DYNYAPLIB)
|
||||
AC_SUBST(LDFLAGS)
|
||||
dnl install_info
|
||||
AC_SUBST(INSTALL_INFO)
|
||||
|
24
docs/yap.tex
24
docs/yap.tex
@ -8,7 +8,7 @@
|
||||
@c @setchapternewpage odd
|
||||
@c %**end of header
|
||||
|
||||
@set VERSION: 5.1.1
|
||||
@set VERSION: 5.1.2
|
||||
@set EDITION 4.2.4
|
||||
@set UPDATED December 2004
|
||||
|
||||
@ -5768,7 +5768,7 @@ Reset all profiling information.
|
||||
|
||||
@end table
|
||||
|
||||
@subsection{Tick Profiler}
|
||||
@subsection Tick Profiler
|
||||
The tick profiler works by interrupting the Prolog code every so often
|
||||
and checking at each point the code was. The profiler must be able to
|
||||
retrace the state of the abstract machine at every moment. The major
|
||||
@ -7807,17 +7807,17 @@ with @var{NewVal}. Fails if it cannot find @var{Key} in @var{T}.
|
||||
@snindex rb_apply/4
|
||||
@cnindex rb_apply/4
|
||||
If the value associated with key @var{Key} is @var{Val0} in @var{T}, and
|
||||
if @var{call(G,Val0,ValF)} holds, then @var{TN} differs from @var{T}
|
||||
only in that @var{Key} is associated with value @var{ValF} in tree
|
||||
@var{TN}. Fails if it cannot find @var{Key} in @var{T}, or if
|
||||
@var{call(G,Val0,ValF)} is not satisfiable.
|
||||
if @code{call(G,Val0,ValF)} holds, then @var{TN} differs from
|
||||
@var{T} only in that @var{Key} is associated with value @var{ValF} in
|
||||
tree @var{TN}. Fails if it cannot find @var{Key} in @var{T}, or if
|
||||
@code{call(G,Val0,ValF)} is not satisfiable.
|
||||
|
||||
@item rb_visit(+@var{T},-@var{Pairs})
|
||||
@findex rb_visit/2
|
||||
@snindex rb_visit/2
|
||||
@cnindex rb_visit/2
|
||||
@var{Pairs} is an infix visit of tree @var{T}, where each element of
|
||||
@var{Pairs} is of the form @var{K-Val}.
|
||||
@var{Pairs} is of the form @var{K}-@var{Val}.
|
||||
|
||||
@item rb_size(+@var{T},-@var{Size})
|
||||
@findex rb_size/2
|
||||
@ -7838,8 +7838,8 @@ sorted, but may be duplicate.
|
||||
@cnindex rb_map/3
|
||||
For all nodes @var{Key} in the tree @var{T}, if the value associated with
|
||||
key @var{Key} is @var{Val0} in tree @var{T}, and if
|
||||
@var{call(G,Val0,ValF)} holds, then the value associated with @var{Key}
|
||||
in @var{TN} is @var{ValF}. Fails if or if @var{call(G,Val0,ValF)} is not
|
||||
@code{call(G,Val0,ValF)} holds, then the value associated with @var{Key}
|
||||
in @var{TN} is @var{ValF}. Fails if or if @code{call(G,Val0,ValF)} is not
|
||||
satisfiable for all @var{Var0}.
|
||||
|
||||
@item rb_partial_map(+@var{T},+@var{Keys},+@var{G},-@var{TN})
|
||||
@ -7847,9 +7847,9 @@ satisfiable for all @var{Var0}.
|
||||
@snindex rb_partial_map/4
|
||||
@cnindex rb_partial_map/4
|
||||
For all nodes @var{Key} in @var{Keys}, if the value associated with key
|
||||
@var{Key} is @var{Val0} in tree @var{T}, and if @var{call(G,Val0,ValF)}
|
||||
@var{Key} is @var{Val0} in tree @var{T}, and if @code{call(G,Val0,ValF)}
|
||||
holds, then the value associated with @var{Key} in @var{TN} is
|
||||
@var{ValF}. Fails if or if @var{call(G,Val0,ValF)} is not satisfiable
|
||||
@var{ValF}. Fails if or if @code{call(G,Val0,ValF)} is not satisfiable
|
||||
for all @var{Var0}. Assumes keys are not repeated.
|
||||
|
||||
@item rb_clone(+@var{T},+@var{NT},+@var{Nodes})
|
||||
@ -11030,7 +11030,7 @@ We next discuss several issues on trying to make Prolog programs run
|
||||
fast in YAP. We assume two different programming styles:
|
||||
|
||||
@table @bullet
|
||||
@item Execution of @item{deterministic} programs often
|
||||
@item Execution of @emph{deterministic} programs often
|
||||
boils down to a recursive loop of the form:
|
||||
@example
|
||||
loop(Env) :-
|
||||
|
@ -30,7 +30,8 @@
|
||||
matrix_new/4,
|
||||
matrix_dim/2,
|
||||
matrix_type/2,
|
||||
matrix_max/2]).
|
||||
matrix_max/2,
|
||||
matrix_add/3]).
|
||||
|
||||
:- use_module(library_lists,
|
||||
[append/3]).
|
||||
|
Reference in New Issue
Block a user