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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sortd.src

?? 沒有說明
?? SRC
?? 第 1 頁 / 共 2 頁
字號:
**              If the inputs are null ("" or 0) the procedure
**              will ask for them.
**
**  Globals:    None
*/

proc 0 = mergeby(infile1,infile2,outfile,keytyp);
    local err,f1,f2,fout,name1,name2,b1,b2,invar1,invar2,varnames,ws;
    clear f1,f2,fout,err;
get1:

    if infile1 $== "";
        Print "Name of input file 1: ";;
        infile1 = cons;
        print;
    endif;
get2:

    if infile2 $== "";
        Print "Name of input file 2: ";;
        infile2 = cons;
        print;
    endif;

    open f1 = ^infile1;
    if f1==-1;
        print "Input file 1: " infile1 " not found";
        infile1 = "";
        goto get1;
    endif;
    if iscplxf(f1);
        errorlog "ERROR: Not implemented for complex data sets.";
        end;
    endif;

    open f2 = ^infile2;
    if f2==-1;
        print "Input file 2: " infile2 " not found";
        infile1 = "";
        goto get2;
    endif;
    if iscplxf(f2);
        errorlog "ERROR: Not implemented for complex data sets.";
        end;
    endif;

    invar1 = seqa(1,1,colsf(f1));           /* File 1 variable indices  */
    invar2 = seqa(1,1,colsf(f2));           /* File 2 variable indices  */

    if outfile $== "";
        Print "Name of output file: ";;
        outfile = cons;
        print;
    endif;

    name1 = getname(infile1);
    name2 = getname(infile2);
    name1 = name1[invar1,1];
    name2 = name2[invar2,1];
    if indcv(name1[1,1],name2[1,1]) /= 1;
        errorlog "Key variables must have the same name";
        goto errout;
    endif;
    varnames = name1|name2[2:rows(name2),1];

        /* The assumption being made below is that all the variables from
        :: both input files will be included in the output file and the type
        :: of the data will follow the file with the largest type. The key
        :: variable will be output from only one file.
        */

    if not keytyp;
        print "Key variable type:";
        print "     1   numeric key, ascending order";
        print "     2   character key, ascending order";
        print;
        print "   ? ";;
        keytyp = stof(cons);
    print;
    endif;

    if keytyp==2 and (typef(f1) /= 8 or typef(f2) /= 8);
        errorlog "WARNING - Sort is character type, dataset not double precis"\
            "ion.";
    endif;
    create fout = ^outfile with ^varnames,0,maxc(typef(f1)|typef(f2));
    if fout==-1;
        "Can't open output file.";
        goto errout;
    endif;

    b1 = submat(readr(f1,1),1,invar1);
    b2 = submat(readr(f2,1),1,invar2);

    ws = 1;         /* is set to 1 inside loop if write is successful  */

    /* ------------------ merge loop ------------------ */

    if keytyp==2;
        gosub charkey;
    else;
        gosub numkey;
    endif;

finish:

    if err;
        goto writerr;
    endif;
    call close(f1);
    call close(f2);
    call close(fout);
    retp;

writerr:

    errorlog "Error writing output file";
errout:

    call close(f1);
    call close(f2);
    call close(fout);
    end;

/* ======================================================================== */
/* -------------------------- Subroutines Follow -------------------------- */
/* ======================================================================== */

/* =============================== */
/* ===== Numeric Key Merge ======= */
/* =============================== */

numkey:

    do while ws;    /* do while write successful */
        if b1[1,1] == b2[1,1];
                /* key column from file 2 is dropped here */
            ws = writer(fout,b1~b2[1,2:cols(b2)]);
            if eof(f1) or eof(f2);
                return;
            endif;
            b1 = submat(readr(f1,1),1,invar1);
            b2 = submat(readr(f2,1),1,invar2);
        elseif b1[1,1] > b2[1,1];
            if eof(f2);
                return;
            endif;
            b2 = submat(readr(f2,1),1,invar2);
        else;
            if eof(f1);
                return;
            endif;
            b1 = submat(readr(f1,1),1,invar1);
        endif;
    endo;
    err = 1;
    return;

/* =============================== */
/* ==== Character Key Merge ====== */
/* =============================== */

charkey:

    do while ws;    /* do while write successful */
        if b1[1,1] $== b2[1,1];
                /* NOTE - key column from file 2 is dropped here */
            ws = writer(fout,b1~b2[1,2:cols(b2)]);
            if eof(f1) or eof(f2);
                return;
            endif;
            b1 = submat(readr(f1,1),1,invar1);
            b2 = submat(readr(f2,1),1,invar2);
        elseif b1[1,1] $> b2[1,1];
            if eof(f2);
                return;
            endif;
            b2 = submat(readr(f2,1),1,invar2);
        else;
            if eof(f1);
                return;
            endif;
            b1 = submat(readr(f1,1),1,invar1);
        endif;
    endo;
    err = 1;
    return;
/* ======================= End of Subroutines =========================== */

endp;

/*
**> sortd
**
**  Purpose:    To sort data file on disk with respect to a
**              specified variable.
**
**  Format:     sortd(infile,outfile,keyvar,keytyp);
**
**  Inputs:     infile     string, name of input file.
**
**              outfile    string, name of output file, must be different.
**
**              keyvar     string, name of key variable.
**
**              keytyp     scalar, type of key variable.
**
**                          1   numeric key, ascending order
**                          2   character key, ascending order
**                         -1   numeric key, descending order
**                         -2   character key, descending order
**
**  Remarks:    The data set INFILE will be sorted on the variable
**              KEYVAR, and will be placed in OUTFILE.
**
**              INFILE can have up to 4095 rows, with up to about
**              8100 variables. Putting this file on a ram disk
**              can speed up the program considerably.
**
**              If the inputs are null ("" or 0) the procedure
**              will ask for them.
**
**  Globals:    None
*/

proc 0 = sortd(infile,outfile,keyvar,keytyp);
    local ord,fin,fout,inx,x,srtmat,inrow,off,nr,rs,r,mix,varnames;
    clear fin,fout;

get1:

    if infile $== "";
        Print "Name of input file: ";;
        infile = cons;
        print;
    endif;

    if outfile $== "";
        Print "Name of output file: ";;
        outfile = cons;
        print;
    endif;

    open fin = ^infile;

    if fin==-1;
        print "Can't open " infile;
        infile = "";
        goto get1;
    endif;
#ifUNIX
    if infile $== outfile;
#else
    if upper(infile) $== upper(outfile);
#endif
        errorlog "Names must be different";
        goto errout;
    endif;
    varnames = getname(infile);

    if keyvar $/= "";
        goto havit;
    endif;

    format 8,8;
retry1:

    print "Variables are:";
    print $varnames';
    print "Name of key variable: ";;
    keyvar = cons;
    print;
havit:

    inx = indcv(keyvar,varnames);
    if scalmiss(inx);
        print "Variable " keyvar " not found";
        goto retry1;
    endif;
    if not keytyp;
        print "Sort order:";
        print "     1   numeric key, ascending order";
        print "     2   character key, ascending order";
        print "    -1   numeric key, descending order";
        print "    -2   character key, descending order";
        print;
        print "   ? ";;
        keytyp = stof(cons);
    print;
    endif;
    if keytyp < 0;
        ord = 0;
        keytyp = -keytyp;
    else;
        ord = 1;
    endif;

    if iscplxf( fin );
        create complex fout = ^outfile with ^varnames,0,typef(fin);
    else;
        create fout = ^outfile with ^varnames,0,typef(fin);
    endif;

    if fout==-1;
        errorlog "Can't open output file";
        goto errout;
    endif;

   /* no. of rows to read per iter. change if there's memory constraints */
    nr = 3000/colsf(fin);

    inrow = rowsf(fin);

#ifLIGHT

    if inrow > floor(maxvec/2);
        errorlog "Maximum rows " $+ ftos(floor(maxvec/2),"%lf",1,0) $+
                 ", this file has " $+ ftos(rowsf(fin),"%lf",1,0);
        goto errout;
    endif;

#endif

    x = readr(fin,1);

    srtmat = 1~x[1,inx];
    off = 1;

     /* reading input file and keeping only key variable */
    do until eof(fin);
        x = readr(fin,nr);
        srtmat = srtmat|(seqa(off+1,1,rows(x))~x[.,inx]);
        off = off+rows(x);
    endo;
    mix = seqa(1,1,rows(srtmat))~rndu(rows(srtmat),1);
    mix = sortc(mix,2);

    /* make sure its not already sorted, a quicksort would be real slow */
    srtmat = srtmat[mix[.,1],.];

    clear mix;
    if keytyp==2;
        srtmat = sortcc(srtmat,2);
    else;
        srtmat = sortc(srtmat,2);
    endif;
    if ord == 0;
        srtmat = rev(srtmat);
    endif;
    r = 1;
    rs = 1;
    do while rs and r <= inrow;     /* now we write output using index  */
        call seekr( fin, real(srtmat[r,1]) );
        rs = writer(fout,readr(fin,1));
        r = r+1;
    endo;

    if not rs;
        errorlog "\nDisk Full - Sort Incomplete";
        goto errout;
    endif;

out:

    call close(fin);
    call close(fout);
    retp;
errout:

    call close(fin);
    call close(fout);
    end;
endp;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲另类春色国产| 国产午夜三级一区二区三| 亚洲欧美日韩一区二区| 不卡av免费在线观看| 国产精品全国免费观看高清 | 欧美福利电影网| 日本三级亚洲精品| 精品粉嫩aⅴ一区二区三区四区| 国产在线不卡一区| 日本一区二区高清| 欧美午夜在线观看| 蜜桃av一区二区| 中文字幕国产一区二区| 色94色欧美sute亚洲13| 日韩精品每日更新| 国产亚洲福利社区一区| 91麻豆成人久久精品二区三区| 亚洲一区二区五区| 精品女同一区二区| 99久久精品国产精品久久 | 一级做a爱片久久| 88在线观看91蜜桃国自产| 激情成人综合网| 国产精品久久久久影院亚瑟| 在线精品国精品国产尤物884a| 免费国产亚洲视频| 亚洲国产成人午夜在线一区| 欧美日韩久久一区| 国产99久久精品| 亚洲国产精品天堂| 久久免费视频色| 欧美性大战xxxxx久久久| 国产乱对白刺激视频不卡| 亚洲永久精品大片| 中文字幕第一页久久| 91精品国产品国语在线不卡| av电影一区二区| 免费成人你懂的| 亚洲色图视频网站| 久久综合五月天婷婷伊人| 欧美三级视频在线观看| 成人午夜电影网站| 久久99国产精品尤物| 夜夜嗨av一区二区三区| 久久久99精品久久| 日韩欧美一区二区视频| 色婷婷综合久久久久中文| 国产福利精品一区二区| 日韩avvvv在线播放| 一区二区三区在线视频免费| 国产欧美精品一区aⅴ影院| 日韩一区二区三| 欧美久久久久久久久| 色综合色综合色综合色综合色综合| 国产一区二区三区日韩| 日韩电影在线免费看| 一区二区三区中文字幕| 亚洲天堂网中文字| 国产精品成人一区二区艾草| 久久久久久亚洲综合影院红桃| 欧美一区二区播放| 欧美高清www午色夜在线视频| 欧美性色欧美a在线播放| 91免费视频大全| 91丝袜美腿高跟国产极品老师| 国产**成人网毛片九色 | 欧美一区午夜视频在线观看| 在线观看视频一区二区| 91久久精品国产91性色tv| av电影天堂一区二区在线| 国产精品综合二区| 国产一区二区三区免费| 国产一区91精品张津瑜| 国产精品白丝av| 国产a精品视频| 国产91精品在线观看| 国产91精品免费| 成人一区二区三区视频| 国产aⅴ精品一区二区三区色成熟| 国产精品一区二区三区四区| 国产一本一道久久香蕉| 国产成人高清在线| 成人免费视频一区二区| 不卡的av电影在线观看| 99久久精品情趣| 91精品1区2区| 欧美日韩国产小视频| 日韩欧美一区中文| 国产午夜精品久久久久久免费视 | 麻豆成人久久精品二区三区小说| 蜜臀99久久精品久久久久久软件| 美脚の诱脚舐め脚责91| 精品系列免费在线观看| 国产精品综合网| 92精品国产成人观看免费| 欧洲精品视频在线观看| 欧美一区二区三区精品| 久久蜜桃av一区精品变态类天堂| 欧美韩日一区二区三区四区| 自拍av一区二区三区| 午夜久久久久久久久| 黑人巨大精品欧美一区| av一二三不卡影片| 欧美在线999| 欧美videofree性高清杂交| 久久久激情视频| 亚洲精品国产精华液| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产成人在线网站| 91福利视频久久久久| 欧美成人一级视频| 亚洲欧美日韩国产一区二区三区| 日日欢夜夜爽一区| 丰满放荡岳乱妇91ww| 欧美视频一区在线| 久久五月婷婷丁香社区| 亚洲免费高清视频在线| 手机精品视频在线观看| 高清av一区二区| 欧美男人的天堂一二区| 亚洲国产成人一区二区三区| 水野朝阳av一区二区三区| 高清成人免费视频| 91精品欧美综合在线观看最新| 国产精品久久久久久久久图文区 | 91免费版在线看| 精品国精品自拍自在线| 亚洲综合久久久| 成人高清在线视频| 欧美一区二区三区成人| 亚洲激情第一区| 国产盗摄一区二区三区| 欧美一级高清片| 日韩伦理电影网| 国产一区二区导航在线播放| 欧美精品丝袜久久久中文字幕| 中文字幕制服丝袜一区二区三区| 久久精品国产亚洲aⅴ| 欧美亚洲综合网| 中文字幕乱码久久午夜不卡| 精品一区免费av| 制服丝袜一区二区三区| 亚洲综合精品久久| av在线不卡观看免费观看| 国产午夜精品福利| 美国毛片一区二区| 欧美精品粉嫩高潮一区二区| 亚洲精品欧美在线| jiyouzz国产精品久久| 久久久久久麻豆| 精品伊人久久久久7777人| 欧美一区二区高清| 丝瓜av网站精品一区二区 | 美女高潮久久久| 这里只有精品免费| 午夜精品免费在线| 在线观看精品一区| 亚洲激情图片小说视频| 91蜜桃传媒精品久久久一区二区| 欧美—级在线免费片| 国产精品123区| 久久久www免费人成精品| 老司机午夜精品| 日韩欧美国产综合一区| 久久激五月天综合精品| 日韩视频永久免费| 久久精品国产成人一区二区三区 | 欧美性猛交xxxx乱大交退制版| 亚洲裸体xxx| 欧美做爰猛烈大尺度电影无法无天| 亚洲久本草在线中文字幕| 91在线观看高清| 亚洲一区二区不卡免费| 666欧美在线视频| 青娱乐精品视频在线| 精品国产一区久久| 国产精品一级在线| 中文幕一区二区三区久久蜜桃| 成人综合在线观看| 亚洲日本电影在线| 欧美伊人久久久久久久久影院| 天堂久久久久va久久久久| 日韩欧美国产精品一区| 国产一区 二区 三区一级| 国产精品视频一区二区三区不卡| 99r国产精品| 偷偷要91色婷婷| 精品国产免费视频| jvid福利写真一区二区三区| 亚洲专区一二三| 日韩精品一区国产麻豆| 国产91精品一区二区麻豆网站| 亚洲男人都懂的| 日韩欧美国产一区二区三区| 盗摄精品av一区二区三区| 亚洲人妖av一区二区| 欧美裸体bbwbbwbbw| 国产一区二区三区四区五区入口| 中文字幕一区二区三区在线观看| 在线观看日韩精品|