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
MoreMathLibrary.h
1// Copyright (C)2023 Smiling Cat Entertainment, LTD. All Rights Reserved.
2
3#pragma once
4
5#include "Inline.h"
6#include "CoreMinimal.h"
7#include "Kismet/BlueprintFunctionLibrary.h"
8#include "MoreMath.h"
9#include "MoreMathLibrary.generated.h"
10
11
15UCLASS()
16class DUKESBIGNUMBERS_API UMoreMathLibrary : public UBlueprintFunctionLibrary
17{
18 GENERATED_BODY()
19
20public:
21
29 UFUNCTION(BlueprintPure, meta = (DisplayName = "FloorLog2 [Float]", CompactNodeTitle = "FLOG2", Keywords = "flog floor log"), Category = "Math|BigInteger")
30 static int32 FloorLog2_Float(float Number);
31
39 UFUNCTION(BlueprintPure, meta = (DisplayName = "FloorLog2 [Double]", CompactNodeTitle = "FLOG2", Keywords = "flog floor log"), Category = "Math|BigInteger")
40 static int32 FloorLog2_Double(double Number);
41
50 UFUNCTION(BlueprintPure, meta = (DisplayName = "FloorLog10 [Integer]", CompactNodeTitle = "FLOG10", Keywords = "flog floor log"), Category = "Math|BigInteger")
51 static int32 FloorLog10_Integer(int32 Number);
52
61 UFUNCTION(BlueprintPure, meta = (DisplayName = "FloorLog10 [Integer64]", CompactNodeTitle = "FLOG10", Keywords = "flog floor log"), Category = "Math|BigInteger")
62 static int32 FloorLog10_Integer64(int64 Number);
63
72 UFUNCTION(BlueprintPure, meta = (DisplayName = "FloorLog10 [Float]", CompactNodeTitle = "FLOG10", Keywords = "flog floor log"), Category = "Math|BigInteger")
73 static int32 FloorLog10_Float(float Number);
74
83 UFUNCTION(BlueprintPure, meta = (DisplayName = "FloorLog10 [Double]", CompactNodeTitle = "FLOG10", Keywords = "flog floor log"), Category = "Math|BigInteger")
84 static int32 FloorLog10_Double(double Number);
85
94 UFUNCTION(BlueprintPure, meta = (DisplayName = "Greatest Common Divisor [Integer]", CompactNodeTitle = "GCD", Keywords = "gcd"), Category = "Math|BigInteger")
95 static int32 Gcd_IntegerInteger(int32 A, const int32 B);
96
104 UFUNCTION(BlueprintPure, meta = (DisplayName = "Greatest Common Divisor [Integer64]", CompactNodeTitle = "GCD", Keywords = "gcd"), Category = "Math|BigInteger")
105 static int64 Gcd_Integer64Integer64(int64 A, const int64 B);
106
113 UFUNCTION(BlueprintPure, meta = (DisplayName = "Power of 10 [Integer]", CompactNodeTitle = "POW10"), Category = "Math|BigInteger")
114 static int32 Pow10Int_Int(int32 Exponent);
115
122 UFUNCTION(BlueprintPure, meta = (DisplayName = "Power of 10 [Integer64]", CompactNodeTitle = "POW10"), Category = "Math|BigInteger")
123 static int64 Pow10Int64_Int(int32 Exponent);
124
125};
126
127// If conditional inlining is ON, include inlinable functions here.
128#if DBN_INLINE_ENABLED
129#include "MoreMathLibrary.inl"
130#endif
Definition: MoreMathLibrary.h:17