Skip to content

Commit

Permalink
Update to v0.8.4.
Browse files Browse the repository at this point in the history
  • Loading branch information
Mysticial committed Feb 22, 2024
1 parent d955427 commit ac83037
Show file tree
Hide file tree
Showing 60 changed files with 1,211 additions and 288 deletions.
6 changes: 6 additions & 0 deletions trunk/Digits/Catalan.txt
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,9 @@

200,000,001,100 | 5039455426 // Robert J. Setti (2015)
250,000,000,000 | 5562543702 // Ron Watkins (2016)
300,000,000,000 | 5501124832 // Tizian Hanselmann (2019)
500,000,000,000 | 7968959561 // Ian Cutress (2019)
600,000,000,100 | 7986401186 // Seungmin Kim (2019)

1,000,000,001,337 | 6831243953 // Andrew Sun (2022)
1,200,000,000,100 | 1495893518 // Seungmin Kim (2022)
4 changes: 4 additions & 0 deletions trunk/Digits/Euler's Constant.txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@
160,000,000,000 | 7694988972 // Peter Trueb (2016)
250,000,000,000 | 4084570413 // Ron Watkins (2016)
477,511,832,674 | 4023522479 // Ron Watkins (2017)
700,000,000,000 | 6951066056 // Jordan Ranous & Kevin O'Brien (2023)

1,337,000,000,000 | 3355679010 // Andrew Sun (2023)



// Parameter Limits
Expand Down
7 changes: 7 additions & 0 deletions trunk/Digits/Gamma(¼).txt
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,11 @@
40,000,000,000 | 7623126515
50,000,000,000 | 8968526415 // Alexander Yee (2018)
75,000,000,000 | 6029645529

100,000,000,000 | 1558080438 // Alexander Yee (2018)
250,000,000,000 | 2748355902 // newalex (2019)
362,560,990,822 | 4339988627 // Ian Cutress (2019)
500,000,000,000 | 9308715537 // Andrew Sun (2020)
500,000,000,100 | 1693343048 // Mamdouh Barakat (2023)

1,000,000,000,000 | 6564234979 // Jordan Ranous (2023)
72 changes: 72 additions & 0 deletions trunk/Digits/Gamma(⅓).txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
50 | 8937795730
100 | 0411887894

10,000 | 7239199978
12,000 | 8960767326
15,000 | 5022954216
20,000 | 8099547440
25,000 | 2703542238
40,000 | 9797951784
50,000 | 7233018792
75,000 | 2577988038

100,000 | 0758826512
120,000 | 8402719883
150,000 | 3103880521
200,000 | 6729149579
250,000 | 0905328387
400,000 | 4847829459
500,000 | 7829430112
750,000 | 2782621758

1,000,000 | 4391314502
1,200,000 | 9025164543
1,500,000 | 4917531310
2,000,000 | 2385924742
2,500,000 | 3983926328
4,000,000 | 9459652396
5,000,000 | 7472784955
7,500,000 | 7709372363

10,000,000 | 6422443188
12,000,000 | 7140825743
15,000,000 | 3010030672
20,000,000 | 7557490893
25,000,000 | 2641556239
40,000,000 | 9724310201
50,000,000 | 1809425261
75,000,000 | 2827536328

100,000,000 | 9512517089
120,000,000 | 2281092486
150,000,000 | 1507421775
200,000,000 | 9333470151
250,000,000 | 4027067358
400,000,000 | 9557627192
500,000,000 | 1351881367
750,000,000 | 1888444752

1,000,000,000 | 4536411283
1,200,000,000 | 6906488702
1,500,000,000 | 0937928643
2,000,000,000 | 0744279622
2,500,000,000 | 2127547928
4,000,000,000 | 5358202437
5,000,000,000 | 2925453774
7,500,000,000 | 1963880132

10,000,000,000 | 5990351426
12,000,000,000 | 0440804784
15,000,000,000 | 8720904298
20,000,000,000 | 6002573195 // Alexander Yee (2019)
25,000,000,000 | 2435411685
40,000,000,000 | 7696913818
50,000,000,000 | 1493717115
75,000,000,000 | 7454143612

100,000,000,000 | 7846120413 // Alexander Yee (2019)
120,000,000,000 | 7772123584
150,000,000,000 | 0351674728
200,000,000,000 | 3814498513 // Alexander Yee (2019)
274,877,906,944 | 8835667805 // Marco Julian Hummel (2019)
500,000,001,337 | 2041278498 // Andrew Sun
14 changes: 10 additions & 4 deletions trunk/Digits/Golden Ratio.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,13 @@
500,000,000,000 | 0825922738
750,000,000,000 | 3311055318

1,000,000,000,000 | 5896454442 // Alexander Yee (2010)
2,000,000,000,000 | 7831736127 // Ron Watkins + Dustin Kirkland (2015)
2,500,000,000,000 | 6901211192 // "yoyo" + Ryan Moore
2,600,000,000,000 | 5110599417 // Tizian Hanselmann
1,000,000,000,000 | 5896454442 // Alexander Yee (2010)
2,000,000,000,000 | 7831736127 // Ron Watkins + Dustin Kirkland (2015)
2,500,000,000,000 | 6901211192 // "yoyo" + Ryan Moore (2018)
2,600,000,000,000 | 5110599417 // Tizian Hanselmann (2018)
3,000,000,000,000 | 9561210353 // Kevin Humphreys (2018)
5,000,000,000,000 | 4580415229 // Hiroyuki Oodaira (2019)
6,000,000,000,000 | 4291146034 // Damien Debin (2020)

10,000,000,000,000 | 0008705722 // Clifford Spielman (2021)
20,000,000,000,000 | 6762507038 // Jordan Ranous (2023)
3 changes: 3 additions & 0 deletions trunk/Digits/Lemniscate.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,6 @@
190,000,000,000 | 9568426919 // Peter Trueb (2016)
200,000,000,000 | 5223459045 // Ron Watkins (2016)
250,000,000,000 | 5116943536 // Ron Watkins (2016)
300,000,000,000 | 6955064161 // Lucian Ilea + Ian Cutress (2019)
310,000,000,000 | 0895680415 // Johannes Kloimb�ck (2019)
600,000,000,000 | 4549395116 // Seungmin Kim + Ian Cutress (2019)
6 changes: 5 additions & 1 deletion trunk/Digits/Log(10).txt
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@
31,026,000,000 | 6549013212 // Alexander Yee (2009)

100,000,000,000 | 0942544886 // Shigeru Kondo (2011)
200,000,000,000 | 4529756640 // Shigeru Kondo (2014)
200,000,000,000 | 0946346917 // Shigeru Kondo (2014)
250,000,000,000 | 5068262055 // Ron Watkins (2016)
500,000,000,000 | 1162036166 // Ron Watkins (2016)
600,000,000,000 | 4972553946 // Ian Cutress (2019)

1,000,000,000,000 | 0160884718 // Hiroyuki Oodaira (2019)
1,200,000,000,100 | 4266096061 // Seungmin Kim (2020)
18 changes: 12 additions & 6 deletions trunk/Digits/Log(2).txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,16 @@
15,000,000,000 | 0642566279
20,000,000,000 | 3824998007
25,000,000,000 | 3462167418
31,026,000,000 | 2134366414 // Alexander Yee (2009)
31,026,000,000 | 2134366414 // Alexander Yee (2009)

200,000,000,000 | 2715850139 // Shigeru Kondo (2014)
250,000,000,000 | 3252727122 // Ron Watkins (2015)
350,000,000,000 | 0491794435 // Ron Watkins (2016)
500,000,000,000 | 1400377883 // Ron Watkins (2016)
600,000,000,000 | 4824251673 // Michael Kwok (2018)
200,000,000,000 | 2715850139 // Shigeru Kondo (2014)
250,000,000,000 | 3252727122 // Ron Watkins (2015)
350,000,000,000 | 0491794435 // Ron Watkins (2016)
500,000,000,000 | 1400377883 // Ron Watkins (2016)
600,000,000,000 | 4824251673 // Michael Kwok (2018)
693,147,180,559 | 9458864466 // Ian Cutress (2019)

1,000,000,000,000 | 5820034479 // Jacob Riffee (2019)
1,200,000,000,100 | 8118625598 // Seungmin Kim (2022)
1,500,000,000,000 | 5000462651 // William Echols (2021)
3,000,000,000,000 | 2260389614 // Jordan Ranous (2024)
8 changes: 7 additions & 1 deletion trunk/Digits/Pi.txt
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,16 @@
10,000,000,000,000 | 1989228675 // Shigeru Kondo (2011)
12,000,000,000,000 | 2780551965
12,100,000,000,000 | 1743930275 // Shigeru Kondo (2013)
13,300,000,000,000 | 3059927717 // "houkouonchi" (2014)
13,300,000,000,000 | 3059927717 // Sandon Van Ness "houkouonchi" (2014)
15,000,000,000,000 | 5650866290
20,000,000,000,000 | 2435880557
22,459,157,718,361 | 7342409237 // Peter Trueb (2016)
25,000,000,000,000 | 9292674750
31,415,926,535,897 | 2624739940 // Emma Haruka Iwao (2019)
50,000,000,000,000 | 0640849268 // Timothy Mullican (2020)
62,831,853,071,796 | 7817924264 // UAS Grisons (2021)

100,000,000,000,000 | 3095295560 // Emma Haruka Iwao (2022)


// Super Pi Sizes
Expand Down
2 changes: 2 additions & 0 deletions trunk/Digits/Sqrt(2).txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,5 @@
5,000,000,000,000 | 3750018644 // Ron Watkins (2016)

10,000,000,000,000 | 2893464390 // Ron Watkins (2016)
10,000,000,001,000 | 1654683058 // Tizian Hanselmann (2022)
20,000,000,000,000 | 8322096826 // Jordan Ranous (2023)
4 changes: 4 additions & 0 deletions trunk/Digits/Zeta(3).txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,7 @@
250,000,000,000 | 4713229971 // Ron Watkins (2015)
400,000,000,000 | 6443357024 // Dipanjan Nag (2015)
500,000,000,000 | 4032327210 // Ron Watkins (2017)

1,000,000,000,000 | 0939412056 // Ian Cutress (2019)
1,200,000,000,100 | 3372119583 // Seungmin Kim (2020)
2,020,569,031,595 | 0609424260 // Andrew Sun (2023)
7 changes: 7 additions & 0 deletions trunk/Digits/Zeta(5).txt
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,10 @@
12,000,000,000 | 7446898995
15,000,000,000 | 7723533677
20,000,000,000 | 7954434395 // Alexander Yee (2018)
21,000,000,000 | 6569909644 // Ian Cutress (2019)
40,000,000,000 | 8729621211
50,000,000,000 | 0506875092

100,000,000,000 | 6267334393 // Oliver Kruse + Ian Cutress (2019)
200,000,000,000 | 2315683024 // Chris Danneil (2021)
201,000,001,337 | 9973311994 // Jordan Ranous (2023)
14 changes: 10 additions & 4 deletions trunk/Digits/e.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,13 @@
500,000,000,000 | 2702955878
//750,000,000,000 |

1,000,000,000,000 | 1924801417 // Shigeru Kondo (2010)
1,400,000,000,000 | 8248626848 // Matthew Hebert (2015)
1,500,000,000,000 | 1228676514 // Ron Watkins (2016)
5,000,000,000,000 | 9320345958 // Ron Watkins (2016)
1,000,000,000,000 | 1924801417 // Shigeru Kondo (2010)
1,400,000,000,000 | 8248626848 // Matthew Hebert (2015)
1,500,000,000,000 | 1228676514 // Ron Watkins (2016)
5,000,000,000,000 | 9320345958 // Ron Watkins (2016)
8,000,000,000,000 | 8719306566 // Gerald Hofmann (2019)

12,000,000,000,000 | 1154169984 // David Christle (2020)
31,415,926,535,897 | 6173688037 // David Christle (2020)
35,000,000,000,000 | 3756236533 // Jordan Ranous (2023)

32 changes: 30 additions & 2 deletions trunk/Source/Common.mk
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ OUTPUT_ROOT := $(SOURCE_ROOT)/../Linux-y-cruncher
CC=g++

CFLAGS := -D YMP_BUILD_DEVELOPER
CFLAGS += -I $(SOURCE_ROOT) -std=c++17 -fno-rtti -Wall -O2 -g -ggdb
CFLAGS += -I $(SOURCE_ROOT) -std=c++17 -fno-rtti -Wall -O2 -ffp-contract=on -g -ggdb
CFLAGS += -D YMP_STANDALONE -D YMP_ENABLE_LIBNUMA -D YMP_ENABLE_TBB
CFLAGS += -lpthread -lnuma -fcilkplus -ltbb
CFLAGS += -Wl,-rpath=.,-rpath=Binaries
Expand All @@ -16,7 +16,7 @@ dump:
clean:
rm -r $(OUTPUT_ROOT)

all: 05-A64 07-PNR 08-NHM 11-BD1 11-SNB 13-HSW 14-BDW 16-KNL 17-ZN1 17-SKX 18-CNL 19-ZN2 20-ZN3 22-ZN4
all: 05-A64 07-PNR 08-NHM 11-BD1 11-SNB 12-BD2 13-HSW 14-BDW 16-KNL 17-ZN1 17-SKX 18-CNL 19-ZN2 20-ZN3 22-ZN4 24-ZN5

.DEFAULT_GOAL := all

Expand Down Expand Up @@ -91,6 +91,20 @@ $(OUTPUT_11SNB)/%.o: $(SOURCE_ROOT)/%.cpp
11-SNB: $(addprefix $(OUTPUT_11SNB)/, $(SOURCES:.cpp=.o))


CFLAGS_12BD2 := $(CFLAGS) -D X64_12_Piledriver -march=sandybridge -mfma -mabm -mtune=bdver1
OUTPUT_12BD2 := $(OUTPUT_ROOT)/12-BD2
-include $(addprefix $(OUTPUT_12BD2)/, $(SOURCES:.cpp=.d))
$(OUTPUT_12BD2)/%.o: $(SOURCE_ROOT)/%.cpp
mkdir -p $(shell dirname $@)
$(CC) $< $(CFLAGS_12BD2) -c -o $@
$(CC) $< $(CFLAGS_12BD2) -MM -MT $@ > $(@:.o=.d)
@cp -f $(@:.o=.d) $(@:.o=.d.tmp)
@sed -e 's/.*://' -e 's/\\$$//' < $(@:.o=.d.tmp) | fmt -1 | \
sed -e 's/^ *//' -e 's/$$/:/' >> $(@:.o=.d)
@rm -f $(@:.o=.d.tmp)
12-BD2: $(addprefix $(OUTPUT_12BD2)/, $(SOURCES:.cpp=.o))


CFLAGS_13HSW := $(CFLAGS) -D X64_13_Haswell -march=haswell -mtune=haswell
OUTPUT_13HSW := $(OUTPUT_ROOT)/13-HSW
-include $(addprefix $(OUTPUT_13HSW)/, $(SOURCES:.cpp=.d))
Expand Down Expand Up @@ -217,6 +231,20 @@ $(OUTPUT_22ZN4)/%.o: $(SOURCE_ROOT)/%.cpp
22-ZN4: $(addprefix $(OUTPUT_22ZN4)/, $(SOURCES:.cpp=.o))


CFLAGS_24ZN5 := $(CFLAGS) -D X64_24_Zen5 -march=icelake-client -mtune=znver3
OUTPUT_24ZN5 := $(OUTPUT_ROOT)/24-ZN5
-include $(addprefix $(OUTPUT_24ZN5)/, $(SOURCES:.cpp=.d))
$(OUTPUT_24ZN5)/%.o: $(SOURCE_ROOT)/%.cpp
mkdir -p $(shell dirname $@)
$(CC) $< $(CFLAGS_24ZN5) -c -o $@
$(CC) $< $(CFLAGS_24ZN5) -MM -MT $@ > $(@:.o=.d)
@cp -f $(@:.o=.d) $(@:.o=.d.tmp)
@sed -e 's/.*://' -e 's/\\$$//' < $(@:.o=.d.tmp) | fmt -1 | \
sed -e 's/^ *//' -e 's/$$/:/' >> $(@:.o=.d)
@rm -f $(@:.o=.d.tmp)
24-ZN5: $(addprefix $(OUTPUT_24ZN5)/, $(SOURCES:.cpp=.o))





Expand Down
1 change: 1 addition & 0 deletions trunk/Source/DigitViewer2/DigitCount/DigitCount.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ struct DigitCounts{

std::string to_string() const;
uiL_t operator[](upL_t index) const{ return m_counts[index]; }
uiL_t& operator[](upL_t index){ return m_counts[index]; }

public:
void accumulate(const char* raw_digits, upL_t digits);
Expand Down
33 changes: 33 additions & 0 deletions trunk/Source/DigitViewer2/DigitReaders/BasicDigitReader.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
////////////////////////////////////////////////////////////////////////////////
// Dependencies
#include "PublicLibs/BasicLibs/LinearHeapBuffer.h"
#include "PublicLibs/BasicLibs/ConfigTree/ConfigArray.h"
#include "PublicLibs/BasicLibs/ConfigTree/ConfigObject.h"
#include "PublicLibs/BasicLibs/Concurrency/BasicParallelizer.h"
#include "DigitViewer2/Globals.h"
#include "DigitViewer2/DigitCount/DigitCount.h"
Expand All @@ -33,6 +35,9 @@ class DigitStats{
, m_hash(hash)
{}

char radix() const{
return m_radix;
}
const DigitCounts& counts() const{
return m_counts;
}
Expand Down Expand Up @@ -71,6 +76,32 @@ class DigitStats{
}


public:
// Serialization
void load_config(const ConfigObject& config){
m_radix = (char)config.get_integer("Radix");
{
const ConfigArray& array = config.get_array("Digits");
for (char c = 0; c < m_radix; c++){
m_counts[c] = array[c].to_integer_throw();
}
}
m_hash = (uiL_t)config.get_integer("Hash");
}
ConfigObject to_config() const{
ConfigObject ret;
ret.add_integer("Radix", m_radix);
{
ConfigArray& array = ret.add_array("Digits");
for (char c = 0; c < m_radix; c++){
array += m_counts[c];
}
}
ret.add_integer("Hash", m_hash.value());
return ret;
}


private:
char m_radix;
DigitCounts m_counts;
Expand All @@ -87,6 +118,8 @@ class BasicDigitReader{
public:
virtual ~BasicDigitReader() = default;

virtual std::string path() const = 0;

char radix() const{ return m_radix; }
virtual std::string first_digits() = 0;

Expand Down
2 changes: 2 additions & 0 deletions trunk/Source/DigitViewer2/DigitReaders/BasicTextReader.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ class BasicTextReader : public BasicDigitReader{

BasicTextReader(std::string path, char radix = 0, bool raw_io = true);

virtual std::string path() const override{ return m_file.path(); }

virtual std::string first_digits () override;
virtual uiL_t stream_end () const override{ return m_total_digits; }
virtual bool range_is_available (uiL_t offset, uiL_t digits) override;
Expand Down
2 changes: 2 additions & 0 deletions trunk/Source/DigitViewer2/DigitReaders/BasicYcdFileReader.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ class BasicYcdFileReader : public BasicDigitReader{
public:
BasicYcdFileReader(std::string path, bool raw_io);

virtual std::string path() const override{ return m_file.path(); }

virtual std::string first_digits () override{ return m_first_digits; }
virtual uiL_t stream_end () const override{ return m_stream_end; }
virtual bool range_is_available (uiL_t offset, uiL_t digits) override;
Expand Down
2 changes: 2 additions & 0 deletions trunk/Source/DigitViewer2/DigitReaders/BasicYcdSetReader.h
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,8 @@ class BasicYcdSetReader : public BasicDigitReader{
public:
BasicYcdSetReader(const std::string& path, bool raw_io = true);

virtual std::string path() const override{ return m_files.begin()->second->path(); }

void print_paths() const;

// Add a new search path for which this reader will search in an attempt
Expand Down
2 changes: 1 addition & 1 deletion trunk/Source/DigitViewer2/DigitViewer/DigitViewerTasks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ class StatsTracker{
Console::print_marginl(23, "Hash(start - current)");
}
std::string label = "Hash(" + std::to_string(m_start + 1) + " - current) ";
m_width = std::max((upL_t)21, label.size());
m_width = std::max<upL_t>(21, label.size());
Console::print_marginl(m_width, label);
Console::print("Digit Counts (" + std::to_string(m_start + 1) + " - current)");
Console::println("");
Expand Down
Loading

0 comments on commit ac83037

Please sign in to comment.