Генератор случайных чисел для Ады на BBC MicroBit

Работаю над небольшой игрой для BBC Microbit.

with Ada.Numerics.Discrete_Random отчеты "Ada.Numerics" is not a predefined library unit.

Предоставляет ли Ада другой способ генерирования случайных чисел на BBC MicroBit? arch/ARM/Nordic/svd/nrf51/nrf51_svd-rng определяет запись генератора случайных чисел RNG_Peripheral. Это то, что я ищу или используется только с Bluetooth?

GPS 2018 (20180528) hosted on x86_64-pc-linux-gnu
GNAT Community 2018 (20180524-73)

Active toolchain: arm-eabi

the GNAT Programming Studio

(c) 2001-2018 AdaCore

Мой код:

with Ada.Numerics.Discrete_Random;

package body Flip_A_Coin is

   package Random_Coin is new Ada.Numerics.Discrete_Random(Coin);

   G: Random_Coin.Generator;

   ------------------
   --  Reset       --
   ------------------

   procedure Reset is

   begin

      Random_Coin.Reset(G);

   end Reset;

   ------------------
   --  Flip        --
   ------------------

   function Flip
     return Coin is

   begin

      return Random_Coin.Random(G);

   end Flip;

begin

   Reset;

end Flip_A_Coin;

3 ответа

Если вы строите, используя

for Runtime ("ada") use "ravenscar-full-microbit";

в вашем проекте или

--RTS=ravenscar-full-microbit

в командной строке вы найдете стандартные Ада RNG.

Вы также можете попробовать, как вы предлагаете, используя NRF51_SVD.RNG из библиотеки драйверов Ада, которая должна сделать свое дело.

Если у вас есть числа с плавающей точкой, вы можете использовать U_Rand available @ Mathpaqs.

В многократно используемых компонентах PragmAda имеется ряд ГСЧ. Может быть, один из них подойдет вам.

PragmARCs

Другие вопросы по тегам