Ultra 0.9.4
Loading...
Searching...
No Matches
ultra::real::number Class Reference

#include <real.h>

Inheritance diagram for ultra::real::number:
ultra::terminal ultra::symbol

Public Member Functions

 number (D_DOUBLE m=-1000.0, D_DOUBLE s=1000.0, category_t c=symbol::default_category)
D_DOUBLE min () const noexcept
D_DOUBLE sup () const noexcept
value_t instance () const final
Public Member Functions inherited from ultra::terminal
std::string to_string (format=c_format) const override
 symbol (const std::string &, category_t=default_category)
Public Member Functions inherited from ultra::symbol
 symbol (const std::string &, category_t=default_category)
virtual ~symbol ()=default
 Virtual destructor to allow safe polymorphic deletion.
category_t category () const noexcept
opcode_t opcode () const noexcept
const std::string & name () const noexcept
void category (category_t) noexcept
virtual bool is_valid () const

Additional Inherited Members

Public Types inherited from ultra::symbol
enum  format { c_format , cpp_format , python_format , sup_format }
 Supported rendering formats for symbol stringification.
using category_t = unsigned
using opcode_t = unsigned
Static Public Attributes inherited from ultra::symbol
static constexpr category_t default_category = 0
 Default category assigned when typing is not used.
static constexpr category_t undefined_category
 Sentinel value indicating that the category has not yet been assigned.

Detailed Description

A random floating point number in a specified range.

Member Function Documentation

◆ instance()

value_t ultra::real::number::instance ( ) const
inlinenodiscardfinalvirtual

Produce the runtime value of the terminal.

Returns
the value associated with this terminal

This function returns the value represented by the terminal when the program is evaluated. The returned value may depend on the evaluation context (e.g. the current input vector), but does not depend on any child expressions.

Note
Implementations must not throw exceptions and should be side-effect free to preserve referential transparency during program evaluation.

Implements ultra::terminal.


The documentation for this class was generated from the following file: