[#absl-MakeInt128]
= xref:absl.adoc[absl]::MakeInt128
:relfileprefix: ../
:mrdocs:

Constructs an `int128` numeric value from two 64&hyphen;bit integers&period;

== Synopsis

Declared in `&lt;absl&sol;numeric&sol;int128&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
constexpr
xref:absl/int128.adoc[int128]
MakeInt128(
    int64&lowbar;t high,
    uint64&lowbar;t low);
----

== Description

Signedness is conveyed in the upper `high` value, following `(absl&colon;&colon;int128(1) &lt;&lt; 64) &ast; high &plus; low`&period; This factory function is the only way to construct an `int128` from integer values greater than 2&circ;64 or less than &hyphen;2&circ;64&period;

Example&colon;

absl&colon;&colon;int128 big &equals; absl&colon;&colon;MakeInt128(1, 0)&semi; absl&colon;&colon;int128 big&lowbar;n &equals; absl&colon;&colon;MakeInt128(&hyphen;1, 0)&semi;

== Return Value

An `int128` assembled from `high` and `low`&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *high*
| The high&hyphen;order 64 bits, carrying the sign, of the result&period;
| *low*
| The low&hyphen;order 64 bits of the result&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
