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

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

?? operator.c

?? python s60 1.4.5版本的源代碼
?? C
字號:
/* Portions Copyright (c) 2005 Nokia Corporation */
static const char operator_doc[] =
#ifndef SYMBIAN
"Operator interface.\n\
\n\
This module exports a set of functions implemented in C corresponding\n\
to the intrinsic operators of Python.  For example, operator.add(x, y)\n\
is equivalent to the expression x+y.  The function names are those\n\
used for special class methods; variants without leading and trailing\n\
'__' are also provided for convenience.\n\
";
#else
"";
#endif

/*

     Copyright 

       Copyright 1996 Digital Creations, L.C., 910 Princess Anne
       Street, Suite 300, Fredericksburg, Virginia 22401 U.S.A. All
       rights reserved.  Copyright in this software is owned by DCLC,
       unless otherwise indicated. Permission to use, copy and
       distribute this software is hereby granted, provided that the
       above copyright notice appear in all copies and that both that
       copyright notice and this permission notice appear. Note that
       any product, process or technology described in this software
       may be the subject of other Intellectual Property rights
       reserved by Digital Creations, L.C. and are not licensed
       hereunder.

     Trademarks 

       Digital Creations & DCLC, are trademarks of Digital Creations, L.C..
       All other trademarks are owned by their respective companies. 

     No Warranty 

       The software is provided "as is" without warranty of any kind,
       either express or implied, including, but not limited to, the
       implied warranties of merchantability, fitness for a particular
       purpose, or non-infringement. This software could include
       technical inaccuracies or typographical errors. Changes are
       periodically made to the software; these changes will be
       incorporated in new editions of the software. DCLC may make
       improvements and/or changes in this software at any time
       without notice.

     Limitation Of Liability 

       In no event will DCLC be liable for direct, indirect, special,
       incidental, economic, cover, or consequential damages arising
       out of the use of or inability to use this software even if
       advised of the possibility of such damages. Some states do not
       allow the exclusion or limitation of implied warranties or
       limitation of liability for incidental or consequential
       damages, so the above limitation or exclusion may not apply to
       you.


    If you have questions regarding this software,
    contact:
   
      Jim Fulton, jim@digicool.com
      Digital Creations L.C.  
   
      (540) 371-6909

    Modifications
    
      Renamed and slightly rearranged by Guido van Rossum

*/

#include "Python.h"

#define spam1(OP,AOP) static PyObject *OP(PyObject *s, PyObject *a) { \
  PyObject *a1; \
  if(! PyArg_ParseTuple(a,"O:" #OP,&a1)) return NULL; \
  return AOP(a1); }

#define spam2(OP,AOP) static PyObject *OP(PyObject *s, PyObject *a) { \
  PyObject *a1, *a2; \
  if(! PyArg_ParseTuple(a,"OO:" #OP,&a1,&a2)) return NULL; \
  return AOP(a1,a2); }

#define spamoi(OP,AOP) static PyObject *OP(PyObject *s, PyObject *a) { \
  PyObject *a1; int a2; \
  if(! PyArg_ParseTuple(a,"Oi:" #OP,&a1,&a2)) return NULL; \
  return AOP(a1,a2); }

#define spam2n(OP,AOP) static PyObject *OP(PyObject *s, PyObject *a) { \
  PyObject *a1, *a2; \
  if(! PyArg_ParseTuple(a,"OO:" #OP,&a1,&a2)) return NULL; \
  if(-1 == AOP(a1,a2)) return NULL; \
  Py_INCREF(Py_None); \
  return Py_None; }

#define spam3n(OP,AOP) static PyObject *OP(PyObject *s, PyObject *a) { \
  PyObject *a1, *a2, *a3; \
  if(! PyArg_ParseTuple(a,"OOO:" #OP,&a1,&a2,&a3)) return NULL; \
  if(-1 == AOP(a1,a2,a3)) return NULL; \
  Py_INCREF(Py_None); \
  return Py_None; }

#define spami(OP,AOP) static PyObject *OP(PyObject *s, PyObject *a) { \
  PyObject *a1; long r; \
  if(! PyArg_ParseTuple(a,"O:" #OP,&a1)) return NULL; \
  if(-1 == (r=AOP(a1))) return NULL; \
  return PyInt_FromLong(r); }

#define spami2(OP,AOP) static PyObject *OP(PyObject *s, PyObject *a) { \
  PyObject *a1, *a2; long r; \
  if(! PyArg_ParseTuple(a,"OO:" #OP,&a1,&a2)) return NULL; \
  if(-1 == (r=AOP(a1,a2))) return NULL; \
  return PyInt_FromLong(r); }

#define spamrc(OP,A) static PyObject *OP(PyObject *s, PyObject *a) { \
  PyObject *a1, *a2; \
  if(! PyArg_ParseTuple(a,"OO:" #OP,&a1,&a2)) return NULL; \
  return PyObject_RichCompare(a1,a2,A); }

spami(isCallable       , PyCallable_Check)
spami(isNumberType     , PyNumber_Check)
spami(truth            , PyObject_IsTrue)
spam2(op_add           , PyNumber_Add)
spam2(op_sub           , PyNumber_Subtract)
spam2(op_mul           , PyNumber_Multiply)
spam2(op_div           , PyNumber_Divide)
spam2(op_floordiv      , PyNumber_FloorDivide)
spam2(op_truediv       , PyNumber_TrueDivide)
spam2(op_mod           , PyNumber_Remainder)
spam1(op_neg           , PyNumber_Negative)
spam1(op_pos           , PyNumber_Positive)
spam1(op_abs           , PyNumber_Absolute)
spam1(op_inv           , PyNumber_Invert)
spam1(op_invert        , PyNumber_Invert)
spam2(op_lshift        , PyNumber_Lshift)
spam2(op_rshift        , PyNumber_Rshift)
spami(op_not_          , PyObject_Not)
spam2(op_and_          , PyNumber_And)
spam2(op_xor           , PyNumber_Xor)
spam2(op_or_           , PyNumber_Or)
spami(isSequenceType   , PySequence_Check)
spam2(op_concat        , PySequence_Concat)
spamoi(op_repeat       , PySequence_Repeat)
spami2(op_contains     , PySequence_Contains)
spami2(sequenceIncludes, PySequence_Contains)
spami2(indexOf         , PySequence_Index)
spami2(countOf         , PySequence_Count)
spami(isMappingType    , PyMapping_Check)
spam2(op_getitem       , PyObject_GetItem)
spam2n(op_delitem       , PyObject_DelItem)
spam3n(op_setitem      , PyObject_SetItem)
spamrc(op_lt           , Py_LT)
spamrc(op_le           , Py_LE)
spamrc(op_eq           , Py_EQ)
spamrc(op_ne           , Py_NE)
spamrc(op_gt           , Py_GT)
spamrc(op_ge           , Py_GE)

static PyObject*
op_getslice(PyObject *s, PyObject *a)
{
        PyObject *a1;
        int a2,a3;

        if (!PyArg_ParseTuple(a,"Oii:getslice",&a1,&a2,&a3))
                return NULL;
        return PySequence_GetSlice(a1,a2,a3);
}

static PyObject*
op_setslice(PyObject *s, PyObject *a)
{
        PyObject *a1, *a4;
        int a2,a3;

        if (!PyArg_ParseTuple(a,"OiiO:setslice",&a1,&a2,&a3,&a4))
                return NULL;

        if (-1 == PySequence_SetSlice(a1,a2,a3,a4))
                return NULL;

        Py_INCREF(Py_None);
        return Py_None;
}

static PyObject*
op_delslice(PyObject *s, PyObject *a)
{
        PyObject *a1;
        int a2,a3;

        if(! PyArg_ParseTuple(a,"Oii:delslice",&a1,&a2,&a3))
                return NULL;

        if (-1 == PySequence_DelSlice(a1,a2,a3))
                return NULL;

        Py_INCREF(Py_None);
        return Py_None;
}

#undef spam1
#undef spam2
#ifndef SYMBIAN
#define spam1(OP,DOC) {#OP, OP, METH_VARARGS, DOC},
#define spam2(OP,ALTOP,DOC) {#OP, op_##OP, METH_VARARGS, DOC}, \
			   {#ALTOP, op_##OP, METH_VARARGS, DOC}, 
#else
#define spam1(OP,DOC) {#OP, OP, METH_VARARGS, ""},
#define spam2(OP,ALTOP,DOC) {#OP, op_##OP, METH_VARARGS, ""}, \
			   {#ALTOP, op_##OP, METH_VARARGS, ""}, 
#endif

static const struct PyMethodDef operator_methods[] = {

spam1(isCallable,
 "isCallable(a) -- Same as callable(a).")
spam1(isNumberType,
 "isNumberType(a) -- Return 1 if a has a numeric type, and zero otherwise.")
spam1(isSequenceType,
 "isSequenceType(a) -- Return 1 if a has a sequence type, and zero otherwise.")
spam1(truth,
 "truth(a) -- Return 1 if a is true, and 0 otherwise.")
spam2(contains,__contains__,
 "contains(a, b) -- Same as b in a (note reversed operands).")
spam1(sequenceIncludes,
 "sequenceIncludes(a, b) -- Same as b in a (note reversed operands; deprecated).")
spam1(indexOf,
 "indexOf(a, b) -- Return the first index of b in a.")
spam1(countOf,
 "countOf(a, b) -- Return the number of times b occurs in a.")
spam1(isMappingType,
 "isMappingType(a) -- Return 1 if a has a mapping type, and zero otherwise.")

spam2(add,__add__, "add(a, b) -- Same as a + b.")
spam2(sub,__sub__, "sub(a, b) -- Same as a - b.")
spam2(mul,__mul__, "mul(a, b) -- Same as a * b.")
spam2(div,__div__, "div(a, b) -- Same as a / b when __future__.division is not in effect.")
spam2(floordiv,__floordiv__, "floordiv(a, b) -- Same as a // b.")
spam2(truediv,__truediv__, "truediv(a, b) -- Same as a / b when __future__.division is in effect.")
spam2(mod,__mod__, "mod(a, b) -- Same as a % b.")
spam2(neg,__neg__, "neg(a) -- Same as -a.")
spam2(pos,__pos__, "pos(a) -- Same as +a.")
spam2(abs,__abs__, "abs(a) -- Same as abs(a).")
spam2(inv,__inv__, "inv(a) -- Same as ~a.")
spam2(invert,__invert__, "invert(a) -- Same as ~a.")
spam2(lshift,__lshift__, "lshift(a, b) -- Same as a << b.")
spam2(rshift,__rshift__, "rshift(a, b) -- Same as a >> b.")
spam2(not_,__not__, "not_(a) -- Same as not a.")
spam2(and_,__and__, "and_(a, b) -- Same as a & b.")
spam2(xor,__xor__, "xor(a, b) -- Same as a ^ b.")
spam2(or_,__or__, "or_(a, b) -- Same as a | b.")
spam2(concat,__concat__,
 "concat(a, b) -- Same as a + b, for a and b sequences.")
spam2(repeat,__repeat__,
 "repeat(a, b) -- Return a * b, where a is a sequence, and b is an integer.")
spam2(getitem,__getitem__,
 "getitem(a, b) -- Same as a[b].")
spam2(setitem,__setitem__,
 "setitem(a, b, c) -- Same as a[b] = c.")
spam2(delitem,__delitem__,
 "delitem(a, b) -- Same as del a[b].")
spam2(getslice,__getslice__,
 "getslice(a, b, c) -- Same as a[b:c].")
spam2(setslice,__setslice__,
"setslice(a, b, c, d) -- Same as a[b:c] = d.")
spam2(delslice,__delslice__,
"delslice(a, b, c) -- Same as del a[b:c].")
spam2(lt,__lt__, "lt(a, b) -- Same as a<b.")
spam2(le,__le__, "le(a, b) -- Same as a<=b.")
spam2(eq,__eq__, "eq(a, b) -- Same as a==b.")
spam2(ne,__ne__, "ne(a, b) -- Same as a!=b.")
spam2(gt,__gt__, "gt(a, b) -- Same as a>b.")
spam2(ge,__ge__, "ge(a, b) -- Same as a>=b.")

	{NULL,		NULL}		/* sentinel */

};


/* Initialization function for the module (*must* be called initoperator) */

DL_EXPORT(void)
initoperator(void)
{
        /* Create the module and add the functions */
        Py_InitModule4("operator", operator_methods, operator_doc,
		       (PyObject*)NULL, PYTHON_API_VERSION);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品丝袜一区| 日本不卡在线视频| 麻豆精品视频在线观看| 国产精品影视天天线| 91黄色免费看| 久久精品一区八戒影视| 亚洲综合在线视频| 国产尤物一区二区在线| 欧美二区三区91| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 五月天一区二区三区| 丰满岳乱妇一区二区三区| 欧美日韩国产电影| 1000部国产精品成人观看| 美女视频一区二区| 欧美日韩欧美一区二区| 国产精品高潮呻吟久久| 韩国精品主播一区二区在线观看| 欧美精选在线播放| 1000部国产精品成人观看| 国产成人精品三级麻豆| 欧美不卡一二三| 青娱乐精品在线视频| 欧美色手机在线观看| 有坂深雪av一区二区精品| av一区二区三区四区| 欧美国产精品中文字幕| 高潮精品一区videoshd| 久久久久久久久99精品| 国内成人免费视频| 精品美女在线观看| 精品一区二区免费看| 欧美电影精品一区二区 | 在线播放欧美女士性生活| 中文字幕日韩一区| 成人免费毛片高清视频| 中文字幕 久热精品 视频在线| 国产精品一区不卡| 久久蜜桃香蕉精品一区二区三区| 国产一区二区三区| 久久女同互慰一区二区三区| 国产裸体歌舞团一区二区| 久久久久久久久久久久久久久99| 国产乱人伦偷精品视频免下载| 国产亚洲一区二区在线观看| 国产成人综合亚洲91猫咪| 国产婷婷一区二区| 成人av免费在线观看| 亚洲黄色尤物视频| 欧美三级一区二区| 免费成人在线视频观看| 精品第一国产综合精品aⅴ| 韩国av一区二区三区| 国产欧美va欧美不卡在线| 91网站视频在线观看| 亚洲成人7777| www国产精品av| www.99精品| 亚洲va天堂va国产va久| 日韩免费性生活视频播放| 国产成人免费在线视频| 亚洲三级小视频| 欧美日韩国产精品自在自线| 精品一区二区三区免费毛片爱 | 国产麻豆视频一区二区| 日本一区二区久久| 欧美亚洲精品一区| 国产资源在线一区| 亚洲精品高清在线| 日韩精品最新网址| 91麻豆国产在线观看| 日韩激情视频在线观看| 日本一区二区三区视频视频| 欧洲生活片亚洲生活在线观看| 久久成人18免费观看| 国产精品嫩草影院av蜜臀| 欧美另类一区二区三区| 国产乱子伦一区二区三区国色天香 | 国产精品久久久久久福利一牛影视| 在线观看网站黄不卡| 久久机这里只有精品| 最近中文字幕一区二区三区| wwwwxxxxx欧美| 欧美日韩一区视频| 成人免费黄色大片| 日本一区中文字幕| 一区二区国产盗摄色噜噜| 精品99一区二区三区| 欧美日韩五月天| 97aⅴ精品视频一二三区| 精品亚洲成a人在线观看| 亚洲成人免费影院| 国产精品萝li| 国产精品视频免费| 欧美一级在线免费| 欧美亚洲一区二区在线| 97aⅴ精品视频一二三区| 国产福利一区二区三区视频在线| 蜜臀av一区二区在线观看| 亚洲一二三区视频在线观看| 亚洲人成伊人成综合网小说| 国产精品无码永久免费888| 日韩欧美亚洲国产另类| 欧美一区二区视频在线观看2022 | 丝袜美腿亚洲色图| 亚洲免费av网站| 日韩理论电影院| 国产精品女同互慰在线看| 久久亚洲春色中文字幕久久久| 日韩欧美亚洲另类制服综合在线| 制服丝袜国产精品| 欧美高清www午色夜在线视频| 欧美日韩一区二区在线观看视频| 在线视频综合导航| 色综合久久综合网欧美综合网 | 国产xxx精品视频大全| 久久99国产精品成人| 麻豆高清免费国产一区| 日韩电影免费一区| 另类欧美日韩国产在线| 蜜臀av性久久久久蜜臀av麻豆| 奇米影视在线99精品| 六月丁香综合在线视频| 蜜桃精品在线观看| 韩日欧美一区二区三区| 国产精品一区二区在线播放| 国产91丝袜在线播放九色| 福利91精品一区二区三区| 成人丝袜视频网| 91理论电影在线观看| 在线免费精品视频| 欧美精品乱人伦久久久久久| 日韩免费一区二区| 国产亚洲精品bt天堂精选| 国产精品久久久久影院亚瑟| 亚洲免费观看高清| 日日夜夜精品免费视频| 精品在线播放午夜| 成人福利视频网站| 在线观看国产一区二区| 欧美一区三区二区| 久久久久国产精品麻豆| 中文字幕一区av| 丝袜美腿亚洲色图| 国产精品99久久久久久有的能看| 99精品国产一区二区三区不卡| 欧美日韩三级在线| 亚洲精品在线电影| 亚洲欧洲精品成人久久奇米网| 亚洲成人动漫av| 精品一区二区在线免费观看| 91尤物视频在线观看| 日韩一区二区三区电影在线观看 | 欧美日韩一区二区三区视频| 欧美成人精品福利| 国产精品人人做人人爽人人添| 亚洲va欧美va人人爽| 国产一级精品在线| 欧美亚一区二区| 国产日韩av一区| 国产精品女人毛片| 国产精品第13页| 麻豆精品视频在线观看| 色综合久久精品| 久久久久久久久久看片| 亚洲黄色av一区| 国产成人精品免费网站| 欧美日韩五月天| 亚洲免费观看在线视频| 国产在线精品一区二区三区不卡| 欧美制服丝袜第一页| 欧美激情艳妇裸体舞| 日韩国产欧美在线视频| 色拍拍在线精品视频8848| 久久久久国产成人精品亚洲午夜| 石原莉奈一区二区三区在线观看| 成人黄色国产精品网站大全在线免费观看| 麻豆国产精品官网| 国产精品久久久久一区二区三区共| 91一区二区三区在线观看| 日韩欧美亚洲一区二区| 亚洲午夜一区二区| 99久久精品久久久久久清纯| 亚洲综合一区二区精品导航| 国产精品一区二区免费不卡| 日韩欧美国产不卡| 天天综合色天天综合色h| 日本大香伊一区二区三区| 欧美国产精品久久| 寂寞少妇一区二区三区| 欧美电影一区二区三区| 亚洲午夜在线观看视频在线| 色香蕉成人二区免费| 日本一区二区成人| 成人综合日日夜夜| 久久久精品国产免费观看同学| 久久精品国产在热久久| 91精品国产综合久久久久久| 日产国产高清一区二区三区| 欧美一级一区二区|