iLLD_TC27xD  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 133 of file IfxCpu_IntrinsicsDcc.h.

asm fract __float_to_fract ( float  a)

Convert float to fract

Definition at line 142 of file IfxCpu_IntrinsicsDcc.h.

asm float __fract_to_float ( fract  a)

Convert fract to float.

Definition at line 151 of file IfxCpu_IntrinsicsDcc.h.

asm fract __getfract ( laccum  a)

Convert __laccum to fract

Definition at line 161 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 173 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 186 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 196 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 205 of file IfxCpu_IntrinsicsDcc.h.

asm sfract __round16 ( fract  a)

Convert fract to sfract

Definition at line 214 of file IfxCpu_IntrinsicsDcc.h.

asm sfract __s16_to_sfract ( short  a)

Convert signed short to sfract

Definition at line 225 of file IfxCpu_IntrinsicsDcc.h.

asm short __sfract_to_s16 ( sfract  a)

Convert sfract to signed short

Definition at line 234 of file IfxCpu_IntrinsicsDcc.h.

asm volatile uint16 __sfract_to_u16 ( sfract  a)

Convert sfract to uint16

Definition at line 242 of file IfxCpu_IntrinsicsDcc.h.

asm laccum __shaaccum ( laccum  a,
sint32  b 
)

Left/right shift of an __laccum

Definition at line 251 of file IfxCpu_IntrinsicsDcc.h.

asm fract __shafracts ( fract  a,
sint32  b 
)

Left/right shift of an fract

Definition at line 271 of file IfxCpu_IntrinsicsDcc.h.

asm sfract __shasfracts ( sfract  a,
sint32  b 
)

Left/right shift of an sfract

Definition at line 284 of file IfxCpu_IntrinsicsDcc.h.

asm sfract __u16_to_sfract ( uint16  a)

Convert uint16 to sfract

Definition at line 294 of file IfxCpu_IntrinsicsDcc.h.