GnuSmalltalkUsersGuide:BaseChapter 077
- Float
Float
네임스페이스 Smalltalk에 정의됨
슈퍼클래스: Number
범주: 언어-데이터 타입
- 나의 인스턴스들은 임의의 정밀도를 가진 부동 소수점 수를 표현한다. 표준 수치 연산 외에 초월 연산(transcendental operation)도 제공한다. 또한 하드웨어가 지원할 경우 IEEE-754를 올바로 구현한다.
Float 클래스: 바이트 순서 의존성
signByte
부호 비트를 포함하는 수신자의 바이트를 응답하라.
Float 클래스: 특성화
denormalized
수신자의 인스턴스가 비정규화된(denormalized) 형태가 될 수 있는지 응답하라.
e
e의 값을 리턴하라. 정밀도가 충분하길 바란다.
epsilon
1 + x ~ = 1에서 가장 작은 Float x를 리턴하라.
fmin
> 0에 해당하는 가장 작은 Float를 리턴하라.
fminDenormalized
비정규 값을 지원할 경우 >0에 해당하는 가장 작은 Float을 리턴하고, 그 외에는 0을 리턴하라.
ln10
ln 10의 값을 리턴하라. 정밀도가 충분하길 바란다.
log10Base2
log2 10의 값을 리턴하라. 정밀도가 충분하길 바란다.
pi
pi의 값을 리턴하라. 정밀도가 충분하길 바란다.
radix
수신자의 인스턴스들 간 계산이 이루어지는 밑(base)을 응답하라. 알려진 컴퓨터라면 2 에 해당하므로 GNU Smalltalk는 항상 2 를 응답한다.
Float: 산술
integerPart
수신자의 정수 부분을 리턴하라.
negated
수신자의 부정(negation)을 리턴하라. 0-self와 달리 이는 부호가 있는 0(signed zero)을 올바로 변환한다.
raisedToInteger: anInteger
self의 anInteger 거듭제곱값을 리턴하라.
Float: 기본
hash
수신자에 대한 해시값을 응답하라.
Float: built-ins
arcCos
수신자의 아크코사인을 응답하라.
arcSin
수신자의 아크사인을 응답하라.
arcTan
수신자의 아크탄젠트를 응답하라.
ceiling
양의 무한대(+infinity)로 자른(truncated) 수신자의 정수 부분을 응답하라.
cos
수신자의 코사인을 응답하라.
exp
수신자에 'e' (2.718281828459...)제곱한 값을 응답하라.
floor
음의 무한대(+infinity)로 자른(truncated) 수신자의 정수 부분을 응답하라.
ln
밑(base)이 'e'인 수신자의 로그값을 응답하라 (2.718281828459...).
primHash
Private - 수신자에 대한 해시값을 응답하라.
raisedTo: aNumber
수신자의 aNumber 거듭제곱값을 응답하라.
sin
수신자의 사인을 응답하라.
sqrt
수신자의 제곱근을 응답하라.
tan
수신자의 탄젠트를 응답하라.
Float: 강제 유형 변환하기
asExactFraction
수신자를 최적 근사값, 보통은 큰 표현식(terms)을 이용해 분수로 변환하라.
asFraction
수신자를 양호한(하지만 정의되지 않은) 근사값의 분수로 변환하라.
truncated
수신자를 Integer로 변환하라. LargeIntegers에만 사용되며, 다른 경우에 사용되는 프리미티브도 있다.
Float: 강제 유형 변환
asCNumber
수신자를 C call-out 메커니즘이 이해하는 유형의 숫자로 변환하라.
Float: 비교하기
max: aNumber
수신자와 aNumber 간 최대값을 응답하라. self 또는 aNumber가 NaN인 경우 항상 그 값을 응답하도록 확보하는 데 필요하다면 서브클래스에서 재정의하라.
min: aNumber
수신자와 aNumber 간 최소값을 응답하라. self 또는 aNumber가 NaN인 경우 항상 그 값을 응답하도록 확보하는 데 필요하다면 서브클래스에서 재정의하라.
withSignOf: aNumber
aNumber의 부호에 일치하도록 변경되었을 가능성이 있는 부호를 가진 수신자를 응답하라.
Float: 인쇄하기
printOn: aStream
수신자의 표현을 aStream 상에 인쇄하라.
Float: 보관하기
isLiteralObject
수신자를 스몰토크 리터럴로 표현 가능한지 응답하라.
storeLiteralOn: aStream
수신자로 컴파일하는 스몰토크 코드 일부를 aStream 상에 보관하라.
storeOn: aStream
수신자의 표현을 aStream 상에 인쇄하라.
Float: 검사하기
isFinite
수신자가 무한대나 NaN을 나타내지 않는지를 응답하라.
isInfinite
수신자가 양의 무한대나 음의 무한대를 표현하는지 응답하라.
isNaN
수신자가 NaN을 응답하는지를 응답하라.
negative
수신자가 음으로 되었는지 응답하라.
positive
수신자가 양으로 되었는지 응답하라. 음의 0은 양이 아니므로 >= 0처럼 단순한 정의가 아니겠다.
sign
수신자가 0보다 큰 경우 1을 응답하고, 0보다 작으면 -1, 그 외에는 0을 응답하라. 음의 0은 양의 0과 같다.
strictlyPositive
수신자 > 0 인지 여부를 응답하라.
Float: 기능 검사하기
isFloat
'true'를 응답하라.
Float: 초월 연산
asFloat
완전성(completeness)을 위해 정의되었다. 수신자를 리턴하라.
ceilingLog: radix
(self log: radix) 상한값(ceiling)을 응답하라.
estimatedLog
(self abs floorLog: 10)의 추정값(estimate)을 응답하라.
floorLog: radix
(self log: radix) 하한값(floor)을 응답하라.
log
수신자의 로그 밑(log base) 10 을 응답하라.