클래스 번호 라이브러리
Class Library for Numbers개발자 | 브루노 하이블과 리처드 B.크레켈 |
---|---|
안정적 해제 | 1.3.6 / 2019년 12월 5일; 전 |
기록 위치 | C++11 |
운영 체제 | 크로스 플랫폼 |
유형 | 수학적 소프트웨어 |
면허증 | GPL |
웹사이트 | http://www.ginac.de/CLN/ |
CLN(Class Library for Numbers)은 임의의 정밀 산술을 위한 무료 라이브러리다.부호화된 정수, 이성적 숫자, 부동 소수점 번호, 복잡한 숫자, 모듈형 숫자, 일변량 다항식으로 운영된다.구현 프로그래밍 언어는 C++이다.
세부 사항
CLN은 물체 지향 기법과 연산자 과부하를 사용하여 자연 대수 구문을 달성한다.두 변수 a와 b의 합 x는 함수 합(&x, a, b)과는 반대로 x = a + b로 표기된다.
CLN은 클래스 상속을 사용하여 사용 가능한 수 유형의 자연 하위 집합을 모델링한다. 예: 정수 클래스는 합리적인 숫자의 하위 집합인 것처럼 합리적인 클래스의 하위 유형이다.복잡한 숫자와 그 모든 하위 유형은 공통 Lisp 언어에 알려진 숫자의 유형과 정확히 똑같이 동작하며, CLN에 다른 의미를 부여한다. 즉, Common Lisp Numbers의 약어가 된다.이 때문에 CLN은 Common Lisp, 다른 해석 언어 또는 컴퓨터 대수 시스템의 구현에 사용될 수 있다.
구현이 효율적이다.속도중요 내부 루프를 위한 커널로 GNU Multi-Precision Library를 사용하도록 구성할 수 있으며, Schönagage-Strassen 곱셈, 이진 분할 등과 같은 고급 알고리즘을 구현한다.모든 CLN 객체는 즉시 또는 참조 카운트되어 주 애플리케이션에 대한 부담 없이 중단 없는 가비지 수집을 제공한다.