feldspar-language-0.6.0.3: A functional embedded language for DSP and parallelism

Feldspar.Core

Description

The Feldspar core language

Synopsis

# Reexported standard modules

data Complex a

Complex numbers are an algebraic type.

For a complex number `z`, `abs z` is a number with the magnitude of `z`, but oriented in the positive real direction, whereas `signum z` has the phase of `z`, but unit magnitude.

Constructors

 !a :+ !a forms a complex number from its real and imaginary rectangular components.

Instances

 Typeable1 Complex Eq a => Eq (Complex a) RealFloat a => Floating (Complex a) RealFloat a => Fractional (Complex a) Data a => Data (Complex a) RealFloat a => Num (Complex a) Read a => Read (Complex a) Show a => Show (Complex a) (RealFloat a, Arbitrary a) => Arbitrary (Complex a) (RealFloat a, CoArbitrary a) => CoArbitrary (Complex a) (Type a, RealFloat a) => Type (Complex a) (Type a, RealFloat a) => Numeric (Complex a) (Fraction a, RealFloat a) => Fraction (Complex a) (Fraction a, RealFloat a) => Floating (Complex a) (Eq a, RealFloat a) => Eq (Complex a) (Eq a) :=> (Eq (Complex a)) (Read a) :=> (Read (Complex a)) (RealFloat a) :=> (Num (Complex a)) (RealFloat a) :=> (Fractional (Complex a)) (RealFloat a) :=> (Floating (Complex a)) (Show a) :=> (Show (Complex a))

module Data.Int

module Data.Word

# Feldspar types

data Range a Source

A bounded range of values of type `a`

Constructors

 Range FieldslowerBound :: a upperBound :: a

Instances

 Eq a => Eq (Range a) BoundedInt a => Num (Range a) Implements `fromInteger` as a `singletonRange`, and implements correct range propagation for arithmetic operations. BoundedInt a => Ord (Range a) Show a => Show (Range a) BoundedInt a => Lattice (Range a) (BoundedInt a, BoundedInt b, BoundedInt c) => Num (Range a, Range b, Range c)

class (Ord a, Num a, Bounded a, Integral a, Bits a) => BoundedInt a Source

Convenience alias for bounded integers

Instances

 (Ord a, Num a, Bounded a, Integral a, Bits a) => BoundedInt a