亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wfdbf.c

?? ecg wave detection program for unix / linux
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* file: wfdbf.c	G. Moody	 23 August 1995			Last revised:     11 June 2008		wfdblib 10.4.7_______________________________________________________________________________wfdbf: Fortran wrappers for the WFDB library functionsCopyright (C) 1995-2008 George B. MoodyThis library is free software; you can redistribute it and/or modify it underthe terms of the GNU Library General Public License as published by the FreeSoftware Foundation; either version 2 of the License, or (at your option) anylater version.This library is distributed in the hope that it will be useful, but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR APARTICULAR PURPOSE.  See the GNU Library General Public License for moredetails.You should have received a copy of the GNU Library General Public License alongwith this library; if not, write to the Free Software Foundation, Inc., 59Temple Place - Suite 330, Boston, MA 02111-1307, USA.You may contact the author by e-mail (george@mit.edu) or postal mail(MIT Room E25-505A, Cambridge, MA 02139 USA).  For updates to this software,please visit PhysioNet (http://www.physionet.org/)._______________________________________________________________________________General notes on using the wrapper functionsWrappers are provided below for all of the WFDB library functions exceptsetmsheader.  See the sample program (example.f, in this directory)to see how the wrappers are used.Include the statements	implicit integer(a-z)	real aduphys, getbasecount, getcfreq, sampfreq(or the equivalent for your dialect of Fortran) in your Fortran program toensure that these functions (except for the four listed in the secondstatement) will be understood to return integer*4 values (equivalent to C`long' values).Note that Fortran arrays are 1-based, and C arrays are 0-based.  Signal andannotator numbers passed to these functions must be 0-based.If you are using a UNIX Fortran compiler, or a Fortran-to-C translator, notethat the trailing `_' in these function names should *not* appear in yourFortran program;  thus, for example, `annopen_' should be invoked as`annopen'.  UNIX Fortran compilers and translators append a `_' to thenames of all external symbols referenced in Fortran source files whengenerating object files.  Thus the linker can recognize that annopen_(defined below) is the function required by a Fortran program that invokes`annopen';  if the Fortran program were to invoke `annopen_', the linkerwould search (unsuccessfully) for a function named `annopen__'.If you are using a Fortran compiler that does not follow this convention,you are on your own.*/#include <stdio.h>#include <wfdb/wfdb.h>#include <wfdb/ecgmap.h>#ifndef BSD# include <string.h>#else		/* for Berkeley UNIX only */# include <strings.h>#endif/* If a WFDB_Sample is the same size as a long (true except for MS-DOS PCs and   a few less common systems), considerable efficiency gains are possible.   Otherwise, define REPACK below to compile the code needed to repack arrays   of DB_Samples into long arrays. *//* #define REPACK *//* If Fortran strings are terminated by spaces rather than by null characters,   define FIXSTRINGS. *//* #define FIXSTRINGS */#ifdef FIXSTRINGS/* This function leaks memory!  Ideally we would like to free(t) once *t is   no longer needed.  If this is a concern, we might push all values assigned   to t onto a stack and free them all on exit.  In practice we are usually   dealing with a small number of short strings. */char *fcstring(char *s)	/* change final space to null */{    char *p = s, *t;    while (*s && *s != ' ')	s++;    t = calloc(1, s-p+1);    if (s > p) strncpy(t, p, s-p);    return (t);}char *cfstring(char *s)	/* change final null to space */{    char *p = s;    while (*s)	s++;    *s = ' ';    return (p);}#else#define fcstring(s)	(s)#define cfstring(s)	(s)#endif/* Static data shared by the wrapper functions.  Since Fortran does not support   composite data types (such as C `struct' types), these are defined here, and   functions for setting and retrieving data from these structures are provided   below. */static WFDB_Siginfo sinfo[WFDB_MAXSIG];static WFDB_Calinfo cinfo;static WFDB_Anninfo ainfo[WFDB_MAXANN*2];/* The functions setanninfo_, setsiginfo_, and getsiginfo_ do not have direct   equivalents in the WFDB library;  they are provided in order to permit   Fortran programs to read and write data structures passed to and from   several of the WFDB library functions.  Since the contents of these   structures are directly accessible by C programs, these functions are not   needed in the C library.*/long setanninfo_(long int *a, char *name, long int *stat){    if (0 <= *a && *a < WFDB_MAXANN*2) {	ainfo[*a].name = fcstring(name);	ainfo[*a].stat = *stat;	return (0L);    }    else	return (-1L);}long getsiginfo_(long int *s, char *fname, char *desc, char *units, double *gain, long int *initval, long int *group, long int *fmt, long int *spf, long int *bsize, long int *adcres, long int *adczero, long int *baseline, long int *nsamp, long int *cksum){    if (0 <= *s && *s < WFDB_MAXSIG) {	fname = sinfo[*s].fname;	desc = sinfo[*s].desc;	units = sinfo[*s].units;	*gain = sinfo[*s].gain;	*initval = sinfo[*s].initval;	*group = sinfo[*s].group;	*fmt = sinfo[*s].fmt;	*spf = sinfo[*s].spf;	*bsize = sinfo[*s].bsize;	*adcres = sinfo[*s].adcres;	*adczero = sinfo[*s].adczero;	*baseline = sinfo[*s].baseline;	*nsamp = sinfo[*s].nsamp;	*cksum = sinfo[*s].cksum;	return (0L);    }    else	return (-1L);}long setsiginfo_(long int *s, char *fname, char *desc, char *units, double *gain, long int *initval, long int *group, long int *fmt, long int *spf, long int *bsize, long int *adcres, long int *adczero, long int *baseline, long int *nsamp, long int *cksum){    if (0 <= *s && *s < WFDB_MAXSIG) {	sinfo[*s].fname = fname;	sinfo[*s].desc = desc;	sinfo[*s].units = units;	sinfo[*s].gain = *gain;	sinfo[*s].initval = *initval;	sinfo[*s].group = *group;	sinfo[*s].fmt = *fmt;	sinfo[*s].spf = *spf;	sinfo[*s].bsize = *bsize;	sinfo[*s].adcres = *adcres;	sinfo[*s].adczero = *adczero;	sinfo[*s].baseline = *baseline;	sinfo[*s].nsamp = *nsamp;	sinfo[*s].cksum = *cksum;	return (0L);    }    else	return (-1L);}/* Before using annopen_, set up the annotation information structures using   setanninfo_. */long annopen_(char *record, long int *nann){    return (annopen(fcstring(record), ainfo, (unsigned int)(*nann)));}/* After using isigopen_ or osigopen_, use getsiginfo_ to obtain the contents   of the signal information structures if necessary. */long isigopen_(char *record, long int *nsig){    return (isigopen(fcstring(record), sinfo, (unsigned int)(*nsig)));}long osigopen_(char *record, long int *nsig){    return (osigopen(fcstring(record), sinfo, (unsigned int)(*nsig)));}/* Before using osigfopen_, use setsiginfo_ to set the contents of the signal   information structures. */long osigfopen_(long int *nsig){    return (osigfopen(sinfo, (unsigned int)(*nsig)));}/* Before using wfdbinit_, use setanninfo_ and setsiginfo_ to set the contents   of the annotation and signal information structures. */long wfdbinit_(char *record, long int *nann, long int *nsig){    return (wfdbinit(fcstring(record), ainfo, (unsigned int)(*nann),		     sinfo, (unsigned int)(*nsig)));}long setgvmode_(long int *mode){    setgvmode((int)(*mode));    return (0L);}long getspf_(long int *dummy){    return (getspf());}long setifreq_(double *freq){    return (setifreq(*freq));}double getifreq_(long int *dummy){    return (getifreq());}long setafreq_(double *freq){    setafreq(*freq);    return (0L);}double getafreq_(long int *dummy){    return (getafreq());}long getvec_(long int *long_vector){#ifndef REPACK    return (getvec((WFDB_Sample *)long_vector));#else    WFDB_Sample v[WFDB_MAXSIG];    int i, j;    i = getvec(v);    for (j = 0; j < i; j++)	long_vector[i] = v[i];    return (i);#endif}long getframe_(long int *long_vector){#ifndef REPACK    return (getframe((WFDB_Sample *)long_vector));#else    WFDB_Sample v[WFDB_MAXSIG*WFDB_MAXSPF];    int i, j, k;    i = getframe(v);    for (j = 0; j < i; j += k)	for (k = 0; k < sinfo[i].spf; k++)	    long_vector[j+k] = v[j+k];    return (i);#endif}long putvec_(long int *long_vector){#ifndef REPACK    return (putvec((WFDB_Sample *)long_vector));#else    WFDB_Sample v[WFDB_MAXSIG*WFDB_MAXSPF];    int i;    for (i = 0; i < WFDB_MAXSIG*WFDB_MAXSPF; i++)	v[i] = long_vector[i];    return (putvec(v));#endif}long getann_(long int *annotator, long int *time, long int *anntyp, long int *subtyp, long int *chan, long int *num, char *aux){    static WFDB_Annotation iann;    int i, j;    i = getann((WFDB_Annotator)(*annotator), &iann);    if (i == 0) {	*time = iann.time;	*anntyp = iann.anntyp;	*subtyp = iann.subtyp;	*chan = iann.chan;	*num = iann.num;	aux = iann.aux;    }    return (i);}long ungetann_(long int *annotator, long int *time, long int *anntyp, long int *subtyp, long int *chan, long int *num, char *aux){    static WFDB_Annotation oann;    int i, j;    oann.time = *time;    oann.anntyp = *anntyp;    oann.subtyp = *subtyp;    oann.chan = *chan;    oann.num = *num;    oann.aux = aux;    return (ungetann((WFDB_Annotator)(*annotator), &oann));}long putann_(long int *annotator, long int *time, long int *anntyp, long int *subtyp, long int *chan, long int *num, char *aux){    static WFDB_Annotation oann;    int i, j;    char *p, *q = NULL;    oann.time = *time;    oann.anntyp = *anntyp;    oann.subtyp = *subtyp;    oann.chan = *chan;    oann.num = *num;    if (aux) {	p = fcstring(aux);	q = calloc(strlen(p)+2, 1);	*q = strlen(p);	strcpy(q+1, p);    }    oann.aux = q;    i = putann((WFDB_Annotator)(*annotator), &oann);    if (q) free(q);    return (i);}long isigsettime_(long int *time){    return (isigsettime((WFDB_Time)(*time)));}long isgsettime_(long int *group, long int *time){    return (isgsettime((WFDB_Group)(*group), (WFDB_Time)(*time)));}long iannsettime_(long int *time){    return (iannsettime((WFDB_Time)(*time)));}long ecgstr_(long int *code, char *string){    strcpy(string, ecgstr((int)(*code)));    cfstring(string);    return (0L);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99re亚洲国产精品| 亚洲婷婷综合色高清在线| 中文字幕精品三区| 午夜伊人狠狠久久| 国产精品亚洲а∨天堂免在线| 91行情网站电视在线观看高清版| 精品对白一区国产伦| 香蕉成人啪国产精品视频综合网| 成人激情综合网站| 2020国产精品自拍| 蜜臀av一区二区在线免费观看| 色八戒一区二区三区| 国产精品久久久久精k8| 国产老妇另类xxxxx| 日韩一级黄色大片| 丝袜国产日韩另类美女| 色婷婷狠狠综合| 综合在线观看色| jlzzjlzz亚洲女人18| 国产视频一区二区在线| 狠狠色狠狠色综合日日91app| 3atv一区二区三区| 日本aⅴ免费视频一区二区三区 | www.久久精品| 久久人人97超碰com| 极品少妇xxxx精品少妇| 日韩精品一区二区三区视频播放 | 色综合久久中文综合久久97| 久久九九久精品国产免费直播| 免费的国产精品| 欧美一区午夜视频在线观看 | 亚洲同性gay激情无套| 99精品偷自拍| 亚洲一区精品在线| 欧美色综合天天久久综合精品| 玉米视频成人免费看| 欧美系列一区二区| 婷婷国产在线综合| 日韩免费电影网站| 国产在线麻豆精品观看| 国产精品私人自拍| 91官网在线观看| 日韩成人免费看| 精品国产一二三区| 豆国产96在线|亚洲| 一区二区三区小说| 69p69国产精品| 国产一区二区成人久久免费影院 | 久久免费的精品国产v∧| 风间由美一区二区三区在线观看| 最新国产精品久久精品| 日本道色综合久久| 日韩成人精品在线观看| 国产亚洲欧美色| 在线免费观看日韩欧美| 午夜激情久久久| 国产日韩三级在线| 欧美在线看片a免费观看| 日本欧美韩国一区三区| 日本一区二区三区四区 | 精品免费99久久| 成人av在线影院| 夜夜精品视频一区二区| 欧美一级在线视频| 99久久综合狠狠综合久久| 亚洲成a人v欧美综合天堂下载| 久久综合狠狠综合久久激情| 欧洲国内综合视频| 国产精品69久久久久水密桃| 一区二区三区美女视频| 久久色在线视频| 欧美片在线播放| 91免费版pro下载短视频| 免费成人小视频| 一区二区三区在线观看视频| 久久天堂av综合合色蜜桃网| 在线观看国产91| 成人免费福利片| 琪琪一区二区三区| 国产精品久久久久影院老司| 精品久久久影院| 欧美精品乱码久久久久久 | 国产精品网站在线| 日韩免费一区二区三区在线播放| 一本到不卡免费一区二区| 老司机精品视频导航| 亚洲国产精品久久艾草纯爱| 日本一区二区动态图| 欧美大片国产精品| 欧美日本一道本在线视频| 91片在线免费观看| 国产成+人+日韩+欧美+亚洲| 蜜臀av一区二区在线免费观看| 亚洲网友自拍偷拍| 依依成人精品视频| 亚洲欧洲日韩在线| 国产精品盗摄一区二区三区| 久久久久久久久97黄色工厂| 精品剧情在线观看| 日韩欧美国产一区二区三区| 欧美三级视频在线播放| 色婷婷av一区二区三区软件| 97国产精品videossex| 成人av网址在线| 福利一区福利二区| 成熟亚洲日本毛茸茸凸凹| 国产乱码精品1区2区3区| 麻豆成人免费电影| 奇米精品一区二区三区在线观看| 亚洲成人福利片| 天天色天天爱天天射综合| 视频一区二区三区在线| 午夜精品成人在线| 免费在线看成人av| 蜜桃视频在线观看一区二区| 日本欧美加勒比视频| 久88久久88久久久| 国产一区高清在线| 福利一区二区在线| av高清不卡在线| 日本精品一区二区三区高清| 91极品视觉盛宴| 538prom精品视频线放| 日韩三级精品电影久久久| 精品国产一区久久| 亚洲国产高清在线| 亚洲欧美一区二区三区极速播放 | 精品视频一区二区三区免费| 欧美日韩mp4| 日韩精品中文字幕一区二区三区| 337p亚洲精品色噜噜狠狠| 日韩欧美中文字幕公布| 久久精品欧美日韩精品| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 亚洲精品日韩综合观看成人91| 亚洲第一福利视频在线| 开心九九激情九九欧美日韩精美视频电影 | 国产中文字幕一区| 国产91色综合久久免费分享| 一本大道久久a久久综合婷婷| 欧美蜜桃一区二区三区| 精品欧美乱码久久久久久1区2区| 国产精品天干天干在观线| 亚洲图片欧美视频| 国产剧情av麻豆香蕉精品| 91影院在线免费观看| 欧美美女一区二区在线观看| 国产亚洲女人久久久久毛片| 亚洲综合视频在线| 国产suv一区二区三区88区| 欧美做爰猛烈大尺度电影无法无天| 91精品久久久久久久91蜜桃| 国产婷婷精品av在线| 婷婷中文字幕综合| www.日韩在线| 欧美www视频| 亚洲一区在线观看免费 | 国产一区二区三区免费看 | 成人综合在线观看| 欧美日韩高清不卡| 国产精品久久久久久久久久免费看 | 国产综合一区二区| 欧美日韩一区二区欧美激情| 国产日韩亚洲欧美综合| 日本成人在线看| 日本韩国欧美在线| 国产欧美日韩视频在线观看| 日韩一区精品字幕| 91视频.com| 中文字幕av一区二区三区高 | 艳妇臀荡乳欲伦亚洲一区| 国产一区在线看| 欧美大片免费久久精品三p| 洋洋av久久久久久久一区| 不卡av电影在线播放| 久久一二三国产| 老司机午夜精品99久久| 欧美人体做爰大胆视频| 亚洲丝袜自拍清纯另类| 国产黄色精品视频| 精品国产91乱码一区二区三区| 亚洲电影在线播放| 欧美最新大片在线看| 亚洲黄色小说网站| 99国产精品久久久久久久久久| 亚洲国产精品精华液ab| 国产成人av电影在线播放| 欧美videos中文字幕| 全国精品久久少妇| 欧美一区午夜视频在线观看| 五月天婷婷综合| 欧美另类一区二区三区| 亚洲成人tv网| 91精品免费在线| 美女视频黄 久久| 日韩三级中文字幕| 蜜桃视频第一区免费观看| 欧美一区二区三区在线看| 视频一区免费在线观看| 91精选在线观看|