packages feed

funcons-tools-0.1.0.0: cbs/Funcons/Core/Values/PrimitiveValues/Numbers/IeeeFloats.hs

-- GeNeRaTeD fOr: ../../CBS/Funcons/Values/Primitive values/Numbers/ieee-floats.aterm
{-# LANGUAGE OverloadedStrings #-}

module Funcons.Core.Values.PrimitiveValues.Numbers.IeeeFloats where

import Funcons.EDSL

entities = []

types = typeEnvFromList
    [("ieee-formats",DataTypeMembers [] [DataTypeConstructor "binary32" (TTuple []),DataTypeConstructor "binary64" (TTuple []),DataTypeConstructor "binary128" (TTuple []),DataTypeConstructor "decimal64" (TTuple []),DataTypeConstructor "decimal128" (TTuple [])])]

funcons = libFromList
    [("quiet-not-a-number",StrictFuncon stepQuiet_not_a_number),("signals-not-a-number",StrictFuncon stepSignals_not_a_number),("positive-infinity",StrictFuncon stepPositive_infinity),("negative-infinity",StrictFuncon stepNegative_infinity),("ieee-formats",NullaryFuncon stepIeee_formats),("binary32",NullaryFuncon stepBinary32),("binary64",NullaryFuncon stepBinary64),("binary128",NullaryFuncon stepBinary128),("decimal64",NullaryFuncon stepDecimal64),("decimal128",NullaryFuncon stepDecimal128)]

-- |
-- An /ieee-floats/ is either one of four special values:
--   	/quiet-not-a-number/ , /signals-not-a-number/ , /positive-infinity/ , /negative-infinity/ or is represented (internally) as a triple (S,C,Q).
--   S is a sign bit: 0 denotes "+" and 1 denotes "-".
--   C and Q determine the value.
--     - In binary format the value is:  C x 2^Q
--     - In decimal format the value is: C x 10^Q
quiet_not_a_number_ fargs = FApp "quiet-not-a-number" (FTuple fargs)
stepQuiet_not_a_number fargs =
    norule (FApp "quiet-not-a-number" (FTuple (map FValue fargs)))

signals_not_a_number_ fargs = FApp "signals-not-a-number" (FTuple fargs)
stepSignals_not_a_number fargs =
    norule (FApp "signals-not-a-number" (FTuple (map FValue fargs)))

positive_infinity_ fargs = FApp "positive-infinity" (FTuple fargs)
stepPositive_infinity fargs =
    norule (FApp "positive-infinity" (FTuple (map FValue fargs)))

negative_infinity_ fargs = FApp "negative-infinity" (FTuple fargs)
stepNegative_infinity fargs =
    norule (FApp "negative-infinity" (FTuple (map FValue fargs)))

stepBinary32 = rewritten (ADTVal "binary32" [])

stepBinary64 = rewritten (ADTVal "binary64" [])

stepBinary128 = rewritten (ADTVal "binary128" [])

stepDecimal64 = rewritten (ADTVal "decimal64" [])

stepDecimal128 = rewritten (ADTVal "decimal128" [])

stepIeee_formats = rewriteType "ieee-formats" []