Duke's Big Numbers 1.0
C++ and Blueprint libraries for performing math, analysis, and formatting with really large numbers (>10e308).
Loading...
Searching...
No Matches
MoreMath.h
1// Copyright (C)2023 Smiling Cat Entertainment, LTD. All Rights Reserved.
2
3#pragma once
4
5#include "Inline.h"
6#include "IeeeHelper.h"
7
8namespace Duke
9{
13 struct FMoreMath
14 {
22 static int32 FloorLog2(float number);
23
31 static int32 FloorLog2(double number);
32
40 static int32 FloorLog10(int32 number);
41
49 static int32 FloorLog10(uint32 number);
50
58 static int32 FloorLog10(int64 number);
59
67 static int32 FloorLog10(uint64 number);
68
76 static int32 FloorLog10(float number);
77
85 static int32 FloorLog10(double number);
86
94 static uint32 Gcd(uint32 lhs, uint32 rhs);
95
103 static int64 Gcd(int64 lhs, int64 rhs);
104
112 static uint64 Gcd(uint64 lhs, uint64 rhs);
113
114
121 static int32 Pow10Int(int32 exponent);
122
129 static uint32 Pow10UInt(int32 exponent);
130
137 static int64 Pow10Int64(int32 exponent);
138
145 static uint64 Pow10UInt64(int32 exponent);
146 };
147
148 // If conditional inlining is ON, include inlinable functions here.
149#if DBN_INLINE_ENABLED
150#include "MoreMath.inl"
151#endif
152
153}
Definition: MoreMath.h:14
static uint32 Pow10UInt(int32 exponent)
static uint64 Gcd(uint64 lhs, uint64 rhs)
static int32 FloorLog10(double number)
static int32 FloorLog2(float number)
Definition: MoreMath.inl:6
static int32 Pow10Int(int32 exponent)
static int32 FloorLog10(float number)
static int64 Gcd(int64 lhs, int64 rhs)
static int32 FloorLog10(uint32 number)
static uint32 Gcd(uint32 lhs, uint32 rhs)
static int64 Pow10Int64(int32 exponent)
static uint64 Pow10UInt64(int32 exponent)
static int32 FloorLog10(uint64 number)
static int32 FloorLog10(int32 number)
Definition: MoreMath.inl:18