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