Main Content

fimath

고정소수점 수학 연산 설정 지정

설명

예제

F = fimath는 디폴트 fimath 속성 설정을 사용하여 fimath 객체를 만듭니다.

예제

F = fimath(Name,Value)는 하나 이상의 이름-값 쌍 인수를 사용하여 fimath 객체의 속성을 지정합니다. 생성자에서 지정되지 않은 모든 속성은 디폴트 값을 사용합니다.

예제

모두 축소

이 예제에서는 디폴트 속성 설정을 사용하여 fimath 객체를 만드는 방법을 보여줍니다.

F = fimath
F = 
        RoundingMethod: Nearest
        OverflowAction: Saturate
           ProductMode: FullPrecision
               SumMode: FullPrecision

객체 생성 시 이름-값 쌍을 사용하여 fimath 객체의 속성을 설정합니다. 예를 들어, 오버플로 동작을 포화로 설정하고 반올림 방법을 수렴(Convergent)으로 설정합니다.

F = fimath('OverflowAction','Saturate','RoundingMethod','Convergent')
F = 
        RoundingMethod: Convergent
        OverflowAction: Saturate
           ProductMode: FullPrecision
               SumMode: FullPrecision

입력 인수

모두 축소

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: F = fimath('OverflowAction','Saturate','RoundingMethod','Floor')

두 피연산자가 덧셈 전에 합산 결과의 데이터형으로 형변환되는지 여부로, 숫자형 또는 논리값 1(true) 또는 0(false)으로 지정됩니다.

참고

SumModeFullPrecision으로 설정된 경우 이 속성은 표시되지 않습니다.

예: F = fimath('CastBeforeSum',true)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

곱셈 데이터형에 대해 허용 가능한 최대 워드 길이로, 양의 정수로 지정됩니다.

예: F = fimath('MaxProductWordLength',16)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

합산 데이터형에 대해 허용 가능한 최대 워드 길이로, 양의 정수로 지정됩니다.

예: F = fimath('MaxSumWordLength',16)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

오버플로인 경우 수행할 동작으로, 다음 값 중 하나로 지정됩니다.

  • 'Saturate' – 오버플로 시 고정소수점 범위의 최댓값 또는 최솟값으로 포화됩니다.

  • 'Wrap' – 오버플로 시 래핑됩니다. 이 모드는 2의 보수 오버플로라고도 합니다.

예: F = fimath('OverflowAction','Wrap')

데이터형: char

곱셈 데이터형의 편향으로, 부동소수점 숫자로 지정됩니다.

예: F = fimath('ProductBias',1)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

곱셈 데이터형의 고정 지수로, 0이 아닌 정수로 지정됩니다.

참고

ProductFractionLengthProductFixedExponent의 음수입니다. 한 속성을 변경하면 다른 속성도 변경됩니다.

예: F = fimath('ProductFixedExponent',-20)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

곱셈 데이터형의 소수부 길이(비트 수)로, 0이 아닌 정수로 지정됩니다.

참고

ProductFractionLengthProductFixedExponent의 음수입니다. 한 속성을 변경하면 다른 속성도 변경됩니다.

예: F = fimath('ProductFractionLength',20)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

곱셈 데이터형이 결정되는 방식으로, 다음 값 중 하나로 지정됩니다.

  • 'FullPrecision' – 결과의 최대 정밀도가 유지됩니다.

  • 'KeepLSB' – 최하위 비트를 유지합니다. 곱 연산 워드 길이를 지정합니다. 소수부 길이는 곱의 최하위 비트를 유지하도록 설정됩니다.

  • 'KeepMSB' – 최상위 비트를 유지합니다. 곱 연산 워드 길이를 지정합니다. 소수부 길이는 곱의 최상위 비트를 유지하도록 설정됩니다.

  • 'SpecifyPrecision' – 곱의 워드 길이와 소수부 길이 또는 기울기와 편향을 지정합니다.

예: F = fimath('ProductMode','KeepLSB')

데이터형: char

곱셈 데이터형의 기울기로, 유한한 양의 부동소수점 숫자로 지정됩니다.

참고

ProductSlope=ProductSlopeAdjustmentFactor×2ProductFixedExponent

이러한 속성 중 하나를 변경하면 다른 속성에 영향을 줍니다.

예: F = fimath('ProductSlope',9.3132e-10)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

곱셈 데이터형의 기울기 조정 인자로, 1보다 크거나 같고 2보다 작은 부동소수점 숫자로 지정됩니다.

참고

ProductSlope=ProductSlopeAdjustmentFactor×2ProductFixedExponent

이러한 속성 중 하나를 변경하면 다른 속성에 영향을 줍니다.

예: F = fimath('ProductSlopeAdjustmentFactor',1)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

곱셈 데이터형의 워드 길이(비트 수)로, 양의 정수로 지정됩니다.

예: F = fimath('ProductWordLength',64)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

사용할 반올림 방법으로, 다음 값 중 하나로 지정됩니다.

  • 'Nearest' – 가장 가까운 값으로 반올림합니다. 반올림 경계에 놓인 숫자는 양수 무한대 방향으로 올림합니다.

  • 'Ceiling' – 양수 무한대 방향으로 올림합니다.

  • 'Convergent' – 가장 가까운 값으로 반올림합니다. 반올림 경계에 놓인 숫자는 가장 가까운 짝수로 저장된 정수로 반올림합니다(최소 편향).

  • 'Zero' – 0 방향으로 반올림합니다.

  • 'Floor' – 음수 무한대 방향으로 내림합니다.

  • 'Round' – 가장 가까운 값으로 반올림합니다. 반올림 경계에 놓인 숫자가 음수인 경우 음수 무한대 방향으로 내림하고, 양수인 경우 양수 무한대 방향으로 올림합니다.

예: F = fimath('RoundingMethod','Convergent')

데이터형: char

합산 데이터형의 편향으로, 부동소수점 숫자로 지정됩니다.

예: F = fimath('SumBias',0)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

합산 데이터형의 고정 지수로, 0이 아닌 정수로 지정됩니다.

참고

SumFractionLengthSumFixedExponent의 음수입니다. 한 속성을 변경하면 다른 속성도 변경됩니다.

예: F = fimath('SumFixedExponent',-20)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

합산 데이터형의 소수부 길이(비트 수)로, 0이 아닌 정수로 지정됩니다.

참고

SumFractionLengthSumFixedExponent의 음수입니다. 한 속성을 변경하면 다른 속성도 변경됩니다.

예: F = fimath('SumFractionLength',20)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

합산 데이터형이 결정되는 방식으로, 다음 값 중 하나로 지정됩니다.

  • 'FullPrecision' – 결과의 최대 정밀도가 유지됩니다.

  • 'KeepLSB' – 최하위 비트를 유지합니다. 합산 데이터형의 워드 길이를 지정합니다. 소수부 길이는 합의 최하위 비트를 유지하도록 설정됩니다.

  • 'KeepMSB' – 최상위 비트를 유지합니다. 합산 데이터형의 워드 길이를 지정합니다. 소수부 길이는 합의 최상위 비트를 유지하고 소수부 비트 수가 필요한 개수를 초과하지 않도록 유지합니다.

  • 'SpecifyPrecision' – 합산 데이터형의 워드 길이와 소수부 길이 또는 기울기와 편향을 지정합니다.

예: F = fimath('SumMode','KeepLSB')

데이터형: char

합산 데이터형의 기울기로, 부동소수점 숫자로 지정됩니다.

참고

SumSlope=SumSlopeAdjustmentFactor×2SumFixedExponent

이러한 속성 중 하나를 변경하면 다른 속성에 영향을 줍니다.

예: F = fimath('SumSlope',9.3132e-10)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

합산 데이터형의 기울기 조정 인자로, 1보다 크거나 같고 2보다 작은 부동소수점 숫자로 지정됩니다.

참고

SumSlope=SumSlopeAdjustmentFactor×2SumFixedExponent

이러한 속성 중 하나를 변경하면 다른 속성에 영향을 줍니다.

예: F = fimath('SumSlopeAdjustmentFactor',1)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

합산 데이터형의 워드 길이(비트 수)로, 양의 정수로 지정됩니다.

예: F = fimath('SumWordLength',64)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

확장 기능

HDL 코드 생성
HDL Coder™를 사용하여 FPGA 및 ASIC 설계를 위한 VHDL, Verilog 및 SystemVerilog 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

모두 확장