Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions release_notes/release_notes.stex
Original file line number Diff line number Diff line change
Expand Up @@ -2984,6 +2984,9 @@ When \scheme{>} and \scheme{>=} are applied to two non-real arguments, the first
is now reported as incorrect instead of the second. In general, when two or more arguments
are invalid, there is no guarantee about which one is reported invalid.

A bug in the error produced by \scheme{bytevector-ieee-double-native-set!} when the last
argument raises and error and the offset is out of bounds has been fixed.

\subsection{Fix \scheme{remainder} and \scheme{modulo} for inexact/exact mixtures (10.4.0)}

When \scheme{remainder} and \scheme{modulo} receive an inexact first
Expand Down
10 changes: 5 additions & 5 deletions s/cpprim.ss
Original file line number Diff line number Diff line change
Expand Up @@ -7200,11 +7200,11 @@
(define-inline 2 bytevector-ieee-double-native-set!
[(e-bv e-offset e-val)
(bind #t (e-bv e-offset)
(let ([info (make-info-call #f #f #f #f #f)])
`(if (call ,info ,#f ,(lookup-primref 3 '$bytevector-set!-check?) (quote 64) ,e-bv ,e-offset)
;; checks to make sure e-val produces a real number:
(call ,info ,#f ,(lookup-primref 3 'bytevector-ieee-double-native-set!) ,e-bv ,e-offset ,e-val)
,(build-libcall #t src sexpr bytevector-ieee-double-native-set! e-bv e-offset))))]))
(bind #f fp ([e-val (build-$real->flonum src sexpr `(quote bytevector-ieee-double-native-set!) e-val)])
(let ([info (make-info-call #f #f #f #f #f)])
`(if (call ,info ,#f ,(lookup-primref 3 '$bytevector-set!-check?) (quote 64) ,e-bv ,e-offset)
(call ,info ,#f ,(lookup-primref 3 'bytevector-ieee-double-native-set!) ,e-bv ,e-offset ,e-val)
,(build-libcall #t src sexpr bytevector-ieee-double-native-set! e-bv e-offset)))))]))

(let ()
(define-syntax define-bv-int-ref-inline
Expand Down
Loading