iLLD_TC27xC  1.0
Fractional Arithmetic Support
Collaboration diagram for Fractional Arithmetic Support:

Functions

asm short __clssf (sfract a)
 
asm fract __float_to_fract (float a)
 
asm float __fract_to_float (fract a)
 Convert fract to float. More...
 
asm fract __getfract (laccum a)
 
asm sfract __mac_r_sf (sfract a, sfract b, sfract c)
 
asm sfract __mac_sf (sfract a, sfract b, sfract c)
 
asm long __mulfractfract (fract a, fract b)
 
asm long __mulfractlong (fract a, long b)
 
asm sfract __round16 (fract a)
 
asm sfract __s16_to_sfract (short a)
 
asm short __sfract_to_s16 (sfract a)
 
asm volatile uint16 __sfract_to_u16 (sfract a)
 
asm laccum __shaaccum (laccum a, sint32 b)
 
asm fract __shafracts (fract a, sint32 b)
 
asm sfract __shasfracts (sfract a, sint32 b)
 
asm sfract __u16_to_sfract (uint16 a)
 

Detailed Description

The next table provides an overview of intrinsic functions to convert fractional values. Note that the TASKING VX-toolset C compiler for TriCore fully supports the fractional type so normally you should not need these intrinsic functions (except for __mulfractlong). For compatibility reasons the TASKING C compiler does support these functions.

Function Documentation

asm short __clssf ( sfract  a)

Count the consecutive number of bits that have the same value as bit 15 of an sfract

Definition at line 134 of file IfxCpu_IntrinsicsDcc.h.

asm fract __float_to_fract ( float  a)

Convert float to fract

Definition at line 143 of file IfxCpu_IntrinsicsDcc.h.

asm float __fract_to_float ( fract  a)

Convert fract to float.

Definition at line 152 of file IfxCpu_IntrinsicsDcc.h.

asm fract __getfract ( laccum  a)

Convert __laccum to fract

Definition at line 162 of file IfxCpu_IntrinsicsDcc.h.

asm sfract __mac_r_sf ( sfract  a,
sfract  b,
sfract  c 
)

Multiply-add with rounding. Returns the rounded result of ( a + b * c )

Definition at line 174 of file IfxCpu_IntrinsicsDcc.h.

asm sfract __mac_sf ( sfract  a,
sfract  b,
sfract  c 
)

Multiply-add sfract. Returns ( a + b * c )

Definition at line 187 of file IfxCpu_IntrinsicsDcc.h.

asm long __mulfractfract ( fract  a,
fract  b 
)

Integer part of the multiplication of a fract and a fract

Definition at line 197 of file IfxCpu_IntrinsicsDcc.h.

asm long __mulfractlong ( fract  a,
long  b 
)

Integer part of the multiplication of a fract and a long

Definition at line 206 of file IfxCpu_IntrinsicsDcc.h.

asm sfract __round16 ( fract  a)

Convert fract to sfract

Definition at line 215 of file IfxCpu_IntrinsicsDcc.h.

asm sfract __s16_to_sfract ( short  a)

Convert signed short to sfract

Definition at line 226 of file IfxCpu_IntrinsicsDcc.h.

asm short __sfract_to_s16 ( sfract  a)

Convert sfract to signed short

Definition at line 235 of file IfxCpu_IntrinsicsDcc.h.

asm volatile uint16 __sfract_to_u16 ( sfract  a)

Convert sfract to uint16

Definition at line 243 of file IfxCpu_IntrinsicsDcc.h.

asm laccum __shaaccum ( laccum  a,
sint32  b 
)

Left/right shift of an __laccum

Definition at line 252 of file IfxCpu_IntrinsicsDcc.h.

asm fract __shafracts ( fract  a,
sint32  b 
)

Left/right shift of an fract

Definition at line 272 of file IfxCpu_IntrinsicsDcc.h.

asm sfract __shasfracts ( sfract  a,
sint32  b 
)

Left/right shift of an sfract

Definition at line 285 of file IfxCpu_IntrinsicsDcc.h.

asm sfract __u16_to_sfract ( uint16  a)

Convert uint16 to sfract

Definition at line 295 of file IfxCpu_IntrinsicsDcc.h.