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

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

?? math.c

?? linux-2.4.29操作系統的源碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* *  arch/s390/math-emu/math.c * *  S390 version *    Copyright (C) 1999-2001 IBM Deutschland Entwicklung GmbH, IBM Corporation *    Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com), * * 'math.c' emulates IEEE instructions on a S390 processor *          that does not have the IEEE fpu (all processors before G5). */#include <linux/config.h>#include <linux/types.h>#include <linux/sched.h>#include <linux/mm.h>#include <asm/uaccess.h>#include "sfp-util.h"#include <math-emu/soft-fp.h>#include <math-emu/single.h>#include <math-emu/double.h>#include <math-emu/quad.h>/* * I miss a macro to round a floating point number to the * nearest integer in the same floating point format. */#define _FP_TO_FPINT_ROUND(fs, wc, X)					\  do {									\    switch (X##_c)							\      {									\      case FP_CLS_NORMAL:						\        if (X##_e > _FP_FRACBITS_##fs + _FP_EXPBIAS_##fs)		\          { /* floating point number has no bits after the dot. */	\          }								\        else if (X##_e <= _FP_FRACBITS_##fs + _FP_EXPBIAS_##fs &&	\                 X##_e > _FP_EXPBIAS_##fs)				\	  { /* some bits before the dot, some after it. */		\            _FP_FRAC_SRS_##wc(X, _FP_WFRACBITS_##fs,			\                              X##_e - _FP_EXPBIAS_##fs			\                              + _FP_FRACBITS_##fs);			\	    _FP_ROUND(wc, X);						\	    _FP_FRAC_SLL_##wc(X, X##_e - _FP_EXPBIAS_##fs		\                              + _FP_FRACBITS_##fs);			\          }								\        else								\          { /* all bits after the dot. */				\	    FP_SET_EXCEPTION(FP_EX_INEXACT);				\            X##_c = FP_CLS_ZERO;					\	  }								\        break;								\      case FP_CLS_NAN:							\      case FP_CLS_INF:							\      case FP_CLS_ZERO:							\        break;								\      }									\  } while (0)#define FP_TO_FPINT_ROUND_S(X)	_FP_TO_FPINT_ROUND(S,1,X)#define FP_TO_FPINT_ROUND_D(X)	_FP_TO_FPINT_ROUND(D,2,X)#define FP_TO_FPINT_ROUND_Q(X)	_FP_TO_FPINT_ROUND(Q,4,X)typedef union {        long double ld;        struct {                __u64 high;                __u64 low;        } w;} mathemu_ldcv;#ifdef CONFIG_SYSCTLint sysctl_ieee_emulation_warnings=1;#endif#define mathemu_put_user(x, p) \        do { \                if (put_user((x),(p))) \                        return SIGSEGV; \        } while (0)#define mathemu_get_user(x, p) \        do { \                if (get_user((x),(p))) \                        return SIGSEGV; \        } while (0)#define mathemu_copy_from_user(d, s, n)\        do { \                if (copy_from_user((d),(s),(n)) == -EFAULT) \                        return SIGSEGV; \        } while (0)#define mathemu_copy_to_user(d, s, n) \        do { \                if (copy_to_user((d),(s),(n)) == -EFAULT) \                        return SIGSEGV; \        } while (0)static void display_emulation_not_implemented(struct pt_regs *regs, char *instr){        struct pt_regs *regs;        __u16 *location;        #if CONFIG_SYSCTL        if(sysctl_ieee_emulation_warnings)#endif        {                location = (__u16 *)(regs->psw.addr-S390_lowcore.pgm_ilc);                printk("%s ieee fpu instruction not emulated "                       "process name: %s pid: %d \n",                       instr, current->comm, current->pid);                printk("%s's PSW:    %08lx %08lx\n", instr,                       (unsigned long) regs->psw.mask,                       (unsigned long) location);        }}static inline void emu_set_CC (struct pt_regs *regs, int cc){        regs->psw.mask = (regs->psw.mask & 0xFFFFCFFF) | ((cc&3) << 12);}/* * Set the condition code in the user psw. *  0 : Result is zero *  1 : Result is less than zero *  2 : Result is greater than zero *  3 : Result is NaN or INF */static inline void emu_set_CC_cs(struct pt_regs *regs, int class, int sign){        switch (class) {        case FP_CLS_NORMAL:        case FP_CLS_INF:                emu_set_CC(regs, sign ? 1 : 2);                break;        case FP_CLS_ZERO:                emu_set_CC(regs, 0);                break;        case FP_CLS_NAN:                emu_set_CC(regs, 3);                break;        }}/* Add long double */static int emu_axbr (struct pt_regs *regs, int rx, int ry) {        FP_DECL_Q(QA); FP_DECL_Q(QB); FP_DECL_Q(QR);        FP_DECL_EX;	mathemu_ldcv cvt;        int mode;	mode = current->thread.fp_regs.fpc & 3;        cvt.w.high = current->thread.fp_regs.fprs[rx].ui;        cvt.w.low = current->thread.fp_regs.fprs[rx+2].ui;        FP_UNPACK_QP(QA, &cvt.ld);        cvt.w.high = current->thread.fp_regs.fprs[ry].ui;        cvt.w.low = current->thread.fp_regs.fprs[ry+2].ui;        FP_UNPACK_QP(QB, &cvt.ld);        FP_ADD_Q(QR, QA, QB);        FP_PACK_QP(&cvt.ld, QR);        current->thread.fp_regs.fprs[rx].ui = cvt.w.high;        current->thread.fp_regs.fprs[rx+2].ui = cvt.w.low;        emu_set_CC_cs(regs, QR_c, QR_s);        return _fex;}/* Add double */static int emu_adbr (struct pt_regs *regs, int rx, int ry) {        FP_DECL_D(DA); FP_DECL_D(DB); FP_DECL_D(DR);        FP_DECL_EX;        int mode;	mode = current->thread.fp_regs.fpc & 3;        FP_UNPACK_DP(DA, &current->thread.fp_regs.fprs[rx].d);        FP_UNPACK_DP(DB, &current->thread.fp_regs.fprs[ry].d);        FP_ADD_D(DR, DA, DB);	FP_PACK_DP(&current->thread.fp_regs.fprs[rx].d, DR);        emu_set_CC_cs(regs, DR_c, DR_s);        return _fex;}/* Add double */static int emu_adb (struct pt_regs *regs, int rx, double *val) {        FP_DECL_D(DA); FP_DECL_D(DB); FP_DECL_D(DR);        FP_DECL_EX;        int mode;	mode = current->thread.fp_regs.fpc & 3;        FP_UNPACK_DP(DA, &current->thread.fp_regs.fprs[rx].d);        FP_UNPACK_DP(DB, val);        FP_ADD_D(DR, DA, DB);	FP_PACK_DP(&current->thread.fp_regs.fprs[rx].d, DR);        emu_set_CC_cs(regs, DR_c, DR_s);        return _fex;}/* Add float */static int emu_aebr (struct pt_regs *regs, int rx, int ry) {        FP_DECL_S(SA); FP_DECL_S(SB); FP_DECL_S(SR);        FP_DECL_EX;        int mode;	mode = current->thread.fp_regs.fpc & 3;        FP_UNPACK_SP(SA, &current->thread.fp_regs.fprs[rx].f);        FP_UNPACK_SP(SB, &current->thread.fp_regs.fprs[ry].f);        FP_ADD_S(SR, SA, SB);	FP_PACK_SP(&current->thread.fp_regs.fprs[rx].f, SR);        emu_set_CC_cs(regs, SR_c, SR_s);        return _fex;}/* Add float */static int emu_aeb (struct pt_regs *regs, int rx, float *val) {        FP_DECL_S(SA); FP_DECL_S(SB); FP_DECL_S(SR);        FP_DECL_EX;        int mode;	mode = current->thread.fp_regs.fpc & 3;        FP_UNPACK_SP(SA, &current->thread.fp_regs.fprs[rx].f);        FP_UNPACK_SP(SB, val);        FP_ADD_S(SR, SA, SB);	FP_PACK_SP(&current->thread.fp_regs.fprs[rx].f, SR);        emu_set_CC_cs(regs, SR_c, SR_s);        return _fex;}/* Compare long double */static int emu_cxbr (struct pt_regs *regs, int rx, int ry) {        FP_DECL_Q(QA); FP_DECL_Q(QB);	mathemu_ldcv cvt;        int IR;        cvt.w.high = current->thread.fp_regs.fprs[rx].ui;        cvt.w.low = current->thread.fp_regs.fprs[rx+2].ui;        FP_UNPACK_RAW_QP(QA, &cvt.ld);        cvt.w.high = current->thread.fp_regs.fprs[ry].ui;        cvt.w.low = current->thread.fp_regs.fprs[ry+2].ui;        FP_UNPACK_RAW_QP(QB, &cvt.ld);        FP_CMP_Q(IR, QA, QB, 3);        /*         * IR == -1 if DA < DB, IR == 0 if DA == DB,         * IR == 1 if DA > DB and IR == 3 if unorderded         */        emu_set_CC(regs, (IR == -1) ? 1 : (IR == 1) ? 2 : IR);        return 0;}/* Compare double */static int emu_cdbr (struct pt_regs *regs, int rx, int ry) {        FP_DECL_D(DA); FP_DECL_D(DB);        int IR;        FP_UNPACK_RAW_DP(DA, &current->thread.fp_regs.fprs[rx].d);        FP_UNPACK_RAW_DP(DB, &current->thread.fp_regs.fprs[ry].d);        FP_CMP_D(IR, DA, DB, 3);        /*         * IR == -1 if DA < DB, IR == 0 if DA == DB,         * IR == 1 if DA > DB and IR == 3 if unorderded         */        emu_set_CC(regs, (IR == -1) ? 1 : (IR == 1) ? 2 : IR);        return 0;}/* Compare double */static int emu_cdb (struct pt_regs *regs, int rx, double *val) {        FP_DECL_D(DA); FP_DECL_D(DB);        int IR;        FP_UNPACK_RAW_DP(DA, &current->thread.fp_regs.fprs[rx].d);        FP_UNPACK_RAW_DP(DB, val);        FP_CMP_D(IR, DA, DB, 3);        /*         * IR == -1 if DA < DB, IR == 0 if DA == DB,         * IR == 1 if DA > DB and IR == 3 if unorderded         */        emu_set_CC(regs, (IR == -1) ? 1 : (IR == 1) ? 2 : IR);        return 0;}/* Compare float */static int emu_cebr (struct pt_regs *regs, int rx, int ry) {        FP_DECL_S(SA); FP_DECL_S(SB);        int IR;        FP_UNPACK_RAW_SP(SA, &current->thread.fp_regs.fprs[rx].f);        FP_UNPACK_RAW_SP(SB, &current->thread.fp_regs.fprs[ry].f);        FP_CMP_S(IR, SA, SB, 3);        /*         * IR == -1 if DA < DB, IR == 0 if DA == DB,         * IR == 1 if DA > DB and IR == 3 if unorderded         */        emu_set_CC(regs, (IR == -1) ? 1 : (IR == 1) ? 2 : IR);        return 0;}/* Compare float */static int emu_ceb (struct pt_regs *regs, int rx, float *val) {        FP_DECL_S(SA); FP_DECL_S(SB);        int IR;        FP_UNPACK_RAW_SP(SA, &current->thread.fp_regs.fprs[rx].f);        FP_UNPACK_RAW_SP(SB, val);        FP_CMP_S(IR, SA, SB, 3);        /*         * IR == -1 if DA < DB, IR == 0 if DA == DB,         * IR == 1 if DA > DB and IR == 3 if unorderded         */        emu_set_CC(regs, (IR == -1) ? 1 : (IR == 1) ? 2 : IR);        return 0;}/* Compare and signal long double */static int emu_kxbr (struct pt_regs *regs, int rx, int ry) {        FP_DECL_Q(QA); FP_DECL_Q(QB);        FP_DECL_EX;	mathemu_ldcv cvt;        int IR;        cvt.w.high = current->thread.fp_regs.fprs[rx].ui;        cvt.w.low = current->thread.fp_regs.fprs[rx+2].ui;        FP_UNPACK_RAW_QP(QA, &cvt.ld);        cvt.w.high = current->thread.fp_regs.fprs[ry].ui;        cvt.w.low = current->thread.fp_regs.fprs[ry+2].ui;        FP_UNPACK_QP(QB, &cvt.ld);        FP_CMP_Q(IR, QA, QB, 3);        /*         * IR == -1 if DA < DB, IR == 0 if DA == DB,         * IR == 1 if DA > DB and IR == 3 if unorderded         */        emu_set_CC(regs, (IR == -1) ? 1 : (IR == 1) ? 2 : IR);        if (IR == 3)                FP_SET_EXCEPTION (FP_EX_INVALID);        return _fex;}/* Compare and signal double */static int emu_kdbr (struct pt_regs *regs, int rx, int ry) {        FP_DECL_D(DA); FP_DECL_D(DB);        FP_DECL_EX;        int IR;        FP_UNPACK_RAW_DP(DA, &current->thread.fp_regs.fprs[rx].d);        FP_UNPACK_RAW_DP(DB, &current->thread.fp_regs.fprs[ry].d);        FP_CMP_D(IR, DA, DB, 3);        /*         * IR == -1 if DA < DB, IR == 0 if DA == DB,         * IR == 1 if DA > DB and IR == 3 if unorderded         */        emu_set_CC(regs, (IR == -1) ? 1 : (IR == 1) ? 2 : IR);        if (IR == 3)                FP_SET_EXCEPTION (FP_EX_INVALID);        return _fex;}/* Compare and signal double */static int emu_kdb (struct pt_regs *regs, int rx, double *val) {        FP_DECL_D(DA); FP_DECL_D(DB);        FP_DECL_EX;        int IR;        FP_UNPACK_RAW_DP(DA, &current->thread.fp_regs.fprs[rx].d);        FP_UNPACK_RAW_DP(DB, val);        FP_CMP_D(IR, DA, DB, 3);        /*         * IR == -1 if DA < DB, IR == 0 if DA == DB,         * IR == 1 if DA > DB and IR == 3 if unorderded         */        emu_set_CC(regs, (IR == -1) ? 1 : (IR == 1) ? 2 : IR);        if (IR == 3)                FP_SET_EXCEPTION (FP_EX_INVALID);        return _fex;}/* Compare and signal float */static int emu_kebr (struct pt_regs *regs, int rx, int ry) {        FP_DECL_S(SA); FP_DECL_S(SB);        FP_DECL_EX;        int IR;        FP_UNPACK_RAW_SP(SA, &current->thread.fp_regs.fprs[rx].f);        FP_UNPACK_RAW_SP(SB, &current->thread.fp_regs.fprs[ry].f);        FP_CMP_S(IR, SA, SB, 3);        /*         * IR == -1 if DA < DB, IR == 0 if DA == DB,         * IR == 1 if DA > DB and IR == 3 if unorderded         */        emu_set_CC(regs, (IR == -1) ? 1 : (IR == 1) ? 2 : IR);        if (IR == 3)                FP_SET_EXCEPTION (FP_EX_INVALID);        return _fex;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品二十页| 9191成人精品久久| 国产精华液一区二区三区| 亚洲午夜激情网站| 亚洲高清免费在线| 亚洲综合在线视频| 亚洲一区日韩精品中文字幕| 亚洲欧洲成人自拍| 亚洲日本成人在线观看| 国产精品国产三级国产aⅴ原创| 欧美激情综合在线| 亚洲欧洲一区二区在线播放| 国产精品久久久久久妇女6080| 国产精品久久夜| 亚洲人成网站色在线观看| 一区二区三区四区在线| 亚洲综合视频网| 人禽交欧美网站| 国产在线看一区| a级精品国产片在线观看| 99久久精品一区二区| 欧美中文字幕不卡| 91精品国产91综合久久蜜臀| 精品国产免费人成在线观看| 国产日韩三级在线| 亚洲一区影音先锋| 另类的小说在线视频另类成人小视频在线| 狠狠色丁香婷婷综合久久片| 国产精品一区二区无线| 99久久综合色| 91精品国产综合久久香蕉麻豆 | av亚洲精华国产精华| 91麻豆swag| 日韩天堂在线观看| 国产欧美综合在线观看第十页 | 亚洲伊人色欲综合网| 麻豆久久一区二区| av亚洲精华国产精华| 欧美一区二区免费观在线| 国产人久久人人人人爽| 亚洲精品国产品国语在线app| 日韩经典中文字幕一区| 成人成人成人在线视频| 3d动漫精品啪啪1区2区免费 | 色综合视频在线观看| 日韩一级视频免费观看在线| 一色屋精品亚洲香蕉网站| 麻豆视频观看网址久久| 日本道免费精品一区二区三区| 日韩精品一区在线| 亚洲国产毛片aaaaa无费看| 国产一区三区三区| 欧美日韩免费在线视频| 中文字幕日韩欧美一区二区三区| 图片区小说区国产精品视频| av资源站一区| 久久久久久久久97黄色工厂| 日韩成人精品在线观看| 色天使色偷偷av一区二区| 欧美精品一区二区三区蜜桃视频| 亚洲永久免费视频| 色偷偷88欧美精品久久久| 久久综合五月天婷婷伊人| 天堂久久一区二区三区| 色综合天天视频在线观看| 国产精品午夜久久| 国产成人免费高清| 久久婷婷综合激情| 精品一区二区在线免费观看| 欧美肥妇bbw| 亚洲国产精品视频| 在线观看亚洲一区| 亚洲精品日日夜夜| 色综合天天综合狠狠| 国产精品国产自产拍在线| 国产成人在线观看| 久久婷婷综合激情| 成人综合婷婷国产精品久久蜜臀 | 国产精品污污网站在线观看| 国产一区二区久久| 久久毛片高清国产| 国产精品小仙女| 国产亚洲综合色| 成人丝袜18视频在线观看| 国产网站一区二区| 丰满放荡岳乱妇91ww| 亚洲国产成人私人影院tom| 国产成人免费高清| 国产精品蜜臀av| 91免费视频大全| 亚洲国产精品影院| 4438x亚洲最大成人网| 精品一区二区久久| 久久久精品蜜桃| 成人免费毛片嘿嘿连载视频| 亚洲欧洲美洲综合色网| 91国产福利在线| 久久99精品国产麻豆婷婷| 久久久久久夜精品精品免费| 成人美女视频在线观看18| 一卡二卡三卡日韩欧美| 欧美一区二区视频免费观看| 精品一区二区三区在线播放| 国产日韩欧美一区二区三区乱码 | 亚洲国产精品自拍| 日韩一区二区免费视频| 国产伦精品一区二区三区免费迷 | 日韩精品高清不卡| 欧美成人艳星乳罩| 国产成人激情av| 一区二区三区不卡视频| 日韩色在线观看| 北岛玲一区二区三区四区| 丝袜亚洲精品中文字幕一区| 久久久久久99久久久精品网站| 91在线码无精品| 奇米一区二区三区| 亚洲色欲色欲www| 日韩欧美在线综合网| av男人天堂一区| 久久99热99| 亚洲一区二区五区| 国产视频一区二区三区在线观看 | 日韩成人精品在线观看| 中国av一区二区三区| 538prom精品视频线放| av激情综合网| 国产高清不卡一区二区| 视频在线观看91| 一区二区在线观看视频在线观看| 精品1区2区在线观看| 欧美日韩久久久| 99麻豆久久久国产精品免费优播| 久久国产综合精品| 亚洲最色的网站| 中文字幕一区二区三区精华液| 7777精品伊人久久久大香线蕉完整版| 国产精品系列在线播放| 免费不卡在线观看| 亚洲国产人成综合网站| 亚洲欧美国产三级| 国产精品国产三级国产aⅴ无密码| 精品国产乱码久久久久久闺蜜 | 精品制服美女久久| 日韩和欧美一区二区| 亚洲一区二区在线视频| 亚洲日本在线看| 综合欧美亚洲日本| 欧美高清在线精品一区| 2020国产精品久久精品美国| 亚洲国产精品av| 欧美va亚洲va| 欧美sm美女调教| 欧美大黄免费观看| 欧美一区二区在线免费播放| 在线综合视频播放| 欧美精品乱码久久久久久按摩 | 日韩精品每日更新| 日韩中文字幕亚洲一区二区va在线| 一区二区三区日韩欧美精品| 亚洲女人****多毛耸耸8| 日韩理论电影院| 亚洲精品免费一二三区| 亚洲综合自拍偷拍| 三级久久三级久久| 免费高清在线视频一区·| 麻豆成人免费电影| 国内精品免费**视频| 岛国精品在线观看| 91在线视频在线| 欧美日韩日本视频| 欧美成人bangbros| 国产精品日产欧美久久久久| 综合自拍亚洲综合图不卡区| 亚洲最新视频在线播放| 日韩主播视频在线| 国产精品一区二区你懂的| 成人精品一区二区三区中文字幕| 色综合天天综合| 欧美喷水一区二区| 久久五月婷婷丁香社区| 亚洲视频综合在线| 亚洲777理论| 极品销魂美女一区二区三区| 成人激情免费网站| 欧美无砖专区一中文字| 精品日韩欧美在线| 中文字幕中文字幕在线一区 | 国产亚洲自拍一区| 夜夜揉揉日日人人青青一国产精品| 三级影片在线观看欧美日韩一区二区 | 欧美福利视频一区| 久久久久国色av免费看影院| 一区二区三区在线播| 美女被吸乳得到大胸91| 91美女在线视频| 久久综合久久久久88| 亚洲夂夂婷婷色拍ww47| 国产精品一级在线| 欧美日韩国产美|