Changeset 3586


Ignore:
Timestamp:
09/06/03 14:08:43 (20 years ago)
Author:
piso
Message:

SIGNUM

Location:
trunk/j/src/org/armedbear/lisp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/autoloads.lisp

    r3568 r3586  
    22;;;
    33;;; Copyright (C) 2003 Peter Graves
    4 ;;; $Id: autoloads.lisp,v 1.15 2003-09-04 00:18:18 piso Exp $
     4;;; $Id: autoloads.lisp,v 1.16 2003-09-06 14:08:43 piso Exp $
    55;;;
    66;;; This program is free software; you can redistribute it and/or
     
    7373(autoload 'make-string)
    7474(autoload 'make-pathname)
    75 (autoload '(floor ceiling round rem mod ftruncate ffloor fceiling fround
     75(autoload '(signum floor ceiling round rem mod ftruncate ffloor fceiling fround
    7676            rational rationalize gcd isqrt)
    7777          "numbers.lisp")
  • trunk/j/src/org/armedbear/lisp/numbers.lisp

    r3568 r3586  
    22;;;
    33;;; Copyright (C) 2003 Peter Graves
    4 ;;; $Id: numbers.lisp,v 1.10 2003-09-04 00:17:46 piso Exp $
     4;;; $Id: numbers.lisp,v 1.11 2003-09-06 14:08:25 piso Exp $
    55;;;
    66;;; This program is free software; you can redistribute it and/or
     
    2121
    2222(in-package "SYSTEM")
     23
     24(defun signum (number)
     25  "If NUMBER is zero, return NUMBER, else return (/ NUMBER (ABS NUMBER))."
     26  (if (zerop number)
     27      number
     28      (if (rationalp number)
     29    (if (plusp number) 1 -1)
     30    (/ number (abs number)))))
     31
    2332
    2433;;; If the numbers do not divide exactly and the result of (/ number divisor)
Note: See TracChangeset for help on using the changeset viewer.