# NumberArgument Class Reference

A definition for numerical arguments. More...

`#include <Function.h>`

Inheritance diagram for NumberArgument:

List of all members.

## Public Member Functions

| NumberArgument (string name_="", ArgumentMinMaxPreDefinition minmax=ARGUMENT_MIN_MAX_NONE, bool does_test=true, bool does_error=true)
| NumberArgument (const NumberArgument *arg)
virtual void | set (const Argument *arg)
virtual Argument * | copy () const
virtual string | print () const
void | setMin (const Number *nmin)
void | setIncludeEqualsMin (bool include_equals)
bool | includeEqualsMin () const
const Number * | min () const
void | setMax (const Number *nmax)
void | setIncludeEqualsMax (bool include_equals)
bool | includeEqualsMax () const
const Number * | max () const
bool | complexAllowed () const
void | setComplexAllowed (bool allow_complex)
bool | rationalNumber () const
void | setRationalNumber (bool rational_number)
virtual int | type () const

## Protected Member Functions

virtual bool | subtest (MathStructure &value, const EvaluationOptions &eo) const
virtual string | subprintlong () const

## Protected Attributes

Number * | fmin
Number * | fmax
bool | b_incl_min
bool | b_incl_max
bool | b_complex
bool | b_rational_number

## Detailed Description

A definition for numerical arguments.

These arguments allows numerical values. The value can be restricted to real or rational numbers (defaults to allow all numbers, including complex), and a max and/or min value.

## Member Function Documentation

virtual bool NumberArgument::subtest | ( | MathStructure & | value,
|  | const EvaluationOptions & | eo |
| ) |  |  | const`[protected, virtual]`

This function is called from Argument::test() and performs validation specific to the argument definition type. Should be reimplemented by all subclasses.

Parameters:

  | value | Value to test.
  | eo | Evaluation options to use if the value needs to be evaluated.

Returns:
  true if the value is valid for the argument definition.

Reimplemented from Argument.

virtual string NumberArgument::subprintlong | ( |  | ) | const`[protected, virtual]`

This function is called from Argument::printlong() and returns description specific the argument definition type. Should be reimplemented by all subclasses. For example IntegerArgument::subprintlong() might return "an integer" and Argument::printlong() might append " that fulfills the condition: even(\x)".

Returns:
  Long description.

Reimplemented from Argument.

virtual void NumberArgument::set | ( | const Argument * | arg | ) | `[virtual]`

Sets the argument to a copy of an argument definition.

Parameters:

  | arg | Argument to copy.

Reimplemented from Argument.

virtual Argument* NumberArgument::copy | ( |  | ) | const`[virtual]`

Returns a copy of the argument definition.

Returns:
  A copy.

Reimplemented from Argument.

virtual string NumberArgument::print | ( |  | ) | const`[virtual]`

Resturns a short description of the argument definition. Ex. "number" for NumberArgument.

Returns:
  Short description.

Reimplemented from Argument.

virtual int NumberArgument::type | ( |  | ) | const`[virtual]`

Returns the type of the argument, corresponding to which subclass the object belongs to.

Returns:
  ArgumentType.

Reimplemented from Argument.

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

- libqalculate/Function.h