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" []