Init
This commit is contained in:
44
cppdraft/numerics/c.md
Normal file
44
cppdraft/numerics/c.md
Normal file
@@ -0,0 +1,44 @@
|
||||
[numerics.c]
|
||||
|
||||
# 29 Numerics library [[numerics]](./#numerics)
|
||||
|
||||
## 29.11 C compatibility [numerics.c]
|
||||
|
||||
### [29.11.1](#stdckdint.h.syn) Header <stdckdint.h> synopsis [[stdckdint.h.syn]](stdckdint.h.syn)
|
||||
|
||||
[ð](#header:%3cstdckdint.h%3e)
|
||||
|
||||
#define __STDC_VERSION_STDCKDINT_H__ 202311Ltemplate<class type1, class type2, class type3>bool ckd_add(type1* result, type2 a, type3 b);template<class type1, class type2, class type3>bool ckd_sub(type1* result, type2 a, type3 b);template<class type1, class type2, class type3>bool ckd_mul(type1* result, type2 a, type3 b);
|
||||
|
||||
[1](#stdckdint.h.syn-1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L20627)
|
||||
|
||||
See also: ISO/IEC 9899:2024, 7.20
|
||||
|
||||
### [29.11.2](#ckdint) Checked integer operations [[numerics.c.ckdint]](numerics.c.ckdint)
|
||||
|
||||
[ð](#lib:ckd_add)
|
||||
|
||||
`template<class type1, class type2, class type3>
|
||||
bool ckd_add(type1* result, type2 a, type3 b);
|
||||
template<class type1, class type2, class type3>
|
||||
bool ckd_sub(type1* result, type2 a, type3 b);
|
||||
template<class type1, class type2, class type3>
|
||||
bool ckd_mul(type1* result, type2 a, type3 b);
|
||||
`
|
||||
|
||||
[1](#ckdint-1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L20645)
|
||||
|
||||
*Mandates*: Each of the types type1, type2, and type3 is a
|
||||
cv-unqualified signed or unsigned integer type[.](#ckdint-1.sentence-1)
|
||||
|
||||
[2](#ckdint-2)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L20650)
|
||||
|
||||
*Remarks*: Each function template has the same semantics as
|
||||
the corresponding type-generic macro with the same name
|
||||
specified in ISO/IEC 9899:2024, 7.20[.](#ckdint-2.sentence-1)
|
||||
Reference in New Issue
Block a user