psy 2 днів тому
батько
коміт
7e5dccbd34
49 змінених файлів з 466 додано та 4064 видалено
  1. 93 0
      .gitignore
  2. 163 68
      README.md
  3. 99 21
      ecoin/INSTALL
  4. 0 2
      ecoin/build/build.h
  5. 2 2
      ecoin/doc/DNSSEEDS.txt
  6. 1 1
      ecoin/doc/IMPLEMENTATIONS.txt
  7. 1 1
      ecoin/doc/MINING.txt
  8. 1 1
      ecoin/doc/REWARDS.txt
  9. 1 1
      ecoin/doc/TRANSLATIONS.txt
  10. 74 20
      ecoin/doc/build-linux.txt
  11. 1 1
      ecoin/doc/qr-codes.txt
  12. 1 1
      ecoin/ecoin-qt.pro
  13. BIN
      ecoin/miner/compat/pthreads/x64/libpthreadGC2.a
  14. 0 0
      ecoin/src/boost_1_68_0/doc/AutoDoxywarnings.log
  15. BIN
      ecoin/src/boost_1_68_0/libs/fiber/examples/cuda/multiple_streams.o
  16. BIN
      ecoin/src/boost_1_68_0/libs/fiber/examples/cuda/single_stream.o
  17. 0 1456
      ecoin/src/boost_1_68_0/libs/filesystem/test/b2.log
  18. 0 718
      ecoin/src/boost_1_68_0/libs/multiprecision/performance/performance_test-gcc-linux.log
  19. 0 422
      ecoin/src/boost_1_68_0/libs/multiprecision/performance/performance_test-intel-linux.log
  20. 0 1220
      ecoin/src/boost_1_68_0/libs/multiprecision/performance/performance_test-msvc-10.log
  21. 0 69
      ecoin/src/boost_1_68_0/libs/multiprecision/performance/sf_performance-msvc-10.log
  22. BIN
      ecoin/src/boost_1_68_0/libs/serialization/test/config_test.o
  23. 0 0
      ecoin/src/boost_1_68_0/libs/sort/doc/AutoDoxywarnings.log
  24. 0 0
      ecoin/src/boost_1_68_0/libs/sort/doc/doxygen/doxywarnings.log
  25. 0 37
      ecoin/src/boost_1_68_0/libs/sort/test/test.log
  26. 9 12
      ecoin/src/leveldb/port/atomic_pointer.h
  27. 1 1
      ecoin/src/makefile.linux
  28. 1 1
      ecoin/src/qt/ecoin.cpp
  29. 4 7
      ecoin/src/qt/ecoingui.cpp
  30. BIN
      ecoin/src/qt/res/icons/ecoin-128.png
  31. BIN
      ecoin/src/qt/res/icons/ecoin-16.png
  32. BIN
      ecoin/src/qt/res/icons/ecoin-32.png
  33. BIN
      ecoin/src/qt/res/icons/ecoin-48.png
  34. BIN
      ecoin/src/qt/res/icons/ecoin-80.png
  35. BIN
      ecoin/src/qt/res/icons/ecoin.icns
  36. BIN
      ecoin/src/qt/res/icons/ecoin.ico
  37. BIN
      ecoin/src/qt/res/icons/ecoin.png
  38. BIN
      ecoin/src/qt/res/icons/ecoin_testnet.png
  39. BIN
      ecoin/src/qt/res/icons/favicon_16x16.ico
  40. BIN
      ecoin/src/qt/res/images/about.png
  41. BIN
      ecoin/src/qt/res/images/about2a.png
  42. BIN
      ecoin/src/qt/res/images/background.png
  43. BIN
      ecoin/src/qt/res/images/header.png
  44. BIN
      ecoin/src/qt/res/images/splash2.jpg
  45. BIN
      ecoin/src/qt/res/images/splash2a.png
  46. BIN
      ecoin/src/qt/res/images/splash2b.png
  47. 4 0
      ecoin/src/serialize.h
  48. 9 1
      ecoin/src/strlcpy.h
  49. 1 1
      ecoin/src/util.cpp

+ 93 - 0
.gitignore

@@ -0,0 +1,93 @@
+# Build artifacts
+*.o
+*.a
+*.so
+*.dylib
+*.obj
+
+# Binaries
+ecoin/ecoin-qt
+ecoin/src/ecoind
+ecoin/miner/cpuminer
+
+# Build directories
+ecoin/build/
+
+# Qt generated
+ecoin/qrc_ecoin.cpp
+ecoin/ecoin-qt.new
+ecoin/Makefile
+ecoin/.qmake.stash
+
+# Packaging intermediates
+packages/ecoin_*/
+packages/*.idsig
+packages/*.keystore
+packages/*-debug.apk
+
+# Miner build artifacts
+ecoin/miner/.deps/
+ecoin/miner/algo/.deps/
+ecoin/miner/algo/.dirstamp
+ecoin/miner/algo/*.o
+ecoin/miner/asm/.deps/
+ecoin/miner/asm/.dirstamp
+ecoin/miner/asm/*.o
+ecoin/miner/compat/.deps/
+ecoin/miner/compat/Makefile
+ecoin/miner/compat/Makefile.in
+ecoin/miner/compat/jansson/.deps/
+ecoin/miner/compat/jansson/Makefile
+ecoin/miner/compat/jansson/Makefile.in
+ecoin/miner/compat/jansson/*.o
+ecoin/miner/crypto/.deps/
+ecoin/miner/crypto/.dirstamp
+ecoin/miner/crypto/*.o
+ecoin/miner/lyra2/.deps/
+ecoin/miner/lyra2/.dirstamp
+ecoin/miner/lyra2/*.o
+ecoin/miner/sha3/.deps/
+ecoin/miner/sha3/.dirstamp
+ecoin/miner/sha3/*.o
+ecoin/miner/yescrypt/.deps/
+ecoin/miner/yescrypt/.dirstamp
+ecoin/miner/yescrypt/*.o
+ecoin/miner/cpuminer-*.o
+ecoin/miner/Makefile
+ecoin/miner/Makefile.in
+ecoin/miner/aclocal.m4
+ecoin/miner/autom4te.cache/
+ecoin/miner/config.log
+ecoin/miner/config.status
+ecoin/miner/configure
+ecoin/miner/compile
+ecoin/miner/config.guess
+ecoin/miner/config.sub
+ecoin/miner/cpuminer-config.h
+ecoin/miner/cpuminer-config.h.in
+ecoin/miner/depcomp
+ecoin/miner/install-sh
+ecoin/miner/missing
+ecoin/miner/stamp-h1
+ecoin/miner/gmon.out
+
+# Boost build artifacts
+ecoin/src/boost_1_68_0/b2
+ecoin/src/boost_1_68_0/bjam
+ecoin/src/boost_1_68_0/bin.v2/
+ecoin/src/boost_1_68_0/bootstrap.log
+ecoin/src/boost_1_68_0/project-config.jam
+ecoin/src/boost_1_68_0/user-config*.jam
+ecoin/src/boost_1_68_0/tools/build/src/engine/bin.*/
+ecoin/src/boost_1_68_0/tools/build/src/engine/bootstrap/
+
+# Precompiled libs (platform-specific)
+ecoin/src/leveldb/libleveldb.a.*
+ecoin/src/leveldb/libmemenv.a.*
+
+# Logs
+aqtinstall.log
+*.log
+
+# Compiled locale files
+*.qm

+ 163 - 68
README.md

@@ -1,125 +1,220 @@
+# ECOin
 
-![c](https://ecoin.03c8.net/ecoin/ecoin.png)
+![ECOin](ecoin/src/qt/res/icons/ecoin.png)
 
-----------
-
-#### Project Website:   
+**P2P Ecological Crypto-Currency** — A long-term energy-efficient digital economy strategy
 
- + https://ecoin.03c8.net
+[Website](https://ecoin.03c8.net) | [Block Explorer](https://ecoin.03c8.net/blockexplorer) | [SolarNET.HuB](https://solarnethub.com)
 
 ----------
 
-#### Description:
+## Overview
 
- [ECOin](https://ecoin.03c8.net) is a P2P crypto-currency with the goal of providing **a long-term energy-efficient digital economy strategy**.
+[ECOin](https://ecoin.03c8.net) is a P2P crypto-currency with the goal of providing **a long-term energy-efficient digital economy strategy**.
 
- It uses -[SCRYPT algorithm](https://en.wikipedia.org/wiki/Scrypt)- and implements 3 different mining systems.
- 
- **It is the only crypto in the market that implements such a sophisticated mining system**:
+It uses the [SCRYPT](https://en.wikipedia.org/wiki/Scrypt) algorithm and is **the only crypto in the market that implements three different mining systems simultaneously**:
 
- + [Proof-Of-Work](https://en.wikipedia.org/wiki/Proof_of_work)
- + [Proof-Of-Stake](https://en.wikipedia.org/wiki/Proof_of_stake) 
- + [Proof-Of-Transaction](https://cryptoticker.io/en/proof-transaction)
+- [Proof-Of-Work (PoW)](https://en.wikipedia.org/wiki/Proof_of_work) — Traditional CPU mining
+- [Proof-Of-Stake (PoS)](https://en.wikipedia.org/wiki/Proof_of_stake) — Variable interest based on coin age
+- [Proof-Of-Transaction (PoT)](https://cryptoticker.io/en/proof-transaction) — Mining by matching address segment to block hash on transactions > 500 ECO
+
+ECOin includes [Zerocoin](https://en.wikipedia.org/wiki/Zerocoin_protocol) privacy extensions for enhanced transaction privacy.
 
- The estimated coinbase size will be roughly [225 million ECO].
- 
 ----------
 
-#### Translations:
-
- Supported languages:
-
- + English
- + Russian
- + Catalan
- + German
- + Spanish
- + Basque
- + French
- + Italian
- + Portuguese
- + Chinese
- 
+## Specifications
+
+| Parameter         | Value                            |
+| ----------------- | -------------------------------- |
+| **Algorithm**     | SCRYPT                           |
+| **Mining**        | PoW + PoS + PoT (triple mining)  |
+| **Block Time**    | 2 minutes                        |
+| **Total Supply**  | ~225,000,000 ECO                 |
+| **PoW Halving**   | Every 262,800 blocks             |
+| **PoT Threshold** | Transactions > 500 ECO           |
+| **PoT Reward**    | 50% of block subsidy             |
+| **P2P Port**      | 7408                             |
+| **RPC Port**      | 7474                             |
+| **Privacy**       | Zerocoin protocol                |
+| **DNS Seed**      | ecoinseed.03c8.net:5353          |
+
 ----------
 
-#### Implementations:
+## Rewards
 
- This crypto-currency is part of the project: [SolarNET.HuB (SNH)](https://solarnethub.com/).
+Proof-Of-Work Mining (PoW) rewards with halving every 262,800 blocks:
+
+| Block Range        | Reward                             |
+| ------------------ | ---------------------------------- |
+| 1 - 3,263          | Random 500-5,000 (1 min blocks)    |
+| 3,264 - 22,000     | Random 1,000-10,000 (2 min blocks) |
+| 22,001 - 34,750    | 5,000 ECO                          |
+| 34,751 - 39,791    | 2,500 ECO                          |
+| 39,792 - 44,832    | 1,250 ECO                          |
+| 44,833 - 49,873    | 625 ECO                            |
+| 49,874 - 54,914    | 312.50 ECO                         |
+| 54,915 - 59,955    | 156.25 ECO                         |
+| 59,956 - 64,996    | 78.125 ECO                         |
+| 64,997 - 70,037    | 39.0625 ECO                        |
+| 70,038 - 332,838   | 20 ECO                             |
 
- It allows the [inhabitants](https://solarnethub.com/socialnet/overview) of the [kit](https://solarnethub.com/kit/overview) to access a **totally sustainable market ecosystem**, through the [mining system with solar panels](https://solarnethub.com/kit/hardware).
- 
 ----------
 
-#### Blockchain:   
+## Translations
 
- + The [blockchain](https://en.wikipedia.org/wiki/Blockchain) with the transactions is publicly accessible from the url: [https://ecoin.03c8.net/blockexplorer](https://ecoin.03c8.net/blockexplorer)
+ECOin wallet is available in 10 languages:
 
-----------
+| Code  | Language   |
+| ----- | ---------- |
+| en    | English    |
+| ru    | Russian    |
+| ca    | Catalan    |
+| de    | German     |
+| es    | Spanish    |
+| eu    | Basque     |
+| fr    | French     |
+| it    | Italian    |
+| pt    | Portuguese |
+| zh_CN | Chinese    |
 
-#### Mining:   
- 
-  + The [mining](https://en.wikipedia.org/wiki/Bitcoin_protocol#Mining) process based on the [Proof-Of-Work](https://en.wikipedia.org/wiki/Proof_of_work) for ECOin is done via the **ecoin-miner** tool. See [MINING](./ecoin/doc/MINING.txt) for more details.
-  
 ----------
 
-#### Rewards:
+## Building
 
-  + Proof-Of-Work Mining (POW) Rewards (halving every 262,800 blocks).
-  + Proof-Of-Stake Mining (POS): Variable interest based on coin age.
-  + Proof-Of-Transaction Mining (POT): Mining by matching address segment to block hash (on tansactions greater than 500 coins), 50% of the block subsidy.
+ECOin builds on GNU/Linux, Windows (MinGW), and macOS. See [INSTALL](./ecoin/INSTALL) for detailed instructions.
 
- See [REWARDS](./ecoin/doc/REWARDS.txt) for more details.
- 
-----------
+### Quick Start (Debian/Ubuntu)
+
+```bash
+# Install dependencies
+sudo apt-get install build-essential libssl-dev libdb5.3-dev libdb5.3++-dev \
+  libleveldb-dev qt5-qmake qtbase5-dev
 
-#### Building:
+# Clone
+git clone https://github.com/epsylon/ecoin
+cd ecoin/ecoin/
 
- This tool runs on many platforms (GNU-Linux/Win32/MacosOSX). See [INSTALL](./ecoin/INSTALL) for your system.
+# Build Wallet (GUI)
+qmake USE_UPNP=- USE_IPV6=-
+make
+./ecoin-qt
+
+# Build Daemon (headless server)
+cd src/
+make -f makefile.linux USE_UPNP=- USE_IPV6=-
+strip ecoind
+./ecoind
+```
+
+### Pre-built Packages
+
+Pre-built `.deb` packages are available for:
+
+- **ANDROID** (APK) — Wallet + Daemon
+- **AMD64** (x86_64) — Wallet + Daemon
+- **ARM64** (aarch64) — Daemon
+
+See the [Releases](https://github.com/epsylon/ecoin/releases) page.
 
 ----------
 
-#### License:
+## Configuration
+
+Create `~/.ecoin/ecoin.conf` (chmod 600):
 
- [ECOin](https://ecoin.03c8.net) is a free software released under the [GPLv3](https://www.gnu.org/licenses/quick-guide-gplv3.en.html).
+```ini
+rpcuser=ecoinrpc
+rpcpassword=<YOUR_SECURE_PASSWORD>
+rpcallowip=127.0.0.1
+testnet=0
+noirc=1
+listen=1
+server=1
+daemon=1
+addnode=46.163.118.220
+```
 
 ----------
 
-#### Contact:
+## Bootstrap.dat
+
+ECOin is using a bootstrap.dat binary file containing blockchain data, from the genesis block through first checkpoint that allows new wallets
+to synchronize the first blocks without the need to connect to the network or wait for the peers to send the beginning of the blockchain.
+
+This file must be placed next to the configuration file (`~/.ecoin/ecoin.conf`).
 
-     - psy (epsylon@riseup.net)
+Download [bootstrap.dat](https://ecoin.03c8.net/ecoin/bootstrap.dat).
 
-#### Contribute: 
+## Mining
 
- To make donations use the following hash:
-  
-     - Bitcoin: 19aXfJtoYJUoXEZtjNwsah2JKN9CK5Pcjw
-     - Ecoin  : ETsRCBzaMawx3isvb5svX7tAukLdUFHKze
+Solo mining with the built-in CPU miner:
+
+```bash
+# Terminal 1: Start wallet or daemon
+./ecoin-qt
+# or: ./ecoind -daemon
+
+# Terminal 2: Start miner
+cd miner/ && sh build.sh
+./cpuminer -o http://127.0.0.1:7474 -O ecoinrpc:<password> --coinbase-addr=<YOUR_ECOIN_ADDRESS>
+```
+
+See [MINING](./ecoin/doc/MINING.txt) and [REWARDS](./ecoin/doc/REWARDS.txt) for details.
 
 ----------
 
-#### Screenshots:
+## SolarNET.HuB Integration
+
+ECOin is the native currency of the [SolarNET.HuB](https://solarnethub.com/) ecosystem — a sustainable multilayer tool-artifact for data privacy and project networking.
 
-Digital currency used in Mr. Robot:
+Within the ecosystem, ECOin enables:
 
-![c](https://ecoin.03c8.net/ecoin/ecoin_mrrobot.png)
+- **Universal Basic Income (UBI)** — Weekly ECOin allocations for ecosystem participants
+- **Solar Mining** — PoW mining powered by solar panels via the [SNH-KIT](https://wiki.solarnethub.com/kit/hardware)
+- **P2P Marketplace** — Exchange goods and services priced in ECO
+- **Governance** — Voting and participation in the 9-House governance system
+
+----------
+
+## Screenshots
 
 Wallet:
 
-![c](https://ecoin.03c8.net/ecoin/ecoin_wallet_zoom.png)
+![Wallet](https://ecoin.03c8.net/ecoin/ecoin_wallet_zoom.png)
 
 Settings:
 
-![c](https://ecoin.03c8.net/ecoin/ecoin_settings_zoom.png)
+![Settings](https://ecoin.03c8.net/ecoin/ecoin_settings_zoom.png)
 
 Debug Console:
 
-![c](https://ecoin.03c8.net/ecoin/ecoin_debug_zoom.png)
+![Debug Console](https://ecoin.03c8.net/ecoin/ecoin_debug_zoom.png)
 
 Mining:
 
-![c](https://ecoin.03c8.net/ecoin/ecoin_mining_zoom.png)
+![Mining](https://ecoin.03c8.net/ecoin/ecoin_mining_zoom.png)
+
+Block Explorer:
+
+![Block Explorer](https://ecoin.03c8.net/ecoin/ecoin-blockexplorer.png)
+
+----------
+
+## License
+
+ECOin is free software released under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.html).
+
+----------
+
+## Contact
 
-BlockExplorer:
+- **Author**: psy ([epsylon@riseup.net](mailto:epsylon@riseup.net))
+- **Web**: [03c8.net](https://03c8.net)
+- **Code**: [code.03c8.net/epsylon](https://code.03c8.net/epsylon) | [github.com/epsylon](https://github.com/epsylon)
 
-![c](https://ecoin.03c8.net/ecoin/ecoin-blockexplorer.png)
+## Donate
 
+| Currency | Address |
+| -------- | ------- |
+| Bitcoin | `19aXfJtoYJUoXEZtjNwsah2JKN9CK5Pcjw` |
+| ECOin | `ETsRCBzaMawx3isvb5svX7tAukLdUFHKze` |

+ 99 - 21
ecoin/INSTALL

@@ -1,32 +1,64 @@
 
-ECOin - Copyright (c) - 2014/2025 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
+ECOin - Copyright (c) - 2014/2026 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
 
 ===================================================
 # BUILDS - P2P Crypto-Currency (ECOin) #
 ===================================================
 
-See doc/build-linux.txt for more info about required libs to build it at GNU/Linux systems.
+See doc/build-linux.txt for more info about required libs to build on GNU/Linux systems.
 
-All of the commands should be executed in a shell:
+All of the commands should be executed in a shell.
 
 ===================================================
 
-=================
-+ Build Makefile:
-=================
+==================
++ Requirements:
+==================
 
-    cd ecoin/
-    /usr/lib/x86_64-linux-gnu/qt5/bin/qmake USE_UPNP=- USE_IPV6=- -o Makefile ecoin-qt.pro
+  + Core (ecoind):
+
+    build-essential g++ libssl-dev libssl3 libdb5.3-dev libdb5.3++-dev
+    libleveldb-dev
+
+  + Wallet GUI (ecoin-qt):
+
+    All of the above, plus:
+    qt5-qmake qtbase5-dev
+
+  + Optional:
+
+    miniupnpc libminiupnpc-dev   (UPnP support)
+    libqrencode-dev              (QR code support)
+
+  + Bundled (no install needed):
+
+    Boost 1.68    -> provided at src/boost_1_68_0/
+    LevelDB       -> provided at src/leveldb/
+
+===================================================
 
 ===============
 + Build Wallet:
 ===============
 
+    cd ecoin/
     qmake USE_UPNP=- USE_IPV6=-
     make
+    strip ecoin-qt
 
     ./ecoin-qt
-        
+
+  Note: To generate the Makefile explicitly:
+
+    /usr/lib/x86_64-linux-gnu/qt5/bin/qmake USE_UPNP=- USE_IPV6=- -o Makefile ecoin-qt.pro
+
+  Optional flags:
+
+    USE_QRCODE=1    Enable QR code support (requires libqrencode)
+    USE_UPNP=1      Enable UPnP support (requires miniupnpc)
+    USE_IPV6=1      Enable IPv6 support
+    RELEASE=1       Static linking for release builds
+
 ===================================================
 
 ===============
@@ -38,9 +70,9 @@ All of the commands should be executed in a shell:
     strip ecoind
 
     ./ecoind
-    
+
 ===================================================
-        
+
 ===============
 + Build Miner:
 ===============
@@ -49,9 +81,41 @@ See doc/MINING.txt for detailed instructions on running /ecoin-miner/ on differe
 
     cd miner/
     sh build.sh
-	
+
     ./cpuminer
-    
+
+===================================================
+
+==============================
++ Cross-compile ARM64 Daemon:
+==============================
+
+  (1) Install cross-compilation toolchain:
+
+    sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu
+
+  (2) Cross-compile LevelDB:
+
+    cd src/leveldb/
+    CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ make clean && \
+    CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ make libleveldb.a libmemenv.a
+    cd ..
+
+  (3) Bootstrap Boost 1.68 for ARM64:
+
+    cd boost_1_68_0/
+    ./bootstrap.sh --with-libraries=system,filesystem,program_options,thread,chrono
+    echo "using gcc : arm : aarch64-linux-gnu-g++ ;" > user-config.jam
+    ./b2 --user-config=user-config.jam toolset=gcc-arm link=static threading=multi \
+         --with-system --with-filesystem --with-program_options --with-thread --with-chrono
+    cd ..
+
+  (4) Cross-compile ecoind:
+
+    make -f makefile.linux CXX=aarch64-linux-gnu-g++ CC=aarch64-linux-gnu-gcc \
+         LINK=aarch64-linux-gnu-g++ USE_UPNP=- USE_IPV6=-
+    aarch64-linux-gnu-strip ecoind
+
 ===================================================
 
 ==========================
@@ -63,18 +127,17 @@ See doc/MINING.txt for detailed instructions on running /ecoin-miner/ on differe
      - File: /home/$USER/.ecoin/ecoin.conf # chmod 600 ecoin.conf
 
         rpcuser=ecoinrpc
-        rpcpassword=<YourEcoinRPC_PassWord2025> # use lowercase, upper case and numbers
+        rpcpassword=<YourEcoinRPC_PassWord2025>
         rpcallowip=127.0.0.1
-        rpcallowip=0.0.0.0
         testnet=0
         noirc=1
         listen=1
         server=1
         daemon=1
-	addnode=46.163.118.220 # ecoin.03c8.net (turina.space)
+        addnode=46.163.118.220
+
+    ./ecoind -conf=/home/$USER/.ecoin/ecoin.conf
 
-    ./ecoind -conf=/home/$USER/.ecoin/ecoin.conf 
-     
 ==========================
 + Debugging (logs):
 ==========================
@@ -105,13 +168,28 @@ To start the ECOin daemon:
 
   ./ecoind -daemon
 
-For ECOin-QT Wallet
+For ECOin-QT Wallet:
 
   ./ecoin-qt
- 
+
 For debugging:
 
   tail -f /home/$USER/.ecoin/debug.log
 
-======================================
+===================================================
+
+==========================
++ Pre-built Packages:
+==========================
 
+  Pre-built .deb packages are available for:
+
+  + AMD64 (x86_64): ecoin-qt (wallet) + ecoind (daemon)
+  + ARM64 (aarch64): ecoind (daemon)
+
+  Install with:
+
+    sudo dpkg -i ecoin_0.0.4_<arch>.deb
+    sudo apt-get -f install   # resolve dependencies if needed
+
+===================================================

+ 0 - 2
ecoin/build/build.h

@@ -1,2 +0,0 @@
-// No build information available
-#define BUILD_DATE "2014-05-10 14:37:22 -0500"

+ 2 - 2
ecoin/doc/DNSSEEDS.txt

@@ -1,11 +1,11 @@
 
-ECOin - Copyright (c) - 2014/2022 - GPLv3 - epsylon@riseup.net (https://03c8.net)
+ECOin - Copyright (c) - 2014/2026 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
 
 =====================================================
 # DNSSEEDS - ECOlogical P2P Crypto-Currency (ECOin) #
 =====================================================
 
-  + ecoinseed.03c8.net
+  + ecoinseed.03c8.net:5353
 
 =====================================================
 

+ 1 - 1
ecoin/doc/IMPLEMENTATIONS.txt

@@ -1,5 +1,5 @@
 
-ECOin - Copyright (c) - 2014/2024 - GPLv3 - epsylon@riseup.net (https://03c8.net)
+ECOin - Copyright (c) - 2014/2026 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
 
 =========================================================
 # IMPLEMENTATIONS - ECOlogical P2P Crypto-Currency (ECOin) #

+ 1 - 1
ecoin/doc/MINING.txt

@@ -1,5 +1,5 @@
 
-ECOin - Copyright (c) - 2014/2024 - GPLv3 - epsylon@riseup.net (https://03c8.net)
+ECOin - Copyright (c) - 2014/2026 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
 
 ===================================================
 # MINING - ECOlogical P2P Crypto-Currency (ECOin) #

+ 1 - 1
ecoin/doc/REWARDS.txt

@@ -1,5 +1,5 @@
 
-ECOin - Copyright (c) - 2014/2022 - GPLv3 - epsylon@riseup.net (https://03c8.net)
+ECOin - Copyright (c) - 2014/2026 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
 
 ====================================================
 # REWARDS - ECOlogical P2P Crypto-Currency (ECOin) #

+ 1 - 1
ecoin/doc/TRANSLATIONS.txt

@@ -1,5 +1,5 @@
 
-ECOin - Copyright (c) - 2014/2022 - GPLv3 - epsylon@riseup.net (https://03c8.net)
+ECOin - Copyright (c) - 2014/2026 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
 
 =========================================================
 # TRANSLATIONS - ECOlogical P2P Crypto-Currency (ECOin) #

+ 74 - 20
ecoin/doc/build-linux.txt

@@ -1,17 +1,17 @@
 
-ECOin - Copyright (c) - 2014/2025 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
+ECOin - Copyright (c) - 2014/2026 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
 
 ===========================================
 # SOURCES for P2P Crypto-Currency (ECOin) #
 ===========================================
 
-Testing machine is: Debian GNU/Linux 12 (bookworm) (x86_64).
+Tested on: Debian GNU/Linux 12+ (bookworm/trixie) (x86_64 and aarch64).
 
 All of the commands should be executed in a shell.
 
 ------------------------------
 
-(0.) Clone the github tree to get the source code:
+(0.) Clone the source code:
 
   + Official:
 
@@ -27,13 +27,18 @@ All of the commands should be executed in a shell.
 # SERVER -ecoind- for P2P Crypto-Currency (ECOin) #
 ===================================================
 
-(0.) Version libraries:
+(0.) Bundled libraries (no install needed):
 
-    - Libboost -> source code 1.68 provided at: src/boost_1_68_0
+    - Libboost 1.68 -> provided at: src/boost_1_68_0/
+    - LevelDB       -> provided at: src/leveldb/
 
 (1.) Install dependencies:
 
-    sudo apt-get install build-essential libssl-dev libssl3 libdb5.3-dev libdb5.3++-dev libleveldb-dev miniupnpc libminiupnpc-dev
+    sudo apt-get install build-essential libssl-dev libssl3 libdb5.3-dev libdb5.3++-dev libleveldb-dev
+
+        + Optionally install UPnP support:
+
+            sudo apt-get install miniupnpc libminiupnpc-dev
 
         + Optionally install qrencode (and set USE_QRCODE=1):
 
@@ -46,7 +51,7 @@ All of the commands should be executed in a shell.
     strip ecoind
 
     An executable named 'ecoind' will be built.
-    
+
     Now you can launch: ./ecoind to run your ECOin server.
 
 ------------------------------
@@ -55,14 +60,19 @@ All of the commands should be executed in a shell.
 # WALLET for P2P Crypto-Currency (ECOin)  #
 ============================================
 
-(0.) Version libraries:
+(0.) Bundled libraries (no install needed):
+
+    - Libboost 1.68 -> provided at: src/boost_1_68_0/
+    - LevelDB       -> provided at: src/leveldb/
 
-    - Libboost -> source code 1.68 provided at: src/boost_1_68_0
+(1.) Install dependencies (daemon deps + Qt5):
 
-(1.) First, make sure that the required packages for Qt5 development (an the others required for building the daemon) are installed:
+    sudo apt-get install qt5-qmake qtbase5-dev build-essential libssl-dev libssl3 libdb5.3-dev libdb5.3++-dev libleveldb-dev
+
+        + Optionally install UPnP support:
+
+            sudo apt-get install miniupnpc libminiupnpc-dev
 
-    sudo apt-get install qt5-qmake qtbase5-dev build-essential libssl-dev libssl3 libdb5.3-dev libdb5.3++-dev libleveldb-dev miniupnpc libminiupnpc-dev
-        
         + Optionally install qrencode (and set USE_QRCODE=1):
 
        	    sudo apt-get install libqrencode-dev
@@ -71,12 +81,13 @@ All of the commands should be executed in a shell.
 
     qmake USE_UPNP=- USE_IPV6=-
     make
+    strip ecoin-qt
 
     An executable named 'ecoin-qt' will be built.
-    
+
     Now you can launch: ./ecoin-qt to run your ECOin wallet/GUI.
-       
-------------------------------   
+
+------------------------------
 ========================================
 + CPU MINER for ECOin (Unix/GNU-Linux) #
 ========================================
@@ -87,11 +98,55 @@ See doc/MINING.txt for detailed instructions on running /ecoin-miner/ on differe
 
 	cd miner/
 	sh build.sh
-	
+
     An executable named 'cpuminer' will be built.
-     
+
     Now you can launch: ./cpuminer to run your ECOin PoW miner.
 
+------------------------------
+
+==================================================
+# CROSS-COMPILE ARM64 (aarch64) - ecoind server #
+==================================================
+
+(1.) Install cross-compilation toolchain:
+
+    sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu
+
+(2.) Install ARM64 target libraries (via multiarch):
+
+    sudo dpkg --add-architecture arm64
+    sudo apt-get update
+    sudo apt-get install libssl-dev:arm64 libdb5.3-dev:arm64 libdb5.3++-dev:arm64
+
+    Note: If multiarch is not available, you will need to cross-compile
+    OpenSSL and Berkeley DB manually for aarch64.
+
+(3.) Clean and cross-compile LevelDB:
+
+    cd src/leveldb/
+    make clean
+    CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ make libleveldb.a libmemenv.a
+    cd ..
+
+(4.) Bootstrap Boost 1.68 for ARM64:
+
+    cd boost_1_68_0/
+    ./bootstrap.sh --with-libraries=system,filesystem,program_options,thread,chrono
+    echo "using gcc : arm : aarch64-linux-gnu-g++ ;" > user-config.jam
+    ./b2 --user-config=user-config.jam toolset=gcc-arm link=static threading=multi \
+         --with-system --with-filesystem --with-program_options --with-thread --with-chrono
+    cd ..
+
+(5.) Cross-compile ecoind:
+
+    make -f makefile.linux CXX=aarch64-linux-gnu-g++ CC=aarch64-linux-gnu-gcc \
+         LINK=aarch64-linux-gnu-g++ USE_UPNP=- USE_IPV6=-
+    aarch64-linux-gnu-strip ecoind
+
+    Verify with: file ecoind
+    Expected output: ELF 64-bit LSB executable, ARM aarch64, ...
+
 ======================================
 
 For a list of command-line options:
@@ -102,13 +157,12 @@ To start the ECOin daemon:
 
   ./ecoind -daemon
 
-For ECOin-QT Wallet
+For ECOin-QT Wallet:
 
   ./ecoin-qt
- 
+
 For debugging:
 
   tail -f /home/$USER/.ecoin/debug.log
 
 ======================================
-

+ 1 - 1
ecoin/doc/qr-codes.txt

@@ -1,5 +1,5 @@
 
-ECOin - Copyright (c) - 2014/2024 - GPLv3 - epsylon@riseup.net (https://03c8.net)
+ECOin - Copyright (c) - 2014/2026 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
 
 =====================================================
 # QR-Codes - ECOlogical P2P Crypto-Currency (ECOin) #

+ 1 - 1
ecoin/ecoin-qt.pro

@@ -1,4 +1,4 @@
-# ECOin - Copyright (c) - 2014/2025 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
+# ECOin - Copyright (c) - 2014/2026 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
 
 TEMPLATE = app
 TARGET = ecoin-qt

BIN
ecoin/miner/compat/pthreads/x64/libpthreadGC2.a


+ 0 - 0
ecoin/src/boost_1_68_0/doc/AutoDoxywarnings.log


BIN
ecoin/src/boost_1_68_0/libs/fiber/examples/cuda/multiple_streams.o


BIN
ecoin/src/boost_1_68_0/libs/fiber/examples/cuda/single_stream.o


Різницю між файлами не показано, бо вона завелика
+ 0 - 1456
ecoin/src/boost_1_68_0/libs/filesystem/test/b2.log


+ 0 - 718
ecoin/src/boost_1_68_0/libs/multiprecision/performance/performance_test-gcc-linux.log

@@ -1,718 +0,0 @@
-gmp_float      50        +    0.0180885
-gmp_float      50        -    0.0227712
-gmp_float      50        *    0.0567584
-gmp_float      50        /    0.289062
-gmp_float      50        str  0.00354863
-gmp_float      50        +(int)0.0129337
-gmp_float      50        -(int)0.0256267
-gmp_float      50        *(int)0.0197258
-gmp_float      50        /(int)0.087785
-gmp_float      100       +    0.0196977
-gmp_float      100       -    0.024745
-gmp_float      100       *    0.0972
-gmp_float      100       /    0.393792
-gmp_float      100       str  0.00528245
-gmp_float      100       +(int)0.0154802
-gmp_float      100       -(int)0.0242376
-gmp_float      100       *(int)0.0251239
-gmp_float      100       /(int)0.100588
-gmp_float      500       +    0.034133
-gmp_float      500       -    0.0411447
-gmp_float      500       *    0.938779
-gmp_float      500       /    1.5973
-gmp_float      500       str  0.0406575
-gmp_float      500       +(int)0.0220839
-gmp_float      500       -(int)0.0310849
-gmp_float      500       *(int)0.046899
-gmp_float      500       /(int)0.240511
-gmp_int        128       +    0.0236625
-gmp_int        128       -    0.0255431
-gmp_int        128       *    0.0164612
-gmp_int        128       /    0.20205
-gmp_int        128       str  0.000397397
-gmp_int        128       +(int)0.00907029
-gmp_int        128       -(int)0.0120936
-gmp_int        128       *(int)0.0139764
-gmp_int        128       /(int)0.061181
-gmp_int        128       %    0.167724
-gmp_int        128       |    0.0126627
-gmp_int        128       &    0.0129377
-gmp_int        128       ^    0.0136018
-gmp_int        128       <<   0.0109566
-gmp_int        128       >>   0.0107283
-gmp_int        128       %(int)0.0408971
-gmp_int        128       |(int)0.0463637
-gmp_int        128       &(int)0.0502028
-gmp_int        128       ^(int)0.047593
-gmp_int        128       gcd  0.452707
-gmp_int        256       +    0.0257277
-gmp_int        256       -    0.0314085
-gmp_int        256       *    0.0495293
-gmp_int        256       /    0.242695
-gmp_int        256       str  0.000617745
-gmp_int        256       +(int)0.0129046
-gmp_int        256       -(int)0.0163165
-gmp_int        256       *(int)0.0153128
-gmp_int        256       /(int)0.0730963
-gmp_int        256       %    0.203102
-gmp_int        256       |    0.0149383
-gmp_int        256       &    0.0170717
-gmp_int        256       ^    0.0160796
-gmp_int        256       <<   0.0146023
-gmp_int        256       >>   0.010293
-gmp_int        256       %(int)0.0525884
-gmp_int        256       |(int)0.0501017
-gmp_int        256       &(int)0.0508389
-gmp_int        256       ^(int)0.0498771
-gmp_int        256       gcd  2.17179
-gmp_int        512       +    0.0283556
-gmp_int        512       -    0.0398509
-gmp_int        512       *    0.104633
-gmp_int        512       /    0.294206
-gmp_int        512       str  0.00125749
-gmp_int        512       +(int)0.0156938
-gmp_int        512       -(int)0.0204795
-gmp_int        512       *(int)0.0190714
-gmp_int        512       /(int)0.09638
-gmp_int        512       %    0.23687
-gmp_int        512       |    0.0244134
-gmp_int        512       &    0.0209509
-gmp_int        512       ^    0.0266707
-gmp_int        512       <<   0.0178981
-gmp_int        512       >>   0.0122496
-gmp_int        512       %(int)0.0655264
-gmp_int        512       |(int)0.0536497
-gmp_int        512       &(int)0.0532932
-gmp_int        512       ^(int)0.0540655
-gmp_int        512       gcd  4.86569
-gmp_int        1024      +    0.0417292
-gmp_int        1024      -    0.0504965
-gmp_int        1024      *    0.330741
-gmp_int        1024      /    0.376529
-gmp_int        1024      str  0.00295526
-gmp_int        1024      +(int)0.0258726
-gmp_int        1024      -(int)0.0235972
-gmp_int        1024      *(int)0.0326542
-gmp_int        1024      /(int)0.148103
-gmp_int        1024      %    0.301177
-gmp_int        1024      |    0.0262977
-gmp_int        1024      &    0.0235786
-gmp_int        1024      ^    0.0254182
-gmp_int        1024      <<   0.0206225
-gmp_int        1024      >>   0.012848
-gmp_int        1024      %(int)0.0765616
-gmp_int        1024      |(int)0.0495613
-gmp_int        1024      &(int)0.0512979
-gmp_int        1024      ^(int)0.0491785
-gmp_int        1024      gcd  10.2899
-cpp_int        128       +    0.0226262
-cpp_int        128       -    0.0256171
-cpp_int        128       *    0.0363846
-cpp_int        128       /    0.227187
-cpp_int        128       str  0.000703371
-cpp_int        128       +(int)0.0156956
-cpp_int        128       -(int)0.0122229
-cpp_int        128       *(int)0.0257193
-cpp_int        128       /(int)0.129609
-cpp_int        128       %    0.226534
-cpp_int        128       |    0.0242976
-cpp_int        128       &    0.0244482
-cpp_int        128       ^    0.0243197
-cpp_int        128       <<   0.0182175
-cpp_int        128       >>   0.0215535
-cpp_int        128       %(int)0.181554
-cpp_int        128       |(int)0.0454215
-cpp_int        128       &(int)0.0426893
-cpp_int        128       ^(int)0.0404509
-cpp_int        128       gcd  4.16823
-cpp_int        256       +    0.0275581
-cpp_int        256       -    0.0305114
-cpp_int        256       *    0.100083
-cpp_int        256       /    0.467116
-cpp_int        256       str  0.00181769
-cpp_int        256       +(int)0.017033
-cpp_int        256       -(int)0.0143035
-cpp_int        256       *(int)0.0294836
-cpp_int        256       /(int)0.303922
-cpp_int        256       %    0.435207
-cpp_int        256       |    0.0281237
-cpp_int        256       &    0.028049
-cpp_int        256       ^    0.0280192
-cpp_int        256       <<   0.0210768
-cpp_int        256       >>   0.0175781
-cpp_int        256       %(int)0.279274
-cpp_int        256       |(int)0.0323883
-cpp_int        256       &(int)0.0338674
-cpp_int        256       ^(int)0.0299941
-cpp_int        256       gcd  8.51244
-cpp_int        512       +    0.033691
-cpp_int        512       -    0.0422701
-cpp_int        512       *    0.343683
-cpp_int        512       /    0.755608
-cpp_int        512       str  0.00434022
-cpp_int        512       +(int)0.0196755
-cpp_int        512       -(int)0.0171212
-cpp_int        512       *(int)0.039305
-cpp_int        512       /(int)0.535727
-cpp_int        512       %    0.719958
-cpp_int        512       |    0.0339623
-cpp_int        512       &    0.0342017
-cpp_int        512       ^    0.033929
-cpp_int        512       <<   0.0269161
-cpp_int        512       >>   0.0216914
-cpp_int        512       %(int)0.53345
-cpp_int        512       |(int)0.0324562
-cpp_int        512       &(int)0.0424884
-cpp_int        512       ^(int)0.0323887
-cpp_int        512       gcd  19.489
-cpp_int        1024      +    0.0456764
-cpp_int        1024      -    0.0574919
-cpp_int        1024      *    1.28548
-cpp_int        1024      /    1.30086
-cpp_int        1024      str  0.0122363
-cpp_int        1024      +(int)0.0241476
-cpp_int        1024      -(int)0.0212992
-cpp_int        1024      *(int)0.0540818
-cpp_int        1024      /(int)1.00179
-cpp_int        1024      %    1.27181
-cpp_int        1024      |    0.0457886
-cpp_int        1024      &    0.0456006
-cpp_int        1024      ^    0.0456494
-cpp_int        1024      <<   0.0394128
-cpp_int        1024      >>   0.0294462
-cpp_int        1024      %(int)0.962651
-cpp_int        1024      |(int)0.0372077
-cpp_int        1024      &(int)0.0577198
-cpp_int        1024      ^(int)0.0372218
-cpp_int        1024      gcd  47.7651
-cpp_int(fixed) 128       +    0.0183948
-cpp_int(fixed) 128       -    0.0182905
-cpp_int(fixed) 128       *    0.0201727
-cpp_int(fixed) 128       /    0.206852
-cpp_int(fixed) 128       str  0.000630107
-cpp_int(fixed) 128       +(int)0.00967714
-cpp_int(fixed) 128       -(int)0.00810627
-cpp_int(fixed) 128       *(int)0.0183201
-cpp_int(fixed) 128       /(int)0.111309
-cpp_int(fixed) 128       %    0.204164
-cpp_int(fixed) 128       |    0.0136789
-cpp_int(fixed) 128       &    0.0143848
-cpp_int(fixed) 128       ^    0.0137773
-cpp_int(fixed) 128       <<   0.0131154
-cpp_int(fixed) 128       >>   0.00912176
-cpp_int(fixed) 128       %(int)0.115583
-cpp_int(fixed) 128       |(int)0.0164462
-cpp_int(fixed) 128       &(int)0.0169816
-cpp_int(fixed) 128       ^(int)0.014607
-cpp_int(fixed) 128       gcd  2.87326
-cpp_int(fixed) 256       +    0.0217614
-cpp_int(fixed) 256       -    0.0208437
-cpp_int(fixed) 256       *    0.0385279
-cpp_int(fixed) 256       /    0.321272
-cpp_int(fixed) 256       str  0.00149991
-cpp_int(fixed) 256       +(int)0.0102395
-cpp_int(fixed) 256       -(int)0.00923316
-cpp_int(fixed) 256       *(int)0.021549
-cpp_int(fixed) 256       /(int)0.219146
-cpp_int(fixed) 256       %    0.321039
-cpp_int(fixed) 256       |    0.0154596
-cpp_int(fixed) 256       &    0.0156443
-cpp_int(fixed) 256       ^    0.015493
-cpp_int(fixed) 256       <<   0.0169546
-cpp_int(fixed) 256       >>   0.0114138
-cpp_int(fixed) 256       %(int)0.238857
-cpp_int(fixed) 256       |(int)0.015725
-cpp_int(fixed) 256       &(int)0.021641
-cpp_int(fixed) 256       ^(int)0.0163443
-cpp_int(fixed) 256       gcd  6.68597
-cpp_int(fixed) 512       +    0.0284799
-cpp_int(fixed) 512       -    0.028304
-cpp_int(fixed) 512       *    0.119904
-cpp_int(fixed) 512       /    0.616699
-cpp_int(fixed) 512       str  0.00415653
-cpp_int(fixed) 512       +(int)0.0122821
-cpp_int(fixed) 512       -(int)0.0110103
-cpp_int(fixed) 512       *(int)0.0283635
-cpp_int(fixed) 512       /(int)0.451373
-cpp_int(fixed) 512       %    0.620217
-cpp_int(fixed) 512       |    0.0189862
-cpp_int(fixed) 512       &    0.0192657
-cpp_int(fixed) 512       ^    0.018973
-cpp_int(fixed) 512       <<   0.0188263
-cpp_int(fixed) 512       >>   0.0152103
-cpp_int(fixed) 512       %(int)0.491398
-cpp_int(fixed) 512       |(int)0.0182191
-cpp_int(fixed) 512       &(int)0.0277722
-cpp_int(fixed) 512       ^(int)0.0182565
-cpp_int(fixed) 512       gcd  16.1788
-cpp_int(fixed) 1024      +    0.0396571
-cpp_int(fixed) 1024      -    0.0413187
-cpp_int(fixed) 1024      *    0.371065
-cpp_int(fixed) 1024      /    1.09072
-cpp_int(fixed) 1024      str  0.011546
-cpp_int(fixed) 1024      +(int)0.0254102
-cpp_int(fixed) 1024      -(int)0.020939
-cpp_int(fixed) 1024      *(int)0.0494233
-cpp_int(fixed) 1024      /(int)0.870306
-cpp_int(fixed) 1024      %    1.09888
-cpp_int(fixed) 1024      |    0.0393824
-cpp_int(fixed) 1024      &    0.0397966
-cpp_int(fixed) 1024      ^    0.0394082
-cpp_int(fixed) 1024      <<   0.0392477
-cpp_int(fixed) 1024      >>   0.0214742
-cpp_int(fixed) 1024      %(int)0.941513
-cpp_int(fixed) 1024      |(int)0.0304613
-cpp_int(fixed) 1024      &(int)0.0497983
-cpp_int(fixed) 1024      ^(int)0.0333848
-cpp_int(fixed) 1024      gcd  41.9178
-cpp_rational   128       +    8.33358
-cpp_rational   128       -    8.3543
-cpp_rational   128       *    15.3196
-cpp_rational   128       /    31.794
-cpp_rational   128       str  0.00980984
-cpp_rational   128       +(int)1.14042
-cpp_rational   128       -(int)1.13947
-cpp_rational   128       *(int)1.3425
-cpp_rational   128       /(int)1.35276
-cpp_rational   256       +    24.5753
-cpp_rational   256       -    24.3831
-cpp_rational   256       *    45.9283
-cpp_rational   256       /    80.7871
-cpp_rational   256       str  0.0288878
-cpp_rational   256       +(int)1.54697
-cpp_rational   256       -(int)1.55711
-cpp_rational   256       *(int)2.05921
-cpp_rational   256       /(int)2.12933
-cpp_rational   512       +    58.1983
-cpp_rational   512       -    58.3044
-cpp_rational   512       *    111.528
-cpp_rational   512       /    184.73
-cpp_rational   512       str  0.067039
-cpp_rational   512       +(int)1.83113
-cpp_rational   512       -(int)1.82889
-cpp_rational   512       *(int)2.75206
-cpp_rational   512       /(int)2.75885
-cpp_rational   1024      +    139.884
-cpp_rational   1024      -    139.665
-cpp_rational   1024      *    270.253
-cpp_rational   1024      /    436.471
-cpp_rational   1024      str  0.165057
-cpp_rational   1024      +(int)2.65768
-cpp_rational   1024      -(int)2.68279
-cpp_rational   1024      *(int)4.26866
-cpp_rational   1024      /(int)4.27228
-mpq_rational   128       +    0.518878
-mpq_rational   128       -    0.520249
-mpq_rational   128       *    0.940549
-mpq_rational   128       /    2.63335
-mpq_rational   128       str  0.000732008
-mpq_rational   128       +(int)0.145745
-mpq_rational   128       -(int)0.142505
-mpq_rational   128       *(int)0.173305
-mpq_rational   128       /(int)0.178914
-mpq_rational   256       +    2.2747
-mpq_rational   256       -    2.27886
-mpq_rational   256       *    4.27402
-mpq_rational   256       /    8.07149
-mpq_rational   256       str  0.00123256
-mpq_rational   256       +(int)0.164417
-mpq_rational   256       -(int)0.161741
-mpq_rational   256       *(int)0.193095
-mpq_rational   256       /(int)0.202255
-mpq_rational   512       +    5.09463
-mpq_rational   512       -    5.09757
-mpq_rational   512       *    9.6481
-mpq_rational   512       /    16.9064
-mpq_rational   512       str  0.00244388
-mpq_rational   512       +(int)0.202901
-mpq_rational   512       -(int)0.200644
-mpq_rational   512       *(int)0.248942
-mpq_rational   512       /(int)0.251928
-mpq_rational   1024      +    11.2492
-mpq_rational   1024      -    11.2528
-mpq_rational   1024      *    21.0227
-mpq_rational   1024      /    35.7647
-mpq_rational   1024      str  0.00559869
-mpq_rational   1024      +(int)0.287349
-mpq_rational   1024      -(int)0.28136
-mpq_rational   1024      *(int)0.337805
-mpq_rational   1024      /(int)0.351164
-tommath_int    128       +    0.0169999
-tommath_int    128       -    0.025088
-tommath_int    128       *    0.0608098
-tommath_int    128       /    1.14807
-tommath_int    128       str  0.00864677
-tommath_int    128       +(int)0.170239
-tommath_int    128       -(int)0.169805
-tommath_int    128       *(int)0.18998
-tommath_int    128       /(int)0.936106
-tommath_int    128       %    1.10993
-tommath_int    128       |    0.0742258
-tommath_int    128       &    0.0747022
-tommath_int    128       ^    0.0734074
-tommath_int    128       <<   0.0316344
-tommath_int    128       >>   0.139155
-tommath_int    128       %(int)0.871093
-tommath_int    128       |(int)0.249135
-tommath_int    128       &(int)0.224394
-tommath_int    128       ^(int)0.248407
-tommath_int    128       gcd  7.6073
-tommath_int    256       +    0.0191462
-tommath_int    256       -    0.0267191
-tommath_int    256       *    0.0843842
-tommath_int    256       /    1.34052
-tommath_int    256       str  0.0212684
-tommath_int    256       +(int)0.173633
-tommath_int    256       -(int)0.173084
-tommath_int    256       *(int)0.20074
-tommath_int    256       /(int)1.17192
-tommath_int    256       %    1.33781
-tommath_int    256       |    0.0740269
-tommath_int    256       &    0.0747001
-tommath_int    256       ^    0.0741847
-tommath_int    256       <<   0.0379471
-tommath_int    256       >>   0.14164
-tommath_int    256       %(int)1.52193
-tommath_int    256       |(int)0.251418
-tommath_int    256       &(int)0.230435
-tommath_int    256       ^(int)0.249516
-tommath_int    256       gcd  15.8851
-tommath_int    512       +    0.0241933
-tommath_int    512       -    0.032154
-tommath_int    512       *    0.195855
-tommath_int    512       /    2.061
-tommath_int    512       str  0.0827649
-tommath_int    512       +(int)0.25223
-tommath_int    512       -(int)0.25482
-tommath_int    512       *(int)0.305608
-tommath_int    512       /(int)1.76155
-tommath_int    512       %    1.97453
-tommath_int    512       |    0.0795209
-tommath_int    512       &    0.0815029
-tommath_int    512       ^    0.0793004
-tommath_int    512       <<   0.0449753
-tommath_int    512       >>   0.149597
-tommath_int    512       %(int)1.74258
-tommath_int    512       |(int)0.253519
-tommath_int    512       &(int)0.235246
-tommath_int    512       ^(int)0.261762
-tommath_int    512       gcd  33.8904
-tommath_int    1024      +    0.0356467
-tommath_int    1024      -    0.0426379
-tommath_int    1024      *    0.563154
-tommath_int    1024      /    3.3106
-tommath_int    1024      str  0.200351
-tommath_int    1024      +(int)0.183982
-tommath_int    1024      -(int)0.182348
-tommath_int    1024      *(int)0.265242
-tommath_int    1024      /(int)2.99248
-tommath_int    1024      %    3.36442
-tommath_int    1024      |    0.0935681
-tommath_int    1024      &    0.0990244
-tommath_int    1024      ^    0.0948247
-tommath_int    1024      <<   0.0671463
-tommath_int    1024      >>   0.167341
-tommath_int    1024      %(int)2.8911
-tommath_int    1024      |(int)0.26358
-tommath_int    1024      &(int)0.244976
-tommath_int    1024      ^(int)0.261357
-tommath_int    1024      gcd  67.1657
-cpp_dec_float  50        +    0.0139248
-cpp_dec_float  50        -    0.0142418
-cpp_dec_float  50        *    0.118247
-cpp_dec_float  50        /    1.82747
-cpp_dec_float  50        str  0.00932849
-cpp_dec_float  50        +(int)0.0253923
-cpp_dec_float  50        -(int)0.0248418
-cpp_dec_float  50        *(int)0.0371704
-cpp_dec_float  50        /(int)0.199883
-cpp_dec_float  100       +    0.0171021
-cpp_dec_float  100       -    0.0176287
-cpp_dec_float  100       *    0.237033
-cpp_dec_float  100       /    3.63766
-cpp_dec_float  100       str  0.0201057
-cpp_dec_float  100       +(int)0.0330663
-cpp_dec_float  100       -(int)0.0332922
-cpp_dec_float  100       *(int)0.0606472
-cpp_dec_float  100       /(int)0.343778
-cpp_dec_float  500       +    0.043194
-cpp_dec_float  500       -    0.0443422
-cpp_dec_float  500       *    2.12299
-cpp_dec_float  500       /    25.7245
-cpp_dec_float  500       str  0.0655127
-cpp_dec_float  500       +(int)0.0706977
-cpp_dec_float  500       -(int)0.0727089
-cpp_dec_float  500       *(int)0.239796
-cpp_dec_float  500       /(int)1.39609
-mpfr_float     50        +    0.019179
-mpfr_float     50        -    0.0225632
-mpfr_float     50        *    0.0588765
-mpfr_float     50        /    0.317276
-mpfr_float     50        str  0.00725414
-mpfr_float     50        +(int)0.0286079
-mpfr_float     50        -(int)0.0465151
-mpfr_float     50        *(int)0.0362579
-mpfr_float     50        /(int)0.0888645
-mpfr_float     100       +    0.0210236
-mpfr_float     100       -    0.0250703
-mpfr_float     100       *    0.0946262
-mpfr_float     100       /    0.456375
-mpfr_float     100       str  0.00900848
-mpfr_float     100       +(int)0.0320443
-mpfr_float     100       -(int)0.0487733
-mpfr_float     100       *(int)0.0437034
-mpfr_float     100       /(int)0.154203
-mpfr_float     500       +    0.033691
-mpfr_float     500       -    0.0371954
-mpfr_float     500       *    0.851721
-mpfr_float     500       /    2.7946
-mpfr_float     500       str  0.0342011
-mpfr_float     500       +(int)0.0414774
-mpfr_float     500       -(int)0.0616173
-mpfr_float     500       *(int)0.0826485
-mpfr_float     500       /(int)0.254227
-[section:float_performance Float Type Perfomance]
-[table Operator *
-[[Backend][50 Bits][100 Bits][500 Bits]]
-[[cpp_dec_float][2.08334 (0.118247s)][2.50494 (0.237033s)][2.49259 (2.12299s)]]
-[[gmp_float][[*1] (0.0567584s)][1.0272 (0.0972s)][1.10221 (0.938779s)]]
-[[mpfr_float][1.03732 (0.0588765s)][[*1] (0.0946262s)][[*1] (0.851721s)]]
-]
-[table Operator *(int)
-[[Backend][50 Bits][100 Bits][500 Bits]]
-[[cpp_dec_float][1.88436 (0.0371704s)][2.41392 (0.0606472s)][5.11303 (0.239796s)]]
-[[gmp_float][[*1] (0.0197258s)][[*1] (0.0251239s)][[*1] (0.046899s)]]
-[[mpfr_float][1.8381 (0.0362579s)][1.73951 (0.0437034s)][1.76227 (0.0826485s)]]
-]
-[table Operator +
-[[Backend][50 Bits][100 Bits][500 Bits]]
-[[cpp_dec_float][[*1] (0.0139248s)][[*1] (0.0171021s)][1.28206 (0.043194s)]]
-[[gmp_float][1.29901 (0.0180885s)][1.15177 (0.0196977s)][1.01312 (0.034133s)]]
-[[mpfr_float][1.37732 (0.019179s)][1.2293 (0.0210236s)][[*1] (0.033691s)]]
-]
-[table Operator +(int)
-[[Backend][50 Bits][100 Bits][500 Bits]]
-[[cpp_dec_float][1.96327 (0.0253923s)][2.13604 (0.0330663s)][3.20133 (0.0706977s)]]
-[[gmp_float][[*1] (0.0129337s)][[*1] (0.0154802s)][[*1] (0.0220839s)]]
-[[mpfr_float][2.21189 (0.0286079s)][2.07002 (0.0320443s)][1.87818 (0.0414774s)]]
-]
-[table Operator -
-[[Backend][50 Bits][100 Bits][500 Bits]]
-[[cpp_dec_float][[*1] (0.0142418s)][[*1] (0.0176287s)][1.19214 (0.0443422s)]]
-[[gmp_float][1.5989 (0.0227712s)][1.40368 (0.024745s)][1.10618 (0.0411447s)]]
-[[mpfr_float][1.5843 (0.0225632s)][1.42213 (0.0250703s)][[*1] (0.0371954s)]]
-]
-[table Operator -(int)
-[[Backend][50 Bits][100 Bits][500 Bits]]
-[[cpp_dec_float][[*1] (0.0248418s)][1.37357 (0.0332922s)][2.33904 (0.0727089s)]]
-[[gmp_float][1.03159 (0.0256267s)][[*1] (0.0242376s)][[*1] (0.0310849s)]]
-[[mpfr_float][1.87245 (0.0465151s)][2.0123 (0.0487733s)][1.98223 (0.0616173s)]]
-]
-[table Operator /
-[[Backend][50 Bits][100 Bits][500 Bits]]
-[[cpp_dec_float][6.32206 (1.82747s)][9.23752 (3.63766s)][16.1049 (25.7245s)]]
-[[gmp_float][[*1] (0.289062s)][[*1] (0.393792s)][[*1] (1.5973s)]]
-[[mpfr_float][1.09761 (0.317276s)][1.15892 (0.456375s)][1.74957 (2.7946s)]]
-]
-[table Operator /(int)
-[[Backend][50 Bits][100 Bits][500 Bits]]
-[[cpp_dec_float][2.27696 (0.199883s)][3.41769 (0.343778s)][5.8047 (1.39609s)]]
-[[gmp_float][[*1] (0.087785s)][[*1] (0.100588s)][[*1] (0.240511s)]]
-[[mpfr_float][1.0123 (0.0888645s)][1.53302 (0.154203s)][1.05703 (0.254227s)]]
-]
-[table Operator str
-[[Backend][50 Bits][100 Bits][500 Bits]]
-[[cpp_dec_float][2.62876 (0.00932849s)][3.80613 (0.0201057s)][1.91552 (0.0655127s)]]
-[[gmp_float][[*1] (0.00354863s)][[*1] (0.00528245s)][1.18878 (0.0406575s)]]
-[[mpfr_float][2.04421 (0.00725414s)][1.70536 (0.00900848s)][[*1] (0.0342011s)]]
-]
-[endsect]
-[section:integer_performance Integer Type Perfomance]
-[table Operator %
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.35064 (0.226534s)][2.1428 (0.435207s)][3.03946 (0.719958s)][4.22281 (1.27181s)]]
-[[cpp_int(fixed)][1.21726 (0.204164s)][1.58068 (0.321039s)][2.61838 (0.620217s)][3.6486 (1.09888s)]]
-[[gmp_int][[*1] (0.167724s)][[*1] (0.203102s)][[*1] (0.23687s)][[*1] (0.301177s)]]
-[[tommath_int][6.61759 (1.10993s)][6.58689 (1.33781s)][8.33593 (1.97453s)][11.1709 (3.36442s)]]
-]
-[table Operator %(int)
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][4.43928 (0.181554s)][5.31056 (0.279274s)][8.141 (0.53345s)][12.5735 (0.962651s)]]
-[[cpp_int(fixed)][2.82619 (0.115583s)][4.54202 (0.238857s)][7.49924 (0.491398s)][12.2974 (0.941513s)]]
-[[gmp_int][[*1] (0.0408971s)][[*1] (0.0525884s)][[*1] (0.0655264s)][[*1] (0.0765616s)]]
-[[tommath_int][21.2996 (0.871093s)][28.9405 (1.52193s)][26.5936 (1.74258s)][37.7618 (2.8911s)]]
-]
-[table Operator &
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.88968 (0.0244482s)][1.79292 (0.028049s)][1.77526 (0.0342017s)][1.93398 (0.0456006s)]]
-[[cpp_int(fixed)][1.11185 (0.0143848s)][[*1] (0.0156443s)][[*1] (0.0192657s)][1.68783 (0.0397966s)]]
-[[gmp_int][[*1] (0.0129377s)][1.09124 (0.0170717s)][1.08747 (0.0209509s)][[*1] (0.0235786s)]]
-[[tommath_int][5.77397 (0.0747022s)][4.7749 (0.0747001s)][4.23046 (0.0815029s)][4.19976 (0.0990244s)]]
-]
-[table Operator &(int)
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][2.51385 (0.0426893s)][1.56497 (0.0338674s)][1.52989 (0.0424884s)][1.15907 (0.0577198s)]]
-[[cpp_int(fixed)][[*1] (0.0169816s)][[*1] (0.021641s)][[*1] (0.0277722s)][[*1] (0.0497983s)]]
-[[gmp_int][2.9563 (0.0502028s)][2.3492 (0.0508389s)][1.91894 (0.0532932s)][1.03011 (0.0512979s)]]
-[[tommath_int][13.2139 (0.224394s)][10.6481 (0.230435s)][8.47057 (0.235246s)][4.91936 (0.244976s)]]
-]
-[table Operator *
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][2.21032 (0.0363846s)][2.59769 (0.100083s)][3.28466 (0.343683s)][3.88666 (1.28548s)]]
-[[cpp_int(fixed)][1.22547 (0.0201727s)][[*1] (0.0385279s)][1.14595 (0.119904s)][1.12192 (0.371065s)]]
-[[gmp_int][[*1] (0.0164612s)][1.28554 (0.0495293s)][[*1] (0.104633s)][[*1] (0.330741s)]]
-[[tommath_int][3.69412 (0.0608098s)][2.19021 (0.0843842s)][1.87184 (0.195855s)][1.70271 (0.563154s)]]
-]
-[table Operator *(int)
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.8402 (0.0257193s)][1.92542 (0.0294836s)][2.06094 (0.039305s)][1.6562 (0.0540818s)]]
-[[cpp_int(fixed)][1.3108 (0.0183201s)][1.40725 (0.021549s)][1.48723 (0.0283635s)][1.51354 (0.0494233s)]]
-[[gmp_int][[*1] (0.0139764s)][[*1] (0.0153128s)][[*1] (0.0190714s)][[*1] (0.0326542s)]]
-[[tommath_int][13.593 (0.18998s)][13.1093 (0.20074s)][16.0244 (0.305608s)][8.12274 (0.265242s)]]
-]
-[table Operator +
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.33096 (0.0226262s)][1.43935 (0.0275581s)][1.39258 (0.033691s)][1.28136 (0.0456764s)]]
-[[cpp_int(fixed)][1.08205 (0.0183948s)][1.13659 (0.0217614s)][1.17718 (0.0284799s)][1.1125 (0.0396571s)]]
-[[gmp_int][1.39192 (0.0236625s)][1.34375 (0.0257277s)][1.17204 (0.0283556s)][1.17063 (0.0417292s)]]
-[[tommath_int][[*1] (0.0169999s)][[*1] (0.0191462s)][[*1] (0.0241933s)][[*1] (0.0356467s)]]
-]
-[table Operator +(int)
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.73044 (0.0156956s)][1.66346 (0.017033s)][1.60196 (0.0196755s)][[*1] (0.0241476s)]]
-[[cpp_int(fixed)][1.06691 (0.00967714s)][[*1] (0.0102395s)][[*1] (0.0122821s)][1.05229 (0.0254102s)]]
-[[gmp_int][[*1] (0.00907029s)][1.26028 (0.0129046s)][1.27777 (0.0156938s)][1.07144 (0.0258726s)]]
-[[tommath_int][18.7688 (0.170239s)][16.9572 (0.173633s)][20.5363 (0.25223s)][7.61905 (0.183982s)]]
-]
-[table Operator -
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.40057 (0.0256171s)][1.46382 (0.0305114s)][1.49343 (0.0422701s)][1.39142 (0.0574919s)]]
-[[cpp_int(fixed)][[*1] (0.0182905s)][[*1] (0.0208437s)][[*1] (0.028304s)][[*1] (0.0413187s)]]
-[[gmp_int][1.39653 (0.0255431s)][1.50686 (0.0314085s)][1.40796 (0.0398509s)][1.22212 (0.0504965s)]]
-[[tommath_int][1.37164 (0.025088s)][1.28188 (0.0267191s)][1.13602 (0.032154s)][1.03193 (0.0426379s)]]
-]
-[table Operator -(int)
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.50784 (0.0122229s)][1.54914 (0.0143035s)][1.55501 (0.0171212s)][1.0172 (0.0212992s)]]
-[[cpp_int(fixed)][[*1] (0.00810627s)][[*1] (0.00923316s)][[*1] (0.0110103s)][[*1] (0.020939s)]]
-[[gmp_int][1.49189 (0.0120936s)][1.76716 (0.0163165s)][1.86002 (0.0204795s)][1.12695 (0.0235972s)]]
-[[tommath_int][20.9474 (0.169805s)][18.7459 (0.173084s)][23.1437 (0.25482s)][8.70855 (0.182348s)]]
-]
-[table Operator /
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.12441 (0.227187s)][1.92471 (0.467116s)][2.5683 (0.755608s)][3.45487 (1.30086s)]]
-[[cpp_int(fixed)][1.02377 (0.206852s)][1.32377 (0.321272s)][2.09615 (0.616699s)][2.89679 (1.09072s)]]
-[[gmp_int][[*1] (0.20205s)][[*1] (0.242695s)][[*1] (0.294206s)][[*1] (0.376529s)]]
-[[tommath_int][5.68214 (1.14807s)][5.52349 (1.34052s)][7.00529 (2.061s)][8.79242 (3.3106s)]]
-]
-[table Operator /(int)
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][2.11845 (0.129609s)][4.15783 (0.303922s)][5.55849 (0.535727s)][6.76415 (1.00179s)]]
-[[cpp_int(fixed)][1.81934 (0.111309s)][2.99804 (0.219146s)][4.68327 (0.451373s)][5.87635 (0.870306s)]]
-[[gmp_int][[*1] (0.061181s)][[*1] (0.0730963s)][[*1] (0.09638s)][[*1] (0.148103s)]]
-[[tommath_int][15.3006 (0.936106s)][16.0325 (1.17192s)][18.2771 (1.76155s)][20.2054 (2.99248s)]]
-]
-[table Operator <<
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.66271 (0.0182175s)][1.44338 (0.0210768s)][1.50386 (0.0269161s)][1.91115 (0.0394128s)]]
-[[cpp_int(fixed)][1.19703 (0.0131154s)][1.16109 (0.0169546s)][1.05186 (0.0188263s)][1.90315 (0.0392477s)]]
-[[gmp_int][[*1] (0.0109566s)][[*1] (0.0146023s)][[*1] (0.0178981s)][[*1] (0.0206225s)]]
-[[tommath_int][2.88726 (0.0316344s)][2.5987 (0.0379471s)][2.51285 (0.0449753s)][3.25597 (0.0671463s)]]
-]
-[table Operator >>
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][2.36287 (0.0215535s)][1.70778 (0.0175781s)][1.77078 (0.0216914s)][2.29189 (0.0294462s)]]
-[[cpp_int(fixed)][[*1] (0.00912176s)][1.10889 (0.0114138s)][1.2417 (0.0152103s)][1.6714 (0.0214742s)]]
-[[gmp_int][1.17612 (0.0107283s)][[*1] (0.010293s)][[*1] (0.0122496s)][[*1] (0.012848s)]]
-[[tommath_int][15.2553 (0.139155s)][13.7608 (0.14164s)][12.2124 (0.149597s)][13.0247 (0.167341s)]]
-]
-[table Operator ^
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.78798 (0.0243197s)][1.8085 (0.0280192s)][1.78828 (0.033929s)][1.79594 (0.0456494s)]]
-[[cpp_int(fixed)][1.0129 (0.0137773s)][[*1] (0.015493s)][[*1] (0.018973s)][1.5504 (0.0394082s)]]
-[[gmp_int][[*1] (0.0136018s)][1.03786 (0.0160796s)][1.40572 (0.0266707s)][[*1] (0.0254182s)]]
-[[tommath_int][5.39689 (0.0734074s)][4.78827 (0.0741847s)][4.17964 (0.0793004s)][3.73059 (0.0948247s)]]
-]
-[table Operator ^(int)
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][2.76928 (0.0404509s)][1.83515 (0.0299941s)][1.77409 (0.0323887s)][1.11493 (0.0372218s)]]
-[[cpp_int(fixed)][[*1] (0.014607s)][[*1] (0.0163443s)][[*1] (0.0182565s)][[*1] (0.0333848s)]]
-[[gmp_int][3.25823 (0.047593s)][3.05166 (0.0498771s)][2.96144 (0.0540655s)][1.47308 (0.0491785s)]]
-[[tommath_int][17.006 (0.248407s)][15.2663 (0.249516s)][14.338 (0.261762s)][7.82864 (0.261357s)]]
-]
-[table Operator gcd
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][9.20736 (4.16823s)][3.91955 (8.51244s)][4.00539 (19.489s)][4.64192 (47.7651s)]]
-[[cpp_int(fixed)][6.34685 (2.87326s)][3.07855 (6.68597s)][3.32507 (16.1788s)][4.07366 (41.9178s)]]
-[[gmp_int][[*1] (0.452707s)][[*1] (2.17179s)][[*1] (4.86569s)][[*1] (10.2899s)]]
-[[tommath_int][16.804 (7.6073s)][7.31428 (15.8851s)][6.96518 (33.8904s)][6.52732 (67.1657s)]]
-]
-[table Operator str
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.76995 (0.000703371s)][2.94246 (0.00181769s)][3.45149 (0.00434022s)][4.14052 (0.0122363s)]]
-[[cpp_int(fixed)][1.58559 (0.000630107s)][2.42804 (0.00149991s)][3.30542 (0.00415653s)][3.90693 (0.011546s)]]
-[[gmp_int][[*1] (0.000397397s)][[*1] (0.000617745s)][[*1] (0.00125749s)][[*1] (0.00295526s)]]
-[[tommath_int][21.7585 (0.00864677s)][34.4291 (0.0212684s)][65.8175 (0.0827649s)][67.7946 (0.200351s)]]
-]
-[table Operator |
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.91883 (0.0242976s)][1.88265 (0.0281237s)][1.78879 (0.0339623s)][1.74117 (0.0457886s)]]
-[[cpp_int(fixed)][1.08025 (0.0136789s)][1.03489 (0.0154596s)][[*1] (0.0189862s)][1.49756 (0.0393824s)]]
-[[gmp_int][[*1] (0.0126627s)][[*1] (0.0149383s)][1.28585 (0.0244134s)][[*1] (0.0262977s)]]
-[[tommath_int][5.86177 (0.0742258s)][4.9555 (0.0740269s)][4.18835 (0.0795209s)][3.55804 (0.0935681s)]]
-]
-[table Operator |(int)
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][2.76183 (0.0454215s)][2.05967 (0.0323883s)][1.78143 (0.0324562s)][1.22147 (0.0372077s)]]
-[[cpp_int(fixed)][[*1] (0.0164462s)][[*1] (0.015725s)][[*1] (0.0182191s)][[*1] (0.0304613s)]]
-[[gmp_int][2.81912 (0.0463637s)][3.18611 (0.0501017s)][2.94469 (0.0536497s)][1.62702 (0.0495613s)]]
-[[tommath_int][15.1485 (0.249135s)][15.9884 (0.251418s)][13.915 (0.253519s)][8.65293 (0.26358s)]]
-]
-[endsect]
-[section:rational_performance Rational Type Perfomance]
-[table Operator *
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_rational][16.2879 (15.3196s)][10.7459 (45.9283s)][11.5596 (111.528s)][12.8553 (270.253s)]]
-[[mpq_rational][[*1] (0.940549s)][[*1] (4.27402s)][[*1] (9.6481s)][[*1] (21.0227s)]]
-]
-[table Operator *(int)
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_rational][7.7465 (1.3425s)][10.6643 (2.05921s)][11.055 (2.75206s)][12.6365 (4.26866s)]]
-[[mpq_rational][[*1] (0.173305s)][[*1] (0.193095s)][[*1] (0.248942s)][[*1] (0.337805s)]]
-]
-[table Operator +
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_rational][16.0608 (8.33358s)][10.8037 (24.5753s)][11.4235 (58.1983s)][12.435 (139.884s)]]
-[[mpq_rational][[*1] (0.518878s)][[*1] (2.2747s)][[*1] (5.09463s)][[*1] (11.2492s)]]
-]
-[table Operator +(int)
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_rational][7.82472 (1.14042s)][9.40883 (1.54697s)][9.02478 (1.83113s)][9.24894 (2.65768s)]]
-[[mpq_rational][[*1] (0.145745s)][[*1] (0.164417s)][[*1] (0.202901s)][[*1] (0.287349s)]]
-]
-[table Operator -
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_rational][16.0583 (8.3543s)][10.6997 (24.3831s)][11.4377 (58.3044s)][12.4116 (139.665s)]]
-[[mpq_rational][[*1] (0.520249s)][[*1] (2.27886s)][[*1] (5.09757s)][[*1] (11.2528s)]]
-]
-[table Operator -(int)
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_rational][7.99602 (1.13947s)][9.62717 (1.55711s)][9.1151 (1.82889s)][9.53508 (2.68279s)]]
-[[mpq_rational][[*1] (0.142505s)][[*1] (0.161741s)][[*1] (0.200644s)][[*1] (0.28136s)]]
-]
-[table Operator /
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_rational][12.0736 (31.794s)][10.0089 (80.7871s)][10.9267 (184.73s)][12.204 (436.471s)]]
-[[mpq_rational][[*1] (2.63335s)][[*1] (8.07149s)][[*1] (16.9064s)][[*1] (35.7647s)]]
-]
-[table Operator /(int)
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_rational][7.56092 (1.35276s)][10.5279 (2.12933s)][10.9509 (2.75885s)][12.166 (4.27228s)]]
-[[mpq_rational][[*1] (0.178914s)][[*1] (0.202255s)][[*1] (0.251928s)][[*1] (0.351164s)]]
-]
-[table Operator str
-[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_rational][13.4013 (0.00980984s)][23.4372 (0.0288878s)][27.4314 (0.067039s)][29.4814 (0.165057s)]]
-[[mpq_rational][[*1] (0.000732008s)][[*1] (0.00123256s)][[*1] (0.00244388s)][[*1] (0.00559869s)]]
-]
-[endsect]

+ 0 - 422
ecoin/src/boost_1_68_0/libs/multiprecision/performance/performance_test-intel-linux.log

@@ -1,422 +0,0 @@
-gmp_int        64        +    0.016582
-gmp_int        64        -    0.0174517
-gmp_int        64        *    0.0112253
-gmp_int        64        /    0.170951
-gmp_int        64        str  0.000343689
-gmp_int        64        +(int)0.00688382
-gmp_int        64        -(int)0.00734613
-gmp_int        64        *(int)0.00881438
-gmp_int        64        /(int)0.0465651
-gmp_int        64        %    0.164576
-gmp_int        64        |    0.0101555
-gmp_int        64        &    0.00955666
-gmp_int        64        ^    0.00987346
-gmp_int        64        <<   0.0106043
-gmp_int        64        >>   0.0093887
-gmp_int        64        %(int)0.0297463
-gmp_int        64        |(int)0.0403338
-gmp_int        64        &(int)0.0417288
-gmp_int        64        ^(int)0.0405779
-gmp_int        64        gcd  0.173816
-gmp_int        128       +    0.0183088
-gmp_int        128       -    0.0189266
-gmp_int        128       *    0.0161084
-gmp_int        128       /    0.191775
-gmp_int        128       str  0.000374699
-gmp_int        128       +(int)0.00866339
-gmp_int        128       -(int)0.0089443
-gmp_int        128       *(int)0.0114143
-gmp_int        128       /(int)0.0534638
-gmp_int        128       %    0.161212
-gmp_int        128       |    0.0107201
-gmp_int        128       &    0.0113559
-gmp_int        128       ^    0.0112116
-gmp_int        128       <<   0.0103295
-gmp_int        128       >>   0.00813413
-gmp_int        128       %(int)0.03692
-gmp_int        128       |(int)0.0412168
-gmp_int        128       &(int)0.0428359
-gmp_int        128       ^(int)0.0418522
-gmp_int        128       gcd  0.43131
-gmp_int        256       +    0.0224834
-gmp_int        256       -    0.025062
-gmp_int        256       *    0.0417471
-gmp_int        256       /    0.233656
-gmp_int        256       str  0.00059903
-gmp_int        256       +(int)0.0112071
-gmp_int        256       -(int)0.0116302
-gmp_int        256       *(int)0.0137181
-gmp_int        256       /(int)0.0667669
-gmp_int        256       %    0.191884
-gmp_int        256       |    0.0129489
-gmp_int        256       &    0.012778
-gmp_int        256       ^    0.0134548
-gmp_int        256       <<   0.0121471
-gmp_int        256       >>   0.00832878
-gmp_int        256       %(int)0.0474363
-gmp_int        256       |(int)0.0425591
-gmp_int        256       &(int)0.0436742
-gmp_int        256       ^(int)0.0425636
-gmp_int        256       gcd  2.06855
-gmp_int        512       +    0.0277439
-gmp_int        512       -    0.0318874
-gmp_int        512       *    0.0991032
-gmp_int        512       /    0.274993
-gmp_int        512       str  0.00129458
-gmp_int        512       +(int)0.014283
-gmp_int        512       -(int)0.0149874
-gmp_int        512       *(int)0.0180512
-gmp_int        512       /(int)0.0906691
-gmp_int        512       %    0.222477
-gmp_int        512       |    0.0217103
-gmp_int        512       &    0.0165285
-gmp_int        512       ^    0.0208848
-gmp_int        512       <<   0.014839
-gmp_int        512       >>   0.00988994
-gmp_int        512       %(int)0.0605682
-gmp_int        512       |(int)0.0462909
-gmp_int        512       &(int)0.046599
-gmp_int        512       ^(int)0.0456608
-gmp_int        512       gcd  4.68499
-gmp_int        1024      +    0.0397479
-gmp_int        1024      -    0.042232
-gmp_int        1024      *    0.31703
-gmp_int        1024      /    0.345984
-gmp_int        1024      str  0.00271592
-gmp_int        1024      +(int)0.0189969
-gmp_int        1024      -(int)0.0195046
-gmp_int        1024      *(int)0.0260306
-gmp_int        1024      /(int)0.140151
-gmp_int        1024      %    0.286399
-gmp_int        1024      |    0.0261953
-gmp_int        1024      &    0.023083
-gmp_int        1024      ^    0.0248084
-gmp_int        1024      <<   0.0202635
-gmp_int        1024      >>   0.0127909
-gmp_int        1024      %(int)0.0761102
-gmp_int        1024      |(int)0.049175
-gmp_int        1024      &(int)0.0499195
-gmp_int        1024      ^(int)0.0487102
-gmp_int        1024      gcd  10.1127
-cpp_int        64        +    0.0152915
-cpp_int        64        -    0.0191821
-cpp_int        64        *    0.0326218
-cpp_int        64        /    0.0951094
-cpp_int        64        str  0.000428547
-cpp_int        64        +(int)0.0132027
-cpp_int        64        -(int)0.0126144
-cpp_int        64        *(int)0.0151037
-cpp_int        64        /(int)0.0491116
-cpp_int        64        %    0.0951581
-cpp_int        64        |    0.0199629
-cpp_int        64        &    0.0196969
-cpp_int        64        ^    0.0208608
-cpp_int        64        <<   0.0179372
-cpp_int        64        >>   0.0146206
-cpp_int        64        %(int)0.0229261
-cpp_int        64        |(int)0.0185797
-cpp_int        64        &(int)0.0225055
-cpp_int        64        ^(int)0.0191337
-cpp_int        64        gcd  1.50205
-cpp_int        128       +    0.0170788
-cpp_int        128       -    0.0228373
-cpp_int        128       *    0.0375831
-cpp_int        128       /    0.163958
-cpp_int        128       str  0.000744647
-cpp_int        128       +(int)0.0144833
-cpp_int        128       -(int)0.013922
-cpp_int        128       *(int)0.0176402
-cpp_int        128       /(int)0.0972057
-cpp_int        128       %    0.169015
-cpp_int        128       |    0.0229631
-cpp_int        128       &    0.023126
-cpp_int        128       ^    0.0229278
-cpp_int        128       <<   0.0215749
-cpp_int        128       >>   0.0149198
-cpp_int        128       %(int)0.0476063
-cpp_int        128       |(int)0.0194697
-cpp_int        128       &(int)0.0270183
-cpp_int        128       ^(int)0.0194481
-cpp_int        128       gcd  3.36986
-cpp_int        256       +    0.0231877
-cpp_int        256       -    0.0293424
-cpp_int        256       *    0.113247
-cpp_int        256       /    0.336287
-cpp_int        256       str  0.00190436
-cpp_int        256       +(int)0.0161733
-cpp_int        256       -(int)0.0173225
-cpp_int        256       *(int)0.0199426
-cpp_int        256       /(int)0.229286
-cpp_int        256       %    0.306542
-cpp_int        256       |    0.0257191
-cpp_int        256       &    0.0254172
-cpp_int        256       ^    0.0259082
-cpp_int        256       <<   0.0253994
-cpp_int        256       >>   0.0172635
-cpp_int        256       %(int)0.116093
-cpp_int        256       |(int)0.0233559
-cpp_int        256       &(int)0.0367792
-cpp_int        256       ^(int)0.0232914
-cpp_int        256       gcd  7.88882
-cpp_int        512       +    0.0291058
-cpp_int        512       -    0.0380025
-cpp_int        512       *    0.337161
-cpp_int        512       /    0.487075
-cpp_int        512       str  0.00494162
-cpp_int        512       +(int)0.0201989
-cpp_int        512       -(int)0.0200688
-cpp_int        512       *(int)0.0311497
-cpp_int        512       /(int)0.375279
-cpp_int        512       %    0.459737
-cpp_int        512       |    0.0297101
-cpp_int        512       &    0.0297235
-cpp_int        512       ^    0.0296913
-cpp_int        512       <<   0.0328422
-cpp_int        512       >>   0.0234706
-cpp_int        512       %(int)0.194709
-cpp_int        512       |(int)0.0258992
-cpp_int        512       &(int)0.0529542
-cpp_int        512       ^(int)0.0258749
-cpp_int        512       gcd  19.7141
-cpp_int        1024      +    0.0410101
-cpp_int        1024      -    0.0576733
-cpp_int        1024      *    1.19319
-cpp_int        1024      /    0.850798
-cpp_int        1024      str  0.0149378
-cpp_int        1024      +(int)0.0222435
-cpp_int        1024      -(int)0.0219408
-cpp_int        1024      *(int)0.0435058
-cpp_int        1024      /(int)0.6795
-cpp_int        1024      %    0.800961
-cpp_int        1024      |    0.0369613
-cpp_int        1024      &    0.0368423
-cpp_int        1024      ^    0.0371252
-cpp_int        1024      <<   0.0474759
-cpp_int        1024      >>   0.0297527
-cpp_int        1024      %(int)0.360619
-cpp_int        1024      |(int)0.0326194
-cpp_int        1024      &(int)0.0801744
-cpp_int        1024      ^(int)0.0319848
-cpp_int        1024      gcd  53.3224
-fixed_int      64        +    0.00207275
-fixed_int      64        -    0.00214524
-fixed_int      64        *    0.00391097
-fixed_int      64        /    0.0608466
-fixed_int      64        str  0.000292286
-fixed_int      64        +(int)0.00357336
-fixed_int      64        -(int)0.00352796
-fixed_int      64        *(int)0.00292725
-fixed_int      64        /(int)0.0243018
-fixed_int      64        %    0.0603067
-fixed_int      64        |    0.00258063
-fixed_int      64        &    0.00257379
-fixed_int      64        ^    0.00258525
-fixed_int      64        <<   0.00134947
-fixed_int      64        >>   0.00560378
-fixed_int      64        %(int)0.0241499
-fixed_int      64        |(int)0.00201939
-fixed_int      64        &(int)0.00206716
-fixed_int      64        ^(int)0.00201848
-fixed_int      64        gcd  0.82127
-fixed_int      128       +    0.00325349
-fixed_int      128       -    0.00366953
-fixed_int      128       *    0.010445
-fixed_int      128       /    0.113697
-fixed_int      128       str  0.000564877
-fixed_int      128       +(int)0.00377625
-fixed_int      128       -(int)0.00360179
-fixed_int      128       *(int)0.00418426
-fixed_int      128       /(int)0.091141
-fixed_int      128       %    0.113804
-fixed_int      128       |    0.00360961
-fixed_int      128       &    0.00359913
-fixed_int      128       ^    0.00361317
-fixed_int      128       <<   0.0065905
-fixed_int      128       >>   0.00654308
-fixed_int      128       %(int)0.0809135
-fixed_int      128       |(int)0.00237125
-fixed_int      128       &(int)0.00231056
-fixed_int      128       ^(int)0.00190464
-fixed_int      128       gcd  2.05126
-fixed_int      256       +    0.00785776
-fixed_int      256       -    0.00635884
-fixed_int      256       *    0.0323875
-fixed_int      256       /    0.203194
-fixed_int      256       str  0.0013816
-fixed_int      256       +(int)0.00413397
-fixed_int      256       -(int)0.00379699
-fixed_int      256       *(int)0.00852456
-fixed_int      256       /(int)0.183053
-fixed_int      256       %    0.200368
-fixed_int      256       |    0.0105747
-fixed_int      256       &    0.0105856
-fixed_int      256       ^    0.0105755
-fixed_int      256       <<   0.00874545
-fixed_int      256       >>   0.00906624
-fixed_int      256       %(int)0.152826
-fixed_int      256       |(int)0.00261619
-fixed_int      256       &(int)0.00424202
-fixed_int      256       ^(int)0.00263274
-fixed_int      256       gcd  5.42715
-fixed_int      512       +    0.0131311
-fixed_int      512       -    0.0122513
-fixed_int      512       *    0.205979
-fixed_int      512       /    0.383601
-fixed_int      512       str  0.0043558
-fixed_int      512       +(int)0.00639746
-fixed_int      512       -(int)0.00641876
-fixed_int      512       *(int)0.0152369
-fixed_int      512       /(int)0.363289
-fixed_int      512       %    0.38201
-fixed_int      512       |    0.0131075
-fixed_int      512       &    0.0131292
-fixed_int      512       ^    0.01314
-fixed_int      512       <<   0.0130248
-fixed_int      512       >>   0.0131451
-fixed_int      512       %(int)0.304714
-fixed_int      512       |(int)0.00574368
-fixed_int      512       &(int)0.00810836
-fixed_int      512       ^(int)0.00576694
-fixed_int      512       gcd  16.6269
-fixed_int      1024      +    0.0322386
-fixed_int      1024      -    0.0312142
-fixed_int      1024      *    0.716002
-fixed_int      1024      /    0.728338
-fixed_int      1024      str  0.0135445
-fixed_int      1024      +(int)0.011986
-fixed_int      1024      -(int)0.0119838
-fixed_int      1024      *(int)0.0349878
-fixed_int      1024      /(int)0.708856
-fixed_int      1024      %    0.723622
-fixed_int      1024      |    0.0181468
-fixed_int      1024      &    0.0182648
-fixed_int      1024      ^    0.018185
-fixed_int      1024      <<   0.0252997
-fixed_int      1024      >>   0.0257832
-fixed_int      1024      %(int)0.597535
-fixed_int      1024      |(int)0.0116417
-fixed_int      1024      &(int)0.0172111
-fixed_int      1024      ^(int)0.011526
-fixed_int      1024      gcd  70.6396
-[section:integer_performance Integer Type Perfomance]
-[table Operator %
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.5779 (0.0951581s)][1.48514 (0.169015s)][1.59753 (0.306542s)][2.06645 (0.459737s)][2.79666 (0.800961s)]]
-[[fixed_int][[*1] (0.0603067s)][[*1] (0.113804s)][1.04421 (0.200368s)][1.71708 (0.38201s)][2.52662 (0.723622s)]]
-[[gmp_int][2.72898 (0.164576s)][1.41658 (0.161212s)][[*1] (0.191884s)][[*1] (0.222477s)][[*1] (0.286399s)]]
-]
-[table Operator %(int)
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][[*1] (0.0229261s)][1.28944 (0.0476063s)][2.44735 (0.116093s)][3.21471 (0.194709s)][4.73812 (0.360619s)]]
-[[fixed_int][1.05338 (0.0241499s)][2.19159 (0.0809135s)][3.22171 (0.152826s)][5.03092 (0.304714s)][7.85093 (0.597535s)]]
-[[gmp_int][1.29749 (0.0297463s)][[*1] (0.03692s)][[*1] (0.0474363s)][[*1] (0.0605682s)][[*1] (0.0761102s)]]
-]
-[table Operator &
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][7.65289 (0.0196969s)][6.42545 (0.023126s)][2.4011 (0.0254172s)][2.26393 (0.0297235s)][2.01712 (0.0368423s)]]
-[[fixed_int][[*1] (0.00257379s)][[*1] (0.00359913s)][[*1] (0.0105856s)][[*1] (0.0131292s)][[*1] (0.0182648s)]]
-[[gmp_int][3.71307 (0.00955666s)][3.15518 (0.0113559s)][1.2071 (0.012778s)][1.25891 (0.0165285s)][1.2638 (0.023083s)]]
-]
-[table Operator &(int)
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][10.8871 (0.0225055s)][11.6934 (0.0270183s)][8.67021 (0.0367792s)][6.53082 (0.0529542s)][4.65829 (0.0801744s)]]
-[[fixed_int][[*1] (0.00206716s)][[*1] (0.00231056s)][[*1] (0.00424202s)][[*1] (0.00810836s)][[*1] (0.0172111s)]]
-[[gmp_int][20.1865 (0.0417288s)][18.5392 (0.0428359s)][10.2956 (0.0436742s)][5.74703 (0.046599s)][2.90042 (0.0499195s)]]
-]
-[table Operator *
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][8.34111 (0.0326218s)][3.59818 (0.0375831s)][3.49662 (0.113247s)][3.40211 (0.337161s)][3.76364 (1.19319s)]]
-[[fixed_int][[*1] (0.00391097s)][[*1] (0.010445s)][[*1] (0.0323875s)][2.07843 (0.205979s)][2.25847 (0.716002s)]]
-[[gmp_int][2.87022 (0.0112253s)][1.54221 (0.0161084s)][1.28899 (0.0417471s)][[*1] (0.0991032s)][[*1] (0.31703s)]]
-]
-[table Operator *(int)
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][5.15967 (0.0151037s)][4.21584 (0.0176402s)][2.33943 (0.0199426s)][2.04436 (0.0311497s)][1.67133 (0.0435058s)]]
-[[fixed_int][[*1] (0.00292725s)][[*1] (0.00418426s)][[*1] (0.00852456s)][[*1] (0.0152369s)][1.3441 (0.0349878s)]]
-[[gmp_int][3.01114 (0.00881438s)][2.72791 (0.0114143s)][1.60924 (0.0137181s)][1.1847 (0.0180512s)][[*1] (0.0260306s)]]
-]
-[table Operator +
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][7.37741 (0.0152915s)][5.2494 (0.0170788s)][2.95092 (0.0231877s)][2.21655 (0.0291058s)][1.27208 (0.0410101s)]]
-[[fixed_int][[*1] (0.00207275s)][[*1] (0.00325349s)][[*1] (0.00785776s)][[*1] (0.0131311s)][[*1] (0.0322386s)]]
-[[gmp_int][7.99998 (0.016582s)][5.62745 (0.0183088s)][2.86129 (0.0224834s)][2.11283 (0.0277439s)][1.23293 (0.0397479s)]]
-]
-[table Operator +(int)
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][3.69474 (0.0132027s)][3.83536 (0.0144833s)][3.91229 (0.0161733s)][3.15733 (0.0201989s)][1.85579 (0.0222435s)]]
-[[fixed_int][[*1] (0.00357336s)][[*1] (0.00377625s)][[*1] (0.00413397s)][[*1] (0.00639746s)][[*1] (0.011986s)]]
-[[gmp_int][1.92643 (0.00688382s)][2.29418 (0.00866339s)][2.71097 (0.0112071s)][2.23261 (0.014283s)][1.58492 (0.0189969s)]]
-]
-[table Operator -
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][8.94166 (0.0191821s)][6.22351 (0.0228373s)][4.61443 (0.0293424s)][3.10192 (0.0380025s)][1.84766 (0.0576733s)]]
-[[fixed_int][[*1] (0.00214524s)][[*1] (0.00366953s)][[*1] (0.00635884s)][[*1] (0.0122513s)][[*1] (0.0312142s)]]
-[[gmp_int][8.13505 (0.0174517s)][5.15777 (0.0189266s)][3.94128 (0.025062s)][2.60278 (0.0318874s)][1.35297 (0.042232s)]]
-]
-[table Operator -(int)
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][3.57555 (0.0126144s)][3.86529 (0.013922s)][4.56215 (0.0173225s)][3.12658 (0.0200688s)][1.83087 (0.0219408s)]]
-[[fixed_int][[*1] (0.00352796s)][[*1] (0.00360179s)][[*1] (0.00379699s)][[*1] (0.00641876s)][[*1] (0.0119838s)]]
-[[gmp_int][2.08226 (0.00734613s)][2.4833 (0.0089443s)][3.063 (0.0116302s)][2.33493 (0.0149874s)][1.62759 (0.0195046s)]]
-]
-[table Operator /
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.5631 (0.0951094s)][1.44205 (0.163958s)][1.655 (0.336287s)][1.77123 (0.487075s)][2.45907 (0.850798s)]]
-[[fixed_int][[*1] (0.0608466s)][[*1] (0.113697s)][[*1] (0.203194s)][1.39495 (0.383601s)][2.10512 (0.728338s)]]
-[[gmp_int][2.80954 (0.170951s)][1.68671 (0.191775s)][1.14992 (0.233656s)][[*1] (0.274993s)][[*1] (0.345984s)]]
-]
-[table Operator /(int)
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][2.0209 (0.0491116s)][1.81816 (0.0972057s)][3.43412 (0.229286s)][4.13899 (0.375279s)][4.84836 (0.6795s)]]
-[[fixed_int][[*1] (0.0243018s)][1.70472 (0.091141s)][2.74167 (0.183053s)][4.00675 (0.363289s)][5.05782 (0.708856s)]]
-[[gmp_int][1.91611 (0.0465651s)][[*1] (0.0534638s)][[*1] (0.0667669s)][[*1] (0.0906691s)][[*1] (0.140151s)]]
-]
-[table Operator <<
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][13.292 (0.0179372s)][3.27363 (0.0215749s)][2.9043 (0.0253994s)][2.52151 (0.0328422s)][2.34293 (0.0474759s)]]
-[[fixed_int][[*1] (0.00134947s)][[*1] (0.0065905s)][[*1] (0.00874545s)][[*1] (0.0130248s)][1.24854 (0.0252997s)]]
-[[gmp_int][7.85814 (0.0106043s)][1.56732 (0.0103295s)][1.38897 (0.0121471s)][1.13928 (0.014839s)][[*1] (0.0202635s)]]
-]
-[table Operator >>
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][2.60907 (0.0146206s)][2.28025 (0.0149198s)][2.07275 (0.0172635s)][2.37318 (0.0234706s)][2.32609 (0.0297527s)]]
-[[fixed_int][[*1] (0.00560378s)][[*1] (0.00654308s)][1.08854 (0.00906624s)][1.32914 (0.0131451s)][2.01575 (0.0257832s)]]
-[[gmp_int][1.67542 (0.0093887s)][1.24317 (0.00813413s)][[*1] (0.00832878s)][[*1] (0.00988994s)][[*1] (0.0127909s)]]
-]
-[table Operator ^
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][8.06918 (0.0208608s)][6.34562 (0.0229278s)][2.44983 (0.0259082s)][2.25961 (0.0296913s)][2.04153 (0.0371252s)]]
-[[fixed_int][[*1] (0.00258525s)][[*1] (0.00361317s)][[*1] (0.0105755s)][[*1] (0.01314s)][[*1] (0.018185s)]]
-[[gmp_int][3.81916 (0.00987346s)][3.10299 (0.0112116s)][1.27226 (0.0134548s)][1.5894 (0.0208848s)][1.36422 (0.0248084s)]]
-]
-[table Operator ^(int)
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][9.47925 (0.0191337s)][10.2109 (0.0194481s)][8.84686 (0.0232914s)][4.48677 (0.0258749s)][2.775 (0.0319848s)]]
-[[fixed_int][[*1] (0.00201848s)][[*1] (0.00190464s)][[*1] (0.00263274s)][[*1] (0.00576694s)][[*1] (0.011526s)]]
-[[gmp_int][20.1032 (0.0405779s)][21.9738 (0.0418522s)][16.1671 (0.0425636s)][7.91768 (0.0456608s)][4.2261 (0.0487102s)]]
-]
-[table Operator gcd
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][8.64165 (1.50205s)][7.81307 (3.36986s)][3.81369 (7.88882s)][4.20792 (19.7141s)][5.27284 (53.3224s)]]
-[[fixed_int][4.72495 (0.82127s)][4.75589 (2.05126s)][2.62364 (5.42715s)][3.54898 (16.6269s)][6.98527 (70.6396s)]]
-[[gmp_int][[*1] (0.173816s)][[*1] (0.43131s)][[*1] (2.06855s)][[*1] (4.68499s)][[*1] (10.1127s)]]
-]
-[table Operator str
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][1.46619 (0.000428547s)][1.98732 (0.000744647s)][3.17907 (0.00190436s)][3.81717 (0.00494162s)][5.50009 (0.0149378s)]]
-[[fixed_int][[*1] (0.000292286s)][1.50755 (0.000564877s)][2.30639 (0.0013816s)][3.36465 (0.0043558s)][4.98706 (0.0135445s)]]
-[[gmp_int][1.17587 (0.000343689s)][[*1] (0.000374699s)][[*1] (0.00059903s)][[*1] (0.00129458s)][[*1] (0.00271592s)]]
-]
-[table Operator |
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][7.73565 (0.0199629s)][6.36166 (0.0229631s)][2.43214 (0.0257191s)][2.26665 (0.0297101s)][2.0368 (0.0369613s)]]
-[[fixed_int][[*1] (0.00258063s)][[*1] (0.00360961s)][[*1] (0.0105747s)][[*1] (0.0131075s)][[*1] (0.0181468s)]]
-[[gmp_int][3.9353 (0.0101555s)][2.96987 (0.0107201s)][1.22452 (0.0129489s)][1.65632 (0.0217103s)][1.44352 (0.0261953s)]]
-]
-[table Operator |(int)
-[[Backend][64 Bits][128 Bits][256 Bits][512 Bits][1024 Bits]]
-[[cpp_int][9.20066 (0.0185797s)][8.21071 (0.0194697s)][8.92746 (0.0233559s)][4.50916 (0.0258992s)][2.80194 (0.0326194s)]]
-[[fixed_int][[*1] (0.00201939s)][[*1] (0.00237125s)][[*1] (0.00261619s)][[*1] (0.00574368s)][[*1] (0.0116417s)]]
-[[gmp_int][19.9733 (0.0403338s)][17.3819 (0.0412168s)][16.2676 (0.0425591s)][8.05945 (0.0462909s)][4.22404 (0.049175s)]]
-]
-[endsect]

Різницю між файлами не показано, бо вона завелика
+ 0 - 1220
ecoin/src/boost_1_68_0/libs/multiprecision/performance/performance_test-msvc-10.log


+ 0 - 69
ecoin/src/boost_1_68_0/libs/multiprecision/performance/sf_performance-msvc-10.log

@@ -1,69 +0,0 @@
-0
-11
-24
-3
-13
-27
-Testing Bessel Functions.....
-Time for mpfr_float_50 = 6.47208 seconds
-Total allocations for mpfr_float_50 = 2684348
-Time for mpf_float_50 = 11.6627 seconds
-Total allocations for mpf_float_50 = 2601366
-Time for cpp_float_50 = 20.2855 seconds
-Total allocations for cpp_float_50 = 0
-Time for mpfr_class (50 digits) = 6.48063 seconds
-Total allocations for mpfr_class (50 digits) = 3946031
-Time for mpreal (50 digits) = 9.98151 seconds
-Total allocations for mpreal (50 digits) = 13223017
-Time for mpfr_float_100 = 10.154 seconds
-Total allocations for mpfr_float_50 = 3671485
-Time for mpf_float_100 = 8.51179 seconds
-Total allocations for mpf_float_100 = 3593669
-Time for cpp_float_100 = 21.0198 seconds
-Total allocations for cpp_float_100 = 0
-Time for mpfr_class (100 digits) = 9.80571 seconds
-Total allocations for mpfr_class (100 digits) = 5447348
-Time for mpreal (100 digits) = 13.7021 seconds
-Total allocations for mpreal (100 digits) = 16671065
-Testing Polynomial Evaluation.....
-Time for mpfr_float_50 = 0.00823841 seconds
-Total allocations for mpfr_float_50 = 2996
-Time for mpf_float_50 = 0.00401608 seconds
-Total allocations for mpf_float_50 = 2996
-Time for cpp_float_50 = 0.00492116 seconds
-Total allocations for cpp_float_50 = 0
-Time for mpfr_class (50 digits) = 0.00935629 seconds
-Total allocations for mpfr_class (50 digits) = 12976
-Time for mpreal (50 digits) = 0.0148374 seconds
-Total allocations for mpreal (50 digits = 27947
-Time for mpfr_float_100 = 0.00948452 seconds
-Total allocations for mpfr_float_100 = 2996
-Time for mpf_float_100 = 0.00390071 seconds
-Total allocations for mpf_float_100 = 2996
-Time for cpp_float_100 = 0.00893563 seconds
-Total allocations for cpp_float_100 = 0
-Time for mpfr_class (100 digits) = 0.0106166 seconds
-Total allocations for mpfr_class (100 digits) = 12976
-Time for mpreal (100 digits) = 0.0162364 seconds
-Total allocations for mpreal (100 digits) = 27947
-Testing Non-Central T.....
-Time for mpfr_float_50 = 258.087 seconds
-Total allocations for mpfr_float_50 = 139149049
-Time for mpf_float_50 = 197.303 seconds
-Total allocations for mpf_float_50 = 134600354
-Time for cpp_float_50 = 334.503 seconds
-Total allocations for cpp_float_50 = 0
-Time for mpfr_class (50 digits) = 266.389 seconds
-Total allocations for mpfr_class (50 digits) = 252401115
-Time for mpreal (50 digits) = 346.641 seconds
-Total allocations for mpreal (50 digits) = 447009420
-Time for mpfr_float_100 = 516.741 seconds
-Total allocations for mpfr_float_100 = 220400854
-Time for mpf_float_100 = 397.302 seconds
-Total allocations for mpf_float_100 = 212307349
-Time for cpp_float_100 = 1064.53 seconds
-Total allocations for cpp_float_100 = 0
-Time for mpfr_class (100 digits) = 525.74 seconds
-Total allocations for mpfr_class (100 digits) = 407154781
-Time for mpreal (100 digits) = 649.941 seconds
-Total allocations for mpreal (100 digits) = 724581024

BIN
ecoin/src/boost_1_68_0/libs/serialization/test/config_test.o


+ 0 - 0
ecoin/src/boost_1_68_0/libs/sort/doc/AutoDoxywarnings.log


+ 0 - 0
ecoin/src/boost_1_68_0/libs/sort/doc/doxygen/doxywarnings.log


+ 0 - 37
ecoin/src/boost_1_68_0/libs/sort/test/test.log

@@ -1,37 +0,0 @@
-
-Performing configuration checks
-
-    - symlinks supported       : yes (cached)
-...patience...
-...patience...
-...found 2544 targets...
-...updating 20 targets...
-compile-c-c++ ..\..\..\bin.v2\libs\sort\test\integer_sort.test\msvc-12.0\debug\threading-multi\integer_sort_test.obj
-integer_sort_test.cpp
-msvc.link ..\..\..\bin.v2\libs\sort\test\integer_sort.test\msvc-12.0\debug\threading-multi\integer_sort.exe
-msvc.manifest ..\..\..\bin.v2\libs\sort\test\integer_sort.test\msvc-12.0\debug\threading-multi\integer_sort.exe
-testing.capture-output ..\..\..\bin.v2\libs\sort\test\integer_sort.test\msvc-12.0\debug\threading-multi\integer_sort.run
-        1 file(s) copied.
-**passed** ..\..\..\bin.v2\libs\sort\test\integer_sort.test\msvc-12.0\debug\threading-multi\integer_sort.test
-compile-c-c++ ..\..\..\bin.v2\libs\sort\test\float_sort.test\msvc-12.0\debug\threading-multi\float_sort_test.obj
-float_sort_test.cpp
-msvc.link ..\..\..\bin.v2\libs\sort\test\float_sort.test\msvc-12.0\debug\threading-multi\float_sort.exe
-msvc.manifest ..\..\..\bin.v2\libs\sort\test\float_sort.test\msvc-12.0\debug\threading-multi\float_sort.exe
-testing.capture-output ..\..\..\bin.v2\libs\sort\test\float_sort.test\msvc-12.0\debug\threading-multi\float_sort.run
-        1 file(s) copied.
-**passed** ..\..\..\bin.v2\libs\sort\test\float_sort.test\msvc-12.0\debug\threading-multi\float_sort.test
-compile-c-c++ ..\..\..\bin.v2\libs\sort\test\string_sort.test\msvc-12.0\debug\threading-multi\string_sort_test.obj
-string_sort_test.cpp
-msvc.link ..\..\..\bin.v2\libs\sort\test\string_sort.test\msvc-12.0\debug\threading-multi\string_sort.exe
-msvc.manifest ..\..\..\bin.v2\libs\sort\test\string_sort.test\msvc-12.0\debug\threading-multi\string_sort.exe
-testing.capture-output ..\..\..\bin.v2\libs\sort\test\string_sort.test\msvc-12.0\debug\threading-multi\string_sort.run
-        1 file(s) copied.
-**passed** ..\..\..\bin.v2\libs\sort\test\string_sort.test\msvc-12.0\debug\threading-multi\string_sort.test
-compile-c-c++ ..\..\..\bin.v2\libs\sort\test\sort_detail.test\msvc-12.0\debug\threading-multi\sort_detail_test.obj
-sort_detail_test.cpp
-msvc.link ..\..\..\bin.v2\libs\sort\test\sort_detail.test\msvc-12.0\debug\threading-multi\sort_detail.exe
-msvc.manifest ..\..\..\bin.v2\libs\sort\test\sort_detail.test\msvc-12.0\debug\threading-multi\sort_detail.exe
-testing.capture-output ..\..\..\bin.v2\libs\sort\test\sort_detail.test\msvc-12.0\debug\threading-multi\sort_detail.run
-        1 file(s) copied.
-**passed** ..\..\..\bin.v2\libs\sort\test\sort_detail.test\msvc-12.0\debug\threading-multi\sort_detail.test
-...updated 20 targets...

+ 9 - 12
ecoin/src/leveldb/port/atomic_pointer.h

@@ -34,7 +34,7 @@
 #define ARCH_CPU_X86_FAMILY 1
 #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
 #define ARCH_CPU_X86_FAMILY 1
-#elif defined(__ARMEL__)
+#elif defined(__ARMEL__) || defined(__aarch64__)
 #define ARCH_CPU_ARM_FAMILY 1
 #elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc64__)
 #define ARCH_CPU_PPC_FAMILY 1
@@ -75,19 +75,16 @@ inline void MemoryBarrier() {
 }
 #define LEVELDB_HAVE_MEMORY_BARRIER
 
-// ARM Linux
+// ARM64 (AArch64) Linux
+#elif defined(__aarch64__) && defined(__linux__)
+inline void MemoryBarrier() {
+  __asm__ __volatile__("dmb ish" : : : "memory");
+}
+#define LEVELDB_HAVE_MEMORY_BARRIER
+
+// ARM32 Linux
 #elif defined(ARCH_CPU_ARM_FAMILY) && defined(__linux__)
 typedef void (*LinuxKernelMemoryBarrierFunc)(void);
-// The Linux ARM kernel provides a highly optimized device-specific memory
-// barrier function at a fixed memory address that is mapped in every
-// user-level process.
-//
-// This beats using CPU-specific instructions which are, on single-core
-// devices, un-necessary and very costly (e.g. ARMv7-A "dmb" takes more
-// than 180ns on a Cortex-A8 like the one on a Nexus One). Benchmarking
-// shows that the extra function call cost is completely negligible on
-// multi-core devices.
-//
 inline void MemoryBarrier() {
   (*(LinuxKernelMemoryBarrierFunc)0xffff0fa0)();
 }

+ 1 - 1
ecoin/src/makefile.linux

@@ -1,4 +1,4 @@
-# ECOin - Copyright (c) - 2014/2025 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
+# ECOin - Copyright (c) - 2014/2026 - GPLv3 - epsylon@riseup.net (https://ecoin.03c8.net)
 
 USE_UPNP:=0
 USE_IPV6:=0

+ 1 - 1
ecoin/src/qt/ecoin.cpp

@@ -81,7 +81,7 @@ static void InitMessage(const std::string &message)
 {
     if(splashref)
     {
-        splashref->showMessage(QString::fromStdString(message), Qt::AlignBottom|Qt::AlignHCenter, QColor(255,255,200));
+        splashref->showMessage(QString::fromStdString(message), Qt::AlignBottom|Qt::AlignHCenter, QColor(0,0,0));
         QApplication::instance()->processEvents();
     }
 }

+ 4 - 7
ecoin/src/qt/ecoingui.cpp

@@ -550,14 +550,14 @@ void EcoinGUI::setNumBlocks(int count, int nTotalBlocks)
     // Set icon state: spinning if catching up, tick otherwise
     if(secs < 90*60 && count >= nTotalBlocks)
     {
-        tooltip = tr("Up to date") + QString(".<br>") + tooltip;
+        tooltip = tr("Up to date") + QString(".\n") + tooltip;
         labelBlocksIcon->setPixmap(QIcon(":/icons/synced").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE));
 
         overviewPage->showOutOfSyncWarning(false);
     }
     else
     {
-        tooltip = tr("Catching up...") + QString("<br>") + tooltip;
+        tooltip = tr("Catching up...") + QString("\n") + tooltip;
         labelBlocksIcon->setMovie(syncIconMovie);
         syncIconMovie->start();
 
@@ -566,13 +566,10 @@ void EcoinGUI::setNumBlocks(int count, int nTotalBlocks)
 
     if(!text.isEmpty())
     {
-        tooltip += QString("<br>");
+        tooltip += QString("\n");
         tooltip += tr("Last received block was generated %1.").arg(text);
     }
 
-    // Don't word-wrap this (fixed-width) tooltip
-    tooltip = QString("<nobr>") + tooltip + QString("</nobr>");
-
     labelBlocksIcon->setToolTip(tooltip);
     progressBarLabel->setToolTip(tooltip);
     progressBar->setToolTip(tooltip);
@@ -911,7 +908,7 @@ void EcoinGUI::updateStakingIcon()
         }
 
         labelStakingIcon->setPixmap(QIcon(":/icons/staking_on").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE));
-        labelStakingIcon->setToolTip(tr("Staking.<br>Your weight is %1<br>Network weight is %2<br>Expected time to earn reward is %3").arg(nWeight).arg(nNetworkWeight).arg(text));
+        labelStakingIcon->setToolTip(tr("Staking.\nYour weight is %1\nNetwork weight is %2\nExpected time to earn reward is %3").arg(nWeight).arg(nNetworkWeight).arg(text));
     }
     else
     {

BIN
ecoin/src/qt/res/icons/ecoin-128.png


BIN
ecoin/src/qt/res/icons/ecoin-16.png


BIN
ecoin/src/qt/res/icons/ecoin-32.png


BIN
ecoin/src/qt/res/icons/ecoin-48.png


BIN
ecoin/src/qt/res/icons/ecoin-80.png


BIN
ecoin/src/qt/res/icons/ecoin.icns


BIN
ecoin/src/qt/res/icons/ecoin.ico


BIN
ecoin/src/qt/res/icons/ecoin.png


BIN
ecoin/src/qt/res/icons/ecoin_testnet.png


BIN
ecoin/src/qt/res/icons/favicon_16x16.ico


BIN
ecoin/src/qt/res/images/about.png


BIN
ecoin/src/qt/res/images/about2a.png


BIN
ecoin/src/qt/res/images/background.png


BIN
ecoin/src/qt/res/images/header.png


BIN
ecoin/src/qt/res/images/splash2.jpg


BIN
ecoin/src/qt/res/images/splash2a.png


BIN
ecoin/src/qt/res/images/splash2b.png


+ 4 - 0
ecoin/src/serialize.h

@@ -735,6 +735,9 @@ public:
             vch.insert(it, first, last);
     }
 
+    // Only define this overload when vector<char>::const_iterator is a distinct type from const char*
+    // (not the case on libc++ where vector iterators are raw pointers)
+#if !defined(_LIBCPP_VERSION)
     void insert(iterator it, std::vector<char>::const_iterator first, std::vector<char>::const_iterator last)
 	{
 	    assert(last - first >= 0);
@@ -747,6 +750,7 @@ public:
 	    else
 	        vch.insert(it, first, last);
     }
+#endif
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1300
     void insert(iterator it, const char* first, const char* last)

+ 9 - 1
ecoin/src/strlcpy.h

@@ -21,6 +21,12 @@
 #include <stdlib.h>
 #include <string.h>
 
+// Modern glibc (2.38+) provides strlcpy/strlcat natively.
+// Only define our own if the system does not provide them.
+#if defined(__GLIBC__) && defined(__GLIBC_MINOR__) && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 38))
+// strlcpy and strlcat provided by system glibc
+#else
+
 /*
  * Copy src to string dst of size siz.  At most siz-1 characters
  * will be copied.  Always NUL terminates (unless siz == 0).
@@ -89,4 +95,6 @@ inline size_t strlcat(char *dst, const char *src, size_t siz)
 
     return(dlen + (s - src)); /* count does not include NUL */
 }
-#endif
+
+#endif // glibc version check
+#endif // ECOIN_STRLCPY_H

+ 1 - 1
ecoin/src/util.cpp

@@ -1029,7 +1029,7 @@ void LogStackTrace() {
     printf("\n\n******* exception encountered *******\n");
     if (fileout)
     {
-#ifndef WIN32
+#if !defined(WIN32) && !defined(ANDROID) && !defined(__ANDROID__)
         void* pszBuffer[32];
         size_t size;
         size = backtrace(pszBuffer, 32);