VLSI Solution Oy / MegaLib Documentation

vstypes.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define MR_NONE   0
#define MR_INT   0x200
#define MR_SAT   0x400
#define FMT_S16   "d"
#define FMT_U16   "u"
#define FMT_H16   "x"
#define FMT_S32   "d"
#define FMT_U32   "u"
#define FMT_H32   "x"
#define register
#define __reg_a
#define __reg_b
#define __reg_c
#define __reg_d
#define __a0
#define __a1
#define __b0
#define __b1
#define __c0
#define __c1
#define __d0
#define __d1
#define __i0
#define __i1
#define __i2
#define __i3
#define __mem_x
#define __y
#define __near
#define __far
#define auto
#define FMUL32(a, b)   (f_int32)((long long)(f_int32)(a) * (f_int32)(b) >> 31)
#define FMUL16(a, b)   (f_int16)((long)(f_int16)(a) * (f_int16)(b) >> 15)
#define FDIV32(a, b)   (f_int32)(((long long)(f_int32)(a)<<31) / (f_int32)(b))
#define FDIV16(a, b)   (f_int16)(((long)(f_int16)(a)<<15) / (f_int16)(b))
#define DBL2F32(a)   (f_int32)((a)*(32768.0*65536.0))
#define DBL2F16(a)   (f_int16)((a)*32768.0)
#define SqrtI(a)   ((u_int16)sqrt(a))
#define SqrtI32(a)   ((u_int32)(sqrt(a)*65536.0))
#define USEX(x)   *((__x volatile u_int16 *)(u_int16)(x))
#define USEY(x)   *((__y volatile u_int16 *)(u_int16)(x))

Typedefs

typedef short s_int16
typedef unsigned short u_int16
typedef int s_int32
typedef unsigned int u_int32
typedef s_int16 f_int16
typedef s_int32 f_int32


Detailed Description

Standard VSDSP types and definitions. This standard file contains standard definitions and types. It also makes it easier to compile the same source code with both VSDSP and Unix compilers by undefining symbols that are only understood by VSDSP C compilers.

Definition in file vstypes.h.


Define Documentation

#define __a0
 

Definition at line 62 of file vstypes.h.

#define __a1
 

Definition at line 63 of file vstypes.h.

#define __b0
 

Definition at line 64 of file vstypes.h.

#define __b1
 

Definition at line 65 of file vstypes.h.

#define __c0
 

Definition at line 66 of file vstypes.h.

#define __c1
 

Definition at line 67 of file vstypes.h.

#define __d0
 

Definition at line 68 of file vstypes.h.

#define __d1
 

Definition at line 69 of file vstypes.h.

#define __far
 

Definition at line 77 of file vstypes.h.

#define __i0
 

Definition at line 70 of file vstypes.h.

#define __i1
 

Definition at line 71 of file vstypes.h.

#define __i2
 

Definition at line 72 of file vstypes.h.

#define __i3
 

Definition at line 73 of file vstypes.h.

#define __mem_x
 

Definition at line 74 of file vstypes.h.

#define __near
 

Definition at line 76 of file vstypes.h.

#define __reg_a
 

Definition at line 58 of file vstypes.h.

#define __reg_b
 

Definition at line 59 of file vstypes.h.

#define __reg_c
 

Definition at line 60 of file vstypes.h.

#define __reg_d
 

Definition at line 61 of file vstypes.h.

#define __y
 

Definition at line 75 of file vstypes.h.

#define auto
 

Definition at line 78 of file vstypes.h.

#define DBL2F16  )     (f_int16)((a)*32768.0)
 

16-bit fractional double-to-fract conversion (Unix version).

Definition at line 114 of file vstypes.h.

#define DBL2F32  )     (f_int32)((a)*(32768.0*65536.0))
 

32-bit fractional double-to-fract conversion (Unix version).

Definition at line 112 of file vstypes.h.

#define FDIV16 a,
 )     (f_int16)(((long)(f_int16)(a)<<15) / (f_int16)(b))
 

16-bit fractional division (Unix version).

Definition at line 110 of file vstypes.h.

#define FDIV32 a,
 )     (f_int32)(((long long)(f_int32)(a)<<31) / (f_int32)(b))
 

32-bit fractional division (Unix version).

Definition at line 108 of file vstypes.h.

#define FMT_H16   "x"
 

printf() format for 16-bit hex value

Definition at line 38 of file vstypes.h.

#define FMT_H32   "x"
 

printf() format for 32-bit hex value, UNIX version

Definition at line 53 of file vstypes.h.

#define FMT_S16   "d"
 

printf() format for signed 16-bit value

Definition at line 34 of file vstypes.h.

#define FMT_S32   "d"
 

printf() format for signed 32-bit value, UNIX version

Definition at line 49 of file vstypes.h.

#define FMT_U16   "u"
 

printf() format for unsigned 16-bit value

Definition at line 36 of file vstypes.h.

#define FMT_U32   "u"
 

printf() format for unsigned 32-bit value, UNIX version

Definition at line 51 of file vstypes.h.

#define FMUL16 a,
 )     (f_int16)((long)(f_int16)(a) * (f_int16)(b) >> 15)
 

16-bit fractional multiplication (Unix version).

Definition at line 106 of file vstypes.h.

#define FMUL32 a,
 )     (f_int32)((long long)(f_int32)(a) * (f_int32)(b) >> 31)
 

32-bit fractional multiplication (Unix version).

Definition at line 104 of file vstypes.h.

#define MR_INT   0x200
 

Mode register: Integer mode

Definition at line 17 of file vstypes.h.

#define MR_NONE   0
 

Mode register: Zero is fractional, non-saturated mode

Definition at line 15 of file vstypes.h.

#define MR_SAT   0x400
 

Mode register: Saturation mode

Definition at line 19 of file vstypes.h.

#define register
 

Definition at line 57 of file vstypes.h.

#define SqrtI  )     ((u_int16)sqrt(a))
 

Definition at line 119 of file vstypes.h.

#define SqrtI32  )     ((u_int32)(sqrt(a)*65536.0))
 

Definition at line 120 of file vstypes.h.

#define USEX  )     *((__x volatile u_int16 *)(u_int16)(x))
 

Direct memory write to X memory

Definition at line 157 of file vstypes.h.

#define USEY  )     *((__y volatile u_int16 *)(u_int16)(x))
 

Direct memory write to Y memory

Definition at line 161 of file vstypes.h.


Typedef Documentation

typedef s_int16 f_int16
 

Default 16-bit fractional type. This is the Non-VSDSP definition. The VSDSP definition reads typedef __fract short f_int16 . Addition and subtraction can be used as normal with this type, but some operations must be executed using macros: FMUL16() for multiplication, FDIV16() for division and DBL2F16() for double-to-fract conversion.

Definition at line 93 of file vstypes.h.

typedef s_int32 f_int32
 

Default 32-bit fractional type. This is the Non-VSDSP definition. The VSDSP definition reads typedef __fract long f_int32 . Addition and subtraction can be used as normal with this type, but some operations must be executed using macros: FMUL32() for multiplication, FDIV32() for division and DBL2F32() for double-to-fract conversion.

Definition at line 102 of file vstypes.h.

typedef short s_int16
 

Default signed 16-bit integer type

Definition at line 29 of file vstypes.h.

typedef int s_int32
 

Default signed 32-bit integer type

Definition at line 44 of file vstypes.h.

typedef unsigned short u_int16
 

Default unsigned 16-bit integer type

Definition at line 31 of file vstypes.h.

typedef unsigned int u_int32
 

Default unsigned 32-bit integer type

Definition at line 46 of file vstypes.h.


All software copyright 2005-2006 VLSI Solution OY. Redistribution of this software is strictly forbidden.