Numerics library
C++ 수치 연산 라이브러리에는 일반적인 수학 함수와 자료형, 최적화된 숫자 배열 및 난수 생성 지원이 포함되어 있습니다.
목차 |
수학 함수 및 유형
공통 수학 함수
헤더 파일 <cmath> 는 표준 C 라이브러리 수학 함수들 을 제공합니다. 예를 들어 std::fabs , std::sqrt , 그리고 std::sin 과 같은 함수들이 있습니다.
수학적 특수 함수 (C++17부터)
헤더 <cmath> 는 또한 std::beta , std::hermite , std::cyl_bessel_i 와 같은 여러 수학 특수 함수들을 제공합니다.
수학 상수 (C++20 이후)
헤더 파일 <numbers> 는 std::numbers::pi 나 std::numbers::sqrt2 와 같은 여러 수학적 상수를 제공합니다.
기본 선형 대수 알고리즘
기본 선형 대수 알고리즘 (C++26부터)
헤더 <linalg> 는 BLAS를 기반으로 하는 기본 선형 대수 알고리즘들을 제공합니다.
데이터 병렬 타입 (C++26부터)
<simd> 헤더는 데이터 병렬 처리를 명시적으로 표현하고 더 효율적인 SIMD 접근을 위한 데이터 구조화를 위한 이식 가능한 타입들을 제공합니다.
복소수 연산
|
헤더 파일에 정의됨
<complex>
|
|
|
복소수 타입
(클래스 템플릿) |
|
숫자 배열
|
헤더 파일에 정의됨
<valarray>
|
|
|
수치 배열, 배열 마스크 및 배열 슬라이스
(클래스 템플릿) |
|
수치 알고리즘
헤더 <numeric> 는 아래의 수치 알고리즘들을 제공합니다:
Factor operations (since C++17)
|
헤더 파일에 정의됨
<numeric>
|
|
|
(C++17)
|
두 정수의 최대공약수를 계산함
(함수 템플릿) |
|
(C++17)
|
두 정수의 최소공배수를 계산함
(함수 템플릿) |
보간 연산 (C++20)
|
정의된 헤더
<numeric>
|
|
|
(C++20)
|
두 숫자 또는 포인터 사이의 중간점
(함수 템플릿) |
|
정의된 헤더
<cmath>
|
|
|
(C++20)
|
선형 보간 함수
(함수) |
포화 산술 (since C++26)
|
헤더 파일에 정의됨
<numeric>
|
|
|
(C++26)
|
두 정수에 대한 포화 덧셈 연산
(함수 템플릿) |
|
(C++26)
|
두 정수에 대한 포화 뺄셈 연산
(함수 템플릿) |
|
(C++26)
|
두 정수에 대한 포화 곱셈 연산
(함수 템플릿) |
|
(C++26)
|
두 정수에 대한 포화 나눗셈 연산
(함수 템플릿) |
|
(C++26)
|
다른 정수 타입의 범위로 제한된 정수 값을 반환
(함수 템플릿) |
수치 연산
|
헤더에 정의됨
<numeric>
|
|
|
(C++11)
|
범위를 시작 값의 연속적인 증가값으로 채움
(함수 템플릿) |
|
(C++23)
|
범위를 시작 값의 연속적인 증가값으로 채움
(알고리즘 함수 객체) |
|
요소 범위의 합계를 계산하거나 접음
(함수 템플릿) |
|
|
(C++17)
|
std::accumulate
와 유사하지만 순서가 보장되지 않음
(함수 템플릿) |
|
(C++17)
|
호출 가능 객체를 적용한 후 순서가 보장되지 않은 방식으로 리듀스
(함수 템플릿) |
|
두 요소 범위의 내적을 계산
(함수 템플릿) |
|
|
범위 내 인접 요소들 간의 차이를 계산
(함수 템플릿) |
|
|
요소 범위의 부분 합을 계산
(함수 템플릿) |
|
|
(C++17)
|
std::partial_sum
와 유사하지만,
i
번째
입력 요소를
i
번째
합계에 포함
(함수 템플릿) |
|
(C++17)
|
std::partial_sum
와 유사하지만,
i
번째
입력 요소를
i
번째
합계에서 제외
(함수 템플릿) |
|
(C++17)
|
호출 가능 객체를 적용한 후 inclusive scan 계산
(함수 템플릿) |
|
(C++17)
|
호출 가능 객체를 적용한 후 exclusive scan 계산
(함수 템플릿) |
기타
의사 난수 생성
헤더 파일 <random> 는 의사 난수 생성기와 수치 분포 를 정의합니다. 헤더 파일 <cstdlib> 또한 C 스타일 난수 생성을 std::srand 와 std::rand 를 통해 제공합니다.
부동 소수점 환경 (C++11 이후)
헤더 <cfenv> 는 오버플로우와 0으로 나누기 같은 예외적인 부동소수점 상태와 관련된 플래그 및 함수 를 정의합니다.
비트 조작 (C++20 이후)
<bit> 헤더는 개별 비트와 비트 시퀀스에 접근, 조작 및 처리하기 위한 여러 함수 템플릿을 제공합니다. 스칼라 타입의 바이트 순서( 엔디언 )는 std:: endian 기능을 통해 확인할 수 있습니다.
검증된 정수 연산 (since C++26)
C 호환성 헤더 <stdckdint.h> 는 검증된 정수 연산을 위한 여러 함수 템플릿을 제공합니다.
|
헤더 파일에 정의됨
<stdckdint.h>
|
|
|
(C++26)
|
두 정수에 대한 검사된 덧셈 연산
(함수 템플릿) |
|
(C++26)
|
두 정수에 대한 검사된 뺄셈 연산
(함수 템플릿) |
|
(C++26)
|
두 정수에 대한 검사된 곱셈 연산
(함수 템플릿) |
참고 항목
|
C 문서
for
Numerics
|