// Copyright (C) 2007 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#undef DLIB_RAND_FLOAt_ABSTRACT_
#ifdef DLIB_RAND_FLOAt_ABSTRACT_
#include "rand_kernel_abstract.h"
namespace dlib
{
template <
typename rand_base
>
class rand_float : public rand_base
{
/*!
REQUIREMENTS ON RAND_BASE
RAND_BASE is instantiated with type T and
is an implementation of rand/rand_kernel_abstract.h
WHAT THIS EXTENSION DOES FOR RAND
This gives rand the ability to generate random float values.
!*/
public:
float get_random_float (
);
/*!
ensures
- returns a random float number N where: 0.0 <= N < 1.0.
throws
- std::bad_alloc
!*/
double get_random_double (
);
/*!
ensures
- returns a random double number N where: 0.0 <= N < 1.0.
throws
- std::bad_alloc
!*/
};
template <
template rand_base
>
inline void swap (
rand_float<rand_base>& a,
rand_float<rand_base>& b
) { a.swap(b); }
/*!
provides a global swap function
!*/
}
#endif // DLIB_RAND_FLOAt_ABSTRACT_