Skip to content

Commit

Permalink
quaviver/dragonbox: new system
Browse files Browse the repository at this point in the history
* quaviver.asd (quaviver/dragonbox): New system.
(quaviver/ansi-test, quaviver/benchmark, quaviver/compare): Add
quaviver/dragonbox to dependencies.
* code/dragonbox/packages.lisp: New file.
* code/dragonbox/implementation.lisp: New file.
* code/ansi-test/test.lisp (dragonbox): New class subclassing
QUAVIVER/DRAGONBOX:NEAREST-CLIENT.
(*client-initargs*): Add it.
* code/benchmark/float-integer.lisp (*float-integer-clients*): Add
QUAVIVER/DRAGONBOX:NEAREST-CLIENT.
* code/compare/float-integer.lisp (*clients*): Add
QUAVIVER/DRAGONBOX:NEAREST-CLIENT.
  • Loading branch information
paulapatience committed Jun 27, 2024
1 parent 693038a commit d6295f2
Show file tree
Hide file tree
Showing 6 changed files with 716 additions and 3 deletions.
8 changes: 7 additions & 1 deletion code/ansi-test/test.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,15 @@
quaviver/schubfach:client)
())

(defclass dragonbox
(inravina-extrinsic:extrinsic-client
quaviver/dragonbox:nearest-client)
())

(defvar *client-initargs*
'((burger-dybvig)
(schubfach)))
(schubfach)
(dragonbox)))

(defun test (&rest args &key exit &allow-other-keys)
(setf args (remprop :exit args))
Expand Down
3 changes: 3 additions & 0 deletions code/benchmark/float-integer.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
(:label "Schubfach"
:initargs (quaviver/schubfach:client)
:types (single-float double-float long-float))
(:label "Dragonbox"
:initargs (quaviver/dragonbox:nearest-client)
:types (single-float double-float))
#+(or abcl ccl clasp cmucl ecl sbcl)
(:label "Native"
:initargs (quaviver/native:benchmark-client)
Expand Down
3 changes: 2 additions & 1 deletion code/compare/float-integer.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@

(defvar *clients*
'(:burger-dybvig (quaviver/burger-dybvig:client)
:schubfach (quaviver/schubfach:client)))
:schubfach (quaviver/schubfach:client)
:dragonbox (quaviver/dragonbox:nearest-client)))

(defun float-integer/compare (client-instance-1 client-instance-2 base value)
(multiple-value-bind (significand1 exponent1 sign1)
Expand Down
Loading

0 comments on commit d6295f2

Please sign in to comment.