Генератор случайных чисел для Ады на BBC MicroBit - PullRequest
0 голосов
/ 01 января 2019

Работая над небольшой игрой для 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 ]

0 голосов
/ 01 января 2019

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

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

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

--RTS=ravenscar-full-microbit

в командной строке, вы найдете стандартные АДГ.

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

0 голосов
/ 04 января 2019

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

PragmARCs

0 голосов
/ 01 января 2019

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

...