Alexey Dejneka wrote:
> 
> Ivan Boldyrev <[EMAIL PROTECTED]> writes:
> 
> > On 8689 day of my life Raymond Toy wrote:
> > > If you really MUST have fast fixnum, here is one way to do it in
> > > cmucl.
> > >
> > > (in-package :vm)
> > > (defknown fixnum+ (fixnum fixnum)
> > >   fixnum
> > >   (movable foldable flushable))
> > >
> > > (define-vop (fixnum-add fast-+/fixnum=>fixnum)
> > >   (:translate fixnum+))
> > >
> > > (defun fixnum+ (x y)
> > >   (declare (fixnum x y))
> > >   (fixnum+ x y))
> > >
> > > Then
> > >
> > > (vm:fixnum+ most-positive-fixnum 1) => -536870912
> >
> > It's exactly what I want!  But when I try (fixnum+ anything1
> > anything2), it just loops and cons a memory...  I can't fix it without
> > your help, because I don't understand anyting here :(
> 
> Wrap (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) ...)
> around DEFKNOWN and DEFINE-VOP. If it does not help, replace DEFUN
> with (SETF FDEFINITION).

Sorry to rush in the topic, but can someone give me exact code for this
module? (especially concerning the eval-when)
I would like to see it running and then look in the documentation what
means what (eval-when, defknown, define-vop... )

In advance, thanks for any help.


-- 
-----------------------------------
Jonathan BAILLEUL, Doctorant
GREYC Image - Universit� de Caen 
http://www.greyc.ismra.fr/~bailleul



Reply via email to