Commit Graph

34 Commits

Author SHA1 Message Date
Michael Filonenko
17b8092641 extflonums
An extflonum is like a flonum, but with 80-bit precision and
not a number in the sense of `number?': only operations such as
`extfl+' work on extflonums, and only on platforms where extflonums
can be implemented by hardware without interefering with flonums
(i.e., on platforms where SSE instructions are used for
double-precision floats).

[Patch provided by Michael Filonenko and revised by Matthew.]

The compiler tracks information about bindings that are known to
hold extflonums, but the JIT does not yet exploit this information
to unbox them (except as intermediate results).
2013-01-28 18:17:06 -07:00
Asumu Takikawa
0c11601fdf Fix documented name of unsafe-cons-list 2012-12-13 18:25:29 -05:00
Matthew Flatt
5400b41bce add `unsafe-cons-pair'
Also, make `list?' more optimistic about checking is  the "is list?"
flag on a pair.
2012-11-14 19:17:42 -07:00
Vincent St-Amour
ede83be3fb Fix docs for unsafe-flmin and unsafe-flmax.
Closes PR12826.
2012-06-09 09:20:55 -04:00
Matthew Flatt
9a41129c69 racket/flonum: add `flexpt' 2012-05-07 20:41:14 -06:00
Matthew Flatt
23d46620f2 documentation tweaks 2012-05-03 19:22:46 -06:00
Aaron Turon
868dcb6d57 Add box-cas!' and unsafe-box*-cas!'.
These primitives atomically update a box to a new value, as long
as the current value is the same as a provided value.  They also
are future-safe.

When futures are enabled, they use low-level hardware instructions
to perform the change atomically.
2012-05-03 19:19:24 -06:00
Eli Barzilay
ed2b579e3c Fail early on a non-pair input to `list-ref'.
There's no index that works with non-pairs, and the generic error
message in such cases is confusing.

Closes PR12740.
2012-05-03 10:24:05 -04:00
David Van Horn
f029117266 Fixes spelling errors in reference. 2012-02-21 14:21:43 -05:00
Matthew Flatt
60325da48c clarify `unsafe-...*' in docs
The clarification mostly repeats information in the contract,
and we normally avoid that, but the bindings look undocumented
otherwise.

Closes PR 12162
2011-09-03 13:26:20 -06:00
Matthew Flatt
65b1a569a0 add `unsafe-list-{ref,set}'
Use the new functions in `syntax-case'; the benefit is small, and
 it's mostly useful as hint to the optimizer that the operation
 can be dropped if the result isn't used
2011-07-08 06:23:29 -06:00
Eli Barzilay
ac26fe7554 A ton of @scheme*' -> @racket*' and related updates.
Also, updates some of the mzlib files to point at `racket/*' libraries
rather than to `scheme/*' ones.
2011-06-25 04:08:47 -04:00
Eli Barzilay
debd1f9f1e Recketizing much in `net/*', mass ".ss" -> ".rkt" conversion in .scrbl files.
(Some other minor things here and there.)
2011-06-20 04:27:14 -04:00
Matthew Flatt
7f67b6569c v5.0.99.2: proxy' -> impersonator' 2010-11-08 06:23:16 -07:00
Matthew Flatt
5d8e000d6d swap vector*-ref' and vector-ref', etc.
Merge to 5.0.2
2010-10-25 11:22:35 -06:00
Matthew Flatt
c1aa594657 add fvectors and unsafe-{s,u}16-{ref,set!} 2010-09-24 16:32:07 -06:00
Eli Barzilay
ee138cf2cb Some repeated "and and"s and "the the"s, and two more typos.
Closes PR 11229.
2010-09-20 15:38:18 -04:00
Matthew Flatt
439bc0a293 add flreal-part', flimag-part', `make-flrectangular', and unsafe variants 2010-07-02 16:08:15 -06:00
Matthew Flatt
47c7c1a27b JIT support for inexact->exact', add unsafe-fl->fx', etc. 2010-06-28 15:57:49 -06:00
Eli Barzilay
28946a0a43 More reformatting 2010-05-21 20:41:35 -04:00
Matthew Flatt
737b6fac01 rackety reference; any lingering reference to racket as scheme is a doc bug 2010-04-27 08:20:16 -06:00
Matthew Flatt
b7c184632b racket/unsafe/ffi -> ffi/unsafe, etc. 2010-04-26 18:05:29 -06:00
Matthew Flatt
c7e723eef7 somewhat rackety core docs 2010-04-22 15:10:25 -06:00
Matthew Flatt
73807aef24 chaperones (v4.2.5.3)
svn: r18650
2010-03-28 01:10:33 +00:00
Matthew Flatt
eb46f95246 doc corrections
svn: r18224
2010-02-20 14:58:10 +00:00
Matthew Flatt
41261c6047 fill out fl and fx operations; repair fixnum-overflow bug in quotient
svn: r17524
2010-01-07 03:30:33 +00:00
Matthew Flatt
fdd7122994 scheme/flonum (v4.2.3.8)
svn: r17348
2009-12-18 15:40:00 +00:00
Matthew Flatt
45e84ca087 unboxing of let-bound flonums (v4.2.3.6)
svn: r17328
2009-12-16 13:30:40 +00:00
Matthew Flatt
4eef1b3cee flvectors
svn: r17177
2009-12-03 16:42:32 +00:00
Matthew Flatt
61dd4ca0b9 add unsafe-f64vector-{ref,set!} and improve JIT to inline arithmetic ops with more than 2 arguments
svn: r17068
2009-11-26 15:07:16 +00:00
Matthew Flatt
70560372b7 unsafe-{string,bytes}-{ref,set,length}
svn: r16490
2009-10-31 02:19:57 +00:00
Matthew Flatt
f6d34ab964 add unsafe-flabs and unsafe-fxabs (4.2.2.4)
svn: r16234
2009-10-04 03:25:56 +00:00
Matthew Flatt
01d15eb9b6 add unsafe-fx->fl; avoid some gcc warnings
svn: r16221
2009-10-02 19:45:41 +00:00
Matthew Flatt
8ae0ea9d14 unsafe ops (v4.2.1.8)
svn: r15899
2009-09-06 18:24:46 +00:00