numeric.pyi
1 from collections.abc import Callable, Sequence 2 from typing import ( 3 Any, 4 overload, 5 TypeVar, 6 Literal, 7 SupportsAbs, 8 SupportsIndex, 9 NoReturn, 10 ) 11 from typing_extensions import TypeGuard 12 13 from numpy import ( 14 ComplexWarning as ComplexWarning, 15 generic, 16 unsignedinteger, 17 signedinteger, 18 floating, 19 complexfloating, 20 bool_, 21 int_, 22 intp, 23 float64, 24 timedelta64, 25 object_, 26 _OrderKACF, 27 _OrderCF, 28 ) 29 30 from numpy._typing import ( 31 ArrayLike, 32 NDArray, 33 DTypeLike, 34 _ShapeLike, 35 _DTypeLike, 36 _ArrayLike, 37 _SupportsArrayFunc, 38 _ScalarLike_co, 39 _ArrayLikeBool_co, 40 _ArrayLikeUInt_co, 41 _ArrayLikeInt_co, 42 _ArrayLikeFloat_co, 43 _ArrayLikeComplex_co, 44 _ArrayLikeTD64_co, 45 _ArrayLikeObject_co, 46 _ArrayLikeUnknown, 47 ) 48 49 _T = TypeVar("_T") 50 _SCT = TypeVar("_SCT", bound=generic) 51 _ArrayType = TypeVar("_ArrayType", bound=NDArray[Any]) 52 53 _CorrelateMode = Literal["valid", "same", "full"] 54 55 __all__: list[str] 56 57 @overload 58 def zeros_like( 59 a: _ArrayType, 60 dtype: None = ..., 61 order: _OrderKACF = ..., 62 subok: Literal[True] = ..., 63 shape: None = ..., 64 ) -> _ArrayType: ... 65 @overload 66 def zeros_like( 67 a: _ArrayLike[_SCT], 68 dtype: None = ..., 69 order: _OrderKACF = ..., 70 subok: bool = ..., 71 shape: None | _ShapeLike = ..., 72 ) -> NDArray[_SCT]: ... 73 @overload 74 def zeros_like( 75 a: object, 76 dtype: None = ..., 77 order: _OrderKACF = ..., 78 subok: bool = ..., 79 shape: None | _ShapeLike= ..., 80 ) -> NDArray[Any]: ... 81 @overload 82 def zeros_like( 83 a: Any, 84 dtype: _DTypeLike[_SCT], 85 order: _OrderKACF = ..., 86 subok: bool = ..., 87 shape: None | _ShapeLike= ..., 88 ) -> NDArray[_SCT]: ... 89 @overload 90 def zeros_like( 91 a: Any, 92 dtype: DTypeLike, 93 order: _OrderKACF = ..., 94 subok: bool = ..., 95 shape: None | _ShapeLike= ..., 96 ) -> NDArray[Any]: ... 97 98 @overload 99 def ones( 100 shape: _ShapeLike, 101 dtype: None = ..., 102 order: _OrderCF = ..., 103 *, 104 like: _SupportsArrayFunc = ..., 105 ) -> NDArray[float64]: ... 106 @overload 107 def ones( 108 shape: _ShapeLike, 109 dtype: _DTypeLike[_SCT], 110 order: _OrderCF = ..., 111 *, 112 like: _SupportsArrayFunc = ..., 113 ) -> NDArray[_SCT]: ... 114 @overload 115 def ones( 116 shape: _ShapeLike, 117 dtype: DTypeLike, 118 order: _OrderCF = ..., 119 *, 120 like: _SupportsArrayFunc = ..., 121 ) -> NDArray[Any]: ... 122 123 @overload 124 def ones_like( 125 a: _ArrayType, 126 dtype: None = ..., 127 order: _OrderKACF = ..., 128 subok: Literal[True] = ..., 129 shape: None = ..., 130 ) -> _ArrayType: ... 131 @overload 132 def ones_like( 133 a: _ArrayLike[_SCT], 134 dtype: None = ..., 135 order: _OrderKACF = ..., 136 subok: bool = ..., 137 shape: None | _ShapeLike = ..., 138 ) -> NDArray[_SCT]: ... 139 @overload 140 def ones_like( 141 a: object, 142 dtype: None = ..., 143 order: _OrderKACF = ..., 144 subok: bool = ..., 145 shape: None | _ShapeLike= ..., 146 ) -> NDArray[Any]: ... 147 @overload 148 def ones_like( 149 a: Any, 150 dtype: _DTypeLike[_SCT], 151 order: _OrderKACF = ..., 152 subok: bool = ..., 153 shape: None | _ShapeLike= ..., 154 ) -> NDArray[_SCT]: ... 155 @overload 156 def ones_like( 157 a: Any, 158 dtype: DTypeLike, 159 order: _OrderKACF = ..., 160 subok: bool = ..., 161 shape: None | _ShapeLike= ..., 162 ) -> NDArray[Any]: ... 163 164 @overload 165 def full( 166 shape: _ShapeLike, 167 fill_value: Any, 168 dtype: None = ..., 169 order: _OrderCF = ..., 170 *, 171 like: _SupportsArrayFunc = ..., 172 ) -> NDArray[Any]: ... 173 @overload 174 def full( 175 shape: _ShapeLike, 176 fill_value: Any, 177 dtype: _DTypeLike[_SCT], 178 order: _OrderCF = ..., 179 *, 180 like: _SupportsArrayFunc = ..., 181 ) -> NDArray[_SCT]: ... 182 @overload 183 def full( 184 shape: _ShapeLike, 185 fill_value: Any, 186 dtype: DTypeLike, 187 order: _OrderCF = ..., 188 *, 189 like: _SupportsArrayFunc = ..., 190 ) -> NDArray[Any]: ... 191 192 @overload 193 def full_like( 194 a: _ArrayType, 195 fill_value: Any, 196 dtype: None = ..., 197 order: _OrderKACF = ..., 198 subok: Literal[True] = ..., 199 shape: None = ..., 200 ) -> _ArrayType: ... 201 @overload 202 def full_like( 203 a: _ArrayLike[_SCT], 204 fill_value: Any, 205 dtype: None = ..., 206 order: _OrderKACF = ..., 207 subok: bool = ..., 208 shape: None | _ShapeLike = ..., 209 ) -> NDArray[_SCT]: ... 210 @overload 211 def full_like( 212 a: object, 213 fill_value: Any, 214 dtype: None = ..., 215 order: _OrderKACF = ..., 216 subok: bool = ..., 217 shape: None | _ShapeLike= ..., 218 ) -> NDArray[Any]: ... 219 @overload 220 def full_like( 221 a: Any, 222 fill_value: Any, 223 dtype: _DTypeLike[_SCT], 224 order: _OrderKACF = ..., 225 subok: bool = ..., 226 shape: None | _ShapeLike= ..., 227 ) -> NDArray[_SCT]: ... 228 @overload 229 def full_like( 230 a: Any, 231 fill_value: Any, 232 dtype: DTypeLike, 233 order: _OrderKACF = ..., 234 subok: bool = ..., 235 shape: None | _ShapeLike= ..., 236 ) -> NDArray[Any]: ... 237 238 @overload 239 def count_nonzero( 240 a: ArrayLike, 241 axis: None = ..., 242 *, 243 keepdims: Literal[False] = ..., 244 ) -> int: ... 245 @overload 246 def count_nonzero( 247 a: ArrayLike, 248 axis: _ShapeLike = ..., 249 *, 250 keepdims: bool = ..., 251 ) -> Any: ... # TODO: np.intp or ndarray[np.intp] 252 253 def isfortran(a: NDArray[Any] | generic) -> bool: ... 254 255 def argwhere(a: ArrayLike) -> NDArray[intp]: ... 256 257 def flatnonzero(a: ArrayLike) -> NDArray[intp]: ... 258 259 @overload 260 def correlate( 261 a: _ArrayLikeUnknown, 262 v: _ArrayLikeUnknown, 263 mode: _CorrelateMode = ..., 264 ) -> NDArray[Any]: ... 265 @overload 266 def correlate( 267 a: _ArrayLikeBool_co, 268 v: _ArrayLikeBool_co, 269 mode: _CorrelateMode = ..., 270 ) -> NDArray[bool_]: ... 271 @overload 272 def correlate( 273 a: _ArrayLikeUInt_co, 274 v: _ArrayLikeUInt_co, 275 mode: _CorrelateMode = ..., 276 ) -> NDArray[unsignedinteger[Any]]: ... 277 @overload 278 def correlate( 279 a: _ArrayLikeInt_co, 280 v: _ArrayLikeInt_co, 281 mode: _CorrelateMode = ..., 282 ) -> NDArray[signedinteger[Any]]: ... 283 @overload 284 def correlate( 285 a: _ArrayLikeFloat_co, 286 v: _ArrayLikeFloat_co, 287 mode: _CorrelateMode = ..., 288 ) -> NDArray[floating[Any]]: ... 289 @overload 290 def correlate( 291 a: _ArrayLikeComplex_co, 292 v: _ArrayLikeComplex_co, 293 mode: _CorrelateMode = ..., 294 ) -> NDArray[complexfloating[Any, Any]]: ... 295 @overload 296 def correlate( 297 a: _ArrayLikeTD64_co, 298 v: _ArrayLikeTD64_co, 299 mode: _CorrelateMode = ..., 300 ) -> NDArray[timedelta64]: ... 301 @overload 302 def correlate( 303 a: _ArrayLikeObject_co, 304 v: _ArrayLikeObject_co, 305 mode: _CorrelateMode = ..., 306 ) -> NDArray[object_]: ... 307 308 @overload 309 def convolve( 310 a: _ArrayLikeUnknown, 311 v: _ArrayLikeUnknown, 312 mode: _CorrelateMode = ..., 313 ) -> NDArray[Any]: ... 314 @overload 315 def convolve( 316 a: _ArrayLikeBool_co, 317 v: _ArrayLikeBool_co, 318 mode: _CorrelateMode = ..., 319 ) -> NDArray[bool_]: ... 320 @overload 321 def convolve( 322 a: _ArrayLikeUInt_co, 323 v: _ArrayLikeUInt_co, 324 mode: _CorrelateMode = ..., 325 ) -> NDArray[unsignedinteger[Any]]: ... 326 @overload 327 def convolve( 328 a: _ArrayLikeInt_co, 329 v: _ArrayLikeInt_co, 330 mode: _CorrelateMode = ..., 331 ) -> NDArray[signedinteger[Any]]: ... 332 @overload 333 def convolve( 334 a: _ArrayLikeFloat_co, 335 v: _ArrayLikeFloat_co, 336 mode: _CorrelateMode = ..., 337 ) -> NDArray[floating[Any]]: ... 338 @overload 339 def convolve( 340 a: _ArrayLikeComplex_co, 341 v: _ArrayLikeComplex_co, 342 mode: _CorrelateMode = ..., 343 ) -> NDArray[complexfloating[Any, Any]]: ... 344 @overload 345 def convolve( 346 a: _ArrayLikeTD64_co, 347 v: _ArrayLikeTD64_co, 348 mode: _CorrelateMode = ..., 349 ) -> NDArray[timedelta64]: ... 350 @overload 351 def convolve( 352 a: _ArrayLikeObject_co, 353 v: _ArrayLikeObject_co, 354 mode: _CorrelateMode = ..., 355 ) -> NDArray[object_]: ... 356 357 @overload 358 def outer( 359 a: _ArrayLikeUnknown, 360 b: _ArrayLikeUnknown, 361 out: None = ..., 362 ) -> NDArray[Any]: ... 363 @overload 364 def outer( 365 a: _ArrayLikeBool_co, 366 b: _ArrayLikeBool_co, 367 out: None = ..., 368 ) -> NDArray[bool_]: ... 369 @overload 370 def outer( 371 a: _ArrayLikeUInt_co, 372 b: _ArrayLikeUInt_co, 373 out: None = ..., 374 ) -> NDArray[unsignedinteger[Any]]: ... 375 @overload 376 def outer( 377 a: _ArrayLikeInt_co, 378 b: _ArrayLikeInt_co, 379 out: None = ..., 380 ) -> NDArray[signedinteger[Any]]: ... 381 @overload 382 def outer( 383 a: _ArrayLikeFloat_co, 384 b: _ArrayLikeFloat_co, 385 out: None = ..., 386 ) -> NDArray[floating[Any]]: ... 387 @overload 388 def outer( 389 a: _ArrayLikeComplex_co, 390 b: _ArrayLikeComplex_co, 391 out: None = ..., 392 ) -> NDArray[complexfloating[Any, Any]]: ... 393 @overload 394 def outer( 395 a: _ArrayLikeTD64_co, 396 b: _ArrayLikeTD64_co, 397 out: None = ..., 398 ) -> NDArray[timedelta64]: ... 399 @overload 400 def outer( 401 a: _ArrayLikeObject_co, 402 b: _ArrayLikeObject_co, 403 out: None = ..., 404 ) -> NDArray[object_]: ... 405 @overload 406 def outer( 407 a: _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeObject_co, 408 b: _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeObject_co, 409 out: _ArrayType, 410 ) -> _ArrayType: ... 411 412 @overload 413 def tensordot( 414 a: _ArrayLikeUnknown, 415 b: _ArrayLikeUnknown, 416 axes: int | tuple[_ShapeLike, _ShapeLike] = ..., 417 ) -> NDArray[Any]: ... 418 @overload 419 def tensordot( 420 a: _ArrayLikeBool_co, 421 b: _ArrayLikeBool_co, 422 axes: int | tuple[_ShapeLike, _ShapeLike] = ..., 423 ) -> NDArray[bool_]: ... 424 @overload 425 def tensordot( 426 a: _ArrayLikeUInt_co, 427 b: _ArrayLikeUInt_co, 428 axes: int | tuple[_ShapeLike, _ShapeLike] = ..., 429 ) -> NDArray[unsignedinteger[Any]]: ... 430 @overload 431 def tensordot( 432 a: _ArrayLikeInt_co, 433 b: _ArrayLikeInt_co, 434 axes: int | tuple[_ShapeLike, _ShapeLike] = ..., 435 ) -> NDArray[signedinteger[Any]]: ... 436 @overload 437 def tensordot( 438 a: _ArrayLikeFloat_co, 439 b: _ArrayLikeFloat_co, 440 axes: int | tuple[_ShapeLike, _ShapeLike] = ..., 441 ) -> NDArray[floating[Any]]: ... 442 @overload 443 def tensordot( 444 a: _ArrayLikeComplex_co, 445 b: _ArrayLikeComplex_co, 446 axes: int | tuple[_ShapeLike, _ShapeLike] = ..., 447 ) -> NDArray[complexfloating[Any, Any]]: ... 448 @overload 449 def tensordot( 450 a: _ArrayLikeTD64_co, 451 b: _ArrayLikeTD64_co, 452 axes: int | tuple[_ShapeLike, _ShapeLike] = ..., 453 ) -> NDArray[timedelta64]: ... 454 @overload 455 def tensordot( 456 a: _ArrayLikeObject_co, 457 b: _ArrayLikeObject_co, 458 axes: int | tuple[_ShapeLike, _ShapeLike] = ..., 459 ) -> NDArray[object_]: ... 460 461 @overload 462 def roll( 463 a: _ArrayLike[_SCT], 464 shift: _ShapeLike, 465 axis: None | _ShapeLike = ..., 466 ) -> NDArray[_SCT]: ... 467 @overload 468 def roll( 469 a: ArrayLike, 470 shift: _ShapeLike, 471 axis: None | _ShapeLike = ..., 472 ) -> NDArray[Any]: ... 473 474 def rollaxis( 475 a: NDArray[_SCT], 476 axis: int, 477 start: int = ..., 478 ) -> NDArray[_SCT]: ... 479 480 def moveaxis( 481 a: NDArray[_SCT], 482 source: _ShapeLike, 483 destination: _ShapeLike, 484 ) -> NDArray[_SCT]: ... 485 486 @overload 487 def cross( 488 a: _ArrayLikeUnknown, 489 b: _ArrayLikeUnknown, 490 axisa: int = ..., 491 axisb: int = ..., 492 axisc: int = ..., 493 axis: None | int = ..., 494 ) -> NDArray[Any]: ... 495 @overload 496 def cross( 497 a: _ArrayLikeBool_co, 498 b: _ArrayLikeBool_co, 499 axisa: int = ..., 500 axisb: int = ..., 501 axisc: int = ..., 502 axis: None | int = ..., 503 ) -> NoReturn: ... 504 @overload 505 def cross( 506 a: _ArrayLikeUInt_co, 507 b: _ArrayLikeUInt_co, 508 axisa: int = ..., 509 axisb: int = ..., 510 axisc: int = ..., 511 axis: None | int = ..., 512 ) -> NDArray[unsignedinteger[Any]]: ... 513 @overload 514 def cross( 515 a: _ArrayLikeInt_co, 516 b: _ArrayLikeInt_co, 517 axisa: int = ..., 518 axisb: int = ..., 519 axisc: int = ..., 520 axis: None | int = ..., 521 ) -> NDArray[signedinteger[Any]]: ... 522 @overload 523 def cross( 524 a: _ArrayLikeFloat_co, 525 b: _ArrayLikeFloat_co, 526 axisa: int = ..., 527 axisb: int = ..., 528 axisc: int = ..., 529 axis: None | int = ..., 530 ) -> NDArray[floating[Any]]: ... 531 @overload 532 def cross( 533 a: _ArrayLikeComplex_co, 534 b: _ArrayLikeComplex_co, 535 axisa: int = ..., 536 axisb: int = ..., 537 axisc: int = ..., 538 axis: None | int = ..., 539 ) -> NDArray[complexfloating[Any, Any]]: ... 540 @overload 541 def cross( 542 a: _ArrayLikeObject_co, 543 b: _ArrayLikeObject_co, 544 axisa: int = ..., 545 axisb: int = ..., 546 axisc: int = ..., 547 axis: None | int = ..., 548 ) -> NDArray[object_]: ... 549 550 @overload 551 def indices( 552 dimensions: Sequence[int], 553 dtype: type[int] = ..., 554 sparse: Literal[False] = ..., 555 ) -> NDArray[int_]: ... 556 @overload 557 def indices( 558 dimensions: Sequence[int], 559 dtype: type[int] = ..., 560 sparse: Literal[True] = ..., 561 ) -> tuple[NDArray[int_], ...]: ... 562 @overload 563 def indices( 564 dimensions: Sequence[int], 565 dtype: _DTypeLike[_SCT], 566 sparse: Literal[False] = ..., 567 ) -> NDArray[_SCT]: ... 568 @overload 569 def indices( 570 dimensions: Sequence[int], 571 dtype: _DTypeLike[_SCT], 572 sparse: Literal[True], 573 ) -> tuple[NDArray[_SCT], ...]: ... 574 @overload 575 def indices( 576 dimensions: Sequence[int], 577 dtype: DTypeLike, 578 sparse: Literal[False] = ..., 579 ) -> NDArray[Any]: ... 580 @overload 581 def indices( 582 dimensions: Sequence[int], 583 dtype: DTypeLike, 584 sparse: Literal[True], 585 ) -> tuple[NDArray[Any], ...]: ... 586 587 def fromfunction( 588 function: Callable[..., _T], 589 shape: Sequence[int], 590 *, 591 dtype: DTypeLike = ..., 592 like: _SupportsArrayFunc = ..., 593 **kwargs: Any, 594 ) -> _T: ... 595 596 def isscalar(element: object) -> TypeGuard[ 597 generic | bool | int | float | complex | str | bytes | memoryview 598 ]: ... 599 600 def binary_repr(num: int, width: None | int = ...) -> str: ... 601 602 def base_repr( 603 number: SupportsAbs[float], 604 base: float = ..., 605 padding: SupportsIndex = ..., 606 ) -> str: ... 607 608 @overload 609 def identity( 610 n: int, 611 dtype: None = ..., 612 *, 613 like: _SupportsArrayFunc = ..., 614 ) -> NDArray[float64]: ... 615 @overload 616 def identity( 617 n: int, 618 dtype: _DTypeLike[_SCT], 619 *, 620 like: _SupportsArrayFunc = ..., 621 ) -> NDArray[_SCT]: ... 622 @overload 623 def identity( 624 n: int, 625 dtype: DTypeLike, 626 *, 627 like: _SupportsArrayFunc = ..., 628 ) -> NDArray[Any]: ... 629 630 def allclose( 631 a: ArrayLike, 632 b: ArrayLike, 633 rtol: float = ..., 634 atol: float = ..., 635 equal_nan: bool = ..., 636 ) -> bool: ... 637 638 @overload 639 def isclose( 640 a: _ScalarLike_co, 641 b: _ScalarLike_co, 642 rtol: float = ..., 643 atol: float = ..., 644 equal_nan: bool = ..., 645 ) -> bool_: ... 646 @overload 647 def isclose( 648 a: ArrayLike, 649 b: ArrayLike, 650 rtol: float = ..., 651 atol: float = ..., 652 equal_nan: bool = ..., 653 ) -> NDArray[bool_]: ... 654 655 def array_equal(a1: ArrayLike, a2: ArrayLike, equal_nan: bool = ...) -> bool: ... 656 657 def array_equiv(a1: ArrayLike, a2: ArrayLike) -> bool: ...