[libcxx] adds [concepts.arithmetic]

Implements parts of:
    * P0898R3 Standard Library Concepts
    * P1754 Rename concepts to standard_case for C++20, while we still can

Differential Revision: https://reviews.llvm.org/D88131

GitOrigin-RevId: bee7b07f230d53de4945769a93490e3488252a7e
diff --git a/include/concepts b/include/concepts
index e83dce7..b44e8cc 100644
--- a/include/concepts
+++ b/include/concepts
@@ -165,6 +165,19 @@
     static_cast<_To>(__f());
   };
 
+// [concepts.arithmetic], arithmetic concepts
+template<class _Tp>
+concept integral = is_integral_v<_Tp>;
+
+template<class _Tp>
+concept signed_integral = integral<_Tp> && is_signed_v<_Tp>;
+
+template<class _Tp>
+concept unsigned_integral = integral<_Tp> && !signed_integral<_Tp>;
+
+template<class _Tp>
+concept floating_point = is_floating_point_v<_Tp>;
+
 // [concept.destructible]
 
 template<class _Tp>