⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 musiclib.h

📁 basic.c */ /**//* Project:NeuroBasic, basic package*//**/ /* Survey:This is a simple Basic b-code
💻 H
字号:
/****************************************************************//*								*//* Name:	musiclib.h					*//*								*//* Project:	NeuroBasic, simple simulator			*//*								*//* Survey:	This header file is only for the simple simula-	*//*		tor version of NeuroBasic! It is a striped	*//*		single-file version of the musiclib.h file of	*//*		MUSIC development environment. See the		*//*		original file for detailed comments.		*//*								*//* Author:	Urs Mueller					*//*		Electronics Laboratory, ETH Zuerich		*//*		Switzerland					*//*								*//* Created:	July 31, 1994					*//* Modified:	August 5, 1994 (um)				*//*								*//****************************************************************/#ifndef __MUSICLIB_H#define __MUSICLIB_H#include <stdlib.h>#define MINT      long			/* must be 32 bit */#define UMINT     unsigned long		/* must be 32 bit */#define MFLOAT    float			/* must be 32 bit */#define MINT_MIN  LONG_MIN#define MINT_MAX  LONG_MAX#ifndef TRUE#define TRUE 1#endif#ifndef FALSE#define FALSE 0#endif#ifndef MIN#define MIN(a, b)	((a < b) ? a : b)#endif#ifndef MAX#define MAX(a, b)	((a < b) ? b : a)#endiftypedef enum { MT_PROD, MT_CONS, MT_PROD_LOW, MT_CONS_LOW, MT_SLOW, MT_INIT,  MT_FAST } mem_t;typedef enum{ MS_FIRST, MS_BEST}mems_t;typedef enum{ MP_PROD_FIRST, MP_CONS_FIRST}memp_t;void *dmalloc(size_t, mem_t);void *dcalloc(MINT , size_t, mem_t);void *drealloc(void *, size_t , mem_t);void dfree(void *);void dstrategy(mems_t);void dpriority(memp_t);MINT dmavail(mem_t);void dstatus(void);extern MINT   NumDSPs;	/* Number of DSPs available. */extern MINT   MyDSPnum;	/* 0..NumDSPs-1; Different for each DSP. */typedef struct {MINT x; MINT y; MINT z; } size3D_t;typedef struct {  size3D_t   offset;  size3D_t   part;  MINT	     nelements;} window_t;typedef struct {  size3D_t  dim;  size_t    elem_size;  window_t  prod;  window_t  cons;} comm_def_t;typedef enum {  NO_DISTR, ALL_DISTR, X_DISTR, Y_DISTR, Z_DISTR,   HOST_ONLY, MAJOR_DSP_ONLY, XY_DISTR} distr_t;void Window_generator ( comm_def_t   *Pcomm_def,			window_t     *Pss_def,			MINT	     NumDSPs,			MINT	     MyDSPnum,			distr_t      distr,			MINT	     overlap_x,			MINT	     overlap_y,			MINT	     overlap_z );#define Complete_prod_window(Pcomm_def, prod_distr)		\	    Window_generator((Pcomm_def), &(Pcomm_def)->prod,	\	    NumDSPs, MyDSPnum, (prod_distr), 0, 0, 0 )#define Complete_cons_window(Pcomm_def, cons_distr, olap_x, olap_y, olap_z) \            Window_generator((Pcomm_def), &(Pcomm_def)->cons,               \            NumDSPs, MyDSPnum, (cons_distr),                                \            olap_x, olap_y, olap_z )void Distr_one_dim ( MINT   *Ppart,		     MINT   *Poffset,		     MINT   NumDSPs,		     MINT   MyDSPnum,		     MINT   dim,		     MINT   overlap );typedef enum{ COMM_NORM          = 0,  COMM_CONS_DIRECT   = 1,  COMM_PROD_DIRECT   = 2,  COMM_OVERLAP0      = 16,  COMM_OVERLAP_BACK  = 32,  COMM_OVERLAP_FRONT = 64,  COMM_RGB_SWAP	     = 128} comm_mode_t;#define COMM_OVERLAP1 COMM_OVERLAP_BACK#define HOST_IO  ((void*)-1)void Init_comm ( comm_def_t     *Pcomm_def,		 void		*Pprod,		 void		*Pcons,		 comm_mode_t	comm_mode );#define ALL_DATA -1void Data_ready ( MINT nelements );MINT Wait_data ( MINT nelements );typedef enum {RD_ALL, RD_PART, RD_DMA_TO_FIRST} RFH_t;void Rd_from_host(void *p, size_t size, RFH_t mode);typedef enum {WR_ALL, WR_ONE} WTH_t;void Wr_to_host(void *p, size_t size, WTH_t mode);void Delay ( long usec );#endif	/* __MUSICLIB_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -