BRL-CAD

Implement random number API using the C++ standard library

This is a follow-on to the task "Write program comparing performance of bn_randmt vs C++ random".

As that work demonstrated there was performance value, the goal of this task is to implement bn_randmt() using C++ standard library's rand_mt. The implementation needs to be portable to at least C++11 or earlier.

You'll basically re-implement the guts to bn_randmt() and bn_randmt_seed(), which are located in src/libbn/randmt.c You'll want to make edits to BRL-CAD source files, make sure it builds cleanly, and make sure all tests pass (make test). Be sure to update the header documentation and make any other corrections in include/bn/randmt.h

SUBMIT a patch file of your changes (see http://brlcad.org/wiki/Patches).

Task tags

  • performance
  • random numbers
  • c/c++

Students who completed this task

Lucas Prieels

Task type

  • code Code
close

2017