Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
b73a9f1
Add structures and unsigned div
mborland Sep 18, 2025
c6f21fa
Add standalone compile test
mborland Sep 18, 2025
960c8e2
Fix unsigned comp
mborland Sep 18, 2025
a189f2b
Add to master header
mborland Sep 18, 2025
c103e20
Add unsigned div test
mborland Sep 18, 2025
3f2951e
Fix shadowing
mborland Sep 18, 2025
9d84ba9
Add testing of edge cases
mborland Sep 18, 2025
9e48286
Add signed div impl
mborland Sep 18, 2025
1375680
Add testing of signed div impl
mborland Sep 18, 2025
5167c9a
Mark headers to use code notation
mborland Sep 18, 2025
5eebb75
Add page covering div and related structs
mborland Sep 18, 2025
5b937e3
Add to documentation index
mborland Sep 18, 2025
80891a0
Attempt fix sign issues
mborland Sep 18, 2025
6d974f2
Fix copy-paste issue
mborland Sep 18, 2025
03de62d
Add boundary check
mborland Sep 18, 2025
75b5b99
Remove IDE added header
mborland Sep 18, 2025
4bd8222
Initial infrastructure
mborland Aug 8, 2025
6f56b3b
Update API reference for better NAV
mborland Aug 8, 2025
d8f675c
Add nav
mborland Aug 8, 2025
e82217f
Rename images folder
mborland Aug 8, 2025
ec15d5e
Remove index
mborland Aug 8, 2025
21f89ff
Fix copy-paste error
mborland Aug 8, 2025
32a1d82
Fix root index.html
mborland Aug 8, 2025
4679010
Move nav into ROOT
mborland Aug 8, 2025
1e7272e
Fix broken link
mborland Aug 8, 2025
f999447
Improve benchmark nav
mborland Aug 8, 2025
504b8ee
Add footer and rename jamfile
mborland Aug 8, 2025
ec05136
Update to Antora 3.1.12
mborland Sep 18, 2025
275a92d
Add new nav
mborland Sep 18, 2025
d0eaf15
Update description
mborland Sep 18, 2025
77debf8
Fix odd indentation
mborland Sep 18, 2025
b014a91
Reduce gitignore
mborland Sep 18, 2025
e1decdb
Additional redirect
mborland Sep 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions doc/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/pdf/
/html/
*.DS_Store
*.html
/build/
/node_modules/
25 changes: 0 additions & 25 deletions doc/Jamfile

This file was deleted.

57 changes: 57 additions & 0 deletions doc/Jamfile.v2
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import generate ;
import path ;
import property-set ;
import virtual-target ;

path-constant HERE : . ;

make html/index.html : build_antora.sh : @run-script ;
generate files-to-install : html/index.html : <generating-rule>@delayed-glob ;
install install
: files-to-install
: <location>html
<install-source-root>html/int128
;
explicit html/index.html files-to-install ;

# this runs the antora script
actions run-script
{
bash $(>)
}

# this globs after its sources are created
rule delayed-glob ( project name : property-set : sources * )
{
for local src in $(sources)
{
# the next line causes the source to be generated immediately
# and not later (which it normally would)
UPDATE_NOW [ $(src).actualize ] ;
}

# we need to construct the path to the globbed directory;
# this path would be <current-project>/antora
local root = [ path.root html [ $(project).location ] ] ;
local files ;

# actual globbing happens here
for local file in [ path.glob-tree $(root) : * ]
{
# we have to skip directories, because our match expression accepts anything
if [ CHECK_IF_FILE $(file) ]
{
# we construct a list of targets to copy
files += [ virtual-target.from-file $(file:D=) : $(file:D) : $(project) ] ;
}
}

# we prepend empty usage requirements to the result
return [ property-set.empty ] $(files) ;
}

###############################################################################
alias boostdoc ;
explicit boostdoc ;
alias boostrelease : install ;
explicit boostrelease ;
6 changes: 6 additions & 0 deletions doc/antora.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: int128
version: ~
title: Boost.int128
nav:
- modules/ROOT/nav.adoc
start_page: overview.adoc
9 changes: 9 additions & 0 deletions doc/antora_docs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash

set -ex

SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd "$SCRIPT_DIR"

npm ci
npx antora int128-playbook.yml
9 changes: 9 additions & 0 deletions doc/build_antora.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash

set -ex

SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd "$SCRIPT_DIR"

npm ci
npx antora int128-playbook.yml
14 changes: 14 additions & 0 deletions doc/int128-playbook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
site:
title: Boost.int128
start_page: int128::index.adoc
content:
sources:
- url: ..
start_path: doc
branches: HEAD
output:
dir: html
ui:
bundle:
url: https://github.com/boostorg/website-v2-docs/releases/download/ui-master/ui-bundle.zip
output_dir: int128/_
57 changes: 0 additions & 57 deletions doc/int128.adoc

This file was deleted.

45 changes: 45 additions & 0 deletions doc/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
* xref:overview.adoc[]
* xref:examples.adoc[]
** xref:examples.adoc#examples_construction[Basic Construction]
** xref:examples.adoc#examples_arithmetic[Basic Arithmetic]
** xref:examples.adoc#examples_io[IO Streaming]
** xref:examples.adoc#examples_bit[`<bit>` support]
** xref:examples.adoc#examples_numeric[`<numeric>` support]
** xref:examples.adoc#examples_mixed_sign[Mixed Signedness Arithmetic]
** xref:examples.adoc#examples_boost_math_random[Boost Math and Random Integration]
** xref:examples.adoc#examples_boost_charconv[Boost.Charconv Integration]
* xref:api_reference.adoc[]
** xref:api_reference.adoc#api_namespaces[Namespaces]
** xref:api_reference.adoc#api_types[Types]
** xref:api_reference.adoc#api_literals[Literals]
** xref:api_reference.adoc#api_structs[Structs]
** xref:api_reference.adoc#api_functions[Functions]
*** xref:api_reference.adoc#api_bit[`<bit>`]
*** xref:api_reference.adoc#api_cstdlib[`<cstdlib>`]
*** xref:api_reference.adoc#api_charconv[`<charconv>`]
*** xref:api_reference.adoc#api_cmath[`<cmath>`]
*** xref:api_reference.adoc#api_iostream[`<iostream>`]
*** xref:api_reference.adoc#api_ios[`<ios>`]
*** xref:api_reference.adoc#api_numeric[`<numeric>`]
** xref:api_reference.adoc#api_concepts[Concepts]
** xref:api_reference.adoc#api_macros[Macros]
*** xref:api_reference.adoc#api_macro_literals[Literals]
*** xref:api_reference.adoc#api_macro_configuration[Configuration]
* xref:concepts.adoc[]
** xref:concepts.adoc#signed_integer[Signed Integer]
** xref:concepts.adoc#unsigned_integer[Unsigned Integer]
** xref:concepts.adoc#integer[Integer]
* xref:uint128_t.adoc[]
* xref:int128_t.adoc[]
* xref:mixed_type_ops.adoc[]
* xref:literals.adoc[]
* xref:bit.adoc[]
* xref:cstdlib.adoc[]
* xref:charconv.adoc[]
* xref:stream.adoc[]
* xref:numeric.adoc[]
* Benchmarks
** xref:u128_benchmarks.adoc[]
** xref:i128_benchmarks.adoc[]
* xref:reference.adoc[]
* xref:copyright.adoc[]
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,40 @@ https://www.boost.org/LICENSE_1_0.txt
= API Reference
:idprefix: api_ref_

[#api_namespaces]
== Namespaces

- `boost::int128` contains all components of the library except `<charconv>` functionality
- <<literals, `boost::int128::literals`>>

[#api_types]
== Types

- <<uint128_t, `uint128_t`>>
- <<int128_t, `int128_t`>>

[#api_literals]
== Literals

- <<literals, `_u128`>>
- <<literals, `_U128`>>
- <<literals, `_i128`>>
- <<literals, `_I128`>>

== Structures and Classes
[#api_structs]
== Structures

- https://en.cppreference.com/w/cpp/types/numeric_limits[`std::numeric_limits<uint128_t>`]
- https://en.cppreference.com/w/cpp/types/numeric_limits[`std::numeric_limits<int128_t>`]
- <<div_structs, `u128div_t`>>
- <<div_structs, `i128div_t`>>

[#api_functions]
== Functions

Listed by analogous STL header.

[#api_bit]
=== `<bit>`
- <<has_single_bit, `has_single_bit`>>
- <<countl_zero, `countl_zero`>>
Expand All @@ -48,28 +56,38 @@ Listed by analogous STL header.
- <<popcount, `popcount`>>
- <<byteswap, `byteswap`>>

[#api_charconv]
=== `<charconv>`
- <<to_chars, `to_chars`>>
- <<from_chars, `from_chars`>>

[#api_cmath]
=== `<cmath>`
- `abs` - Absolute Value

=== <<std_format, `<format>`>>
[#api_cstdlib]
=== `<cstdlib>`
- <<cstdlib, `div`>>

=== <<fmt_format, `pass:[{fmt}]`>>
[#api_formatting]
=== Formatting
- <<std_format, `<format>`>>
- <<fmt_format, `pass:[{fmt}]`>>

[#api_iostream]
=== `<iostream>`
- <<stream, `operator<<`>>
- <<stream, `operator>>`>>

[#api_ios]
=== `<ios>`
- <<ios, `std::oct`>>
- <<ios, `std::dec`>>
- <<ios, `std::hex`>>
- <<ios, `std::uppercase`>>
- <<ios, `std::nouppercase`>>

[#api_numeric]
=== `<numeric>`
- <<sat_arith, `add_sat`>>
- <<sat_arith, `sub_sat`>>
Expand All @@ -80,14 +98,17 @@ Listed by analogous STL header.
- <<lcm, `lcm`>>
- <<midpoint, `midpoint`>>

[#api_concepts]
== Concepts

- <<unsigned_integer, `unsigned_integer`>>
- <<signed_integer, `signed_integer`>>
- <<integer, `integer`>>

[#api_macros]
== Macros

[#api_macro_literals]
=== Constants (`<boost/int128/climits.hpp>`)

- `BOOST_INT128_UINT128_MAX`
Expand All @@ -99,6 +120,7 @@ Listed by analogous STL header.
- <<literals, `BOOST_INT128_UINT128_C`>>
- <<literals, `BOOST_INT128_INT128_C`>>

[#api_macro_configuration]
=== Configuration

==== User Configuration
Expand Down
2 changes: 1 addition & 1 deletion doc/int128/bit.adoc → doc/modules/ROOT/pages/bit.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ https://www.boost.org/LICENSE_1_0.txt
////

[#Bit]
= <bit>
= `<bit>`
:idprefix: bit_

The following are functions analogous to those found in C\++20's https://en.cppreference.com/w/cpp/header/bit[<bit>] header, but for `boost::int128::uint128_t`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ https://www.boost.org/LICENSE_1_0.txt
////

[#Charconv]
= <charconv>
= `<charconv>`
:idprefix: charconv_

The following functions are all overloads injected into https://www.boost.org/doc/libs/master/libs/charconv/doc/html/charconv.html[Boost.Charconv].
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading
Loading