typed-racket/typed-racket-test/succeed/pr13464.rkt
2014-12-16 10:07:25 -05:00

158 lines
4.0 KiB
Racket

#lang racket
(module defs typed/racket
(provide (all-defined-out))
(: neg-flonum Negative-Flonum)
(: pos-flonum Positive-Flonum)
(: non-neg-flonum Nonnegative-Flonum)
(: non-pos-flonum Nonpositive-Flonum)
(: neg-single-flonum Negative-Single-Flonum)
(: pos-single-flonum Positive-Single-Flonum)
(: non-neg-single-flonum Nonnegative-Single-Flonum)
(: non-pos-single-flonum Nonpositive-Single-Flonum)
(: neg-ineact-real Negative-Inexact-Real)
(: pos-ineact-real Positive-Inexact-Real)
(: non-neg-ineact-real Nonnegative-Inexact-Real)
(: non-pos-ineact-real Nonpositive-Inexact-Real)
(: neg-real Negative-Real)
(: pos-real Positive-Real)
(: non-neg-real Nonnegative-Real)
(: non-pos-real Nonpositive-Real)
(: neg-extflonum Negative-ExtFlonum)
(: pos-extflonum Positive-ExtFlonum)
(: non-neg-extflonum Nonnegative-ExtFlonum)
(: non-pos-extflonum Nonpositive-ExtFlonum)
(define neg-flonum +nan.0)
(define pos-flonum +nan.0)
(define non-neg-flonum +nan.0)
(define non-pos-flonum +nan.0)
(define neg-single-flonum +nan.f)
(define pos-single-flonum +nan.f)
(define non-neg-single-flonum +nan.f)
(define non-pos-single-flonum +nan.f)
(define neg-ineact-real +nan.0)
(define pos-ineact-real +nan.0)
(define non-neg-ineact-real +nan.0)
(define non-pos-ineact-real +nan.0)
(define neg-real +nan.0)
(define pos-real +nan.0)
(define non-neg-real +nan.0)
(define non-pos-real +nan.0)
(define neg-extflonum +nan.t)
(define pos-extflonum +nan.t)
(define non-neg-extflonum +nan.t)
(define non-pos-extflonum +nan.t)
;; extra tests for zeroes
(: non-neg-flonum+0 Nonnegative-Flonum)
(: non-pos-flonum+0 Nonpositive-Flonum)
(: non-neg-flonum-0 Nonnegative-Flonum)
(: non-pos-flonum-0 Nonpositive-Flonum)
(: non-neg-single-flonum+0 Nonnegative-Single-Flonum)
(: non-pos-single-flonum+0 Nonpositive-Single-Flonum)
(: non-neg-single-flonum-0 Nonnegative-Single-Flonum)
(: non-pos-single-flonum-0 Nonpositive-Single-Flonum)
(: non-neg-ineact-real+0 Nonnegative-Inexact-Real)
(: non-pos-ineact-real+0 Nonpositive-Inexact-Real)
(: non-neg-ineact-real-0 Nonnegative-Inexact-Real)
(: non-pos-ineact-real-0 Nonpositive-Inexact-Real)
(: non-neg-real+0 Nonnegative-Real)
(: non-pos-real+0 Nonpositive-Real)
(: non-neg-real-0 Nonnegative-Real)
(: non-pos-real-0 Nonpositive-Real)
(: non-neg-extflonum+0 Nonnegative-ExtFlonum)
(: non-pos-extflonum+0 Nonpositive-ExtFlonum)
(: non-neg-extflonum-0 Nonnegative-ExtFlonum)
(: non-pos-extflonum-0 Nonpositive-ExtFlonum)
(define non-neg-flonum+0 0.0)
(define non-pos-flonum+0 0.0)
(define non-neg-flonum-0 -0.0)
(define non-pos-flonum-0 -0.0)
(define non-neg-single-flonum+0 0.0f0)
(define non-pos-single-flonum+0 0.0f0)
(define non-neg-single-flonum-0 -0.0f0)
(define non-pos-single-flonum-0 -0.0f0)
(define non-neg-ineact-real+0 0.0)
(define non-pos-ineact-real+0 0.0)
(define non-neg-ineact-real-0 -0.0)
(define non-pos-ineact-real-0 -0.0)
(define non-neg-real+0 0.0)
(define non-pos-real+0 0.0)
(define non-neg-real-0 -0.0)
(define non-pos-real-0 -0.0)
(define non-neg-extflonum+0 0.0t0)
(define non-pos-extflonum+0 0.0t0)
(define non-neg-extflonum-0 -0.0t0)
(define non-pos-extflonum-0 -0.0t0)
)
(require 'defs)
neg-flonum
pos-flonum
non-neg-flonum
non-pos-flonum
neg-single-flonum
pos-single-flonum
non-neg-single-flonum
non-pos-single-flonum
neg-ineact-real
pos-ineact-real
non-neg-ineact-real
non-pos-ineact-real
neg-real
pos-real
non-neg-real
non-pos-real
neg-extflonum
pos-extflonum
non-neg-extflonum
non-pos-extflonum
non-neg-flonum+0
non-pos-flonum+0
non-neg-flonum-0
non-pos-flonum-0
non-neg-single-flonum+0
non-pos-single-flonum+0
non-neg-single-flonum-0
non-pos-single-flonum-0
non-neg-ineact-real+0
non-pos-ineact-real+0
non-neg-ineact-real-0
non-pos-ineact-real-0
non-neg-real+0
non-pos-real+0
non-neg-real-0
non-pos-real-0
non-neg-extflonum+0
non-pos-extflonum+0
non-neg-extflonum-0
non-pos-extflonum-0