Nummerprotokoll

int PyNumber_Check(PyObject *o)
En del av Stabil ABI.

Returnerar 1 om objektet o tillhandahåller numeriska protokoll, och false annars. Denna funktion lyckas alltid.

Ändrad i version 3.8: Returnerar 1 om o är ett index heltal.

PyObject *PyNumber_Add(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar resultatet av att lägga till o1 och o2, eller NULL om det misslyckas. Detta är motsvarigheten till Python-uttrycket o1 + o2.

PyObject *PyNumber_Subtract(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar resultatet av att subtrahera o2 från o1, eller NULL om det misslyckas. Detta är motsvarigheten till Python-uttrycket o1 - o2.

PyObject *PyNumber_Multiply(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar resultatet av multipliceringen av o1 och o2, eller NULL om den misslyckas. Detta är motsvarigheten till Python-uttrycket o1 * o2.

PyObject *PyNumber_MatrixMultiply(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI sedan version 3.7.

Returnerar resultatet av matrismultiplikation på o1 och o2, eller NULL om det misslyckas. Detta är motsvarigheten till Python-uttrycket o1 @ o2.

Tillagd i version 3.5.

PyObject *PyNumber_FloorDivide(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar golvet av o1 dividerat med o2, eller NULL om det misslyckas. Detta är motsvarigheten till Python-uttrycket o1 // o2.

PyObject *PyNumber_TrueDivide(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar en rimlig approximation av det matematiska värdet av o1 dividerat med o2, eller NULL om det misslyckas. Returvärdet är ”ungefärligt” eftersom binära flyttal är ungefärliga; det är inte möjligt att representera alla verkliga tal i bas två. Denna funktion kan returnera ett flyttalsvärde när den får två heltal. Detta är motsvarigheten till Python-uttrycket o1 / o2.

PyObject *PyNumber_Remainder(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar återstoden av att dividera o1 med o2, eller NULL om det misslyckas. Detta är motsvarigheten till Python-uttrycket o1 % o2.

PyObject *PyNumber_Divmod(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Se den inbyggda funktionen divmod(). Returnerar NULL om den misslyckas. Detta är motsvarigheten till Python-uttrycket divmod(o1, o2).

PyObject *PyNumber_Power(PyObject *o1, PyObject *o2, PyObject *o3)
Returnera värde: Ny referens. En del av Stabil ABI.

Se den inbyggda funktionen pow(). Returnerar NULL om den misslyckas. Detta är motsvarigheten till Python-uttrycket pow(o1, o2, o3), där o3 är valfritt. Om o3 ska ignoreras, skicka Py_None i stället (att skicka NULL för o3 skulle orsaka en olaglig minnesåtkomst).

PyObject *PyNumber_Negative(PyObject *o)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar negationen av o vid framgång, eller NULL vid misslyckande. Detta är motsvarigheten till Python-uttrycket -o.

PyObject *PyNumber_Positive(PyObject *o)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar o vid framgång, eller NULL vid misslyckande. Detta är motsvarigheten till Python-uttrycket +o.

PyObject *PyNumber_Absolute(PyObject *o)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar det absoluta värdet av o, eller NULL om det misslyckas. Detta är motsvarigheten till Python-uttrycket abs(o).

PyObject *PyNumber_Invert(PyObject *o)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar den bitvisa negationen av o vid framgång, eller NULL vid misslyckande. Detta är motsvarigheten till Python-uttrycket ~o.

PyObject *PyNumber_Lshift(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar resultatet av vänsterförskjutning av o1 med o2 vid framgång, eller NULL vid misslyckande. Detta är motsvarigheten till Python-uttrycket o1 << o2.

PyObject *PyNumber_Rshift(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar resultatet av högerförskjutning av o1 med o2 vid framgång, eller NULL vid misslyckande. Detta är motsvarigheten till Python-uttrycket o1 >> o2.

PyObject *PyNumber_And(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar ”bitwise and” av o1 och o2 vid framgång och NULL vid misslyckande. Detta är motsvarigheten till Python-uttrycket o1 & o2.

PyObject *PyNumber_Xor(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar ”bitwise exclusive or” av o1 med o2 vid framgång, eller NULL vid misslyckande. Detta är motsvarigheten till Python-uttrycket o1 ^ o2.

PyObject *PyNumber_Or(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar det ”bitvisa eller” av o1 och o2 vid framgång, eller NULL vid misslyckande. Detta är motsvarigheten till Python-uttrycket o1 | o2.

PyObject *PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar resultatet av att lägga till o1 och o2, eller NULL om det misslyckas. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satsen o1 += o2.

PyObject *PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar resultatet av att subtrahera o2 från o1, eller NULL om det misslyckas. Operationen utförs in-place när o1 stöder den. Detta är motsvarigheten till Python-satsen o1 -= o2.

PyObject *PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar resultatet av multipliceringen av o1 och o2, eller NULL om den misslyckas. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satsen o1 *= o2.

PyObject *PyNumber_InPlaceMatrixMultiply(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI sedan version 3.7.

Returnerar resultatet av matrismultiplikation på o1 och o2, eller NULL om det misslyckas. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satsen o1 @= o2.

Tillagd i version 3.5.

PyObject *PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar det matematiska golvet av att dividera o1 med o2, eller NULL om det misslyckas. Operationen utförs in-place när o1 stöder den. Detta är motsvarigheten till Python-satsen o1 //= o2.

PyObject *PyNumber_InPlaceTrueDivide(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar en rimlig approximation av det matematiska värdet av o1 dividerat med o2, eller NULL om det misslyckas. Returvärdet är ”ungefärligt” eftersom binära flyttal är ungefärliga; det är inte möjligt att representera alla verkliga tal i bas två. Denna funktion kan returnera ett flyttalsvärde när den får två heltal. Operationen görs in-place när o1 har stöd för det. Detta är motsvarigheten till Python-satsen o1 /= o2.

PyObject *PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar återstoden av att dela o1 med o2, eller NULL om det misslyckas. Operationen utförs in-place när o1 stöder den. Detta är motsvarigheten till Python-satsen o1 %= o2.

PyObject *PyNumber_InPlacePower(PyObject *o1, PyObject *o2, PyObject *o3)
Returnera värde: Ny referens. En del av Stabil ABI.

Se den inbyggda funktionen pow(). Returnerar NULL om den misslyckas. Operationen görs in-place när o1 stöder den. Detta motsvarar Python-satsen o1 **= o2 när o3 är Py_None, eller en in-place-variant av pow(o1, o2, o3) annars. Om o3 ska ignoreras, skicka Py_None i dess ställe (att skicka NULL för o3 skulle orsaka en olaglig minnesåtkomst).

PyObject *PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar resultatet av vänsterförskjutning av o1 med o2 vid framgång, eller NULL vid misslyckande. Operationen görs in-place när o1 stöder det. Detta är motsvarigheten till Python-satsen o1 <<= o2.

PyObject *PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar resultatet av högerförskjutning av o1 med o2 vid framgång, eller NULL vid misslyckande. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satsen o1 >>= o2.

PyObject *PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar det ”bitvisa och” av o1 och o2 vid framgång och NULL vid misslyckande. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satsen o1 &= o2.

PyObject *PyNumber_InPlaceXor(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar ”bitwise exclusive or” av o1 med o2 vid framgång, eller NULL vid misslyckande. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satsen o1 ^= o2.

PyObject *PyNumber_InPlaceOr(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar det ”bitvisa eller” av o1 och o2 vid framgång, eller NULL vid misslyckande. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satsen o1 |= o2.

PyObject *PyNumber_Long(PyObject *o)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar o konverterat till ett heltalsobjekt om det lyckas, eller NULL om det misslyckas. Detta är motsvarigheten till Python-uttrycket int(o).

PyObject *PyNumber_Float(PyObject *o)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar o konverterat till ett float-objekt vid framgång, eller NULL vid misslyckande. Detta är motsvarigheten till Python-uttrycket float(o).

PyObject *PyNumber_Index(PyObject *o)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar o konverterad till en Python int vid framgång eller NULL med ett TypeError-undantag vid misslyckande.

Ändrad i version 3.10: Resultatet har alltid den exakta typen int. Tidigare kunde resultatet ha varit en instans av en underklass av int.

PyObject *PyNumber_ToBase(PyObject *n, int base)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar heltalet n omvandlat till basen base som en sträng. Argumentet base måste vara ett av 2, 8, 10 eller 16. För bas 2, 8 eller 16 har den returnerade strängen ett prefix med basmarkören '0b', '0o' respektive '0x'. Om n inte är ett Python int konverteras det först med PyNumber_Index().

Py_ssize_t PyNumber_AsSsize_t(PyObject *o, PyObject *exc)
En del av Stabil ABI.

Returnerar o konverterat till ett Py_ssize_t-värde om o kan tolkas som ett heltal. Om anropet misslyckas uppstår ett undantag och -1 returneras.

Om o kan konverteras till ett Python int men försöket att konvertera till ett Py_ssize_t-värde skulle ge upphov till ett OverflowError, så är exc-argumentet den typ av undantag som kommer att ges upphov till (vanligtvis IndexError eller OverflowError). Om exc är NULL, rensas undantaget och värdet klipps till PY_SSIZE_T_MIN för ett negativt heltal eller PY_SSIZE_T_MAX för ett positivt heltal.

int PyIndex_Check(PyObject *o)
En del av Stabil ABI sedan version 3.8.

Returnerar 1 om o är ett index heltal (har nb_index slot i tp_as_number strukturen ifylld), och 0 annars. Denna funktion lyckas alltid.