@@ -9,10 +9,17 @@ using Base.Math: throw_complex_domainerror
99# - consider emitting LLVM intrinsics and lowering those in the back-end
1010
1111# ## Constants
12- @device_override Core. Float32 (:: typeof (π), :: RoundingMode ) = reinterpret (Float32, 0x40490fdb ) # 3.1415927f0 reinterpret(UInt32,Float32(reinterpret(Float64,0x400921FB60000000)))
13- @device_override Core. Float16 (:: typeof (π), :: RoundingMode ) = reinterpret (Float16, 0x4248 ) # Float16(3.14)
14- @device_override Core. Float32 (:: typeof (ℯ), :: RoundingMode ) = reinterpret (Float32, 0x402df854 ) # 2.7182817f0 reinterpret(UInt32,Float32(reinterpret(Float64,0x4005BF0A80000000)))
15- @device_override Core. Float16 (:: typeof (ℯ), :: RoundingMode ) = reinterpret (Float16, 0x4170 ) # Float16(2.719)
12+ # π
13+ @device_override Core. Float32 (:: typeof (π), :: RoundingMode ) = reinterpret (Float32, 0x40490fdb ) # 3.1415927f0 reinterpret(UInt32,Float32(reinterpret(Float64,0x400921FB60000000)))
14+ @device_override Core. Float32 (:: typeof (π), :: RoundingMode{:Down} ) = reinterpret (Float32, 0x40490fda ) # 3.1415925f0 prevfloat(reinterpret(UInt32,Float32(reinterpret(Float64,0x400921FB60000000))))
15+ @device_override Core. Float16 (:: typeof (π), :: RoundingMode{:Up} ) = reinterpret (Float16, 0x4249 ) # Float16(3.143)
16+ @device_override Core. Float16 (:: typeof (π), :: RoundingMode ) = reinterpret (Float16, 0x4248 ) # Float16(3.14)
17+
18+ # ℯ
19+ @device_override Core. Float32 (:: typeof (ℯ), :: RoundingMode{:Up} ) = reinterpret (Float32, 0x402df855 ) # 2.718282f0 nextfloat(reinterpret(UInt32,Float32(reinterpret(Float64,0x4005BF0A80000000))))
20+ @device_override Core. Float32 (:: typeof (ℯ), :: RoundingMode ) = reinterpret (Float32, 0x402df854 ) # 2.7182817f0 reinterpret(UInt32,Float32(reinterpret(Float64,0x4005BF0A80000000)))
21+ @device_override Core. Float16 (:: typeof (ℯ), :: RoundingMode ) = reinterpret (Float16, 0x4170 ) # Float16(2.719)
22+ @device_override Core. Float16 (:: typeof (ℯ), :: RoundingMode{:Down} ) = reinterpret (Float16, 0x416f ) # Float16(2.717)
1623
1724# ## Common Intrinsics
1825@device_function clamp_fast (x:: Float32 , minval:: Float32 , maxval:: Float32 ) = ccall (" extern air.fast_clamp.f32" , llvmcall, Cfloat, (Cfloat, Cfloat, Cfloat), x, minval, maxval)
0 commit comments