Steppable 0.0.1
A CAS project written from scratch in C++
Loading...
Searching...
No Matches
steppable Namespace Reference

The public namespace for the Steppable library. More...

Namespaces

namespace  __internals
 The namespace containing internal functions for the Steppable library.
namespace  concepts
 Defines concepts to be used for distinguishing types in the project.
namespace  constants
 Numerical constants used in Steppable.
namespace  exceptions
 Contains Steppable exceptions.
namespace  literals
 Literal suffixes for literals to be converted to Steppable objects.
namespace  localization
 The namespace for the localization utilities.
namespace  output
 Message-printing utilities for Steppable.
namespace  prettyPrint
 The namespace containing utilities for pretty printing.
namespace  testing
 Includes testing utilities for Steppable.
namespace  types
 The namespace containing types used in the steppable calculator.

Classes

class  Data
 Represents data that is being passed through Steppable. More...
class  Fraction
 Acts as a fraction in math. It can be added, subtracted, multiplied and divided. More...
class  Matrix
 Represents a mathematical matrix. More...
class  Number
 Represents a number with arbitrary precision. It basically stores the value as a string. More...
struct  XYPoint
 A point object. More...
struct  YX2Points
 A points object that represents two points. More...
struct  YXPoint
 A point object. More...

Typedefs

template<typename NumberT>
using MatVec2D = std::vector<std::vector<NumberT>>
 Alias for a 2D matrix represented as a vector of vectors.
using Weekday = Data<_Weekday, StringLiteral{ "Weekday" }>

Enumerations

enum class  RoundingMode : std::uint8_t {
  USE_MAXIMUM_PREC = 0xFF , USE_MINIMUM_PREC = 0x01 , USE_CURRENT_PREC = 0x02 , USE_OTHER_PREC = 0x03 ,
  DISCARD_ALL_DECIMALS = 0x00
}
 Specifies how Steppable should round the number in operations. More...
enum class  Rounding : std::uint8_t { ROUND_DOWN = 0x00 , ROUND_UP = 0x01 , ROUND_OFF = 0x02 }
enum class  _Weekday : std::uint8_t {
  Sunday = 0 , Monday = 1 , Tuesday = 2 , Wednesday = 3 ,
  Thursday = 4 , Friday = 5 , Saturday = 6
}

Detailed Description

The public namespace for the Steppable library.

Typedef Documentation

◆ MatVec2D

template<typename NumberT>
using steppable::MatVec2D = std::vector<std::vector<NumberT>>

Alias for a 2D matrix represented as a vector of vectors.

Template Parameters
NumberTThe type of the numbers in the matrix.

◆ Weekday

Enumeration Type Documentation

◆ _Weekday

enum class steppable::_Weekday : std::uint8_t
strong
Enumerator
Sunday 

Sunday.

Monday 

Monday.

Tuesday 

Tuesday.

Wednesday 

Wednesday.

Thursday 

Thursday.

Friday 

Friday.

Saturday 

Saturday.

◆ Rounding

enum class steppable::Rounding : std::uint8_t
strong
Enumerator
ROUND_DOWN 

Rounds the number down.

ROUND_UP 

Rounds the number up.

ROUND_OFF 

Rounds the number off.

◆ RoundingMode

enum class steppable::RoundingMode : std::uint8_t
strong

Specifies how Steppable should round the number in operations.

Enumerator
USE_MAXIMUM_PREC 

Use the higher precision whenever possible.

USE_MINIMUM_PREC 

Use the lower precision whenever possible.

USE_CURRENT_PREC 

Use the current precision.

USE_OTHER_PREC 

Use the other number's precision.

DISCARD_ALL_DECIMALS 

Do not append any decimal places.

Untitled