1 /*[clinic input] 2 preserve 3 [clinic start generated code]*/ 4 5 PyDoc_STRVAR(_operator_truth__doc__, 6 "truth($module, a, /)\n" 7 "--\n" 8 "\n" 9 "Return True if a is true, False otherwise."); 10 11 #define _OPERATOR_TRUTH_METHODDEF \ 12 {"truth", (PyCFunction)_operator_truth, METH_O, _operator_truth__doc__}, 13 14 static int 15 _operator_truth_impl(PyObject *module, PyObject *a); 16 17 static PyObject * 18 _operator_truth(PyObject *module, PyObject *a) 19 { 20 PyObject *return_value = NULL; 21 int _return_value; 22 23 _return_value = _operator_truth_impl(module, a); 24 if ((_return_value == -1) && PyErr_Occurred()) { 25 goto exit; 26 } 27 return_value = PyBool_FromLong((long)_return_value); 28 29 exit: 30 return return_value; 31 } 32 33 PyDoc_STRVAR(_operator_add__doc__, 34 "add($module, a, b, /)\n" 35 "--\n" 36 "\n" 37 "Same as a + b."); 38 39 #define _OPERATOR_ADD_METHODDEF \ 40 {"add", (PyCFunction)_operator_add, METH_FASTCALL, _operator_add__doc__}, 41 42 static PyObject * 43 _operator_add_impl(PyObject *module, PyObject *a, PyObject *b); 44 45 static PyObject * 46 _operator_add(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 47 { 48 PyObject *return_value = NULL; 49 PyObject *a; 50 PyObject *b; 51 52 if (!_PyArg_UnpackStack(args, nargs, "add", 53 2, 2, 54 &a, &b)) { 55 goto exit; 56 } 57 return_value = _operator_add_impl(module, a, b); 58 59 exit: 60 return return_value; 61 } 62 63 PyDoc_STRVAR(_operator_sub__doc__, 64 "sub($module, a, b, /)\n" 65 "--\n" 66 "\n" 67 "Same as a - b."); 68 69 #define _OPERATOR_SUB_METHODDEF \ 70 {"sub", (PyCFunction)_operator_sub, METH_FASTCALL, _operator_sub__doc__}, 71 72 static PyObject * 73 _operator_sub_impl(PyObject *module, PyObject *a, PyObject *b); 74 75 static PyObject * 76 _operator_sub(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 77 { 78 PyObject *return_value = NULL; 79 PyObject *a; 80 PyObject *b; 81 82 if (!_PyArg_UnpackStack(args, nargs, "sub", 83 2, 2, 84 &a, &b)) { 85 goto exit; 86 } 87 return_value = _operator_sub_impl(module, a, b); 88 89 exit: 90 return return_value; 91 } 92 93 PyDoc_STRVAR(_operator_mul__doc__, 94 "mul($module, a, b, /)\n" 95 "--\n" 96 "\n" 97 "Same as a * b."); 98 99 #define _OPERATOR_MUL_METHODDEF \ 100 {"mul", (PyCFunction)_operator_mul, METH_FASTCALL, _operator_mul__doc__}, 101 102 static PyObject * 103 _operator_mul_impl(PyObject *module, PyObject *a, PyObject *b); 104 105 static PyObject * 106 _operator_mul(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 107 { 108 PyObject *return_value = NULL; 109 PyObject *a; 110 PyObject *b; 111 112 if (!_PyArg_UnpackStack(args, nargs, "mul", 113 2, 2, 114 &a, &b)) { 115 goto exit; 116 } 117 return_value = _operator_mul_impl(module, a, b); 118 119 exit: 120 return return_value; 121 } 122 123 PyDoc_STRVAR(_operator_matmul__doc__, 124 "matmul($module, a, b, /)\n" 125 "--\n" 126 "\n" 127 "Same as a @ b."); 128 129 #define _OPERATOR_MATMUL_METHODDEF \ 130 {"matmul", (PyCFunction)_operator_matmul, METH_FASTCALL, _operator_matmul__doc__}, 131 132 static PyObject * 133 _operator_matmul_impl(PyObject *module, PyObject *a, PyObject *b); 134 135 static PyObject * 136 _operator_matmul(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 137 { 138 PyObject *return_value = NULL; 139 PyObject *a; 140 PyObject *b; 141 142 if (!_PyArg_UnpackStack(args, nargs, "matmul", 143 2, 2, 144 &a, &b)) { 145 goto exit; 146 } 147 return_value = _operator_matmul_impl(module, a, b); 148 149 exit: 150 return return_value; 151 } 152 153 PyDoc_STRVAR(_operator_floordiv__doc__, 154 "floordiv($module, a, b, /)\n" 155 "--\n" 156 "\n" 157 "Same as a // b."); 158 159 #define _OPERATOR_FLOORDIV_METHODDEF \ 160 {"floordiv", (PyCFunction)_operator_floordiv, METH_FASTCALL, _operator_floordiv__doc__}, 161 162 static PyObject * 163 _operator_floordiv_impl(PyObject *module, PyObject *a, PyObject *b); 164 165 static PyObject * 166 _operator_floordiv(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 167 { 168 PyObject *return_value = NULL; 169 PyObject *a; 170 PyObject *b; 171 172 if (!_PyArg_UnpackStack(args, nargs, "floordiv", 173 2, 2, 174 &a, &b)) { 175 goto exit; 176 } 177 return_value = _operator_floordiv_impl(module, a, b); 178 179 exit: 180 return return_value; 181 } 182 183 PyDoc_STRVAR(_operator_truediv__doc__, 184 "truediv($module, a, b, /)\n" 185 "--\n" 186 "\n" 187 "Same as a / b."); 188 189 #define _OPERATOR_TRUEDIV_METHODDEF \ 190 {"truediv", (PyCFunction)_operator_truediv, METH_FASTCALL, _operator_truediv__doc__}, 191 192 static PyObject * 193 _operator_truediv_impl(PyObject *module, PyObject *a, PyObject *b); 194 195 static PyObject * 196 _operator_truediv(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 197 { 198 PyObject *return_value = NULL; 199 PyObject *a; 200 PyObject *b; 201 202 if (!_PyArg_UnpackStack(args, nargs, "truediv", 203 2, 2, 204 &a, &b)) { 205 goto exit; 206 } 207 return_value = _operator_truediv_impl(module, a, b); 208 209 exit: 210 return return_value; 211 } 212 213 PyDoc_STRVAR(_operator_mod__doc__, 214 "mod($module, a, b, /)\n" 215 "--\n" 216 "\n" 217 "Same as a % b."); 218 219 #define _OPERATOR_MOD_METHODDEF \ 220 {"mod", (PyCFunction)_operator_mod, METH_FASTCALL, _operator_mod__doc__}, 221 222 static PyObject * 223 _operator_mod_impl(PyObject *module, PyObject *a, PyObject *b); 224 225 static PyObject * 226 _operator_mod(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 227 { 228 PyObject *return_value = NULL; 229 PyObject *a; 230 PyObject *b; 231 232 if (!_PyArg_UnpackStack(args, nargs, "mod", 233 2, 2, 234 &a, &b)) { 235 goto exit; 236 } 237 return_value = _operator_mod_impl(module, a, b); 238 239 exit: 240 return return_value; 241 } 242 243 PyDoc_STRVAR(_operator_neg__doc__, 244 "neg($module, a, /)\n" 245 "--\n" 246 "\n" 247 "Same as -a."); 248 249 #define _OPERATOR_NEG_METHODDEF \ 250 {"neg", (PyCFunction)_operator_neg, METH_O, _operator_neg__doc__}, 251 252 PyDoc_STRVAR(_operator_pos__doc__, 253 "pos($module, a, /)\n" 254 "--\n" 255 "\n" 256 "Same as +a."); 257 258 #define _OPERATOR_POS_METHODDEF \ 259 {"pos", (PyCFunction)_operator_pos, METH_O, _operator_pos__doc__}, 260 261 PyDoc_STRVAR(_operator_abs__doc__, 262 "abs($module, a, /)\n" 263 "--\n" 264 "\n" 265 "Same as abs(a)."); 266 267 #define _OPERATOR_ABS_METHODDEF \ 268 {"abs", (PyCFunction)_operator_abs, METH_O, _operator_abs__doc__}, 269 270 PyDoc_STRVAR(_operator_inv__doc__, 271 "inv($module, a, /)\n" 272 "--\n" 273 "\n" 274 "Same as ~a."); 275 276 #define _OPERATOR_INV_METHODDEF \ 277 {"inv", (PyCFunction)_operator_inv, METH_O, _operator_inv__doc__}, 278 279 PyDoc_STRVAR(_operator_invert__doc__, 280 "invert($module, a, /)\n" 281 "--\n" 282 "\n" 283 "Same as ~a."); 284 285 #define _OPERATOR_INVERT_METHODDEF \ 286 {"invert", (PyCFunction)_operator_invert, METH_O, _operator_invert__doc__}, 287 288 PyDoc_STRVAR(_operator_lshift__doc__, 289 "lshift($module, a, b, /)\n" 290 "--\n" 291 "\n" 292 "Same as a << b."); 293 294 #define _OPERATOR_LSHIFT_METHODDEF \ 295 {"lshift", (PyCFunction)_operator_lshift, METH_FASTCALL, _operator_lshift__doc__}, 296 297 static PyObject * 298 _operator_lshift_impl(PyObject *module, PyObject *a, PyObject *b); 299 300 static PyObject * 301 _operator_lshift(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 302 { 303 PyObject *return_value = NULL; 304 PyObject *a; 305 PyObject *b; 306 307 if (!_PyArg_UnpackStack(args, nargs, "lshift", 308 2, 2, 309 &a, &b)) { 310 goto exit; 311 } 312 return_value = _operator_lshift_impl(module, a, b); 313 314 exit: 315 return return_value; 316 } 317 318 PyDoc_STRVAR(_operator_rshift__doc__, 319 "rshift($module, a, b, /)\n" 320 "--\n" 321 "\n" 322 "Same as a >> b."); 323 324 #define _OPERATOR_RSHIFT_METHODDEF \ 325 {"rshift", (PyCFunction)_operator_rshift, METH_FASTCALL, _operator_rshift__doc__}, 326 327 static PyObject * 328 _operator_rshift_impl(PyObject *module, PyObject *a, PyObject *b); 329 330 static PyObject * 331 _operator_rshift(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 332 { 333 PyObject *return_value = NULL; 334 PyObject *a; 335 PyObject *b; 336 337 if (!_PyArg_UnpackStack(args, nargs, "rshift", 338 2, 2, 339 &a, &b)) { 340 goto exit; 341 } 342 return_value = _operator_rshift_impl(module, a, b); 343 344 exit: 345 return return_value; 346 } 347 348 PyDoc_STRVAR(_operator_not___doc__, 349 "not_($module, a, /)\n" 350 "--\n" 351 "\n" 352 "Same as not a."); 353 354 #define _OPERATOR_NOT__METHODDEF \ 355 {"not_", (PyCFunction)_operator_not_, METH_O, _operator_not___doc__}, 356 357 static int 358 _operator_not__impl(PyObject *module, PyObject *a); 359 360 static PyObject * 361 _operator_not_(PyObject *module, PyObject *a) 362 { 363 PyObject *return_value = NULL; 364 int _return_value; 365 366 _return_value = _operator_not__impl(module, a); 367 if ((_return_value == -1) && PyErr_Occurred()) { 368 goto exit; 369 } 370 return_value = PyBool_FromLong((long)_return_value); 371 372 exit: 373 return return_value; 374 } 375 376 PyDoc_STRVAR(_operator_and___doc__, 377 "and_($module, a, b, /)\n" 378 "--\n" 379 "\n" 380 "Same as a & b."); 381 382 #define _OPERATOR_AND__METHODDEF \ 383 {"and_", (PyCFunction)_operator_and_, METH_FASTCALL, _operator_and___doc__}, 384 385 static PyObject * 386 _operator_and__impl(PyObject *module, PyObject *a, PyObject *b); 387 388 static PyObject * 389 _operator_and_(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 390 { 391 PyObject *return_value = NULL; 392 PyObject *a; 393 PyObject *b; 394 395 if (!_PyArg_UnpackStack(args, nargs, "and_", 396 2, 2, 397 &a, &b)) { 398 goto exit; 399 } 400 return_value = _operator_and__impl(module, a, b); 401 402 exit: 403 return return_value; 404 } 405 406 PyDoc_STRVAR(_operator_xor__doc__, 407 "xor($module, a, b, /)\n" 408 "--\n" 409 "\n" 410 "Same as a ^ b."); 411 412 #define _OPERATOR_XOR_METHODDEF \ 413 {"xor", (PyCFunction)_operator_xor, METH_FASTCALL, _operator_xor__doc__}, 414 415 static PyObject * 416 _operator_xor_impl(PyObject *module, PyObject *a, PyObject *b); 417 418 static PyObject * 419 _operator_xor(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 420 { 421 PyObject *return_value = NULL; 422 PyObject *a; 423 PyObject *b; 424 425 if (!_PyArg_UnpackStack(args, nargs, "xor", 426 2, 2, 427 &a, &b)) { 428 goto exit; 429 } 430 return_value = _operator_xor_impl(module, a, b); 431 432 exit: 433 return return_value; 434 } 435 436 PyDoc_STRVAR(_operator_or___doc__, 437 "or_($module, a, b, /)\n" 438 "--\n" 439 "\n" 440 "Same as a | b."); 441 442 #define _OPERATOR_OR__METHODDEF \ 443 {"or_", (PyCFunction)_operator_or_, METH_FASTCALL, _operator_or___doc__}, 444 445 static PyObject * 446 _operator_or__impl(PyObject *module, PyObject *a, PyObject *b); 447 448 static PyObject * 449 _operator_or_(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 450 { 451 PyObject *return_value = NULL; 452 PyObject *a; 453 PyObject *b; 454 455 if (!_PyArg_UnpackStack(args, nargs, "or_", 456 2, 2, 457 &a, &b)) { 458 goto exit; 459 } 460 return_value = _operator_or__impl(module, a, b); 461 462 exit: 463 return return_value; 464 } 465 466 PyDoc_STRVAR(_operator_iadd__doc__, 467 "iadd($module, a, b, /)\n" 468 "--\n" 469 "\n" 470 "Same as a += b."); 471 472 #define _OPERATOR_IADD_METHODDEF \ 473 {"iadd", (PyCFunction)_operator_iadd, METH_FASTCALL, _operator_iadd__doc__}, 474 475 static PyObject * 476 _operator_iadd_impl(PyObject *module, PyObject *a, PyObject *b); 477 478 static PyObject * 479 _operator_iadd(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 480 { 481 PyObject *return_value = NULL; 482 PyObject *a; 483 PyObject *b; 484 485 if (!_PyArg_UnpackStack(args, nargs, "iadd", 486 2, 2, 487 &a, &b)) { 488 goto exit; 489 } 490 return_value = _operator_iadd_impl(module, a, b); 491 492 exit: 493 return return_value; 494 } 495 496 PyDoc_STRVAR(_operator_isub__doc__, 497 "isub($module, a, b, /)\n" 498 "--\n" 499 "\n" 500 "Same as a -= b."); 501 502 #define _OPERATOR_ISUB_METHODDEF \ 503 {"isub", (PyCFunction)_operator_isub, METH_FASTCALL, _operator_isub__doc__}, 504 505 static PyObject * 506 _operator_isub_impl(PyObject *module, PyObject *a, PyObject *b); 507 508 static PyObject * 509 _operator_isub(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 510 { 511 PyObject *return_value = NULL; 512 PyObject *a; 513 PyObject *b; 514 515 if (!_PyArg_UnpackStack(args, nargs, "isub", 516 2, 2, 517 &a, &b)) { 518 goto exit; 519 } 520 return_value = _operator_isub_impl(module, a, b); 521 522 exit: 523 return return_value; 524 } 525 526 PyDoc_STRVAR(_operator_imul__doc__, 527 "imul($module, a, b, /)\n" 528 "--\n" 529 "\n" 530 "Same as a *= b."); 531 532 #define _OPERATOR_IMUL_METHODDEF \ 533 {"imul", (PyCFunction)_operator_imul, METH_FASTCALL, _operator_imul__doc__}, 534 535 static PyObject * 536 _operator_imul_impl(PyObject *module, PyObject *a, PyObject *b); 537 538 static PyObject * 539 _operator_imul(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 540 { 541 PyObject *return_value = NULL; 542 PyObject *a; 543 PyObject *b; 544 545 if (!_PyArg_UnpackStack(args, nargs, "imul", 546 2, 2, 547 &a, &b)) { 548 goto exit; 549 } 550 return_value = _operator_imul_impl(module, a, b); 551 552 exit: 553 return return_value; 554 } 555 556 PyDoc_STRVAR(_operator_imatmul__doc__, 557 "imatmul($module, a, b, /)\n" 558 "--\n" 559 "\n" 560 "Same as a @= b."); 561 562 #define _OPERATOR_IMATMUL_METHODDEF \ 563 {"imatmul", (PyCFunction)_operator_imatmul, METH_FASTCALL, _operator_imatmul__doc__}, 564 565 static PyObject * 566 _operator_imatmul_impl(PyObject *module, PyObject *a, PyObject *b); 567 568 static PyObject * 569 _operator_imatmul(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 570 { 571 PyObject *return_value = NULL; 572 PyObject *a; 573 PyObject *b; 574 575 if (!_PyArg_UnpackStack(args, nargs, "imatmul", 576 2, 2, 577 &a, &b)) { 578 goto exit; 579 } 580 return_value = _operator_imatmul_impl(module, a, b); 581 582 exit: 583 return return_value; 584 } 585 586 PyDoc_STRVAR(_operator_ifloordiv__doc__, 587 "ifloordiv($module, a, b, /)\n" 588 "--\n" 589 "\n" 590 "Same as a //= b."); 591 592 #define _OPERATOR_IFLOORDIV_METHODDEF \ 593 {"ifloordiv", (PyCFunction)_operator_ifloordiv, METH_FASTCALL, _operator_ifloordiv__doc__}, 594 595 static PyObject * 596 _operator_ifloordiv_impl(PyObject *module, PyObject *a, PyObject *b); 597 598 static PyObject * 599 _operator_ifloordiv(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 600 { 601 PyObject *return_value = NULL; 602 PyObject *a; 603 PyObject *b; 604 605 if (!_PyArg_UnpackStack(args, nargs, "ifloordiv", 606 2, 2, 607 &a, &b)) { 608 goto exit; 609 } 610 return_value = _operator_ifloordiv_impl(module, a, b); 611 612 exit: 613 return return_value; 614 } 615 616 PyDoc_STRVAR(_operator_itruediv__doc__, 617 "itruediv($module, a, b, /)\n" 618 "--\n" 619 "\n" 620 "Same as a /= b."); 621 622 #define _OPERATOR_ITRUEDIV_METHODDEF \ 623 {"itruediv", (PyCFunction)_operator_itruediv, METH_FASTCALL, _operator_itruediv__doc__}, 624 625 static PyObject * 626 _operator_itruediv_impl(PyObject *module, PyObject *a, PyObject *b); 627 628 static PyObject * 629 _operator_itruediv(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 630 { 631 PyObject *return_value = NULL; 632 PyObject *a; 633 PyObject *b; 634 635 if (!_PyArg_UnpackStack(args, nargs, "itruediv", 636 2, 2, 637 &a, &b)) { 638 goto exit; 639 } 640 return_value = _operator_itruediv_impl(module, a, b); 641 642 exit: 643 return return_value; 644 } 645 646 PyDoc_STRVAR(_operator_imod__doc__, 647 "imod($module, a, b, /)\n" 648 "--\n" 649 "\n" 650 "Same as a %= b."); 651 652 #define _OPERATOR_IMOD_METHODDEF \ 653 {"imod", (PyCFunction)_operator_imod, METH_FASTCALL, _operator_imod__doc__}, 654 655 static PyObject * 656 _operator_imod_impl(PyObject *module, PyObject *a, PyObject *b); 657 658 static PyObject * 659 _operator_imod(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 660 { 661 PyObject *return_value = NULL; 662 PyObject *a; 663 PyObject *b; 664 665 if (!_PyArg_UnpackStack(args, nargs, "imod", 666 2, 2, 667 &a, &b)) { 668 goto exit; 669 } 670 return_value = _operator_imod_impl(module, a, b); 671 672 exit: 673 return return_value; 674 } 675 676 PyDoc_STRVAR(_operator_ilshift__doc__, 677 "ilshift($module, a, b, /)\n" 678 "--\n" 679 "\n" 680 "Same as a <<= b."); 681 682 #define _OPERATOR_ILSHIFT_METHODDEF \ 683 {"ilshift", (PyCFunction)_operator_ilshift, METH_FASTCALL, _operator_ilshift__doc__}, 684 685 static PyObject * 686 _operator_ilshift_impl(PyObject *module, PyObject *a, PyObject *b); 687 688 static PyObject * 689 _operator_ilshift(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 690 { 691 PyObject *return_value = NULL; 692 PyObject *a; 693 PyObject *b; 694 695 if (!_PyArg_UnpackStack(args, nargs, "ilshift", 696 2, 2, 697 &a, &b)) { 698 goto exit; 699 } 700 return_value = _operator_ilshift_impl(module, a, b); 701 702 exit: 703 return return_value; 704 } 705 706 PyDoc_STRVAR(_operator_irshift__doc__, 707 "irshift($module, a, b, /)\n" 708 "--\n" 709 "\n" 710 "Same as a >>= b."); 711 712 #define _OPERATOR_IRSHIFT_METHODDEF \ 713 {"irshift", (PyCFunction)_operator_irshift, METH_FASTCALL, _operator_irshift__doc__}, 714 715 static PyObject * 716 _operator_irshift_impl(PyObject *module, PyObject *a, PyObject *b); 717 718 static PyObject * 719 _operator_irshift(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 720 { 721 PyObject *return_value = NULL; 722 PyObject *a; 723 PyObject *b; 724 725 if (!_PyArg_UnpackStack(args, nargs, "irshift", 726 2, 2, 727 &a, &b)) { 728 goto exit; 729 } 730 return_value = _operator_irshift_impl(module, a, b); 731 732 exit: 733 return return_value; 734 } 735 736 PyDoc_STRVAR(_operator_iand__doc__, 737 "iand($module, a, b, /)\n" 738 "--\n" 739 "\n" 740 "Same as a &= b."); 741 742 #define _OPERATOR_IAND_METHODDEF \ 743 {"iand", (PyCFunction)_operator_iand, METH_FASTCALL, _operator_iand__doc__}, 744 745 static PyObject * 746 _operator_iand_impl(PyObject *module, PyObject *a, PyObject *b); 747 748 static PyObject * 749 _operator_iand(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 750 { 751 PyObject *return_value = NULL; 752 PyObject *a; 753 PyObject *b; 754 755 if (!_PyArg_UnpackStack(args, nargs, "iand", 756 2, 2, 757 &a, &b)) { 758 goto exit; 759 } 760 return_value = _operator_iand_impl(module, a, b); 761 762 exit: 763 return return_value; 764 } 765 766 PyDoc_STRVAR(_operator_ixor__doc__, 767 "ixor($module, a, b, /)\n" 768 "--\n" 769 "\n" 770 "Same as a ^= b."); 771 772 #define _OPERATOR_IXOR_METHODDEF \ 773 {"ixor", (PyCFunction)_operator_ixor, METH_FASTCALL, _operator_ixor__doc__}, 774 775 static PyObject * 776 _operator_ixor_impl(PyObject *module, PyObject *a, PyObject *b); 777 778 static PyObject * 779 _operator_ixor(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 780 { 781 PyObject *return_value = NULL; 782 PyObject *a; 783 PyObject *b; 784 785 if (!_PyArg_UnpackStack(args, nargs, "ixor", 786 2, 2, 787 &a, &b)) { 788 goto exit; 789 } 790 return_value = _operator_ixor_impl(module, a, b); 791 792 exit: 793 return return_value; 794 } 795 796 PyDoc_STRVAR(_operator_ior__doc__, 797 "ior($module, a, b, /)\n" 798 "--\n" 799 "\n" 800 "Same as a |= b."); 801 802 #define _OPERATOR_IOR_METHODDEF \ 803 {"ior", (PyCFunction)_operator_ior, METH_FASTCALL, _operator_ior__doc__}, 804 805 static PyObject * 806 _operator_ior_impl(PyObject *module, PyObject *a, PyObject *b); 807 808 static PyObject * 809 _operator_ior(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 810 { 811 PyObject *return_value = NULL; 812 PyObject *a; 813 PyObject *b; 814 815 if (!_PyArg_UnpackStack(args, nargs, "ior", 816 2, 2, 817 &a, &b)) { 818 goto exit; 819 } 820 return_value = _operator_ior_impl(module, a, b); 821 822 exit: 823 return return_value; 824 } 825 826 PyDoc_STRVAR(_operator_concat__doc__, 827 "concat($module, a, b, /)\n" 828 "--\n" 829 "\n" 830 "Same as a + b, for a and b sequences."); 831 832 #define _OPERATOR_CONCAT_METHODDEF \ 833 {"concat", (PyCFunction)_operator_concat, METH_FASTCALL, _operator_concat__doc__}, 834 835 static PyObject * 836 _operator_concat_impl(PyObject *module, PyObject *a, PyObject *b); 837 838 static PyObject * 839 _operator_concat(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 840 { 841 PyObject *return_value = NULL; 842 PyObject *a; 843 PyObject *b; 844 845 if (!_PyArg_UnpackStack(args, nargs, "concat", 846 2, 2, 847 &a, &b)) { 848 goto exit; 849 } 850 return_value = _operator_concat_impl(module, a, b); 851 852 exit: 853 return return_value; 854 } 855 856 PyDoc_STRVAR(_operator_iconcat__doc__, 857 "iconcat($module, a, b, /)\n" 858 "--\n" 859 "\n" 860 "Same as a += b, for a and b sequences."); 861 862 #define _OPERATOR_ICONCAT_METHODDEF \ 863 {"iconcat", (PyCFunction)_operator_iconcat, METH_FASTCALL, _operator_iconcat__doc__}, 864 865 static PyObject * 866 _operator_iconcat_impl(PyObject *module, PyObject *a, PyObject *b); 867 868 static PyObject * 869 _operator_iconcat(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 870 { 871 PyObject *return_value = NULL; 872 PyObject *a; 873 PyObject *b; 874 875 if (!_PyArg_UnpackStack(args, nargs, "iconcat", 876 2, 2, 877 &a, &b)) { 878 goto exit; 879 } 880 return_value = _operator_iconcat_impl(module, a, b); 881 882 exit: 883 return return_value; 884 } 885 886 PyDoc_STRVAR(_operator_contains__doc__, 887 "contains($module, a, b, /)\n" 888 "--\n" 889 "\n" 890 "Same as b in a (note reversed operands)."); 891 892 #define _OPERATOR_CONTAINS_METHODDEF \ 893 {"contains", (PyCFunction)_operator_contains, METH_FASTCALL, _operator_contains__doc__}, 894 895 static int 896 _operator_contains_impl(PyObject *module, PyObject *a, PyObject *b); 897 898 static PyObject * 899 _operator_contains(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 900 { 901 PyObject *return_value = NULL; 902 PyObject *a; 903 PyObject *b; 904 int _return_value; 905 906 if (!_PyArg_UnpackStack(args, nargs, "contains", 907 2, 2, 908 &a, &b)) { 909 goto exit; 910 } 911 _return_value = _operator_contains_impl(module, a, b); 912 if ((_return_value == -1) && PyErr_Occurred()) { 913 goto exit; 914 } 915 return_value = PyBool_FromLong((long)_return_value); 916 917 exit: 918 return return_value; 919 } 920 921 PyDoc_STRVAR(_operator_indexOf__doc__, 922 "indexOf($module, a, b, /)\n" 923 "--\n" 924 "\n" 925 "Return the first index of b in a."); 926 927 #define _OPERATOR_INDEXOF_METHODDEF \ 928 {"indexOf", (PyCFunction)_operator_indexOf, METH_FASTCALL, _operator_indexOf__doc__}, 929 930 static Py_ssize_t 931 _operator_indexOf_impl(PyObject *module, PyObject *a, PyObject *b); 932 933 static PyObject * 934 _operator_indexOf(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 935 { 936 PyObject *return_value = NULL; 937 PyObject *a; 938 PyObject *b; 939 Py_ssize_t _return_value; 940 941 if (!_PyArg_UnpackStack(args, nargs, "indexOf", 942 2, 2, 943 &a, &b)) { 944 goto exit; 945 } 946 _return_value = _operator_indexOf_impl(module, a, b); 947 if ((_return_value == -1) && PyErr_Occurred()) { 948 goto exit; 949 } 950 return_value = PyLong_FromSsize_t(_return_value); 951 952 exit: 953 return return_value; 954 } 955 956 PyDoc_STRVAR(_operator_countOf__doc__, 957 "countOf($module, a, b, /)\n" 958 "--\n" 959 "\n" 960 "Return the number of times b occurs in a."); 961 962 #define _OPERATOR_COUNTOF_METHODDEF \ 963 {"countOf", (PyCFunction)_operator_countOf, METH_FASTCALL, _operator_countOf__doc__}, 964 965 static Py_ssize_t 966 _operator_countOf_impl(PyObject *module, PyObject *a, PyObject *b); 967 968 static PyObject * 969 _operator_countOf(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 970 { 971 PyObject *return_value = NULL; 972 PyObject *a; 973 PyObject *b; 974 Py_ssize_t _return_value; 975 976 if (!_PyArg_UnpackStack(args, nargs, "countOf", 977 2, 2, 978 &a, &b)) { 979 goto exit; 980 } 981 _return_value = _operator_countOf_impl(module, a, b); 982 if ((_return_value == -1) && PyErr_Occurred()) { 983 goto exit; 984 } 985 return_value = PyLong_FromSsize_t(_return_value); 986 987 exit: 988 return return_value; 989 } 990 991 PyDoc_STRVAR(_operator_getitem__doc__, 992 "getitem($module, a, b, /)\n" 993 "--\n" 994 "\n" 995 "Same as a[b]."); 996 997 #define _OPERATOR_GETITEM_METHODDEF \ 998 {"getitem", (PyCFunction)_operator_getitem, METH_FASTCALL, _operator_getitem__doc__}, 999 1000 static PyObject * 1001 _operator_getitem_impl(PyObject *module, PyObject *a, PyObject *b); 1002 1003 static PyObject * 1004 _operator_getitem(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1005 { 1006 PyObject *return_value = NULL; 1007 PyObject *a; 1008 PyObject *b; 1009 1010 if (!_PyArg_UnpackStack(args, nargs, "getitem", 1011 2, 2, 1012 &a, &b)) { 1013 goto exit; 1014 } 1015 return_value = _operator_getitem_impl(module, a, b); 1016 1017 exit: 1018 return return_value; 1019 } 1020 1021 PyDoc_STRVAR(_operator_setitem__doc__, 1022 "setitem($module, a, b, c, /)\n" 1023 "--\n" 1024 "\n" 1025 "Same as a[b] = c."); 1026 1027 #define _OPERATOR_SETITEM_METHODDEF \ 1028 {"setitem", (PyCFunction)_operator_setitem, METH_FASTCALL, _operator_setitem__doc__}, 1029 1030 static PyObject * 1031 _operator_setitem_impl(PyObject *module, PyObject *a, PyObject *b, 1032 PyObject *c); 1033 1034 static PyObject * 1035 _operator_setitem(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1036 { 1037 PyObject *return_value = NULL; 1038 PyObject *a; 1039 PyObject *b; 1040 PyObject *c; 1041 1042 if (!_PyArg_UnpackStack(args, nargs, "setitem", 1043 3, 3, 1044 &a, &b, &c)) { 1045 goto exit; 1046 } 1047 return_value = _operator_setitem_impl(module, a, b, c); 1048 1049 exit: 1050 return return_value; 1051 } 1052 1053 PyDoc_STRVAR(_operator_delitem__doc__, 1054 "delitem($module, a, b, /)\n" 1055 "--\n" 1056 "\n" 1057 "Same as del a[b]."); 1058 1059 #define _OPERATOR_DELITEM_METHODDEF \ 1060 {"delitem", (PyCFunction)_operator_delitem, METH_FASTCALL, _operator_delitem__doc__}, 1061 1062 static PyObject * 1063 _operator_delitem_impl(PyObject *module, PyObject *a, PyObject *b); 1064 1065 static PyObject * 1066 _operator_delitem(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1067 { 1068 PyObject *return_value = NULL; 1069 PyObject *a; 1070 PyObject *b; 1071 1072 if (!_PyArg_UnpackStack(args, nargs, "delitem", 1073 2, 2, 1074 &a, &b)) { 1075 goto exit; 1076 } 1077 return_value = _operator_delitem_impl(module, a, b); 1078 1079 exit: 1080 return return_value; 1081 } 1082 1083 PyDoc_STRVAR(_operator_eq__doc__, 1084 "eq($module, a, b, /)\n" 1085 "--\n" 1086 "\n" 1087 "Same as a == b."); 1088 1089 #define _OPERATOR_EQ_METHODDEF \ 1090 {"eq", (PyCFunction)_operator_eq, METH_FASTCALL, _operator_eq__doc__}, 1091 1092 static PyObject * 1093 _operator_eq_impl(PyObject *module, PyObject *a, PyObject *b); 1094 1095 static PyObject * 1096 _operator_eq(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1097 { 1098 PyObject *return_value = NULL; 1099 PyObject *a; 1100 PyObject *b; 1101 1102 if (!_PyArg_UnpackStack(args, nargs, "eq", 1103 2, 2, 1104 &a, &b)) { 1105 goto exit; 1106 } 1107 return_value = _operator_eq_impl(module, a, b); 1108 1109 exit: 1110 return return_value; 1111 } 1112 1113 PyDoc_STRVAR(_operator_ne__doc__, 1114 "ne($module, a, b, /)\n" 1115 "--\n" 1116 "\n" 1117 "Same as a != b."); 1118 1119 #define _OPERATOR_NE_METHODDEF \ 1120 {"ne", (PyCFunction)_operator_ne, METH_FASTCALL, _operator_ne__doc__}, 1121 1122 static PyObject * 1123 _operator_ne_impl(PyObject *module, PyObject *a, PyObject *b); 1124 1125 static PyObject * 1126 _operator_ne(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1127 { 1128 PyObject *return_value = NULL; 1129 PyObject *a; 1130 PyObject *b; 1131 1132 if (!_PyArg_UnpackStack(args, nargs, "ne", 1133 2, 2, 1134 &a, &b)) { 1135 goto exit; 1136 } 1137 return_value = _operator_ne_impl(module, a, b); 1138 1139 exit: 1140 return return_value; 1141 } 1142 1143 PyDoc_STRVAR(_operator_lt__doc__, 1144 "lt($module, a, b, /)\n" 1145 "--\n" 1146 "\n" 1147 "Same as a < b."); 1148 1149 #define _OPERATOR_LT_METHODDEF \ 1150 {"lt", (PyCFunction)_operator_lt, METH_FASTCALL, _operator_lt__doc__}, 1151 1152 static PyObject * 1153 _operator_lt_impl(PyObject *module, PyObject *a, PyObject *b); 1154 1155 static PyObject * 1156 _operator_lt(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1157 { 1158 PyObject *return_value = NULL; 1159 PyObject *a; 1160 PyObject *b; 1161 1162 if (!_PyArg_UnpackStack(args, nargs, "lt", 1163 2, 2, 1164 &a, &b)) { 1165 goto exit; 1166 } 1167 return_value = _operator_lt_impl(module, a, b); 1168 1169 exit: 1170 return return_value; 1171 } 1172 1173 PyDoc_STRVAR(_operator_le__doc__, 1174 "le($module, a, b, /)\n" 1175 "--\n" 1176 "\n" 1177 "Same as a <= b."); 1178 1179 #define _OPERATOR_LE_METHODDEF \ 1180 {"le", (PyCFunction)_operator_le, METH_FASTCALL, _operator_le__doc__}, 1181 1182 static PyObject * 1183 _operator_le_impl(PyObject *module, PyObject *a, PyObject *b); 1184 1185 static PyObject * 1186 _operator_le(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1187 { 1188 PyObject *return_value = NULL; 1189 PyObject *a; 1190 PyObject *b; 1191 1192 if (!_PyArg_UnpackStack(args, nargs, "le", 1193 2, 2, 1194 &a, &b)) { 1195 goto exit; 1196 } 1197 return_value = _operator_le_impl(module, a, b); 1198 1199 exit: 1200 return return_value; 1201 } 1202 1203 PyDoc_STRVAR(_operator_gt__doc__, 1204 "gt($module, a, b, /)\n" 1205 "--\n" 1206 "\n" 1207 "Same as a > b."); 1208 1209 #define _OPERATOR_GT_METHODDEF \ 1210 {"gt", (PyCFunction)_operator_gt, METH_FASTCALL, _operator_gt__doc__}, 1211 1212 static PyObject * 1213 _operator_gt_impl(PyObject *module, PyObject *a, PyObject *b); 1214 1215 static PyObject * 1216 _operator_gt(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1217 { 1218 PyObject *return_value = NULL; 1219 PyObject *a; 1220 PyObject *b; 1221 1222 if (!_PyArg_UnpackStack(args, nargs, "gt", 1223 2, 2, 1224 &a, &b)) { 1225 goto exit; 1226 } 1227 return_value = _operator_gt_impl(module, a, b); 1228 1229 exit: 1230 return return_value; 1231 } 1232 1233 PyDoc_STRVAR(_operator_ge__doc__, 1234 "ge($module, a, b, /)\n" 1235 "--\n" 1236 "\n" 1237 "Same as a >= b."); 1238 1239 #define _OPERATOR_GE_METHODDEF \ 1240 {"ge", (PyCFunction)_operator_ge, METH_FASTCALL, _operator_ge__doc__}, 1241 1242 static PyObject * 1243 _operator_ge_impl(PyObject *module, PyObject *a, PyObject *b); 1244 1245 static PyObject * 1246 _operator_ge(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1247 { 1248 PyObject *return_value = NULL; 1249 PyObject *a; 1250 PyObject *b; 1251 1252 if (!_PyArg_UnpackStack(args, nargs, "ge", 1253 2, 2, 1254 &a, &b)) { 1255 goto exit; 1256 } 1257 return_value = _operator_ge_impl(module, a, b); 1258 1259 exit: 1260 return return_value; 1261 } 1262 1263 PyDoc_STRVAR(_operator_pow__doc__, 1264 "pow($module, a, b, /)\n" 1265 "--\n" 1266 "\n" 1267 "Same as a ** b."); 1268 1269 #define _OPERATOR_POW_METHODDEF \ 1270 {"pow", (PyCFunction)_operator_pow, METH_FASTCALL, _operator_pow__doc__}, 1271 1272 static PyObject * 1273 _operator_pow_impl(PyObject *module, PyObject *a, PyObject *b); 1274 1275 static PyObject * 1276 _operator_pow(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1277 { 1278 PyObject *return_value = NULL; 1279 PyObject *a; 1280 PyObject *b; 1281 1282 if (!_PyArg_UnpackStack(args, nargs, "pow", 1283 2, 2, 1284 &a, &b)) { 1285 goto exit; 1286 } 1287 return_value = _operator_pow_impl(module, a, b); 1288 1289 exit: 1290 return return_value; 1291 } 1292 1293 PyDoc_STRVAR(_operator_ipow__doc__, 1294 "ipow($module, a, b, /)\n" 1295 "--\n" 1296 "\n" 1297 "Same as a **= b."); 1298 1299 #define _OPERATOR_IPOW_METHODDEF \ 1300 {"ipow", (PyCFunction)_operator_ipow, METH_FASTCALL, _operator_ipow__doc__}, 1301 1302 static PyObject * 1303 _operator_ipow_impl(PyObject *module, PyObject *a, PyObject *b); 1304 1305 static PyObject * 1306 _operator_ipow(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1307 { 1308 PyObject *return_value = NULL; 1309 PyObject *a; 1310 PyObject *b; 1311 1312 if (!_PyArg_UnpackStack(args, nargs, "ipow", 1313 2, 2, 1314 &a, &b)) { 1315 goto exit; 1316 } 1317 return_value = _operator_ipow_impl(module, a, b); 1318 1319 exit: 1320 return return_value; 1321 } 1322 1323 PyDoc_STRVAR(_operator_index__doc__, 1324 "index($module, a, /)\n" 1325 "--\n" 1326 "\n" 1327 "Same as a.__index__()"); 1328 1329 #define _OPERATOR_INDEX_METHODDEF \ 1330 {"index", (PyCFunction)_operator_index, METH_O, _operator_index__doc__}, 1331 1332 PyDoc_STRVAR(_operator_is___doc__, 1333 "is_($module, a, b, /)\n" 1334 "--\n" 1335 "\n" 1336 "Same as a is b."); 1337 1338 #define _OPERATOR_IS__METHODDEF \ 1339 {"is_", (PyCFunction)_operator_is_, METH_FASTCALL, _operator_is___doc__}, 1340 1341 static PyObject * 1342 _operator_is__impl(PyObject *module, PyObject *a, PyObject *b); 1343 1344 static PyObject * 1345 _operator_is_(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1346 { 1347 PyObject *return_value = NULL; 1348 PyObject *a; 1349 PyObject *b; 1350 1351 if (!_PyArg_UnpackStack(args, nargs, "is_", 1352 2, 2, 1353 &a, &b)) { 1354 goto exit; 1355 } 1356 return_value = _operator_is__impl(module, a, b); 1357 1358 exit: 1359 return return_value; 1360 } 1361 1362 PyDoc_STRVAR(_operator_is_not__doc__, 1363 "is_not($module, a, b, /)\n" 1364 "--\n" 1365 "\n" 1366 "Same as a is not b."); 1367 1368 #define _OPERATOR_IS_NOT_METHODDEF \ 1369 {"is_not", (PyCFunction)_operator_is_not, METH_FASTCALL, _operator_is_not__doc__}, 1370 1371 static PyObject * 1372 _operator_is_not_impl(PyObject *module, PyObject *a, PyObject *b); 1373 1374 static PyObject * 1375 _operator_is_not(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1376 { 1377 PyObject *return_value = NULL; 1378 PyObject *a; 1379 PyObject *b; 1380 1381 if (!_PyArg_UnpackStack(args, nargs, "is_not", 1382 2, 2, 1383 &a, &b)) { 1384 goto exit; 1385 } 1386 return_value = _operator_is_not_impl(module, a, b); 1387 1388 exit: 1389 return return_value; 1390 } 1391 1392 PyDoc_STRVAR(_operator_length_hint__doc__, 1393 "length_hint($module, obj, default=0, /)\n" 1394 "--\n" 1395 "\n" 1396 "Return an estimate of the number of items in obj.\n" 1397 "\n" 1398 "This is useful for presizing containers when building from an iterable.\n" 1399 "\n" 1400 "If the object supports len(), the result will be exact.\n" 1401 "Otherwise, it may over- or under-estimate by an arbitrary amount.\n" 1402 "The result will be an integer >= 0."); 1403 1404 #define _OPERATOR_LENGTH_HINT_METHODDEF \ 1405 {"length_hint", (PyCFunction)_operator_length_hint, METH_FASTCALL, _operator_length_hint__doc__}, 1406 1407 static Py_ssize_t 1408 _operator_length_hint_impl(PyObject *module, PyObject *obj, 1409 Py_ssize_t default_value); 1410 1411 static PyObject * 1412 _operator_length_hint(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1413 { 1414 PyObject *return_value = NULL; 1415 PyObject *obj; 1416 Py_ssize_t default_value = 0; 1417 Py_ssize_t _return_value; 1418 1419 if (!_PyArg_ParseStack(args, nargs, "O|n:length_hint", 1420 &obj, &default_value)) { 1421 goto exit; 1422 } 1423 _return_value = _operator_length_hint_impl(module, obj, default_value); 1424 if ((_return_value == -1) && PyErr_Occurred()) { 1425 goto exit; 1426 } 1427 return_value = PyLong_FromSsize_t(_return_value); 1428 1429 exit: 1430 return return_value; 1431 } 1432 1433 PyDoc_STRVAR(_operator__compare_digest__doc__, 1434 "_compare_digest($module, a, b, /)\n" 1435 "--\n" 1436 "\n" 1437 "Return \'a == b\'.\n" 1438 "\n" 1439 "This function uses an approach designed to prevent\n" 1440 "timing analysis, making it appropriate for cryptography.\n" 1441 "\n" 1442 "a and b must both be of the same type: either str (ASCII only),\n" 1443 "or any bytes-like object.\n" 1444 "\n" 1445 "Note: If a and b are of different lengths, or if an error occurs,\n" 1446 "a timing attack could theoretically reveal information about the\n" 1447 "types and lengths of a and b--but not their values."); 1448 1449 #define _OPERATOR__COMPARE_DIGEST_METHODDEF \ 1450 {"_compare_digest", (PyCFunction)_operator__compare_digest, METH_FASTCALL, _operator__compare_digest__doc__}, 1451 1452 static PyObject * 1453 _operator__compare_digest_impl(PyObject *module, PyObject *a, PyObject *b); 1454 1455 static PyObject * 1456 _operator__compare_digest(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1457 { 1458 PyObject *return_value = NULL; 1459 PyObject *a; 1460 PyObject *b; 1461 1462 if (!_PyArg_UnpackStack(args, nargs, "_compare_digest", 1463 2, 2, 1464 &a, &b)) { 1465 goto exit; 1466 } 1467 return_value = _operator__compare_digest_impl(module, a, b); 1468 1469 exit: 1470 return return_value; 1471 } 1472 /*[clinic end generated code: output=d840f7ea76af2372 input=a9049054013a1b77]*/ 1473