Note that this isn't Python-specific behaviour. This is required by the IEEE-754 floating-point standard, which Python (and most other runtimes) conform to.
NaN, Inf, -Inf, comparison rules, exceptions ... it's all in there.
IEEE754 moment.
Как устроен генератор случайных чисел в VBA Excel Ч.3
В предыдущих частях работы ( Часть 1 , Часть 2 ) мы разобрали, что такое линейный конгруэнтный метод (ЛКМ), и как на его основе работает функция Rnd(), вшитая в скриптовый язык VBA, созданный Microsoft. Именно эта функция и "ответственна" за генерацию псевдослучайных чисел. Мы поняли, как ведет себя функция, если в качестве ее аргумента ввести число меньшее либо равное 0. Также мы выяснили, что эта функция работает с мнимым и реальными значениями своих аргументов, также мы поняли, как соотносятся некоторые мнимые значения аргумента функции с их реальными значениями. В третьей части исследования речь пойдет в основном о том, каким образом функция Rnd() взаимодействует с аргументами в виде дробных чисел, а также о том, как ведет себя функция, при вводе в качестве ее аргумента больших (по модулю) чисел. Как оказалось – обе эти темы взаимосвязаны. Итак – поехали! Все случайное неслучайно...
https://habr.com/ru/articles/940480/
#случайные_числа #генераторы_случайных_чисел #excel #vbaмакросы #линейный_конгруэнтный_метод #псевдослучайные_числа #псевдослучайные_генераторы #генератор_случайных_чисел #ieee754 #microsoft_office
(Не)случайные числа в VBA Excel Ч. 2
Вторая часть из моего цикла исследований, посвященного генерации псевдослучайных чисел в скриптовом языке VBA, используемого в офисных приложениях от Microsoft. Читать далее!
https://habr.com/ru/articles/933472/
#случайные_числа #vba #vbaмакросы #excel #линейный_конгруэнтный_метод #псевдослучайные_числа #псевдослучайные_генераторы #генератор_случайных_чисел #модульная_арифметика #ieee754
Why did IEEE specify sqrt(-0) to be -0?! That's … surprising when applied to the interpretation of -0 in the context of complex numbers:
sqrt(complex{-0,+0}) is complex{+0,+0}.
And also pow(-0, 0.5) is +0.
If anything sqrt(-0) should be NaN, but why -0?
OK -- I finished a prototype for my custom mono-field floating-point format, in Golang. I haven't done extensive testing, but it works fine so far -- addition, subtraction, multiplication, and division.
One of the distinguishing characteristics of it is that the amount of bits *available* for the significand varies based on the exponent. You get between 0 (yes) and 32 (yes) bits for the significand.
I think I'll put this up on #GitLab at some point.
#computerScience #computing #IEEE #IEEE754
and for the #IEEE754 / #floatingpoint nerds (you know who you are!) here's a much more definitive answer/breakdown of our IEEE Binary FP32 conformance for the Vector Unit! https://github.com/tenstorrent/tt-isa-documentation/blob/main/WormholeB0/TensixTile/TensixCoprocessor/SFPMAD.md#ieee754-conformance--divergence
I've finally finished my blog post about formalizing floating point numbers in Lean. I've put my work in a a little library called "Flean". It has some of the basic properties of IEEE-754 floats.
https://josephmckinsey.com/flean2.html
The post has details about my process, the library design, and what I learned about Lean itself. Next time I'm aiming for a smaller side project, since I've spent way too much time on this already.
For #programmers:
You are familiar with 64-bit floating point and 32-bit floating point, and may have heard about 16-bit floating point (present in some GPUs), but there is actually work on 8-BIT floating-point!
https://arxiv.org/abs/2209.05433
https://developer.nvidia.com/blog/nvidia-arm-and-intel-publish-fp8-specification-for-standardization-as-an-interchange-format-for-ai/
There is the "E5M2" variant, a "truncated IEEE FP16 format" (nice if lacking FP8). Although, at the miniscule 8-bit level, you don't necessarily need multiple NaNs or need infinities, so there is the "E4M3" variant as well.
Sertifioitu IEEE 754 -hetki Ilmatieteen laitoksella.
Channeling my inner @shafik, assuming a standard, compliant #riscv processor, what kind of float instructions can be executed on the vector unit of a processor that advertises
"RV32IMFDZve64f"
#HPC #IEEE754 #SIMD #RISCV #RVV
https://github.com/riscvarchive/riscv-v-spec/releases/download/v1.0/riscv-v-spec-1.0.pdf
Повышение эффективности образования методом «Безумного Макса», в применении для хардвера высокоскоростных вычислений
Когда студент устраивается на работу в электронную компанию, очень здорово, если он уже умеет строить одну и ту же электронную схему разными способами, в зависимости от требований пропускной способности, максимальной тактовой частоты, размера и энергопотребления. Как натренировать такое умение? Для новых домашних работ в программе Школы Синтеза Цифровых Схем мы решили разодрать на блоки реальный процессор и дать студентам задачу собирать разные специализированные вычислительные устройства из этих блоков, примерно как герои фильма "Безумный Макс: Дорога ярости" собирали свои боевые драндулеты из частей реальных автомобилей. В качестве первой жертвы мы выбрали ...
https://habr.com/ru/articles/862734/
#Verilog #VHDL #микроархитектура #riscv #FPU #ieee754 #SystemVerilog #школа_синтеза_цифровых_схем #openhwgroup #образование
Whom should I call to add NaN support in #JSON?
🎉 🎉 C23 and C++23 are finally joining the quadruple precision club, by bringing a standard way to handle 128-bit floating point numbers!
(FP16 is also here if you need it)
Here is hoping that a future Fortran standard will adopt the C_Float128 kind specifier that gcc/gfortran already has as an extension.
https://en.cppreference.com/w/cpp/types/floating-point
Presented without comment.
Understanding "posits", an alternative to the IEEE-754 floating point formats for representing reals:
https://www.johndcook.com/blog/2018/04/11/anatomy-of-a-posit-number/ #FloatingPoint #IEEE754 #Posit
Что такое Decimal64 из Decimal floating point из IEEE 754 или точные десятичные числа с плавающей запятой в компьютере
Более 90% всех программистов знают, что такое обычные числа с плавающей запятой: binary32/binary64/binary128, их часто называют float, double и т.д. соответсвенно, есть много информации о том почему 0,1 не может существовать в бинарном виде, что при большом количестве значащих цифр будут недостаток точности, даже, если ты не выходишь за рамки 16 цифр, зато они быстрые… Но почти нет информации о том, что прекрасное решение, которое сохраняет все достоинства и исправляет недостатки есть, даже в самом обновленном стандарте плавающих чисел IEEE 754-2008 уже больше 15 лет, это decimal floating point(DFP) . Для начала вспомним устройство обычного binary64: 1 бит знака, 11 битов экспоненты, 52 бита мантиссы. Давайте лучше картинку покажу:
https://habr.com/ru/articles/839524/
#плавающая_запятая #плавающая_точка #dpd #decimal #float #floating_point #ieee754 #математика #технологии #компьютер
The whiteboard next to the department coffee machine is covered in ancient comics and tedious administrative notices, so to liven it up a bit, I put up the three-page list of definitions from #IEEE754-2019.