diff --git a/.gitignore b/.gitignore
index be2338a14..b3823d991 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,7 +46,6 @@ selfdrive/boardd/boardd
selfdrive/logcatd/logcatd
selfdrive/mapd/default_speeds_by_region.json
system/proclogd/proclogd
-selfdrive/ui/_ui
selfdrive/ui/translations/alerts_generated.h
selfdrive/ui/translations/tmp
selfdrive/test/longitudinal_maneuvers/out
diff --git a/CHANGELOGS.md b/CHANGELOGS.md
index 22159bb22..8a8fc607d 100644
--- a/CHANGELOGS.md
+++ b/CHANGELOGS.md
@@ -1,4 +1,25 @@
-dragonpilot beta3 2023.11.20
+dragonpilot beta3 2023.12.23
+=======================
+* Comma 0.9.6 release
+ * New driving model (Blue Diamond).
+ * Vision model trained on more data
+ * Improved driving performance
+ * AGNOS 9
+ * comma body streaming and controls over WebRTC
+ * Hyundai Staria 2023 support thanks to sunnyhaibin!
+ * Kia Niro Plug-in Hybrid 2022 support thanks to sunnyhaibin!
+ * Toyota RAV4 2023 support
+ * Toyota RAV4 Hybrid 2023 support
+* DP HIGHLIGHT:
+ * Flight Panel (compass, height, pitch).
+ * Model Confidence indicator (in the max speed box).
+ * New version of dynamic e2e controller with better detection logic.
+ * Adjustable lane change speed (default 20mph, OFF = no control during lane change)
+ * TSS2 long, Dynamic Follow and Accel profile tune has been updated.
+ * Re-added: Full Screen Nav, Lane Priority Mode and Vision Turn Controller.
+ * Remove Frogai Agressive take off and re-add improved krkeegen sng boot.
+
+dragonpilot beta3 [2023.11.20]
=======================
* Comma 0.9.5 release
* New driving model (Farm Ville)
diff --git a/README.md b/README.md
index 7d051ada1..31f88158a 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,4 @@
-
-
-Table of Contents
-=======================
-
-* [What is openpilot?](#what-is-openpilot)
-* [Running in a car](#running-on-a-dedicated-device-in-a-car)
-* [Running on PC](#running-on-pc)
-* [Community and Contributing](#community-and-contributing)
-* [User Data and comma Account](#user-data-and-comma-account)
-* [Safety and Testing](#safety-and-testing)
-* [Directory Structure](#directory-structure)
-* [Licensing](#licensing)
-
----
+[](https://comma.ai/shop/comma-3x)
What is openpilot?
------
@@ -21,35 +7,22 @@ What is openpilot?
-
-
-
-
-
-
-
-
-
-
+
+
+
-
Running on a dedicated device in a car
------
-To use openpilot in a car, you need four things
-1. **Supported Device:** A comma 3/3X. You can purchase these devices from (https://comma.ai/shop/comma-3x)
-
-2. **Software:** The setup procedure for the comma 3/3X allows users to enter a URL for custom software.
- To install the release version of openpilot, use the URL `openpilot.comma.ai`.
- To install openpilot master (for more advanced users), use the URL `installer.comma.ai/commaai/master`. You can replace "commaai" with another GitHub username to install a fork.
-
-3. **Supported Car:** Ensure that you have one of [the 250+ supported cars](docs/CARS.md). openpilot supports a wide range of car makes including Honda, Toyota, Hyundai, Nissan, Kia, Chrysler, Lexus, Acura, Audi, VW, Ford, and many more.
- If your car is not officially listed as supported but has adaptive cruise control and lane-keeping assist, it's likely capable of running openpilot.
-
+To use openpilot in a car, you need four things:
+1. **Supported Device:** a comma 3/3X, available at [comma.ai/shop](https://comma.ai/shop/comma-3x).
+2. **Software:** The setup procedure for the comma 3/3X allows users to enter a URL for custom software. Use the URL `openpilot.comma.ai` to install the release version.
+3. **Supported Car:** Ensure that you have one of [the 250+ supported cars](docs/CARS.md).
4. **Car Harness:** You will also need a [car harness](https://comma.ai/shop/car-harness) to connect your comma 3/3X to your car.
- We have detailed instructions for [how to install the harness and device in a car](https://comma.ai/setup).
+
+We have detailed instructions for [how to install the harness and device in a car](https://comma.ai/setup).
Running on PC
------
@@ -58,22 +31,32 @@ All openpilot services can run as usual on a PC without requiring special hardwa
With openpilot's tools, you can plot logs, replay drives, and watch the full-res camera streams. See [the tools README](tools/README.md) for more information.
-You can also run openpilot in simulation [with the CARLA simulator](tools/sim/README.md). This allows openpilot to drive around a virtual car on your Ubuntu machine. The whole setup should only take a few minutes but does require a decent GPU.
+You can also run openpilot in simulation [with the MetaDrive simulator](tools/sim/README.md). This allows openpilot to drive around a virtual car on your Ubuntu machine.
A PC running openpilot can also control your vehicle if it is connected to a [webcam](https://github.com/commaai/openpilot/tree/master/tools/webcam), a [black panda](https://comma.ai/shop/products/panda), and a [harness](https://comma.ai/shop/products/car-harness).
Community and Contributing
------
-openpilot is developed by [comma](https://comma.ai/) and by users like you. We welcome both pull requests and issues on [GitHub](http://github.com/commaai/openpilot). Bug fixes and new car ports are encouraged. Check out [the contributing docs](docs/CONTRIBUTING.md).
+openpilot is developed by [comma](https://comma.ai/) and by users like you. We welcome both pull requests and issues on [GitHub](http://github.com/commaai/openpilot).
-Documentation related to openpilot development can be found on [docs.comma.ai](https://docs.comma.ai). Information about running openpilot (e.g. FAQ, fingerprinting, troubleshooting, custom forks, community hardware) should go on the [wiki](https://github.com/commaai/openpilot/wiki).
+* Join the [community Discord](https://discord.comma.ai)
+* Check out [the contributing docs](docs/CONTRIBUTING.md)
+* Code documentation lives at https://docs.comma.ai
+* Information about running openpilot lives on the [community wiki](https://github.com/commaai/openpilot/wiki)
-You can add support for your car by following guides we have written for [Brand](https://blog.comma.ai/how-to-write-a-car-port-for-openpilot/) and [Model](https://blog.comma.ai/openpilot-port-guide-for-toyota-models/) ports. Generally, a car with adaptive cruise control and lane keep assist is a good candidate. [Join our Discord](https://discord.comma.ai) to discuss car ports: most car makes have a dedicated channel.
+Want to get paid to work on openpilot? [comma is hiring](https://comma.ai/jobs#open-positions) and offers lots of [bounties](docs/BOUNTIES.md).
-Want to get paid to work on openpilot? [comma is hiring](https://comma.ai/jobs#open-positions).
+Safety and Testing
+----
-And [follow us on Twitter](https://twitter.com/comma_ai).
+* openpilot observes [ISO26262](https://en.wikipedia.org/wiki/ISO_26262) guidelines, see [SAFETY.md](docs/SAFETY.md) for more details.
+* openpilot has software-in-the-loop [tests](.github/workflows/selfdrive_tests.yaml) that run on every commit.
+* The code enforcing the safety model lives in panda and is written in C, see [code rigor](https://github.com/commaai/panda#code-rigor) for more details.
+* panda has software-in-the-loop [safety tests](https://github.com/commaai/panda/tree/master/tests/safety).
+* Internally, we have a hardware-in-the-loop Jenkins test suite that builds and unit tests the various processes.
+* panda has additional hardware-in-the-loop [tests](https://github.com/commaai/panda/blob/master/Jenkinsfile).
+* We run the latest openpilot in a testing closet containing 10 comma devices continuously replaying routes.
User Data and comma Account
------
@@ -87,49 +70,6 @@ The driver-facing camera is only logged if you explicitly opt-in in settings. Th
By using openpilot, you agree to [our Privacy Policy](https://comma.ai/privacy). You understand that use of this software or its related services will generate certain types of user data, which may be logged and stored at the sole discretion of comma. By accepting this agreement, you grant an irrevocable, perpetual, worldwide right to comma for the use of this data.
-Safety and Testing
-----
-
-* openpilot observes ISO26262 guidelines, see [SAFETY.md](docs/SAFETY.md) for more details.
-* openpilot has software-in-the-loop [tests](.github/workflows/selfdrive_tests.yaml) that run on every commit.
-* The code enforcing the safety model lives in panda and is written in C, see [code rigor](https://github.com/commaai/panda#code-rigor) for more details.
-* panda has software-in-the-loop [safety tests](https://github.com/commaai/panda/tree/master/tests/safety).
-* Internally, we have a hardware-in-the-loop Jenkins test suite that builds and unit tests the various processes.
-* panda has additional hardware-in-the-loop [tests](https://github.com/commaai/panda/blob/master/Jenkinsfile).
-* We run the latest openpilot in a testing closet containing 10 comma devices continuously replaying routes.
-
-Directory Structure
-------
- .
- ├── cereal # The messaging spec and libs used for all logs
- ├── common # Library like functionality we've developed here
- ├── docs # Documentation
- ├── opendbc # Files showing how to interpret data from cars
- ├── panda # Code used to communicate on CAN
- ├── third_party # External libraries
- └── system # Generic services
- ├── camerad # Driver to capture images from the camera sensors
- ├── hardware # Hardware abstraction classes
- ├── logcatd # systemd journal as a service
- ├── loggerd # Logger and uploader of car data
- ├── proclogd # Logs information from /proc
- ├── sensord # IMU interface code
- └── ubloxd # u-blox GNSS module interface code
- └── selfdrive # Code needed to drive the car
- ├── assets # Fonts, images, and sounds for UI
- ├── athena # Allows communication with the app
- ├── boardd # Daemon to talk to the board
- ├── car # Car specific code to read states and control actuators
- ├── controls # Planning and controls
- ├── debug # Tools to help you debug and do car ports
- ├── locationd # Precise localization and vehicle parameter estimation
- ├── manager # Daemon that starts/stops all other daemons as needed
- ├── modeld # Driving and monitoring model runners
- ├── monitoring # Daemon to determine driver attention
- ├── navd # Turn-by-turn navigation
- ├── test # Unit tests, system tests, and a car simulator
- └── ui # The UI
-
Licensing
------
@@ -145,5 +85,5 @@ NO WARRANTY EXPRESSED OR IMPLIED.**
-[](https://github.com/commaai/openpilot/actions)
+
[](https://codecov.io/gh/commaai/openpilot)
diff --git a/RELEASES.md b/RELEASES.md
index 0efa3d391..226a27282 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -1,4 +1,16 @@
-Version 0.9.5 (2023-XX-XX)
+Version 0.9.6 (20XX-XX-XX)
+========================
+* New driving model
+ * Vision model trained on more data
+ * Improved driving performance
+* AGNOS 9
+* comma body streaming and controls over WebRTC
+* Hyundai Staria 2023 support thanks to sunnyhaibin!
+* Kia Niro Plug-in Hybrid 2022 support thanks to sunnyhaibin!
+* Toyota RAV4 2023 support
+* Toyota RAV4 Hybrid 2023 support
+
+Version 0.9.5 (2023-11-17)
========================
* New driving model
* Improved navigate on openpilot performance using navigation instructions as an additional model input
@@ -8,11 +20,12 @@ Version 0.9.5 (2023-XX-XX)
* Hyundai Azera 2022 support thanks to sunnyhaibin!
* Hyundai Azera Hybrid 2020 support thanks to chanhojung and haram-KONA!
* Hyundai Custin 2023 support thanks to sunnyhaibin and Saber422!
-* Hyundai Ioniq 6 2023 support thanks to sunnyhaibin, alamo3, and sshane!
+* Hyundai Ioniq 6 2023 support thanks to sunnyhaibin and alamo3!
* Hyundai Kona Electric 2023 (Korean version) support thanks to sunnyhaibin and haram-KONA!
* Kia K8 Hybrid (with HDA II) 2023 support thanks to sunnyhaibin!
-* Kia Sorento Hybrid 2023 support thanks to sunnyhaibin!
* Kia Optima Hybrid 2019 support
+* Kia Sorento Hybrid 2023 support thanks to sunnyhaibin!
+* Lexus GS F 2016 support thanks to snyperifle!
* Lexus IS 2023 support thanks to L3R5!
Version 0.9.4 (2023-07-27)
diff --git a/body/board/obj/body.bin b/body/board/obj/body.bin
index 44d410ffd..a5a5a836e 100755
Binary files a/body/board/obj/body.bin and b/body/board/obj/body.bin differ
diff --git a/body/board/obj/body.bin.signed b/body/board/obj/body.bin.signed
index ac0917e8d..197d1825a 100644
Binary files a/body/board/obj/body.bin.signed and b/body/board/obj/body.bin.signed differ
diff --git a/body/board/obj/body.elf b/body/board/obj/body.elf
index 6657b6ea4..ef8280132 100755
Binary files a/body/board/obj/body.elf and b/body/board/obj/body.elf differ
diff --git a/body/board/obj/bootstub.body.bin b/body/board/obj/bootstub.body.bin
index 5c72ab93b..9d5743cf6 100755
Binary files a/body/board/obj/bootstub.body.bin and b/body/board/obj/bootstub.body.bin differ
diff --git a/body/board/obj/bootstub.body.elf b/body/board/obj/bootstub.body.elf
index db975f016..aefaa7230 100755
Binary files a/body/board/obj/bootstub.body.elf and b/body/board/obj/bootstub.body.elf differ
diff --git a/body/board/obj/gitversion.h b/body/board/obj/gitversion.h
index 82e556482..1ed785eb0 100644
--- a/body/board/obj/gitversion.h
+++ b/body/board/obj/gitversion.h
@@ -1 +1 @@
-const uint8_t gitversion[8] = "bcce255c";
+const uint8_t gitversion[8] = "4ba36d72";
diff --git a/cereal/car.capnp b/cereal/car.capnp
index 29949a148..e6476fb8e 100644
--- a/cereal/car.capnp
+++ b/cereal/car.capnp
@@ -484,6 +484,7 @@ struct CarParams {
openpilotLongitudinalControl @37 :Bool; # is openpilot doing the longitudinal control?
carVin @38 :Text; # VIN number queried during fingerprinting
dashcamOnly @41: Bool;
+ passive @73: Bool; # is openpilot in control?
transmissionType @43 :TransmissionType;
carFw @44 :List(CarFw);
diff --git a/cereal/custom.capnp b/cereal/custom.capnp
index c322ec9e7..b16018842 100644
--- a/cereal/custom.capnp
+++ b/cereal/custom.capnp
@@ -32,24 +32,11 @@ struct LiveMapData @0x81c2f05a394cf4af {
}
struct LongitudinalPlanExt @0xaedffd8f31e7b55d {
- visionTurnControllerState @0 :VisionTurnControllerState;
- visionTurnSpeed @1 :Float32;
- speedLimitControlState @2 :SpeedLimitControlState;
- speedLimit @3 :Float32;
- speedLimitOffset @4 :Float32;
- distToSpeedLimit @5 :Float32;
- isMapSpeedLimit @6 :Bool;
- speedLimitPercOffset @7 :Bool;
- speedLimitValueOffset @8 :Float32;
-
- distToTurn @9 :Float32;
- turnSpeed @10 :Float32;
- turnSpeedControlState @11 :SpeedLimitControlState;
- turnSign @12 :Int16;
-
- dpE2EIsBlended @13 :Bool;
- longitudinalPlanExtSource @14 :LongitudinalPlanExtSource;
- de2eIsEnabled @15 :Bool;
+ dpE2EIsBlended @0 :Bool;
+ de2eIsEnabled @1 :Bool;
+ visionTurnControllerState @2 :VisionTurnControllerState;
+ visionTurnSpeed @3 :Float32;
+ longitudinalPlanExtSource @4 :LongitudinalPlanExtSource;
enum LongitudinalPlanExtSource {
cruise @0;
@@ -58,15 +45,6 @@ struct LongitudinalPlanExt @0xaedffd8f31e7b55d {
lead2 @3;
e2e @4;
turn @5;
- limit @6;
- turnlimit @7;
- }
-
- enum SpeedLimitControlState {
- inactive @0; # No speed limit set or not enabled by parameter.
- tempInactive @1; # User wants to ignore speed limit until it changes.
- adapting @2; # Reducing speed to match new speed limit.
- active @3; # Cruising at speed limit.
}
enum VisionTurnControllerState {
diff --git a/cereal/gen/cpp/car.capnp.c++ b/cereal/gen/cpp/car.capnp.c++
index d7993da2d..10bcfd2b6 100644
--- a/cereal/gen/cpp/car.capnp.c++
+++ b/cereal/gen/cpp/car.capnp.c++
@@ -3502,7 +3502,7 @@ const ::capnp::_::RawSchema s_f5a5e26c954e339e = {
};
#endif // !CAPNP_LITE
CAPNP_DEFINE_ENUM(AudibleAlert_f5a5e26c954e339e, f5a5e26c954e339e);
-static const ::capnp::_::AlignedData<1269> b_8c69372490aaa9da = {
+static const ::capnp::_::AlignedData<1284> b_8c69372490aaa9da = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
218, 169, 170, 144, 36, 55, 105, 140,
10, 0, 0, 0, 1, 0, 17, 0,
@@ -3512,7 +3512,7 @@ static const ::capnp::_::AlignedData<1269> b_8c69372490aaa9da = {
21, 0, 0, 0, 162, 0, 0, 0,
29, 0, 0, 0, 231, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 17, 1, 0, 0, 87, 15, 0, 0,
+ 17, 1, 0, 0, 143, 15, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
99, 97, 114, 46, 99, 97, 112, 110,
@@ -3581,497 +3581,504 @@ static const ::capnp::_::AlignedData<1269> b_8c69372490aaa9da = {
101, 0, 0, 0, 0, 0, 0, 0,
78, 101, 116, 119, 111, 114, 107, 76,
111, 99, 97, 116, 105, 111, 110, 0,
- 24, 1, 0, 0, 3, 0, 4, 0,
+ 28, 1, 0, 0, 3, 0, 4, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 153, 7, 0, 0, 66, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 148, 7, 0, 0, 3, 0, 1, 0,
- 160, 7, 0, 0, 2, 0, 1, 0,
- 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 1, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 157, 7, 0, 0, 122, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 156, 7, 0, 0, 3, 0, 1, 0,
- 168, 7, 0, 0, 2, 0, 1, 0,
- 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 165, 7, 0, 0, 170, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 168, 7, 0, 0, 3, 0, 1, 0,
- 180, 7, 0, 0, 2, 0, 1, 0,
- 5, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 1, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 177, 7, 0, 0, 82, 0, 0, 0,
+ 181, 7, 0, 0, 66, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
176, 7, 0, 0, 3, 0, 1, 0,
188, 7, 0, 0, 2, 0, 1, 0,
- 51, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 1, 0, 4, 0, 0, 0,
+ 1, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 1, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 185, 7, 0, 0, 186, 0, 0, 0,
+ 185, 7, 0, 0, 122, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 188, 7, 0, 0, 3, 0, 1, 0,
- 200, 7, 0, 0, 2, 0, 1, 0,
- 6, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 1, 0, 5, 0, 0, 0,
+ 184, 7, 0, 0, 3, 0, 1, 0,
+ 196, 7, 0, 0, 2, 0, 1, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 197, 7, 0, 0, 82, 0, 0, 0,
+ 193, 7, 0, 0, 170, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
196, 7, 0, 0, 3, 0, 1, 0,
208, 7, 0, 0, 2, 0, 1, 0,
- 52, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 1, 0, 6, 0, 0, 0,
+ 5, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 1, 0, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 205, 7, 0, 0, 170, 0, 0, 0,
+ 205, 7, 0, 0, 82, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 208, 7, 0, 0, 3, 0, 1, 0,
- 220, 7, 0, 0, 2, 0, 1, 0,
- 10, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 1, 0, 7, 0, 0, 0,
+ 204, 7, 0, 0, 3, 0, 1, 0,
+ 216, 7, 0, 0, 2, 0, 1, 0,
+ 52, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 1, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 217, 7, 0, 0, 122, 0, 0, 0,
+ 213, 7, 0, 0, 186, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
216, 7, 0, 0, 3, 0, 1, 0,
228, 7, 0, 0, 2, 0, 1, 0,
- 11, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 1, 0, 8, 0, 0, 0,
+ 6, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 1, 0, 5, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 225, 7, 0, 0, 114, 0, 0, 0,
+ 225, 7, 0, 0, 82, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
224, 7, 0, 0, 3, 0, 1, 0,
236, 7, 0, 0, 2, 0, 1, 0,
- 57, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 1, 0, 9, 0, 0, 0,
+ 53, 0, 0, 0, 4, 0, 0, 0,
+ 0, 0, 1, 0, 6, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 233, 7, 0, 0, 178, 0, 0, 0,
+ 233, 7, 0, 0, 170, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
236, 7, 0, 0, 3, 0, 1, 0,
248, 7, 0, 0, 2, 0, 1, 0,
- 56, 0, 0, 0, 6, 0, 0, 0,
+ 10, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 1, 0, 7, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 245, 7, 0, 0, 122, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 244, 7, 0, 0, 3, 0, 1, 0,
+ 0, 8, 0, 0, 2, 0, 1, 0,
+ 11, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 1, 0, 8, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 253, 7, 0, 0, 114, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 252, 7, 0, 0, 3, 0, 1, 0,
+ 8, 8, 0, 0, 2, 0, 1, 0,
+ 58, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 1, 0, 9, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 5, 8, 0, 0, 178, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 8, 8, 0, 0, 3, 0, 1, 0,
+ 20, 8, 0, 0, 2, 0, 1, 0,
+ 57, 0, 0, 0, 6, 0, 0, 0,
0, 0, 1, 0, 10, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 245, 7, 0, 0, 178, 0, 0, 0,
+ 17, 8, 0, 0, 178, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 248, 7, 0, 0, 3, 0, 1, 0,
- 4, 8, 0, 0, 2, 0, 1, 0,
- 62, 0, 0, 0, 2, 0, 0, 0,
+ 20, 8, 0, 0, 3, 0, 1, 0,
+ 32, 8, 0, 0, 2, 0, 1, 0,
+ 63, 0, 0, 0, 2, 0, 0, 0,
0, 0, 1, 0, 11, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 1, 8, 0, 0, 170, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 8, 0, 0, 3, 0, 1, 0,
- 32, 8, 0, 0, 2, 0, 1, 0,
- 63, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 1, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 29, 8, 0, 0, 162, 0, 0, 0,
+ 29, 8, 0, 0, 170, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
32, 8, 0, 0, 3, 0, 1, 0,
60, 8, 0, 0, 2, 0, 1, 0,
- 64, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 1, 0, 13, 0, 0, 0,
+ 64, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 1, 0, 12, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 57, 8, 0, 0, 154, 0, 0, 0,
+ 57, 8, 0, 0, 162, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
60, 8, 0, 0, 3, 0, 1, 0,
88, 8, 0, 0, 2, 0, 1, 0,
- 65, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 1, 0, 14, 0, 0, 0,
+ 65, 0, 0, 0, 4, 0, 0, 0,
+ 0, 0, 1, 0, 13, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 85, 8, 0, 0, 146, 0, 0, 0,
+ 85, 8, 0, 0, 154, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
88, 8, 0, 0, 3, 0, 1, 0,
116, 8, 0, 0, 2, 0, 1, 0,
- 66, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 1, 0, 15, 0, 0, 0,
+ 66, 0, 0, 0, 5, 0, 0, 0,
+ 0, 0, 1, 0, 14, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 113, 8, 0, 0, 170, 0, 0, 0,
+ 113, 8, 0, 0, 146, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
116, 8, 0, 0, 3, 0, 1, 0,
144, 8, 0, 0, 2, 0, 1, 0,
- 67, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 1, 0, 16, 0, 0, 0,
+ 67, 0, 0, 0, 6, 0, 0, 0,
+ 0, 0, 1, 0, 15, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 141, 8, 0, 0, 162, 0, 0, 0,
+ 141, 8, 0, 0, 170, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
144, 8, 0, 0, 3, 0, 1, 0,
172, 8, 0, 0, 2, 0, 1, 0,
+ 68, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 1, 0, 16, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 169, 8, 0, 0, 162, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 172, 8, 0, 0, 3, 0, 1, 0,
+ 200, 8, 0, 0, 2, 0, 1, 0,
16, 0, 0, 0, 4, 0, 0, 0,
0, 0, 1, 0, 17, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 169, 8, 0, 0, 42, 0, 0, 0,
+ 197, 8, 0, 0, 42, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 164, 8, 0, 0, 3, 0, 1, 0,
- 176, 8, 0, 0, 2, 0, 1, 0,
+ 192, 8, 0, 0, 3, 0, 1, 0,
+ 204, 8, 0, 0, 2, 0, 1, 0,
17, 0, 0, 0, 5, 0, 0, 0,
0, 0, 1, 0, 18, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 173, 8, 0, 0, 82, 0, 0, 0,
+ 201, 8, 0, 0, 82, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 172, 8, 0, 0, 3, 0, 1, 0,
- 184, 8, 0, 0, 2, 0, 1, 0,
+ 200, 8, 0, 0, 3, 0, 1, 0,
+ 212, 8, 0, 0, 2, 0, 1, 0,
18, 0, 0, 0, 6, 0, 0, 0,
0, 0, 1, 0, 19, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 181, 8, 0, 0, 114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 180, 8, 0, 0, 3, 0, 1, 0,
- 192, 8, 0, 0, 2, 0, 1, 0,
- 19, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 1, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 189, 8, 0, 0, 90, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 188, 8, 0, 0, 3, 0, 1, 0,
- 200, 8, 0, 0, 2, 0, 1, 0,
- 20, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 1, 0, 21, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 197, 8, 0, 0, 122, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 196, 8, 0, 0, 3, 0, 1, 0,
- 208, 8, 0, 0, 2, 0, 1, 0,
- 21, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 1, 0, 22, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 205, 8, 0, 0, 146, 0, 0, 0,
+ 209, 8, 0, 0, 114, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
208, 8, 0, 0, 3, 0, 1, 0,
220, 8, 0, 0, 2, 0, 1, 0,
+ 19, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 1, 0, 20, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 217, 8, 0, 0, 90, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 216, 8, 0, 0, 3, 0, 1, 0,
+ 228, 8, 0, 0, 2, 0, 1, 0,
+ 20, 0, 0, 0, 8, 0, 0, 0,
+ 0, 0, 1, 0, 21, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 225, 8, 0, 0, 122, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 224, 8, 0, 0, 3, 0, 1, 0,
+ 236, 8, 0, 0, 2, 0, 1, 0,
+ 21, 0, 0, 0, 9, 0, 0, 0,
+ 0, 0, 1, 0, 22, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 233, 8, 0, 0, 146, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 236, 8, 0, 0, 3, 0, 1, 0,
+ 248, 8, 0, 0, 2, 0, 1, 0,
23, 0, 0, 0, 10, 0, 0, 0,
0, 0, 1, 0, 23, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 217, 8, 0, 0, 154, 0, 0, 0,
+ 245, 8, 0, 0, 154, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 220, 8, 0, 0, 3, 0, 1, 0,
- 232, 8, 0, 0, 2, 0, 1, 0,
+ 248, 8, 0, 0, 3, 0, 1, 0,
+ 4, 9, 0, 0, 2, 0, 1, 0,
24, 0, 0, 0, 11, 0, 0, 0,
0, 0, 1, 0, 24, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 229, 8, 0, 0, 146, 0, 0, 0,
+ 1, 9, 0, 0, 146, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 232, 8, 0, 0, 3, 0, 1, 0,
- 244, 8, 0, 0, 2, 0, 1, 0,
+ 4, 9, 0, 0, 3, 0, 1, 0,
+ 16, 9, 0, 0, 2, 0, 1, 0,
25, 0, 0, 0, 8, 0, 0, 0,
0, 0, 1, 0, 25, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 241, 8, 0, 0, 154, 0, 0, 0,
+ 13, 9, 0, 0, 154, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 244, 8, 0, 0, 3, 0, 1, 0,
- 0, 9, 0, 0, 2, 0, 1, 0,
+ 16, 9, 0, 0, 3, 0, 1, 0,
+ 28, 9, 0, 0, 2, 0, 1, 0,
27, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
104, 149, 51, 53, 10, 88, 252, 147,
- 253, 8, 0, 0, 114, 0, 0, 0,
+ 25, 9, 0, 0, 114, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
28, 0, 0, 0, 5, 0, 0, 0,
0, 0, 1, 0, 28, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 233, 8, 0, 0, 130, 0, 0, 0,
+ 5, 9, 0, 0, 130, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 232, 8, 0, 0, 3, 0, 1, 0,
- 244, 8, 0, 0, 2, 0, 1, 0,
+ 4, 9, 0, 0, 3, 0, 1, 0,
+ 16, 9, 0, 0, 2, 0, 1, 0,
30, 0, 0, 0, 12, 0, 0, 0,
0, 0, 1, 0, 29, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 241, 8, 0, 0, 106, 0, 0, 0,
+ 13, 9, 0, 0, 106, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 240, 8, 0, 0, 3, 0, 1, 0,
- 252, 8, 0, 0, 2, 0, 1, 0,
- 68, 0, 0, 0, 6, 0, 0, 0,
+ 12, 9, 0, 0, 3, 0, 1, 0,
+ 24, 9, 0, 0, 2, 0, 1, 0,
+ 69, 0, 0, 0, 6, 0, 0, 0,
0, 0, 1, 0, 30, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 249, 8, 0, 0, 234, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 9, 0, 0, 3, 0, 1, 0,
- 12, 9, 0, 0, 2, 0, 1, 0,
- 32, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 1, 0, 31, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 9, 9, 0, 0, 130, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 8, 9, 0, 0, 3, 0, 1, 0,
- 20, 9, 0, 0, 2, 0, 1, 0,
- 37, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 1, 0, 32, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 17, 9, 0, 0, 90, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 9, 0, 0, 3, 0, 1, 0,
- 28, 9, 0, 0, 2, 0, 1, 0,
- 53, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 1, 0, 33, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 25, 9, 0, 0, 194, 0, 0, 0,
+ 21, 9, 0, 0, 234, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
28, 9, 0, 0, 3, 0, 1, 0,
40, 9, 0, 0, 2, 0, 1, 0,
+ 32, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 1, 0, 31, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 37, 9, 0, 0, 130, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 36, 9, 0, 0, 3, 0, 1, 0,
+ 48, 9, 0, 0, 2, 0, 1, 0,
+ 37, 0, 0, 0, 13, 0, 0, 0,
+ 0, 0, 1, 0, 32, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 45, 9, 0, 0, 90, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 44, 9, 0, 0, 3, 0, 1, 0,
+ 56, 9, 0, 0, 2, 0, 1, 0,
+ 54, 0, 0, 0, 14, 0, 0, 0,
+ 0, 0, 1, 0, 33, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 53, 9, 0, 0, 194, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 56, 9, 0, 0, 3, 0, 1, 0,
+ 68, 9, 0, 0, 2, 0, 1, 0,
33, 0, 0, 0, 30, 0, 0, 0,
0, 0, 1, 0, 34, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 37, 9, 0, 0, 138, 0, 0, 0,
+ 65, 9, 0, 0, 138, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 40, 9, 0, 0, 3, 0, 1, 0,
- 52, 9, 0, 0, 2, 0, 1, 0,
+ 68, 9, 0, 0, 3, 0, 1, 0,
+ 80, 9, 0, 0, 2, 0, 1, 0,
34, 0, 0, 0, 8, 0, 0, 0,
0, 0, 1, 0, 35, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 49, 9, 0, 0, 138, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 52, 9, 0, 0, 3, 0, 1, 0,
- 64, 9, 0, 0, 2, 0, 1, 0,
- 39, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 1, 0, 36, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 61, 9, 0, 0, 154, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 9, 0, 0, 3, 0, 1, 0,
- 76, 9, 0, 0, 2, 0, 1, 0,
- 42, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 1, 0, 37, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 73, 9, 0, 0, 234, 0, 0, 0,
+ 77, 9, 0, 0, 138, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
80, 9, 0, 0, 3, 0, 1, 0,
92, 9, 0, 0, 2, 0, 1, 0,
+ 39, 0, 0, 0, 16, 0, 0, 0,
+ 0, 0, 1, 0, 36, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 89, 9, 0, 0, 154, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 92, 9, 0, 0, 3, 0, 1, 0,
+ 104, 9, 0, 0, 2, 0, 1, 0,
+ 42, 0, 0, 0, 9, 0, 0, 0,
+ 0, 0, 1, 0, 37, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 101, 9, 0, 0, 234, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 108, 9, 0, 0, 3, 0, 1, 0,
+ 120, 9, 0, 0, 2, 0, 1, 0,
43, 0, 0, 0, 10, 0, 0, 0,
0, 0, 1, 0, 38, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 89, 9, 0, 0, 58, 0, 0, 0,
+ 117, 9, 0, 0, 58, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 84, 9, 0, 0, 3, 0, 1, 0,
- 96, 9, 0, 0, 2, 0, 1, 0,
- 54, 0, 0, 0, 10, 0, 0, 0,
+ 112, 9, 0, 0, 3, 0, 1, 0,
+ 124, 9, 0, 0, 2, 0, 1, 0,
+ 55, 0, 0, 0, 10, 0, 0, 0,
0, 0, 1, 0, 39, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 93, 9, 0, 0, 186, 0, 0, 0,
+ 121, 9, 0, 0, 186, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 96, 9, 0, 0, 3, 0, 1, 0,
- 108, 9, 0, 0, 2, 0, 1, 0,
+ 124, 9, 0, 0, 3, 0, 1, 0,
+ 136, 9, 0, 0, 2, 0, 1, 0,
44, 0, 0, 0, 11, 0, 0, 0,
0, 0, 1, 0, 41, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 105, 9, 0, 0, 98, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 104, 9, 0, 0, 3, 0, 1, 0,
- 116, 9, 0, 0, 2, 0, 1, 0,
- 58, 0, 0, 0, 31, 0, 0, 0,
- 0, 0, 1, 0, 42, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,
- 113, 9, 0, 0, 234, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 120, 9, 0, 0, 3, 0, 1, 0,
- 132, 9, 0, 0, 2, 0, 1, 0,
- 45, 0, 0, 0, 34, 0, 0, 0,
- 0, 0, 1, 0, 43, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 129, 9, 0, 0, 138, 0, 0, 0,
+ 133, 9, 0, 0, 98, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
132, 9, 0, 0, 3, 0, 1, 0,
144, 9, 0, 0, 2, 0, 1, 0,
- 46, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 1, 0, 44, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 141, 9, 0, 0, 50, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 136, 9, 0, 0, 3, 0, 1, 0,
- 164, 9, 0, 0, 2, 0, 1, 0,
- 47, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 1, 0, 45, 0, 0, 0,
+ 59, 0, 0, 0, 31, 0, 0, 0,
+ 0, 0, 1, 0, 42, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
- 161, 9, 0, 0, 114, 0, 0, 0,
+ 141, 9, 0, 0, 234, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 148, 9, 0, 0, 3, 0, 1, 0,
+ 160, 9, 0, 0, 2, 0, 1, 0,
+ 46, 0, 0, 0, 34, 0, 0, 0,
+ 0, 0, 1, 0, 43, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 157, 9, 0, 0, 138, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
160, 9, 0, 0, 3, 0, 1, 0,
172, 9, 0, 0, 2, 0, 1, 0,
- 60, 0, 0, 0, 12, 0, 0, 0,
+ 47, 0, 0, 0, 11, 0, 0, 0,
+ 0, 0, 1, 0, 44, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 169, 9, 0, 0, 50, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 164, 9, 0, 0, 3, 0, 1, 0,
+ 192, 9, 0, 0, 2, 0, 1, 0,
+ 48, 0, 0, 0, 18, 0, 0, 0,
+ 0, 0, 1, 0, 45, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,
+ 189, 9, 0, 0, 114, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 188, 9, 0, 0, 3, 0, 1, 0,
+ 200, 9, 0, 0, 2, 0, 1, 0,
+ 61, 0, 0, 0, 12, 0, 0, 0,
0, 0, 1, 0, 46, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 169, 9, 0, 0, 218, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 176, 9, 0, 0, 3, 0, 1, 0,
- 188, 9, 0, 0, 2, 0, 1, 0,
- 29, 0, 0, 0, 19, 0, 0, 0,
- 0, 0, 1, 0, 47, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 185, 9, 0, 0, 130, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 184, 9, 0, 0, 3, 0, 1, 0,
- 196, 9, 0, 0, 2, 0, 1, 0,
- 26, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 1, 0, 48, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 193, 9, 0, 0, 114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 192, 9, 0, 0, 3, 0, 1, 0,
- 204, 9, 0, 0, 2, 0, 1, 0,
- 48, 0, 0, 0, 35, 0, 0, 0,
- 0, 0, 1, 0, 49, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 201, 9, 0, 0, 146, 0, 0, 0,
+ 197, 9, 0, 0, 218, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
204, 9, 0, 0, 3, 0, 1, 0,
216, 9, 0, 0, 2, 0, 1, 0,
- 49, 0, 0, 0, 40, 0, 0, 0,
- 0, 0, 1, 0, 50, 0, 0, 0,
+ 29, 0, 0, 0, 19, 0, 0, 0,
+ 0, 0, 1, 0, 47, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
213, 9, 0, 0, 130, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
212, 9, 0, 0, 3, 0, 1, 0,
224, 9, 0, 0, 2, 0, 1, 0,
- 59, 0, 0, 0, 21, 0, 0, 0,
+ 26, 0, 0, 0, 12, 0, 0, 0,
+ 0, 0, 1, 0, 48, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 221, 9, 0, 0, 114, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 220, 9, 0, 0, 3, 0, 1, 0,
+ 232, 9, 0, 0, 2, 0, 1, 0,
+ 49, 0, 0, 0, 35, 0, 0, 0,
+ 0, 0, 1, 0, 49, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 229, 9, 0, 0, 146, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 232, 9, 0, 0, 3, 0, 1, 0,
+ 244, 9, 0, 0, 2, 0, 1, 0,
+ 50, 0, 0, 0, 40, 0, 0, 0,
+ 0, 0, 1, 0, 50, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 241, 9, 0, 0, 130, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 240, 9, 0, 0, 3, 0, 1, 0,
+ 252, 9, 0, 0, 2, 0, 1, 0,
+ 60, 0, 0, 0, 21, 0, 0, 0,
0, 0, 1, 0, 51, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 221, 9, 0, 0, 178, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 224, 9, 0, 0, 3, 0, 1, 0,
- 236, 9, 0, 0, 2, 0, 1, 0,
- 36, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 1, 0, 52, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 233, 9, 0, 0, 146, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 236, 9, 0, 0, 3, 0, 1, 0,
- 248, 9, 0, 0, 2, 0, 1, 0,
- 61, 0, 0, 0, 23, 0, 0, 0,
- 0, 0, 1, 0, 53, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 245, 9, 0, 0, 226, 0, 0, 0,
+ 249, 9, 0, 0, 178, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
252, 9, 0, 0, 3, 0, 1, 0,
8, 10, 0, 0, 2, 0, 1, 0,
- 69, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 1, 0, 54, 0, 0, 0,
+ 36, 0, 0, 0, 22, 0, 0, 0,
+ 0, 0, 1, 0, 52, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 5, 10, 0, 0, 242, 0, 0, 0,
+ 5, 10, 0, 0, 146, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 12, 10, 0, 0, 3, 0, 1, 0,
- 24, 10, 0, 0, 2, 0, 1, 0,
- 2, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 1, 0, 55, 0, 0, 0,
+ 8, 10, 0, 0, 3, 0, 1, 0,
+ 20, 10, 0, 0, 2, 0, 1, 0,
+ 62, 0, 0, 0, 23, 0, 0, 0,
+ 0, 0, 1, 0, 53, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 21, 10, 0, 0, 138, 0, 0, 0,
+ 17, 10, 0, 0, 226, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
24, 10, 0, 0, 3, 0, 1, 0,
36, 10, 0, 0, 2, 0, 1, 0,
+ 70, 0, 0, 0, 24, 0, 0, 0,
+ 0, 0, 1, 0, 54, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 10, 0, 0, 242, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 40, 10, 0, 0, 3, 0, 1, 0,
+ 52, 10, 0, 0, 2, 0, 1, 0,
+ 2, 0, 0, 0, 13, 0, 0, 0,
+ 0, 0, 1, 0, 55, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 49, 10, 0, 0, 138, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 52, 10, 0, 0, 3, 0, 1, 0,
+ 64, 10, 0, 0, 2, 0, 1, 0,
7, 0, 0, 0, 14, 0, 0, 0,
0, 0, 1, 0, 56, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 33, 10, 0, 0, 82, 0, 0, 0,
+ 61, 10, 0, 0, 82, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 32, 10, 0, 0, 3, 0, 1, 0,
- 44, 10, 0, 0, 2, 0, 1, 0,
- 55, 0, 0, 0, 15, 0, 0, 0,
+ 60, 10, 0, 0, 3, 0, 1, 0,
+ 72, 10, 0, 0, 2, 0, 1, 0,
+ 56, 0, 0, 0, 15, 0, 0, 0,
0, 0, 1, 0, 57, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 41, 10, 0, 0, 202, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 48, 10, 0, 0, 3, 0, 1, 0,
- 60, 10, 0, 0, 2, 0, 1, 0,
- 41, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 1, 0, 58, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 57, 10, 0, 0, 34, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 10, 0, 0, 3, 0, 1, 0,
- 80, 10, 0, 0, 2, 0, 1, 0,
- 31, 0, 0, 0, 26, 0, 0, 0,
- 0, 0, 1, 0, 59, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 10, 0, 0, 106, 0, 0, 0,
+ 69, 10, 0, 0, 202, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
76, 10, 0, 0, 3, 0, 1, 0,
88, 10, 0, 0, 2, 0, 1, 0,
- 35, 0, 0, 0, 27, 0, 0, 0,
- 0, 0, 1, 0, 60, 0, 0, 0,
+ 41, 0, 0, 0, 25, 0, 0, 0,
+ 0, 0, 1, 0, 58, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 85, 10, 0, 0, 82, 0, 0, 0,
+ 85, 10, 0, 0, 34, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 84, 10, 0, 0, 3, 0, 1, 0,
- 96, 10, 0, 0, 2, 0, 1, 0,
- 40, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 1, 0, 61, 0, 0, 0,
+ 96, 10, 0, 0, 3, 0, 1, 0,
+ 108, 10, 0, 0, 2, 0, 1, 0,
+ 31, 0, 0, 0, 26, 0, 0, 0,
+ 0, 0, 1, 0, 59, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 93, 10, 0, 0, 34, 1, 0, 0,
+ 105, 10, 0, 0, 106, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
104, 10, 0, 0, 3, 0, 1, 0,
116, 10, 0, 0, 2, 0, 1, 0,
+ 35, 0, 0, 0, 27, 0, 0, 0,
+ 0, 0, 1, 0, 60, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 113, 10, 0, 0, 82, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 112, 10, 0, 0, 3, 0, 1, 0,
+ 124, 10, 0, 0, 2, 0, 1, 0,
+ 40, 0, 0, 0, 28, 0, 0, 0,
+ 0, 0, 1, 0, 61, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 121, 10, 0, 0, 34, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 132, 10, 0, 0, 3, 0, 1, 0,
+ 144, 10, 0, 0, 2, 0, 1, 0,
12, 0, 0, 0, 13, 0, 0, 0,
0, 0, 1, 0, 62, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 113, 10, 0, 0, 114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 112, 10, 0, 0, 3, 0, 1, 0,
- 140, 10, 0, 0, 2, 0, 1, 0,
- 50, 0, 0, 0, 29, 0, 0, 0,
- 0, 0, 1, 0, 63, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 137, 10, 0, 0, 138, 0, 0, 0,
+ 141, 10, 0, 0, 114, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
140, 10, 0, 0, 3, 0, 1, 0,
- 152, 10, 0, 0, 2, 0, 1, 0,
- 8, 0, 0, 0, 30, 0, 0, 0,
- 0, 0, 1, 0, 64, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 149, 10, 0, 0, 50, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 144, 10, 0, 0, 3, 0, 1, 0,
- 156, 10, 0, 0, 2, 0, 1, 0,
- 13, 0, 0, 0, 41, 0, 0, 0,
- 0, 0, 1, 0, 65, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 153, 10, 0, 0, 178, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 156, 10, 0, 0, 3, 0, 1, 0,
168, 10, 0, 0, 2, 0, 1, 0,
- 3, 0, 0, 0, 224, 3, 0, 0,
- 0, 0, 1, 0, 66, 0, 0, 0,
+ 51, 0, 0, 0, 29, 0, 0, 0,
+ 0, 0, 1, 0, 63, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 165, 10, 0, 0, 58, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 160, 10, 0, 0, 3, 0, 1, 0,
- 172, 10, 0, 0, 2, 0, 1, 0,
- 14, 0, 0, 0, 32, 0, 0, 0,
- 0, 0, 1, 0, 68, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 169, 10, 0, 0, 130, 0, 0, 0,
+ 165, 10, 0, 0, 138, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
168, 10, 0, 0, 3, 0, 1, 0,
180, 10, 0, 0, 2, 0, 1, 0,
- 15, 0, 0, 0, 225, 3, 0, 0,
- 0, 0, 1, 0, 69, 0, 0, 0,
+ 8, 0, 0, 0, 30, 0, 0, 0,
+ 0, 0, 1, 0, 64, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 177, 10, 0, 0, 114, 0, 0, 0,
+ 177, 10, 0, 0, 50, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 176, 10, 0, 0, 3, 0, 1, 0,
- 188, 10, 0, 0, 2, 0, 1, 0,
- 38, 0, 0, 0, 226, 3, 0, 0,
- 0, 0, 1, 0, 70, 0, 0, 0,
+ 172, 10, 0, 0, 3, 0, 1, 0,
+ 184, 10, 0, 0, 2, 0, 1, 0,
+ 13, 0, 0, 0, 41, 0, 0, 0,
+ 0, 0, 1, 0, 65, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 185, 10, 0, 0, 114, 0, 0, 0,
+ 181, 10, 0, 0, 178, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
184, 10, 0, 0, 3, 0, 1, 0,
196, 10, 0, 0, 2, 0, 1, 0,
- 9, 0, 0, 0, 227, 3, 0, 0,
- 0, 0, 1, 0, 71, 0, 0, 0,
+ 3, 0, 0, 0, 224, 3, 0, 0,
+ 0, 0, 1, 0, 66, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 193, 10, 0, 0, 18, 1, 0, 0,
+ 193, 10, 0, 0, 58, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 188, 10, 0, 0, 3, 0, 1, 0,
+ 200, 10, 0, 0, 2, 0, 1, 0,
+ 14, 0, 0, 0, 32, 0, 0, 0,
+ 0, 0, 1, 0, 68, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 197, 10, 0, 0, 130, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 196, 10, 0, 0, 3, 0, 1, 0,
+ 208, 10, 0, 0, 2, 0, 1, 0,
+ 15, 0, 0, 0, 225, 3, 0, 0,
+ 0, 0, 1, 0, 69, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 205, 10, 0, 0, 114, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
204, 10, 0, 0, 3, 0, 1, 0,
216, 10, 0, 0, 2, 0, 1, 0,
+ 38, 0, 0, 0, 226, 3, 0, 0,
+ 0, 0, 1, 0, 70, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 213, 10, 0, 0, 114, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 212, 10, 0, 0, 3, 0, 1, 0,
+ 224, 10, 0, 0, 2, 0, 1, 0,
+ 9, 0, 0, 0, 227, 3, 0, 0,
+ 0, 0, 1, 0, 71, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 221, 10, 0, 0, 18, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 232, 10, 0, 0, 3, 0, 1, 0,
+ 244, 10, 0, 0, 2, 0, 1, 0,
22, 0, 0, 0, 33, 0, 0, 0,
0, 0, 1, 0, 72, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 213, 10, 0, 0, 162, 0, 0, 0,
+ 241, 10, 0, 0, 162, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 216, 10, 0, 0, 3, 0, 1, 0,
- 228, 10, 0, 0, 2, 0, 1, 0,
+ 244, 10, 0, 0, 3, 0, 1, 0,
+ 0, 11, 0, 0, 2, 0, 1, 0,
+ 45, 0, 0, 0, 228, 3, 0, 0,
+ 0, 0, 1, 0, 73, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 253, 10, 0, 0, 66, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 248, 10, 0, 0, 3, 0, 1, 0,
+ 4, 11, 0, 0, 2, 0, 1, 0,
99, 97, 114, 78, 97, 109, 101, 0,
12, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -4770,6 +4777,14 @@ static const ::capnp::_::AlignedData<1269> b_8c69372490aaa9da = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
10, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 112, 97, 115, 115, 105, 118, 101, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, }
};
@@ -4787,11 +4802,11 @@ static const ::capnp::_::RawSchema* const d_8c69372490aaa9da[] = {
&s_e836349c6056b0c9,
&s_ff99e3682a833c51,
};
-static const uint16_t m_8c69372490aaa9da[] = {63, 66, 15, 16, 1, 42, 0, 37, 19, 44, 39, 29, 6, 54, 4, 5, 2, 68, 47, 62, 53, 13, 14, 55, 38, 46, 26, 59, 56, 25, 17, 65, 52, 7, 49, 8, 48, 64, 36, 3, 43, 34, 22, 60, 9, 40, 10, 31, 51, 67, 35, 33, 27, 45, 11, 12, 32, 20, 21, 58, 30, 50, 69, 23, 24, 41, 57, 28, 61, 18};
-static const uint16_t i_8c69372490aaa9da[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69};
+static const uint16_t m_8c69372490aaa9da[] = {63, 66, 15, 16, 1, 42, 0, 37, 19, 44, 39, 29, 6, 54, 4, 5, 2, 68, 47, 62, 53, 13, 14, 55, 38, 46, 26, 59, 56, 25, 17, 65, 52, 7, 49, 8, 48, 64, 36, 70, 3, 43, 34, 22, 60, 9, 40, 10, 31, 51, 67, 35, 33, 27, 45, 11, 12, 32, 20, 21, 58, 30, 50, 69, 23, 24, 41, 57, 28, 61, 18};
+static const uint16_t i_8c69372490aaa9da[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70};
const ::capnp::_::RawSchema s_8c69372490aaa9da = {
- 0x8c69372490aaa9da, b_8c69372490aaa9da.words, 1269, d_8c69372490aaa9da, m_8c69372490aaa9da,
- 10, 70, i_8c69372490aaa9da, nullptr, nullptr, { &s_8c69372490aaa9da, nullptr, nullptr, 0, 0, nullptr }
+ 0x8c69372490aaa9da, b_8c69372490aaa9da.words, 1284, d_8c69372490aaa9da, m_8c69372490aaa9da,
+ 10, 71, i_8c69372490aaa9da, nullptr, nullptr, { &s_8c69372490aaa9da, nullptr, nullptr, 0, 0, nullptr }
};
#endif // !CAPNP_LITE
static const ::capnp::_::AlignedData<85> b_e836349c6056b0c9 = {
diff --git a/cereal/gen/cpp/car.capnp.h b/cereal/gen/cpp/car.capnp.h
index 1fcc5ab89..2620dc951 100644
--- a/cereal/gen/cpp/car.capnp.h
+++ b/cereal/gen/cpp/car.capnp.h
@@ -2345,6 +2345,8 @@ public:
inline float getTireStiffnessFactor() const;
+ inline bool getPassive() const;
+
private:
::capnp::_::StructReader _reader;
template
@@ -2641,6 +2643,9 @@ public:
inline float getTireStiffnessFactor();
inline void setTireStiffnessFactor(float value);
+ inline bool getPassive();
+ inline void setPassive(bool value);
+
private:
::capnp::_::StructBuilder _builder;
template
@@ -7159,6 +7164,20 @@ inline void CarParams::Builder::setTireStiffnessFactor(float value) {
::capnp::bounded<33>() * ::capnp::ELEMENTS, value);
}
+inline bool CarParams::Reader::getPassive() const {
+ return _reader.getDataField(
+ ::capnp::bounded<996>() * ::capnp::ELEMENTS);
+}
+
+inline bool CarParams::Builder::getPassive() {
+ return _builder.getDataField(
+ ::capnp::bounded<996>() * ::capnp::ELEMENTS);
+}
+inline void CarParams::Builder::setPassive(bool value) {
+ _builder.setDataField(
+ ::capnp::bounded<996>() * ::capnp::ELEMENTS, value);
+}
+
inline ::cereal::CarParams::SafetyModel CarParams::SafetyConfig::Reader::getSafetyModel() const {
return _reader.getDataField< ::cereal::CarParams::SafetyModel>(
::capnp::bounded<0>() * ::capnp::ELEMENTS);
diff --git a/cereal/gen/cpp/custom.capnp.c++ b/cereal/gen/cpp/custom.capnp.c++
index 360039167..43aed1b79 100644
--- a/cereal/gen/cpp/custom.capnp.c++
+++ b/cereal/gen/cpp/custom.capnp.c++
@@ -382,17 +382,17 @@ const ::capnp::_::RawSchema s_81c2f05a394cf4af = {
0, 20, i_81c2f05a394cf4af, nullptr, nullptr, { &s_81c2f05a394cf4af, nullptr, nullptr, 0, 0, nullptr }
};
#endif // !CAPNP_LITE
-static const ::capnp::_::AlignedData<302> b_aedffd8f31e7b55d = {
+static const ::capnp::_::AlignedData<115> b_aedffd8f31e7b55d = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
93, 181, 231, 49, 143, 253, 223, 174,
- 13, 0, 0, 0, 1, 0, 5, 0,
+ 13, 0, 0, 0, 1, 0, 2, 0,
89, 10, 85, 29, 102, 186, 38, 181,
0, 0, 7, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
21, 0, 0, 0, 10, 1, 0, 0,
- 37, 0, 0, 0, 55, 0, 0, 0,
+ 37, 0, 0, 0, 39, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 101, 0, 0, 0, 135, 3, 0, 0,
+ 81, 0, 0, 0, 31, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
99, 117, 115, 116, 111, 109, 46, 99,
@@ -400,137 +400,73 @@ static const ::capnp::_::AlignedData<302> b_aedffd8f31e7b55d = {
103, 105, 116, 117, 100, 105, 110, 97,
108, 80, 108, 97, 110, 69, 120, 116,
0, 0, 0, 0, 0, 0, 0, 0,
- 12, 0, 0, 0, 1, 0, 1, 0,
+ 8, 0, 0, 0, 1, 0, 1, 0,
206, 31, 115, 238, 186, 117, 42, 180,
- 17, 0, 0, 0, 210, 0, 0, 0,
- 2, 8, 153, 155, 54, 132, 119, 158,
- 25, 0, 0, 0, 186, 0, 0, 0,
+ 9, 0, 0, 0, 210, 0, 0, 0,
218, 174, 84, 82, 132, 78, 18, 209,
- 29, 0, 0, 0, 210, 0, 0, 0,
+ 17, 0, 0, 0, 210, 0, 0, 0,
76, 111, 110, 103, 105, 116, 117, 100,
105, 110, 97, 108, 80, 108, 97, 110,
69, 120, 116, 83, 111, 117, 114, 99,
101, 0, 0, 0, 0, 0, 0, 0,
- 83, 112, 101, 101, 100, 76, 105, 109,
- 105, 116, 67, 111, 110, 116, 114, 111,
- 108, 83, 116, 97, 116, 101, 0, 0,
86, 105, 115, 105, 111, 110, 84, 117,
114, 110, 67, 111, 110, 116, 114, 111,
108, 108, 101, 114, 83, 116, 97, 116,
101, 0, 0, 0, 0, 0, 0, 0,
- 64, 0, 0, 0, 3, 0, 4, 0,
+ 20, 0, 0, 0, 3, 0, 4, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 177, 1, 0, 0, 210, 0, 0, 0,
+ 125, 0, 0, 0, 122, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 184, 1, 0, 0, 3, 0, 1, 0,
- 196, 1, 0, 0, 2, 0, 1, 0,
+ 124, 0, 0, 0, 3, 0, 1, 0,
+ 136, 0, 0, 0, 2, 0, 1, 0,
1, 0, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 193, 1, 0, 0, 130, 0, 0, 0,
+ 133, 0, 0, 0, 114, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 192, 1, 0, 0, 3, 0, 1, 0,
- 204, 1, 0, 0, 2, 0, 1, 0,
+ 132, 0, 0, 0, 3, 0, 1, 0,
+ 144, 0, 0, 0, 2, 0, 1, 0,
2, 0, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 201, 1, 0, 0, 186, 0, 0, 0,
+ 141, 0, 0, 0, 210, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 204, 1, 0, 0, 3, 0, 1, 0,
- 216, 1, 0, 0, 2, 0, 1, 0,
- 3, 0, 0, 0, 2, 0, 0, 0,
+ 148, 0, 0, 0, 3, 0, 1, 0,
+ 160, 0, 0, 0, 2, 0, 1, 0,
+ 3, 0, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 213, 1, 0, 0, 90, 0, 0, 0,
+ 157, 0, 0, 0, 130, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 212, 1, 0, 0, 3, 0, 1, 0,
- 224, 1, 0, 0, 2, 0, 1, 0,
- 4, 0, 0, 0, 3, 0, 0, 0,
+ 156, 0, 0, 0, 3, 0, 1, 0,
+ 168, 0, 0, 0, 2, 0, 1, 0,
+ 4, 0, 0, 0, 4, 0, 0, 0,
0, 0, 1, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 221, 1, 0, 0, 138, 0, 0, 0,
+ 165, 0, 0, 0, 210, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 224, 1, 0, 0, 3, 0, 1, 0,
- 236, 1, 0, 0, 2, 0, 1, 0,
- 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 1, 0, 5, 0, 0, 0,
+ 172, 0, 0, 0, 3, 0, 1, 0,
+ 184, 0, 0, 0, 2, 0, 1, 0,
+ 100, 112, 69, 50, 69, 73, 115, 66,
+ 108, 101, 110, 100, 101, 100, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 233, 1, 0, 0, 138, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 236, 1, 0, 0, 3, 0, 1, 0,
- 248, 1, 0, 0, 2, 0, 1, 0,
- 6, 0, 0, 0, 160, 0, 0, 0,
- 0, 0, 1, 0, 6, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 245, 1, 0, 0, 130, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 244, 1, 0, 0, 3, 0, 1, 0,
- 0, 2, 0, 0, 2, 0, 1, 0,
- 7, 0, 0, 0, 161, 0, 0, 0,
- 0, 0, 1, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 253, 1, 0, 0, 170, 0, 0, 0,
+ 100, 101, 50, 101, 73, 115, 69, 110,
+ 97, 98, 108, 101, 100, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2, 0, 0, 3, 0, 1, 0,
- 12, 2, 0, 0, 2, 0, 1, 0,
- 8, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 1, 0, 8, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 9, 2, 0, 0, 178, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 12, 2, 0, 0, 3, 0, 1, 0,
- 24, 2, 0, 0, 2, 0, 1, 0,
- 9, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 1, 0, 9, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 21, 2, 0, 0, 90, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 20, 2, 0, 0, 3, 0, 1, 0,
- 32, 2, 0, 0, 2, 0, 1, 0,
- 10, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 1, 0, 10, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 29, 2, 0, 0, 82, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 28, 2, 0, 0, 3, 0, 1, 0,
- 40, 2, 0, 0, 2, 0, 1, 0,
- 11, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 1, 0, 11, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 37, 2, 0, 0, 178, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 40, 2, 0, 0, 3, 0, 1, 0,
- 52, 2, 0, 0, 2, 0, 1, 0,
- 12, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 1, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 49, 2, 0, 0, 74, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 48, 2, 0, 0, 3, 0, 1, 0,
- 60, 2, 0, 0, 2, 0, 1, 0,
- 13, 0, 0, 0, 162, 0, 0, 0,
- 0, 0, 1, 0, 13, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 57, 2, 0, 0, 122, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 56, 2, 0, 0, 3, 0, 1, 0,
- 68, 2, 0, 0, 2, 0, 1, 0,
- 14, 0, 0, 0, 19, 0, 0, 0,
- 0, 0, 1, 0, 14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 65, 2, 0, 0, 210, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 72, 2, 0, 0, 3, 0, 1, 0,
- 84, 2, 0, 0, 2, 0, 1, 0,
- 15, 0, 0, 0, 163, 0, 0, 0,
- 0, 0, 1, 0, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 81, 2, 0, 0, 114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 80, 2, 0, 0, 3, 0, 1, 0,
- 92, 2, 0, 0, 2, 0, 1, 0,
118, 105, 115, 105, 111, 110, 84, 117,
114, 110, 67, 111, 110, 116, 114, 111,
108, 108, 101, 114, 83, 116, 97, 116,
@@ -551,120 +487,6 @@ static const ::capnp::_::AlignedData<302> b_aedffd8f31e7b55d = {
10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 115, 112, 101, 101, 100, 76, 105, 109,
- 105, 116, 67, 111, 110, 116, 114, 111,
- 108, 83, 116, 97, 116, 101, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 0,
- 2, 8, 153, 155, 54, 132, 119, 158,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 115, 112, 101, 101, 100, 76, 105, 109,
- 105, 116, 0, 0, 0, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 115, 112, 101, 101, 100, 76, 105, 109,
- 105, 116, 79, 102, 102, 115, 101, 116,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 100, 105, 115, 116, 84, 111, 83, 112,
- 101, 101, 100, 76, 105, 109, 105, 116,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 105, 115, 77, 97, 112, 83, 112, 101,
- 101, 100, 76, 105, 109, 105, 116, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 115, 112, 101, 101, 100, 76, 105, 109,
- 105, 116, 80, 101, 114, 99, 79, 102,
- 102, 115, 101, 116, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 115, 112, 101, 101, 100, 76, 105, 109,
- 105, 116, 86, 97, 108, 117, 101, 79,
- 102, 102, 115, 101, 116, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 100, 105, 115, 116, 84, 111, 84, 117,
- 114, 110, 0, 0, 0, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 116, 117, 114, 110, 83, 112, 101, 101,
- 100, 0, 0, 0, 0, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 116, 117, 114, 110, 83, 112, 101, 101,
- 100, 67, 111, 110, 116, 114, 111, 108,
- 83, 116, 97, 116, 101, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 0,
- 2, 8, 153, 155, 54, 132, 119, 158,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 116, 117, 114, 110, 83, 105, 103, 110,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 100, 112, 69, 50, 69, 73, 115, 66,
- 108, 101, 110, 100, 101, 100, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
108, 111, 110, 103, 105, 116, 117, 100,
105, 110, 97, 108, 80, 108, 97, 110,
69, 120, 116, 83, 111, 117, 114, 99,
@@ -674,33 +496,23 @@ static const ::capnp::_::AlignedData<302> b_aedffd8f31e7b55d = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 100, 101, 50, 101, 73, 115, 69, 110,
- 97, 98, 108, 101, 100, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, }
};
::capnp::word const* const bp_aedffd8f31e7b55d = b_aedffd8f31e7b55d.words;
#if !CAPNP_LITE
static const ::capnp::_::RawSchema* const d_aedffd8f31e7b55d[] = {
- &s_9e7784369b990802,
&s_b42a75baee731fce,
&s_d1124e845254aeda,
};
-static const uint16_t m_aedffd8f31e7b55d[] = {15, 5, 9, 13, 6, 14, 3, 2, 4, 7, 8, 12, 10, 11, 0, 1};
-static const uint16_t i_aedffd8f31e7b55d[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
+static const uint16_t m_aedffd8f31e7b55d[] = {1, 0, 4, 2, 3};
+static const uint16_t i_aedffd8f31e7b55d[] = {0, 1, 2, 3, 4};
const ::capnp::_::RawSchema s_aedffd8f31e7b55d = {
- 0xaedffd8f31e7b55d, b_aedffd8f31e7b55d.words, 302, d_aedffd8f31e7b55d, m_aedffd8f31e7b55d,
- 3, 16, i_aedffd8f31e7b55d, nullptr, nullptr, { &s_aedffd8f31e7b55d, nullptr, nullptr, 0, 0, nullptr }
+ 0xaedffd8f31e7b55d, b_aedffd8f31e7b55d.words, 115, d_aedffd8f31e7b55d, m_aedffd8f31e7b55d,
+ 2, 5, i_aedffd8f31e7b55d, nullptr, nullptr, { &s_aedffd8f31e7b55d, nullptr, nullptr, 0, 0, nullptr }
};
#endif // !CAPNP_LITE
-static const ::capnp::_::AlignedData<55> b_b42a75baee731fce = {
+static const ::capnp::_::AlignedData<46> b_b42a75baee731fce = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
206, 31, 115, 238, 186, 117, 42, 180,
33, 0, 0, 0, 2, 0, 0, 0,
@@ -710,7 +522,7 @@ static const ::capnp::_::AlignedData<55> b_b42a75baee731fce = {
21, 0, 0, 0, 218, 1, 0, 0,
49, 0, 0, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 45, 0, 0, 0, 199, 0, 0, 0,
+ 45, 0, 0, 0, 151, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
99, 117, 115, 116, 111, 109, 46, 99,
@@ -722,101 +534,41 @@ static const ::capnp::_::AlignedData<55> b_b42a75baee731fce = {
110, 69, 120, 116, 83, 111, 117, 114,
99, 101, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 1, 0,
- 32, 0, 0, 0, 1, 0, 2, 0,
+ 24, 0, 0, 0, 1, 0, 2, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 89, 0, 0, 0, 58, 0, 0, 0,
+ 65, 0, 0, 0, 58, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
- 81, 0, 0, 0, 50, 0, 0, 0,
+ 57, 0, 0, 0, 50, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 0, 0, 0, 0,
- 73, 0, 0, 0, 50, 0, 0, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0, 0, 0,
- 65, 0, 0, 0, 50, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0,
- 57, 0, 0, 0, 34, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0,
- 49, 0, 0, 0, 42, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 0, 0,
41, 0, 0, 0, 50, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 0, 0,
- 33, 0, 0, 0, 82, 0, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0,
+ 33, 0, 0, 0, 34, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 5, 0, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 42, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
99, 114, 117, 105, 115, 101, 0, 0,
108, 101, 97, 100, 48, 0, 0, 0,
108, 101, 97, 100, 49, 0, 0, 0,
108, 101, 97, 100, 50, 0, 0, 0,
101, 50, 101, 0, 0, 0, 0, 0,
- 116, 117, 114, 110, 0, 0, 0, 0,
- 108, 105, 109, 105, 116, 0, 0, 0,
- 116, 117, 114, 110, 108, 105, 109, 105,
- 116, 0, 0, 0, 0, 0, 0, 0, }
+ 116, 117, 114, 110, 0, 0, 0, 0, }
};
::capnp::word const* const bp_b42a75baee731fce = b_b42a75baee731fce.words;
#if !CAPNP_LITE
-static const uint16_t m_b42a75baee731fce[] = {0, 4, 1, 2, 3, 6, 5, 7};
+static const uint16_t m_b42a75baee731fce[] = {0, 4, 1, 2, 3, 5};
const ::capnp::_::RawSchema s_b42a75baee731fce = {
- 0xb42a75baee731fce, b_b42a75baee731fce.words, 55, nullptr, m_b42a75baee731fce,
- 0, 8, nullptr, nullptr, nullptr, { &s_b42a75baee731fce, nullptr, nullptr, 0, 0, nullptr }
+ 0xb42a75baee731fce, b_b42a75baee731fce.words, 46, nullptr, m_b42a75baee731fce,
+ 0, 6, nullptr, nullptr, nullptr, { &s_b42a75baee731fce, nullptr, nullptr, 0, 0, nullptr }
};
#endif // !CAPNP_LITE
CAPNP_DEFINE_ENUM(LongitudinalPlanExtSource_b42a75baee731fce, b42a75baee731fce);
-static const ::capnp::_::AlignedData<40> b_9e7784369b990802 = {
- { 0, 0, 0, 0, 5, 0, 6, 0,
- 2, 8, 153, 155, 54, 132, 119, 158,
- 33, 0, 0, 0, 2, 0, 0, 0,
- 93, 181, 231, 49, 143, 253, 223, 174,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 21, 0, 0, 0, 194, 1, 0, 0,
- 45, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 41, 0, 0, 0, 103, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 99, 117, 115, 116, 111, 109, 46, 99,
- 97, 112, 110, 112, 58, 76, 111, 110,
- 103, 105, 116, 117, 100, 105, 110, 97,
- 108, 80, 108, 97, 110, 69, 120, 116,
- 46, 83, 112, 101, 101, 100, 76, 105,
- 109, 105, 116, 67, 111, 110, 116, 114,
- 111, 108, 83, 116, 97, 116, 101, 0,
- 0, 0, 0, 0, 1, 0, 1, 0,
- 16, 0, 0, 0, 1, 0, 2, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 41, 0, 0, 0, 74, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,
- 37, 0, 0, 0, 106, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0,
- 33, 0, 0, 0, 74, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0,
- 29, 0, 0, 0, 58, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 105, 110, 97, 99, 116, 105, 118, 101,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 116, 101, 109, 112, 73, 110, 97, 99,
- 116, 105, 118, 101, 0, 0, 0, 0,
- 97, 100, 97, 112, 116, 105, 110, 103,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 97, 99, 116, 105, 118, 101, 0, 0, }
-};
-::capnp::word const* const bp_9e7784369b990802 = b_9e7784369b990802.words;
-#if !CAPNP_LITE
-static const uint16_t m_9e7784369b990802[] = {3, 2, 0, 1};
-const ::capnp::_::RawSchema s_9e7784369b990802 = {
- 0x9e7784369b990802, b_9e7784369b990802.words, 40, nullptr, m_9e7784369b990802,
- 0, 4, nullptr, nullptr, nullptr, { &s_9e7784369b990802, nullptr, nullptr, 0, 0, nullptr }
-};
-#endif // !CAPNP_LITE
-CAPNP_DEFINE_ENUM(SpeedLimitControlState_9e7784369b990802, 9e7784369b990802);
static const ::capnp::_::AlignedData<40> b_d1124e845254aeda = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
218, 174, 84, 82, 132, 78, 18, 209,
diff --git a/cereal/gen/cpp/custom.capnp.h b/cereal/gen/cpp/custom.capnp.h
index 30cfd1549..61836f2e2 100644
--- a/cereal/gen/cpp/custom.capnp.h
+++ b/cereal/gen/cpp/custom.capnp.h
@@ -24,18 +24,8 @@ enum class LongitudinalPlanExtSource_b42a75baee731fce: uint16_t {
LEAD2,
E2E,
TURN,
- LIMIT,
- TURNLIMIT,
};
CAPNP_DECLARE_ENUM(LongitudinalPlanExtSource, b42a75baee731fce);
-CAPNP_DECLARE_SCHEMA(9e7784369b990802);
-enum class SpeedLimitControlState_9e7784369b990802: uint16_t {
- INACTIVE,
- TEMP_INACTIVE,
- ADAPTING,
- ACTIVE,
-};
-CAPNP_DECLARE_ENUM(SpeedLimitControlState, 9e7784369b990802);
CAPNP_DECLARE_SCHEMA(d1124e845254aeda);
enum class VisionTurnControllerState_d1124e845254aeda: uint16_t {
DISABLED,
@@ -81,13 +71,11 @@ struct LongitudinalPlanExt {
class Pipeline;
typedef ::capnp::schemas::LongitudinalPlanExtSource_b42a75baee731fce LongitudinalPlanExtSource;
- typedef ::capnp::schemas::SpeedLimitControlState_9e7784369b990802 SpeedLimitControlState;
-
typedef ::capnp::schemas::VisionTurnControllerState_d1124e845254aeda VisionTurnControllerState;
struct _capnpPrivate {
- CAPNP_DECLARE_STRUCT_HEADER(aedffd8f31e7b55d, 5, 0)
+ CAPNP_DECLARE_STRUCT_HEADER(aedffd8f31e7b55d, 2, 0)
#if !CAPNP_LITE
static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
#endif // !CAPNP_LITE
@@ -427,38 +415,16 @@ public:
}
#endif // !CAPNP_LITE
+ inline bool getDpE2EIsBlended() const;
+
+ inline bool getDe2eIsEnabled() const;
+
inline ::cereal::LongitudinalPlanExt::VisionTurnControllerState getVisionTurnControllerState() const;
inline float getVisionTurnSpeed() const;
- inline ::cereal::LongitudinalPlanExt::SpeedLimitControlState getSpeedLimitControlState() const;
-
- inline float getSpeedLimit() const;
-
- inline float getSpeedLimitOffset() const;
-
- inline float getDistToSpeedLimit() const;
-
- inline bool getIsMapSpeedLimit() const;
-
- inline bool getSpeedLimitPercOffset() const;
-
- inline float getSpeedLimitValueOffset() const;
-
- inline float getDistToTurn() const;
-
- inline float getTurnSpeed() const;
-
- inline ::cereal::LongitudinalPlanExt::SpeedLimitControlState getTurnSpeedControlState() const;
-
- inline ::int16_t getTurnSign() const;
-
- inline bool getDpE2EIsBlended() const;
-
inline ::cereal::LongitudinalPlanExt::LongitudinalPlanExtSource getLongitudinalPlanExtSource() const;
- inline bool getDe2eIsEnabled() const;
-
private:
::capnp::_::StructReader _reader;
template
@@ -487,54 +453,21 @@ public:
inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif // !CAPNP_LITE
+ inline bool getDpE2EIsBlended();
+ inline void setDpE2EIsBlended(bool value);
+
+ inline bool getDe2eIsEnabled();
+ inline void setDe2eIsEnabled(bool value);
+
inline ::cereal::LongitudinalPlanExt::VisionTurnControllerState getVisionTurnControllerState();
inline void setVisionTurnControllerState( ::cereal::LongitudinalPlanExt::VisionTurnControllerState value);
inline float getVisionTurnSpeed();
inline void setVisionTurnSpeed(float value);
- inline ::cereal::LongitudinalPlanExt::SpeedLimitControlState getSpeedLimitControlState();
- inline void setSpeedLimitControlState( ::cereal::LongitudinalPlanExt::SpeedLimitControlState value);
-
- inline float getSpeedLimit();
- inline void setSpeedLimit(float value);
-
- inline float getSpeedLimitOffset();
- inline void setSpeedLimitOffset(float value);
-
- inline float getDistToSpeedLimit();
- inline void setDistToSpeedLimit(float value);
-
- inline bool getIsMapSpeedLimit();
- inline void setIsMapSpeedLimit(bool value);
-
- inline bool getSpeedLimitPercOffset();
- inline void setSpeedLimitPercOffset(bool value);
-
- inline float getSpeedLimitValueOffset();
- inline void setSpeedLimitValueOffset(float value);
-
- inline float getDistToTurn();
- inline void setDistToTurn(float value);
-
- inline float getTurnSpeed();
- inline void setTurnSpeed(float value);
-
- inline ::cereal::LongitudinalPlanExt::SpeedLimitControlState getTurnSpeedControlState();
- inline void setTurnSpeedControlState( ::cereal::LongitudinalPlanExt::SpeedLimitControlState value);
-
- inline ::int16_t getTurnSign();
- inline void setTurnSign( ::int16_t value);
-
- inline bool getDpE2EIsBlended();
- inline void setDpE2EIsBlended(bool value);
-
inline ::cereal::LongitudinalPlanExt::LongitudinalPlanExtSource getLongitudinalPlanExtSource();
inline void setLongitudinalPlanExtSource( ::cereal::LongitudinalPlanExt::LongitudinalPlanExtSource value);
- inline bool getDe2eIsEnabled();
- inline void setDe2eIsEnabled(bool value);
-
private:
::capnp::_::StructBuilder _builder;
template
@@ -1535,18 +1468,46 @@ inline void LiveMapData::Builder::setLastGpsBearingAccuracyDeg(float value) {
::capnp::bounded<15>() * ::capnp::ELEMENTS, value);
}
+inline bool LongitudinalPlanExt::Reader::getDpE2EIsBlended() const {
+ return _reader.getDataField(
+ ::capnp::bounded<0>() * ::capnp::ELEMENTS);
+}
+
+inline bool LongitudinalPlanExt::Builder::getDpE2EIsBlended() {
+ return _builder.getDataField(
+ ::capnp::bounded<0>() * ::capnp::ELEMENTS);
+}
+inline void LongitudinalPlanExt::Builder::setDpE2EIsBlended(bool value) {
+ _builder.setDataField(
+ ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
+}
+
+inline bool LongitudinalPlanExt::Reader::getDe2eIsEnabled() const {
+ return _reader.getDataField(
+ ::capnp::bounded<1>() * ::capnp::ELEMENTS);
+}
+
+inline bool LongitudinalPlanExt::Builder::getDe2eIsEnabled() {
+ return _builder.getDataField(
+ ::capnp::bounded<1>() * ::capnp::ELEMENTS);
+}
+inline void LongitudinalPlanExt::Builder::setDe2eIsEnabled(bool value) {
+ _builder.setDataField(
+ ::capnp::bounded<1>() * ::capnp::ELEMENTS, value);
+}
+
inline ::cereal::LongitudinalPlanExt::VisionTurnControllerState LongitudinalPlanExt::Reader::getVisionTurnControllerState() const {
return _reader.getDataField< ::cereal::LongitudinalPlanExt::VisionTurnControllerState>(
- ::capnp::bounded<0>() * ::capnp::ELEMENTS);
+ ::capnp::bounded<1>() * ::capnp::ELEMENTS);
}
inline ::cereal::LongitudinalPlanExt::VisionTurnControllerState LongitudinalPlanExt::Builder::getVisionTurnControllerState() {
return _builder.getDataField< ::cereal::LongitudinalPlanExt::VisionTurnControllerState>(
- ::capnp::bounded<0>() * ::capnp::ELEMENTS);
+ ::capnp::bounded<1>() * ::capnp::ELEMENTS);
}
inline void LongitudinalPlanExt::Builder::setVisionTurnControllerState( ::cereal::LongitudinalPlanExt::VisionTurnControllerState value) {
_builder.setDataField< ::cereal::LongitudinalPlanExt::VisionTurnControllerState>(
- ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
+ ::capnp::bounded<1>() * ::capnp::ELEMENTS, value);
}
inline float LongitudinalPlanExt::Reader::getVisionTurnSpeed() const {
@@ -1563,200 +1524,18 @@ inline void LongitudinalPlanExt::Builder::setVisionTurnSpeed(float value) {
::capnp::bounded<1>() * ::capnp::ELEMENTS, value);
}
-inline ::cereal::LongitudinalPlanExt::SpeedLimitControlState LongitudinalPlanExt::Reader::getSpeedLimitControlState() const {
- return _reader.getDataField< ::cereal::LongitudinalPlanExt::SpeedLimitControlState>(
- ::capnp::bounded<1>() * ::capnp::ELEMENTS);
-}
-
-inline ::cereal::LongitudinalPlanExt::SpeedLimitControlState LongitudinalPlanExt::Builder::getSpeedLimitControlState() {
- return _builder.getDataField< ::cereal::LongitudinalPlanExt::SpeedLimitControlState>(
- ::capnp::bounded<1>() * ::capnp::ELEMENTS);
-}
-inline void LongitudinalPlanExt::Builder::setSpeedLimitControlState( ::cereal::LongitudinalPlanExt::SpeedLimitControlState value) {
- _builder.setDataField< ::cereal::LongitudinalPlanExt::SpeedLimitControlState>(
- ::capnp::bounded<1>() * ::capnp::ELEMENTS, value);
-}
-
-inline float LongitudinalPlanExt::Reader::getSpeedLimit() const {
- return _reader.getDataField(
- ::capnp::bounded<2>() * ::capnp::ELEMENTS);
-}
-
-inline float LongitudinalPlanExt::Builder::getSpeedLimit() {
- return _builder.getDataField(
- ::capnp::bounded<2>() * ::capnp::ELEMENTS);
-}
-inline void LongitudinalPlanExt::Builder::setSpeedLimit(float value) {
- _builder.setDataField(
- ::capnp::bounded<2>() * ::capnp::ELEMENTS, value);
-}
-
-inline float LongitudinalPlanExt::Reader::getSpeedLimitOffset() const {
- return _reader.getDataField(
- ::capnp::bounded<3>() * ::capnp::ELEMENTS);
-}
-
-inline float LongitudinalPlanExt::Builder::getSpeedLimitOffset() {
- return _builder.getDataField(
- ::capnp::bounded<3>() * ::capnp::ELEMENTS);
-}
-inline void LongitudinalPlanExt::Builder::setSpeedLimitOffset(float value) {
- _builder.setDataField(
- ::capnp::bounded<3>() * ::capnp::ELEMENTS, value);
-}
-
-inline float LongitudinalPlanExt::Reader::getDistToSpeedLimit() const {
- return _reader.getDataField(
- ::capnp::bounded<4>() * ::capnp::ELEMENTS);
-}
-
-inline float LongitudinalPlanExt::Builder::getDistToSpeedLimit() {
- return _builder.getDataField(
- ::capnp::bounded<4>() * ::capnp::ELEMENTS);
-}
-inline void LongitudinalPlanExt::Builder::setDistToSpeedLimit(float value) {
- _builder.setDataField(
- ::capnp::bounded<4>() * ::capnp::ELEMENTS, value);
-}
-
-inline bool LongitudinalPlanExt::Reader::getIsMapSpeedLimit() const {
- return _reader.getDataField(
- ::capnp::bounded<160>() * ::capnp::ELEMENTS);
-}
-
-inline bool LongitudinalPlanExt::Builder::getIsMapSpeedLimit() {
- return _builder.getDataField(
- ::capnp::bounded<160>() * ::capnp::ELEMENTS);
-}
-inline void LongitudinalPlanExt::Builder::setIsMapSpeedLimit(bool value) {
- _builder.setDataField(
- ::capnp::bounded<160>() * ::capnp::ELEMENTS, value);
-}
-
-inline bool LongitudinalPlanExt::Reader::getSpeedLimitPercOffset() const {
- return _reader.getDataField(
- ::capnp::bounded<161>() * ::capnp::ELEMENTS);
-}
-
-inline bool LongitudinalPlanExt::Builder::getSpeedLimitPercOffset() {
- return _builder.getDataField(
- ::capnp::bounded<161>() * ::capnp::ELEMENTS);
-}
-inline void LongitudinalPlanExt::Builder::setSpeedLimitPercOffset(bool value) {
- _builder.setDataField(
- ::capnp::bounded<161>() * ::capnp::ELEMENTS, value);
-}
-
-inline float LongitudinalPlanExt::Reader::getSpeedLimitValueOffset() const {
- return _reader.getDataField(
- ::capnp::bounded<6>() * ::capnp::ELEMENTS);
-}
-
-inline float LongitudinalPlanExt::Builder::getSpeedLimitValueOffset() {
- return _builder.getDataField(
- ::capnp::bounded<6>() * ::capnp::ELEMENTS);
-}
-inline void LongitudinalPlanExt::Builder::setSpeedLimitValueOffset(float value) {
- _builder.setDataField(
- ::capnp::bounded<6>() * ::capnp::ELEMENTS, value);
-}
-
-inline float LongitudinalPlanExt::Reader::getDistToTurn() const {
- return _reader.getDataField(
- ::capnp::bounded<7>() * ::capnp::ELEMENTS);
-}
-
-inline float LongitudinalPlanExt::Builder::getDistToTurn() {
- return _builder.getDataField(
- ::capnp::bounded<7>() * ::capnp::ELEMENTS);
-}
-inline void LongitudinalPlanExt::Builder::setDistToTurn(float value) {
- _builder.setDataField(
- ::capnp::bounded<7>() * ::capnp::ELEMENTS, value);
-}
-
-inline float LongitudinalPlanExt::Reader::getTurnSpeed() const {
- return _reader.getDataField(
- ::capnp::bounded<8>() * ::capnp::ELEMENTS);
-}
-
-inline float LongitudinalPlanExt::Builder::getTurnSpeed() {
- return _builder.getDataField(
- ::capnp::bounded<8>() * ::capnp::ELEMENTS);
-}
-inline void LongitudinalPlanExt::Builder::setTurnSpeed(float value) {
- _builder.setDataField(
- ::capnp::bounded<8>() * ::capnp::ELEMENTS, value);
-}
-
-inline ::cereal::LongitudinalPlanExt::SpeedLimitControlState LongitudinalPlanExt::Reader::getTurnSpeedControlState() const {
- return _reader.getDataField< ::cereal::LongitudinalPlanExt::SpeedLimitControlState>(
- ::capnp::bounded<11>() * ::capnp::ELEMENTS);
-}
-
-inline ::cereal::LongitudinalPlanExt::SpeedLimitControlState LongitudinalPlanExt::Builder::getTurnSpeedControlState() {
- return _builder.getDataField< ::cereal::LongitudinalPlanExt::SpeedLimitControlState>(
- ::capnp::bounded<11>() * ::capnp::ELEMENTS);
-}
-inline void LongitudinalPlanExt::Builder::setTurnSpeedControlState( ::cereal::LongitudinalPlanExt::SpeedLimitControlState value) {
- _builder.setDataField< ::cereal::LongitudinalPlanExt::SpeedLimitControlState>(
- ::capnp::bounded<11>() * ::capnp::ELEMENTS, value);
-}
-
-inline ::int16_t LongitudinalPlanExt::Reader::getTurnSign() const {
- return _reader.getDataField< ::int16_t>(
- ::capnp::bounded<18>() * ::capnp::ELEMENTS);
-}
-
-inline ::int16_t LongitudinalPlanExt::Builder::getTurnSign() {
- return _builder.getDataField< ::int16_t>(
- ::capnp::bounded<18>() * ::capnp::ELEMENTS);
-}
-inline void LongitudinalPlanExt::Builder::setTurnSign( ::int16_t value) {
- _builder.setDataField< ::int16_t>(
- ::capnp::bounded<18>() * ::capnp::ELEMENTS, value);
-}
-
-inline bool LongitudinalPlanExt::Reader::getDpE2EIsBlended() const {
- return _reader.getDataField(
- ::capnp::bounded<162>() * ::capnp::ELEMENTS);
-}
-
-inline bool LongitudinalPlanExt::Builder::getDpE2EIsBlended() {
- return _builder.getDataField(
- ::capnp::bounded<162>() * ::capnp::ELEMENTS);
-}
-inline void LongitudinalPlanExt::Builder::setDpE2EIsBlended(bool value) {
- _builder.setDataField(
- ::capnp::bounded<162>() * ::capnp::ELEMENTS, value);
-}
-
inline ::cereal::LongitudinalPlanExt::LongitudinalPlanExtSource LongitudinalPlanExt::Reader::getLongitudinalPlanExtSource() const {
return _reader.getDataField< ::cereal::LongitudinalPlanExt::LongitudinalPlanExtSource>(
- ::capnp::bounded<19>() * ::capnp::ELEMENTS);
+ ::capnp::bounded<4>() * ::capnp::ELEMENTS);
}
inline ::cereal::LongitudinalPlanExt::LongitudinalPlanExtSource LongitudinalPlanExt::Builder::getLongitudinalPlanExtSource() {
return _builder.getDataField< ::cereal::LongitudinalPlanExt::LongitudinalPlanExtSource>(
- ::capnp::bounded<19>() * ::capnp::ELEMENTS);
+ ::capnp::bounded<4>() * ::capnp::ELEMENTS);
}
inline void LongitudinalPlanExt::Builder::setLongitudinalPlanExtSource( ::cereal::LongitudinalPlanExt::LongitudinalPlanExtSource value) {
_builder.setDataField< ::cereal::LongitudinalPlanExt::LongitudinalPlanExtSource>(
- ::capnp::bounded<19>() * ::capnp::ELEMENTS, value);
-}
-
-inline bool LongitudinalPlanExt::Reader::getDe2eIsEnabled() const {
- return _reader.getDataField(
- ::capnp::bounded<163>() * ::capnp::ELEMENTS);
-}
-
-inline bool LongitudinalPlanExt::Builder::getDe2eIsEnabled() {
- return _builder.getDataField(
- ::capnp::bounded<163>() * ::capnp::ELEMENTS);
-}
-inline void LongitudinalPlanExt::Builder::setDe2eIsEnabled(bool value) {
- _builder.setDataField(
- ::capnp::bounded<163>() * ::capnp::ELEMENTS, value);
+ ::capnp::bounded<4>() * ::capnp::ELEMENTS, value);
}
inline bool LateralPlanExt::Reader::hasDPathWLinesX() const {
diff --git a/cereal/gen/cpp/log.capnp.c++ b/cereal/gen/cpp/log.capnp.c++
index 9d89a4805..97b35f655 100644
--- a/cereal/gen/cpp/log.capnp.c++
+++ b/cereal/gen/cpp/log.capnp.c++
@@ -2202,7 +2202,7 @@ const ::capnp::_::RawSchema s_ddb169f01e102879 = {
};
#endif // !CAPNP_LITE
CAPNP_DEFINE_ENUM(FrameType_ddb169f01e102879, ddb169f01e102879);
-static const ::capnp::_::AlignedData<30> b_d810b1e7705dd69c = {
+static const ::capnp::_::AlignedData<34> b_d810b1e7705dd69c = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
156, 214, 93, 112, 231, 177, 16, 216,
20, 0, 0, 0, 2, 0, 0, 0,
@@ -2212,7 +2212,7 @@ static const ::capnp::_::AlignedData<30> b_d810b1e7705dd69c = {
21, 0, 0, 0, 2, 1, 0, 0,
33, 0, 0, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 29, 0, 0, 0, 79, 0, 0, 0,
+ 29, 0, 0, 0, 103, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
108, 111, 103, 46, 99, 97, 112, 110,
@@ -2220,26 +2220,30 @@ static const ::capnp::_::AlignedData<30> b_d810b1e7705dd69c = {
97, 116, 97, 46, 73, 109, 97, 103,
101, 83, 101, 110, 115, 111, 114, 0,
0, 0, 0, 0, 1, 0, 1, 0,
- 12, 0, 0, 0, 1, 0, 2, 0,
+ 16, 0, 0, 0, 1, 0, 2, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 29, 0, 0, 0, 66, 0, 0, 0,
+ 41, 0, 0, 0, 66, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
- 21, 0, 0, 0, 58, 0, 0, 0,
+ 33, 0, 0, 0, 58, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 0, 0, 0, 0,
- 13, 0, 0, 0, 66, 0, 0, 0,
+ 25, 0, 0, 0, 66, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 66, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
117, 110, 107, 110, 111, 119, 110, 0,
97, 114, 48, 50, 51, 49, 0, 0,
- 111, 120, 48, 51, 99, 49, 48, 0, }
+ 111, 120, 48, 51, 99, 49, 48, 0,
+ 111, 115, 48, 52, 99, 49, 48, 0, }
};
::capnp::word const* const bp_d810b1e7705dd69c = b_d810b1e7705dd69c.words;
#if !CAPNP_LITE
-static const uint16_t m_d810b1e7705dd69c[] = {1, 2, 0};
+static const uint16_t m_d810b1e7705dd69c[] = {1, 3, 2, 0};
const ::capnp::_::RawSchema s_d810b1e7705dd69c = {
- 0xd810b1e7705dd69c, b_d810b1e7705dd69c.words, 30, nullptr, m_d810b1e7705dd69c,
- 0, 3, nullptr, nullptr, nullptr, { &s_d810b1e7705dd69c, nullptr, nullptr, 0, 0, nullptr }
+ 0xd810b1e7705dd69c, b_d810b1e7705dd69c.words, 34, nullptr, m_d810b1e7705dd69c,
+ 0, 4, nullptr, nullptr, nullptr, { &s_d810b1e7705dd69c, nullptr, nullptr, 0, 0, nullptr }
};
#endif // !CAPNP_LITE
CAPNP_DEFINE_ENUM(ImageSensor_d810b1e7705dd69c, d810b1e7705dd69c);
@@ -4618,7 +4622,7 @@ const ::capnp::_::RawSchema s_b98c64ea27898ea0 = {
0, 2, i_b98c64ea27898ea0, nullptr, nullptr, { &s_b98c64ea27898ea0, nullptr, nullptr, 0, 0, nullptr }
};
#endif // !CAPNP_LITE
-static const ::capnp::_::AlignedData<643> b_a7649e2575e4591e = {
+static const ::capnp::_::AlignedData<645> b_a7649e2575e4591e = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
30, 89, 228, 117, 37, 158, 100, 167,
10, 0, 0, 0, 1, 0, 9, 0,
@@ -4656,14 +4660,14 @@ static const ::capnp::_::AlignedData<643> b_a7649e2575e4591e = {
80, 97, 110, 100, 97, 67, 97, 110,
83, 116, 97, 116, 101, 0, 0, 0,
148, 0, 0, 0, 3, 0, 4, 0,
- 29, 0, 0, 0, 0, 0, 0, 0,
+ 28, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
253, 3, 0, 0, 66, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
248, 3, 0, 0, 3, 0, 1, 0,
4, 4, 0, 0, 2, 0, 1, 0,
- 30, 0, 0, 0, 1, 0, 0, 0,
+ 29, 0, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 4, 0, 0, 66, 0, 0, 0,
@@ -4677,244 +4681,244 @@ static const ::capnp::_::AlignedData<643> b_a7649e2575e4591e = {
0, 0, 0, 0, 0, 0, 0, 0,
4, 4, 0, 0, 3, 0, 1, 0,
16, 4, 0, 0, 2, 0, 1, 0,
- 22, 0, 0, 0, 65, 0, 0, 0,
+ 21, 0, 0, 0, 65, 0, 0, 0,
0, 0, 1, 0, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
13, 4, 0, 0, 130, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
12, 4, 0, 0, 3, 0, 1, 0,
24, 4, 0, 0, 2, 0, 1, 0,
- 1, 0, 0, 0, 66, 0, 0, 0,
+ 30, 0, 0, 0, 66, 0, 0, 0,
0, 0, 1, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 21, 4, 0, 0, 186, 0, 0, 0,
+ 21, 4, 0, 0, 10, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 24, 4, 0, 0, 3, 0, 1, 0,
- 36, 4, 0, 0, 2, 0, 1, 0,
+ 32, 4, 0, 0, 3, 0, 1, 0,
+ 44, 4, 0, 0, 2, 0, 1, 0,
31, 0, 0, 0, 67, 0, 0, 0,
0, 0, 1, 0, 5, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 33, 4, 0, 0, 2, 1, 0, 0,
+ 41, 4, 0, 0, 2, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 40, 4, 0, 0, 3, 0, 1, 0,
- 52, 4, 0, 0, 2, 0, 1, 0,
+ 48, 4, 0, 0, 3, 0, 1, 0,
+ 60, 4, 0, 0, 2, 0, 1, 0,
32, 0, 0, 0, 68, 0, 0, 0,
0, 0, 1, 0, 6, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 49, 4, 0, 0, 138, 0, 0, 0,
+ 57, 4, 0, 0, 138, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 52, 4, 0, 0, 3, 0, 1, 0,
- 64, 4, 0, 0, 2, 0, 1, 0,
- 2, 0, 0, 0, 3, 0, 0, 0,
+ 60, 4, 0, 0, 3, 0, 1, 0,
+ 72, 4, 0, 0, 2, 0, 1, 0,
+ 1, 0, 0, 0, 3, 0, 0, 0,
0, 0, 1, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 61, 4, 0, 0, 138, 0, 0, 0,
+ 69, 4, 0, 0, 138, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 64, 4, 0, 0, 3, 0, 1, 0,
- 76, 4, 0, 0, 2, 0, 1, 0,
- 3, 0, 0, 0, 4, 0, 0, 0,
+ 72, 4, 0, 0, 3, 0, 1, 0,
+ 84, 4, 0, 0, 2, 0, 1, 0,
+ 2, 0, 0, 0, 4, 0, 0, 0,
0, 0, 1, 0, 8, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 73, 4, 0, 0, 138, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 4, 0, 0, 3, 0, 1, 0,
- 88, 4, 0, 0, 2, 0, 1, 0,
- 4, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 1, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 4, 0, 0, 114, 0, 0, 0,
+ 81, 4, 0, 0, 138, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
84, 4, 0, 0, 3, 0, 1, 0,
96, 4, 0, 0, 2, 0, 1, 0,
- 5, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 1, 0, 10, 0, 0, 0,
+ 3, 0, 0, 0, 5, 0, 0, 0,
+ 0, 0, 1, 0, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 93, 4, 0, 0, 82, 0, 0, 0,
+ 93, 4, 0, 0, 114, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
92, 4, 0, 0, 3, 0, 1, 0,
104, 4, 0, 0, 2, 0, 1, 0,
+ 4, 0, 0, 0, 5, 0, 0, 0,
+ 0, 0, 1, 0, 10, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 101, 4, 0, 0, 82, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 100, 4, 0, 0, 3, 0, 1, 0,
+ 112, 4, 0, 0, 2, 0, 1, 0,
33, 0, 0, 0, 12, 0, 0, 0,
0, 0, 1, 0, 11, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 101, 4, 0, 0, 178, 0, 0, 0,
+ 109, 4, 0, 0, 178, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 104, 4, 0, 0, 3, 0, 1, 0,
- 116, 4, 0, 0, 2, 0, 1, 0,
+ 112, 4, 0, 0, 3, 0, 1, 0,
+ 124, 4, 0, 0, 2, 0, 1, 0,
34, 0, 0, 0, 13, 0, 0, 0,
0, 0, 1, 0, 12, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 113, 4, 0, 0, 186, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 116, 4, 0, 0, 3, 0, 1, 0,
- 128, 4, 0, 0, 2, 0, 1, 0,
- 6, 0, 0, 0, 69, 0, 0, 0,
- 0, 0, 1, 0, 13, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 125, 4, 0, 0, 98, 0, 0, 0,
+ 121, 4, 0, 0, 186, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
124, 4, 0, 0, 3, 0, 1, 0,
136, 4, 0, 0, 2, 0, 1, 0,
- 25, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 1, 0, 14, 0, 0, 0,
+ 5, 0, 0, 0, 69, 0, 0, 0,
+ 0, 0, 1, 0, 13, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
133, 4, 0, 0, 98, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
132, 4, 0, 0, 3, 0, 1, 0,
144, 4, 0, 0, 2, 0, 1, 0,
- 7, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 1, 0, 15, 0, 0, 0,
+ 24, 0, 0, 0, 14, 0, 0, 0,
+ 0, 0, 1, 0, 14, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
141, 4, 0, 0, 98, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
140, 4, 0, 0, 3, 0, 1, 0,
152, 4, 0, 0, 2, 0, 1, 0,
- 8, 0, 0, 0, 70, 0, 0, 0,
+ 6, 0, 0, 0, 15, 0, 0, 0,
+ 0, 0, 1, 0, 15, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 149, 4, 0, 0, 98, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 148, 4, 0, 0, 3, 0, 1, 0,
+ 160, 4, 0, 0, 2, 0, 1, 0,
+ 7, 0, 0, 0, 70, 0, 0, 0,
0, 0, 1, 0, 16, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 149, 4, 0, 0, 138, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 152, 4, 0, 0, 3, 0, 1, 0,
- 164, 4, 0, 0, 2, 0, 1, 0,
- 9, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 1, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 161, 4, 0, 0, 58, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 156, 4, 0, 0, 3, 0, 1, 0,
- 168, 4, 0, 0, 2, 0, 1, 0,
- 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 18, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 165, 4, 0, 0, 58, 0, 0, 0,
+ 157, 4, 0, 0, 138, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
160, 4, 0, 0, 3, 0, 1, 0,
- 188, 4, 0, 0, 2, 0, 1, 0,
- 23, 0, 0, 0, 9, 0, 0, 0,
+ 172, 4, 0, 0, 2, 0, 1, 0,
+ 8, 0, 0, 0, 8, 0, 0, 0,
+ 0, 0, 1, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 169, 4, 0, 0, 58, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 164, 4, 0, 0, 3, 0, 1, 0,
+ 176, 4, 0, 0, 2, 0, 1, 0,
+ 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 18, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 173, 4, 0, 0, 58, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 168, 4, 0, 0, 3, 0, 1, 0,
+ 196, 4, 0, 0, 2, 0, 1, 0,
+ 22, 0, 0, 0, 9, 0, 0, 0,
0, 0, 1, 0, 19, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 185, 4, 0, 0, 130, 0, 0, 0,
+ 193, 4, 0, 0, 130, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 184, 4, 0, 0, 3, 0, 1, 0,
- 196, 4, 0, 0, 2, 0, 1, 0,
+ 192, 4, 0, 0, 3, 0, 1, 0,
+ 204, 4, 0, 0, 2, 0, 1, 0,
35, 0, 0, 0, 20, 0, 0, 0,
0, 0, 1, 0, 20, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 193, 4, 0, 0, 178, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 196, 4, 0, 0, 3, 0, 1, 0,
- 208, 4, 0, 0, 2, 0, 1, 0,
- 16, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 1, 0, 21, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 205, 4, 0, 0, 114, 0, 0, 0,
+ 201, 4, 0, 0, 178, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
204, 4, 0, 0, 3, 0, 1, 0,
216, 4, 0, 0, 2, 0, 1, 0,
- 11, 0, 0, 0, 71, 0, 0, 0,
- 0, 0, 1, 0, 22, 0, 0, 0,
+ 15, 0, 0, 0, 21, 0, 0, 0,
+ 0, 0, 1, 0, 21, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
213, 4, 0, 0, 114, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
212, 4, 0, 0, 3, 0, 1, 0,
224, 4, 0, 0, 2, 0, 1, 0,
- 27, 0, 0, 0, 22, 0, 0, 0,
+ 10, 0, 0, 0, 71, 0, 0, 0,
+ 0, 0, 1, 0, 22, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 221, 4, 0, 0, 114, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 220, 4, 0, 0, 3, 0, 1, 0,
+ 232, 4, 0, 0, 2, 0, 1, 0,
+ 26, 0, 0, 0, 22, 0, 0, 0,
0, 0, 1, 0, 23, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 221, 4, 0, 0, 178, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 224, 4, 0, 0, 3, 0, 1, 0,
- 236, 4, 0, 0, 2, 0, 1, 0,
- 24, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 1, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 233, 4, 0, 0, 130, 0, 0, 0,
+ 229, 4, 0, 0, 178, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
232, 4, 0, 0, 3, 0, 1, 0,
244, 4, 0, 0, 2, 0, 1, 0,
- 12, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 1, 0, 25, 0, 0, 0,
+ 23, 0, 0, 0, 12, 0, 0, 0,
+ 0, 0, 1, 0, 24, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 241, 4, 0, 0, 114, 0, 0, 0,
+ 241, 4, 0, 0, 130, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
240, 4, 0, 0, 3, 0, 1, 0,
252, 4, 0, 0, 2, 0, 1, 0,
+ 11, 0, 0, 0, 13, 0, 0, 0,
+ 0, 0, 1, 0, 25, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 249, 4, 0, 0, 114, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 248, 4, 0, 0, 3, 0, 1, 0,
+ 4, 5, 0, 0, 2, 0, 1, 0,
36, 0, 0, 0, 14, 0, 0, 0,
0, 0, 1, 0, 26, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 249, 4, 0, 0, 186, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 252, 4, 0, 0, 3, 0, 1, 0,
- 8, 5, 0, 0, 2, 0, 1, 0,
- 26, 0, 0, 0, 23, 0, 0, 0,
- 0, 0, 1, 0, 27, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 5, 5, 0, 0, 98, 0, 0, 0,
+ 1, 5, 0, 0, 186, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
4, 5, 0, 0, 3, 0, 1, 0,
16, 5, 0, 0, 2, 0, 1, 0,
- 13, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 1, 0, 28, 0, 0, 0,
+ 25, 0, 0, 0, 23, 0, 0, 0,
+ 0, 0, 1, 0, 27, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 13, 5, 0, 0, 74, 0, 0, 0,
+ 13, 5, 0, 0, 98, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
12, 5, 0, 0, 3, 0, 1, 0,
24, 5, 0, 0, 2, 0, 1, 0,
- 19, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 1, 0, 29, 0, 0, 0,
+ 12, 0, 0, 0, 9, 0, 0, 0,
+ 0, 0, 1, 0, 28, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 21, 5, 0, 0, 82, 0, 0, 0,
+ 21, 5, 0, 0, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
20, 5, 0, 0, 3, 0, 1, 0,
32, 5, 0, 0, 2, 0, 1, 0,
- 20, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 1, 0, 30, 0, 0, 0,
+ 18, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 1, 0, 29, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
29, 5, 0, 0, 82, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
28, 5, 0, 0, 3, 0, 1, 0,
40, 5, 0, 0, 2, 0, 1, 0,
- 21, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 1, 0, 31, 0, 0, 0,
+ 19, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 1, 0, 30, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
37, 5, 0, 0, 82, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
36, 5, 0, 0, 3, 0, 1, 0,
48, 5, 0, 0, 2, 0, 1, 0,
- 28, 0, 0, 0, 224, 1, 0, 0,
+ 20, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 1, 0, 31, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 45, 5, 0, 0, 82, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 44, 5, 0, 0, 3, 0, 1, 0,
+ 56, 5, 0, 0, 2, 0, 1, 0,
+ 27, 0, 0, 0, 224, 1, 0, 0,
0, 0, 1, 0, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 45, 5, 0, 0, 178, 0, 0, 0,
+ 53, 5, 0, 0, 178, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 48, 5, 0, 0, 3, 0, 1, 0,
- 60, 5, 0, 0, 2, 0, 1, 0,
- 15, 0, 0, 0, 31, 0, 0, 0,
+ 56, 5, 0, 0, 3, 0, 1, 0,
+ 68, 5, 0, 0, 2, 0, 1, 0,
+ 14, 0, 0, 0, 31, 0, 0, 0,
0, 0, 1, 0, 33, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 57, 5, 0, 0, 178, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 60, 5, 0, 0, 3, 0, 1, 0,
- 72, 5, 0, 0, 2, 0, 1, 0,
- 14, 0, 0, 0, 61, 0, 0, 0,
- 0, 0, 1, 0, 34, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 69, 5, 0, 0, 114, 0, 0, 0,
+ 65, 5, 0, 0, 178, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
68, 5, 0, 0, 3, 0, 1, 0,
80, 5, 0, 0, 2, 0, 1, 0,
- 17, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 1, 0, 35, 0, 0, 0,
+ 13, 0, 0, 0, 61, 0, 0, 0,
+ 0, 0, 1, 0, 34, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 77, 5, 0, 0, 98, 0, 0, 0,
+ 77, 5, 0, 0, 114, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
76, 5, 0, 0, 3, 0, 1, 0,
88, 5, 0, 0, 2, 0, 1, 0,
- 18, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 1, 0, 36, 0, 0, 0,
+ 16, 0, 0, 0, 16, 0, 0, 0,
+ 0, 0, 1, 0, 35, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
85, 5, 0, 0, 98, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
84, 5, 0, 0, 3, 0, 1, 0,
96, 5, 0, 0, 2, 0, 1, 0,
+ 17, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 1, 0, 36, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 93, 5, 0, 0, 98, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 92, 5, 0, 0, 3, 0, 1, 0,
+ 104, 5, 0, 0, 2, 0, 1, 0,
118, 111, 108, 116, 97, 103, 101, 0,
8, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -4951,7 +4955,9 @@ static const ::capnp::_::AlignedData<643> b_a7649e2575e4591e = {
0, 0, 0, 0, 0, 0, 0, 0,
103, 97, 115, 73, 110, 116, 101, 114,
99, 101, 112, 116, 111, 114, 68, 101,
- 116, 101, 99, 116, 101, 100, 0, 0,
+ 116, 101, 99, 116, 101, 100, 68, 69,
+ 80, 82, 69, 67, 65, 84, 69, 68,
+ 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -5277,7 +5283,7 @@ static const ::capnp::_::RawSchema* const d_a7649e2575e4591e[] = {
static const uint16_t m_a7649e2575e4591e[] = {23, 29, 30, 31, 3, 1, 28, 11, 34, 15, 18, 4, 9, 21, 6, 22, 13, 2, 25, 10, 16, 7, 14, 27, 26, 20, 32, 19, 24, 35, 36, 33, 5, 8, 17, 12, 0};
static const uint16_t i_a7649e2575e4591e[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36};
const ::capnp::_::RawSchema s_a7649e2575e4591e = {
- 0xa7649e2575e4591e, b_a7649e2575e4591e.words, 643, d_a7649e2575e4591e, m_a7649e2575e4591e,
+ 0xa7649e2575e4591e, b_a7649e2575e4591e.words, 645, d_a7649e2575e4591e, m_a7649e2575e4591e,
7, 37, i_a7649e2575e4591e, nullptr, nullptr, { &s_a7649e2575e4591e, nullptr, nullptr, 0, 0, nullptr }
};
#endif // !CAPNP_LITE
@@ -27600,7 +27606,7 @@ static const ::capnp::_::AlignedData<2162> b_d314cfd957229c11 = {
37, 0, 189, 255, 0, 0, 0, 0,
0, 0, 1, 0, 68, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 61, 17, 0, 0, 82, 0, 0, 0,
+ 61, 17, 0, 0, 106, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
60, 17, 0, 0, 3, 0, 1, 0,
88, 17, 0, 0, 2, 0, 1, 0,
@@ -28704,8 +28710,8 @@ static const ::capnp::_::AlignedData<2162> b_d314cfd957229c11 = {
1, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 99, 97, 114, 69, 118, 101, 110, 116,
- 115, 0, 0, 0, 0, 0, 0, 0,
+ 111, 110, 114, 111, 97, 100, 69, 118,
+ 101, 110, 116, 115, 0, 0, 0, 0,
14, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -29358,7 +29364,7 @@ static const ::capnp::_::RawSchema* const d_d314cfd957229c11[] = {
&s_fe346a9de48d9b50,
&s_fe35ad896ffaeacf,
};
-static const uint16_t m_d314cfd957229c11[] = {98, 101, 30, 20, 55, 42, 60, 63, 5, 23, 68, 69, 22, 28, 35, 7, 110, 111, 112, 113, 114, 115, 116, 124, 125, 126, 6, 70, 87, 76, 71, 59, 92, 85, 26, 10, 91, 21, 48, 3, 41, 40, 99, 100, 1, 65, 64, 109, 32, 96, 19, 8, 46, 25, 72, 51, 44, 37, 107, 62, 36, 61, 94, 16, 14, 122, 119, 120, 117, 121, 118, 49, 18, 0, 24, 108, 95, 78, 105, 103, 9, 75, 82, 104, 83, 38, 84, 27, 54, 58, 56, 47, 53, 45, 12, 81, 80, 33, 89, 90, 31, 13, 2, 86, 15, 17, 4, 11, 73, 97, 123, 52, 66, 43, 34, 39, 102, 57, 50, 106, 79, 93, 67, 74, 88, 77, 29};
+static const uint16_t m_d314cfd957229c11[] = {98, 101, 30, 20, 55, 42, 60, 63, 5, 23, 69, 22, 28, 35, 7, 110, 111, 112, 113, 114, 115, 116, 124, 125, 126, 6, 70, 87, 76, 71, 59, 92, 85, 26, 10, 91, 21, 48, 3, 41, 40, 99, 100, 1, 65, 64, 109, 32, 96, 19, 8, 46, 25, 72, 51, 44, 37, 107, 62, 36, 61, 94, 16, 14, 122, 119, 120, 117, 121, 118, 49, 18, 0, 24, 108, 95, 78, 105, 103, 9, 75, 82, 104, 83, 38, 84, 27, 68, 54, 58, 56, 47, 53, 45, 12, 81, 80, 33, 89, 90, 31, 13, 2, 86, 15, 17, 4, 11, 73, 97, 123, 52, 66, 43, 34, 39, 102, 57, 50, 106, 79, 93, 67, 74, 88, 77, 29};
static const uint16_t i_d314cfd957229c11[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 0, 67};
const ::capnp::_::RawSchema s_d314cfd957229c11 = {
0xd314cfd957229c11, b_d314cfd957229c11.words, 2162, d_d314cfd957229c11, m_d314cfd957229c11,
diff --git a/cereal/gen/cpp/log.capnp.h b/cereal/gen/cpp/log.capnp.h
index 794a81bb1..1b1616fd2 100644
--- a/cereal/gen/cpp/log.capnp.h
+++ b/cereal/gen/cpp/log.capnp.h
@@ -58,6 +58,7 @@ enum class ImageSensor_d810b1e7705dd69c: uint16_t {
UNKNOWN,
AR0231,
OX03C10,
+ OS04C10,
};
CAPNP_DECLARE_ENUM(ImageSensor, d810b1e7705dd69c);
CAPNP_DECLARE_SCHEMA(bcc3efbac41d2048);
@@ -2402,7 +2403,7 @@ struct Event {
LATERAL_PLAN,
KALMAN_ODOMETRY_D_E_P_R_E_C_A_T_E_D,
THUMBNAIL,
- CAR_EVENTS,
+ ONROAD_EVENTS,
CAR_PARAMS,
DRIVER_CAMERA_STATE,
DRIVER_MONITORING_STATE,
@@ -5443,7 +5444,7 @@ public:
inline bool getControlsAllowed() const;
- inline bool getGasInterceptorDetected() const;
+ inline bool getGasInterceptorDetectedDEPRECATED() const;
inline bool getStartedSignalDetectedDEPRECATED() const;
@@ -5553,8 +5554,8 @@ public:
inline bool getControlsAllowed();
inline void setControlsAllowed(bool value);
- inline bool getGasInterceptorDetected();
- inline void setGasInterceptorDetected(bool value);
+ inline bool getGasInterceptorDetectedDEPRECATED();
+ inline void setGasInterceptorDetectedDEPRECATED(bool value);
inline bool getStartedSignalDetectedDEPRECATED();
inline void setStartedSignalDetectedDEPRECATED(bool value);
@@ -18844,9 +18845,9 @@ public:
inline bool getValid() const;
- inline bool isCarEvents() const;
- inline bool hasCarEvents() const;
- inline ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Reader getCarEvents() const;
+ inline bool isOnroadEvents() const;
+ inline bool hasOnroadEvents() const;
+ inline ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Reader getOnroadEvents() const;
inline bool isCarParams() const;
inline bool hasCarParams() const;
@@ -19643,13 +19644,13 @@ public:
inline bool getValid();
inline void setValid(bool value);
- inline bool isCarEvents();
- inline bool hasCarEvents();
- inline ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Builder getCarEvents();
- inline void setCarEvents( ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Reader value);
- inline ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Builder initCarEvents(unsigned int size);
- inline void adoptCarEvents(::capnp::Orphan< ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>>&& value);
- inline ::capnp::Orphan< ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>> disownCarEvents();
+ inline bool isOnroadEvents();
+ inline bool hasOnroadEvents();
+ inline ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Builder getOnroadEvents();
+ inline void setOnroadEvents( ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Reader value);
+ inline ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Builder initOnroadEvents(unsigned int size);
+ inline void adoptOnroadEvents(::capnp::Orphan< ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>>&& value);
+ inline ::capnp::Orphan< ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>> disownOnroadEvents();
inline bool isCarParams();
inline bool hasCarParams();
@@ -25183,16 +25184,16 @@ inline void PandaState::Builder::setControlsAllowed(bool value) {
::capnp::bounded<65>() * ::capnp::ELEMENTS, value);
}
-inline bool PandaState::Reader::getGasInterceptorDetected() const {
+inline bool PandaState::Reader::getGasInterceptorDetectedDEPRECATED() const {
return _reader.getDataField(
::capnp::bounded<66>() * ::capnp::ELEMENTS);
}
-inline bool PandaState::Builder::getGasInterceptorDetected() {
+inline bool PandaState::Builder::getGasInterceptorDetectedDEPRECATED() {
return _builder.getDataField(
::capnp::bounded<66>() * ::capnp::ELEMENTS);
}
-inline void PandaState::Builder::setGasInterceptorDetected(bool value) {
+inline void PandaState::Builder::setGasInterceptorDetectedDEPRECATED(bool value) {
_builder.setDataField(
::capnp::bounded<66>() * ::capnp::ELEMENTS, value);
}
@@ -49623,55 +49624,55 @@ inline void Event::Builder::setValid(bool value) {
::capnp::bounded<80>() * ::capnp::ELEMENTS, value, true);
}
-inline bool Event::Reader::isCarEvents() const {
- return which() == Event::CAR_EVENTS;
+inline bool Event::Reader::isOnroadEvents() const {
+ return which() == Event::ONROAD_EVENTS;
}
-inline bool Event::Builder::isCarEvents() {
- return which() == Event::CAR_EVENTS;
+inline bool Event::Builder::isOnroadEvents() {
+ return which() == Event::ONROAD_EVENTS;
}
-inline bool Event::Reader::hasCarEvents() const {
- if (which() != Event::CAR_EVENTS) return false;
+inline bool Event::Reader::hasOnroadEvents() const {
+ if (which() != Event::ONROAD_EVENTS) return false;
return !_reader.getPointerField(
::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
-inline bool Event::Builder::hasCarEvents() {
- if (which() != Event::CAR_EVENTS) return false;
+inline bool Event::Builder::hasOnroadEvents() {
+ if (which() != Event::ONROAD_EVENTS) return false;
return !_builder.getPointerField(
::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
-inline ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Reader Event::Reader::getCarEvents() const {
- KJ_IREQUIRE((which() == Event::CAR_EVENTS),
+inline ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Reader Event::Reader::getOnroadEvents() const {
+ KJ_IREQUIRE((which() == Event::ONROAD_EVENTS),
"Must check which() before get()ing a union member.");
return ::capnp::_::PointerHelpers< ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>>::get(_reader.getPointerField(
::capnp::bounded<0>() * ::capnp::POINTERS));
}
-inline ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Builder Event::Builder::getCarEvents() {
- KJ_IREQUIRE((which() == Event::CAR_EVENTS),
+inline ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Builder Event::Builder::getOnroadEvents() {
+ KJ_IREQUIRE((which() == Event::ONROAD_EVENTS),
"Must check which() before get()ing a union member.");
return ::capnp::_::PointerHelpers< ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>>::get(_builder.getPointerField(
::capnp::bounded<0>() * ::capnp::POINTERS));
}
-inline void Event::Builder::setCarEvents( ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Reader value) {
+inline void Event::Builder::setOnroadEvents( ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Reader value) {
_builder.setDataField(
- ::capnp::bounded<4>() * ::capnp::ELEMENTS, Event::CAR_EVENTS);
+ ::capnp::bounded<4>() * ::capnp::ELEMENTS, Event::ONROAD_EVENTS);
::capnp::_::PointerHelpers< ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>>::set(_builder.getPointerField(
::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
-inline ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Builder Event::Builder::initCarEvents(unsigned int size) {
+inline ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>::Builder Event::Builder::initOnroadEvents(unsigned int size) {
_builder.setDataField(
- ::capnp::bounded<4>() * ::capnp::ELEMENTS, Event::CAR_EVENTS);
+ ::capnp::bounded<4>() * ::capnp::ELEMENTS, Event::ONROAD_EVENTS);
return ::capnp::_::PointerHelpers< ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>>::init(_builder.getPointerField(
::capnp::bounded<0>() * ::capnp::POINTERS), size);
}
-inline void Event::Builder::adoptCarEvents(
+inline void Event::Builder::adoptOnroadEvents(
::capnp::Orphan< ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>>&& value) {
_builder.setDataField(
- ::capnp::bounded<4>() * ::capnp::ELEMENTS, Event::CAR_EVENTS);
+ ::capnp::bounded<4>() * ::capnp::ELEMENTS, Event::ONROAD_EVENTS);
::capnp::_::PointerHelpers< ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>>::adopt(_builder.getPointerField(
::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
}
-inline ::capnp::Orphan< ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>> Event::Builder::disownCarEvents() {
- KJ_IREQUIRE((which() == Event::CAR_EVENTS),
+inline ::capnp::Orphan< ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>> Event::Builder::disownOnroadEvents() {
+ KJ_IREQUIRE((which() == Event::ONROAD_EVENTS),
"Must check which() before get()ing a union member.");
return ::capnp::_::PointerHelpers< ::capnp::List< ::cereal::CarEvent, ::capnp::Kind::STRUCT>>::disown(_builder.getPointerField(
::capnp::bounded<0>() * ::capnp::POINTERS));
diff --git a/cereal/libcereal_shared.so b/cereal/libcereal_shared.so
index d26728322..0f09c2c42 100755
Binary files a/cereal/libcereal_shared.so and b/cereal/libcereal_shared.so differ
diff --git a/cereal/log.capnp b/cereal/log.capnp
index c96e19746..6e314950e 100644
--- a/cereal/log.capnp
+++ b/cereal/log.capnp
@@ -166,6 +166,7 @@ struct FrameData {
unknown @0;
ar0231 @1;
ox03c10 @2;
+ os04c10 @3;
}
frameLengthDEPRECATED @3 :Int32;
@@ -408,7 +409,6 @@ struct DeviceState @0xa4d8b5af2aa492eb {
struct PandaState @0xa7649e2575e4591e {
ignitionLine @2 :Bool;
- gasInterceptorDetected @4 :Bool;
rxBufferOverflow @7 :UInt32;
txBufferOverflow @8 :UInt32;
gmlanSendErrs @9 :UInt32;
@@ -541,6 +541,7 @@ struct PandaState @0xa7649e2575e4591e {
}
}
+ gasInterceptorDetectedDEPRECATED @4 :Bool;
startedSignalDetectedDEPRECATED @5 :Bool;
hasGpsDEPRECATED @6 :Bool;
fanSpeedRpmDEPRECATED @11 :UInt16;
@@ -2226,7 +2227,7 @@ struct Event {
liveTorqueParameters @94 :LiveTorqueParametersData;
cameraOdometry @63 :CameraOdometry;
thumbnail @66: Thumbnail;
- carEvents @68: List(Car.CarEvent);
+ onroadEvents @68: List(Car.CarEvent);
carParams @69: Car.CarParams;
driverMonitoringState @71: DriverMonitoringState;
liveLocationKalman @72 :LiveLocationKalman;
diff --git a/cereal/messaging/__init__.py b/cereal/messaging/__init__.py
index 57675212f..6a4740366 100644
--- a/cereal/messaging/__init__.py
+++ b/cereal/messaging/__init__.py
@@ -41,10 +41,13 @@ def log_from_bytes(dat: bytes) -> capnp.lib.capnp._DynamicStructReader:
return msg
-def new_message(service: Optional[str] = None, size: Optional[int] = None) -> capnp.lib.capnp._DynamicStructBuilder:
- dat = log.Event.new_message()
- dat.logMonoTime = int(time.monotonic() * 1e9)
- dat.valid = True
+def new_message(service: Optional[str], size: Optional[int] = None, **kwargs) -> capnp.lib.capnp._DynamicStructBuilder:
+ args = {
+ 'valid': False,
+ 'logMonoTime': int(time.monotonic() * 1e9),
+ **kwargs
+ }
+ dat = log.Event.new_message(**args)
if service is not None:
if size is None:
dat.init(service)
@@ -154,7 +157,7 @@ def recv_one_retry(sock: SubSocket) -> capnp.lib.capnp._DynamicStructReader:
class SubMaster:
def __init__(self, services: List[str], poll: Optional[List[str]] = None,
ignore_alive: Optional[List[str]] = None, ignore_avg_freq: Optional[List[str]] = None,
- addr: str = "127.0.0.1"):
+ ignore_valid: Optional[List[str]] = None, addr: str = "127.0.0.1"):
self.frame = -1
self.updated = {s: False for s in services}
self.rcv_time = {s: 0. for s in services}
@@ -174,6 +177,7 @@ class SubMaster:
self.ignore_average_freq = [] if ignore_avg_freq is None else ignore_avg_freq
self.ignore_alive = [] if ignore_alive is None else ignore_alive
+ self.ignore_valid = [] if ignore_valid is None else ignore_valid
self.simulation = bool(int(os.getenv("SIMULATION", "0")))
for s in services:
@@ -187,9 +191,10 @@ class SubMaster:
except capnp.lib.capnp.KjException: # pylint: disable=c-extension-no-member
data = new_message(s, 0) # lists
- self.data[s] = getattr(data, s)
+ self.data[s] = getattr(data.as_reader(), s)
self.logMonoTime[s] = 0
- self.valid[s] = data.valid
+ # TODO: this should default to False
+ self.valid[s] = True
def __getitem__(self, s: str) -> capnp.lib.capnp._DynamicStructReader:
return self.data[s]
@@ -266,7 +271,7 @@ class SubMaster:
def all_valid(self, service_list=None) -> bool:
if service_list is None: # check all
service_list = self.valid.keys()
- return all(self.valid[s] for s in service_list)
+ return all(self.valid[s] for s in service_list if s not in self.ignore_valid)
def all_checks(self, service_list=None) -> bool:
if service_list is None: # check all
diff --git a/cereal/messaging/bridge b/cereal/messaging/bridge
index 17af58120..6eb86d688 100755
Binary files a/cereal/messaging/bridge and b/cereal/messaging/bridge differ
diff --git a/cereal/messaging/messaging_pyx.cpp b/cereal/messaging/messaging_pyx.cpp
index 6b1227feb..bd377040e 100644
--- a/cereal/messaging/messaging_pyx.cpp
+++ b/cereal/messaging/messaging_pyx.cpp
@@ -1,4 +1,4 @@
-/* Generated by Cython 3.0.0 */
+/* Generated by Cython 3.0.5 */
/* BEGIN: Cython Metadata
{
@@ -36,10 +36,15 @@ END: Cython Metadata */
#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
#error Cython requires Python 2.7+ or Python 3.3+.
#else
-#define CYTHON_ABI "3_0_0"
+#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API
+#define __PYX_EXTRA_ABI_MODULE_NAME "limited"
+#else
+#define __PYX_EXTRA_ABI_MODULE_NAME ""
+#endif
+#define CYTHON_ABI "3_0_5" __PYX_EXTRA_ABI_MODULE_NAME
#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
-#define CYTHON_HEX_VERSION 0x030000F0
+#define CYTHON_HEX_VERSION 0x030005F0
#define CYTHON_FUTURE_DIVISION 1
#include
#ifndef offsetof
@@ -72,6 +77,7 @@ END: Cython Metadata */
#ifndef Py_HUGE_VAL
#define Py_HUGE_VAL HUGE_VAL
#endif
+#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
#if defined(GRAALVM_PYTHON)
/* For very preliminary testing purposes. Most variables are set the same as PyPy.
The existence of this section does not imply that anything works or is even tested */
@@ -138,8 +144,9 @@ END: Cython Metadata */
#define CYTHON_COMPILING_IN_NOGIL 0
#undef CYTHON_USE_TYPE_SLOTS
#define CYTHON_USE_TYPE_SLOTS 0
- #undef CYTHON_USE_TYPE_SPECS
- #define CYTHON_USE_TYPE_SPECS 0
+ #ifndef CYTHON_USE_TYPE_SPECS
+ #define CYTHON_USE_TYPE_SPECS 0
+ #endif
#undef CYTHON_USE_PYTYPE_LOOKUP
#define CYTHON_USE_PYTYPE_LOOKUP 0
#if PY_VERSION_HEX < 0x03050000
@@ -191,6 +198,10 @@ END: Cython Metadata */
#define CYTHON_UPDATE_DESCRIPTOR_DOC 0
#endif
#elif defined(CYTHON_LIMITED_API)
+ #ifdef Py_LIMITED_API
+ #undef __PYX_LIMITED_VERSION_HEX
+ #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
+ #endif
#define CYTHON_COMPILING_IN_PYPY 0
#define CYTHON_COMPILING_IN_CPYTHON 0
#define CYTHON_COMPILING_IN_LIMITED_API 1
@@ -238,7 +249,7 @@ END: Cython Metadata */
#undef CYTHON_USE_MODULE_STATE
#define CYTHON_USE_MODULE_STATE 1
#ifndef CYTHON_USE_TP_FINALIZE
- #define CYTHON_USE_TP_FINALIZE 1
+ #define CYTHON_USE_TP_FINALIZE 0
#endif
#undef CYTHON_USE_DICT_VERSIONS
#define CYTHON_USE_DICT_VERSIONS 0
@@ -460,6 +471,14 @@ END: Cython Metadata */
# define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
+#ifndef CYTHON_USE_CPP_STD_MOVE
+ #if defined(__cplusplus) && (\
+ __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
+ #define CYTHON_USE_CPP_STD_MOVE 1
+ #else
+ #define CYTHON_USE_CPP_STD_MOVE 0
+ #endif
+#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#ifdef _MSC_VER
#ifndef _MSC_STDINT_H_
@@ -575,59 +594,91 @@ class __Pyx_FakeReference {
#else
#define __Pyx_BUILTIN_MODULE_NAME "builtins"
#define __Pyx_DefaultClassType PyType_Type
-#if PY_VERSION_HEX >= 0x030B00A1
- static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
+#if CYTHON_COMPILING_IN_LIMITED_API
+ static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
PyObject *code, PyObject *c, PyObject* n, PyObject *v,
PyObject *fv, PyObject *cell, PyObject* fn,
PyObject *name, int fline, PyObject *lnos) {
- PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
- PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *empty=NULL;
- const char *fn_cstr=NULL;
- const char *name_cstr=NULL;
- PyCodeObject *co=NULL, *result=NULL;
+ PyObject *exception_table = NULL;
+ PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
+ #if __PYX_LIMITED_VERSION_HEX < 0x030B0000
+ PyObject *version_info; // borrowed
+ #endif
+ PyObject *py_minor_version = NULL;
+ long minor_version = 0;
PyObject *type, *value, *traceback;
PyErr_Fetch(&type, &value, &traceback);
- if (!(kwds=PyDict_New())) goto end;
- if (!(argcount=PyLong_FromLong(a))) goto end;
- if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
- if (!(posonlyargcount=PyLong_FromLong(p))) goto end;
- if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end;
- if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
- if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end;
- if (!(nlocals=PyLong_FromLong(l))) goto end;
- if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
- if (!(stacksize=PyLong_FromLong(s))) goto end;
- if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end;
- if (!(flags=PyLong_FromLong(f))) goto end;
- if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
- if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
- if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
- if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
- if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto end;
- if (!(empty = PyTuple_New(0))) goto end;
- result = (PyCodeObject*) PyObject_Call(replace, empty, kwds);
+ #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000
+ minor_version = 11; // we don't yet need to distinguish between versions > 11
+ #else
+ if (!(version_info = PySys_GetObject("version_info"))) goto end;
+ if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
+ minor_version = PyLong_AsLong(py_minor_version);
+ if (minor_version == -1 && PyErr_Occurred()) goto end;
+ #endif
+ if (!(types_module = PyImport_ImportModule("types"))) goto end;
+ if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
+ if (minor_version <= 7) {
+ (void)p;
+ result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code,
+ c, n, v, fn, name, fline, lnos, fv, cell);
+ } else if (minor_version <= 10) {
+ result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code,
+ c, n, v, fn, name, fline, lnos, fv, cell);
+ } else {
+ if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
+ result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code,
+ c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
+ }
end:
- Py_XDECREF((PyObject*) co);
- Py_XDECREF(kwds);
- Py_XDECREF(argcount);
- Py_XDECREF(posonlyargcount);
- Py_XDECREF(kwonlyargcount);
- Py_XDECREF(nlocals);
- Py_XDECREF(stacksize);
- Py_XDECREF(replace);
- Py_XDECREF(empty);
+ Py_XDECREF(code_type);
+ Py_XDECREF(exception_table);
+ Py_XDECREF(types_module);
+ Py_XDECREF(py_minor_version);
if (type) {
PyErr_Restore(type, value, traceback);
}
return result;
}
+ #ifndef CO_OPTIMIZED
+ #define CO_OPTIMIZED 0x0001
+ #endif
+ #ifndef CO_NEWLOCALS
+ #define CO_NEWLOCALS 0x0002
+ #endif
+ #ifndef CO_VARARGS
+ #define CO_VARARGS 0x0004
+ #endif
+ #ifndef CO_VARKEYWORDS
+ #define CO_VARKEYWORDS 0x0008
+ #endif
+ #ifndef CO_ASYNC_GENERATOR
+ #define CO_ASYNC_GENERATOR 0x0200
+ #endif
+ #ifndef CO_GENERATOR
+ #define CO_GENERATOR 0x0020
+ #endif
+ #ifndef CO_COROUTINE
+ #define CO_COROUTINE 0x0080
+ #endif
+#elif PY_VERSION_HEX >= 0x030B0000
+ static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
+ PyObject *code, PyObject *c, PyObject* n, PyObject *v,
+ PyObject *fv, PyObject *cell, PyObject* fn,
+ PyObject *name, int fline, PyObject *lnos) {
+ PyCodeObject *result;
+ PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0); // we don't have access to __pyx_empty_bytes here
+ if (!empty_bytes) return NULL;
+ result =
+ #if PY_VERSION_HEX >= 0x030C0000
+ PyUnstable_Code_NewWithPosOnlyArgs
+ #else
+ PyCode_NewWithPosOnlyArgs
+ #endif
+ (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes);
+ Py_DECREF(empty_bytes);
+ return result;
+ }
#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
#define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
@@ -727,7 +778,32 @@ class __Pyx_FakeReference {
#define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0
#define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n))
#endif
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_MAJOR_VERSION >= 0x030900B1
+#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func)
+#else
+#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func)
+#endif
+#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func)
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth)
+#elif !CYTHON_COMPILING_IN_LIMITED_API
+#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func)
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags)
+static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
+ return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
+}
+#endif
+static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
+#else
+ return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
+#endif
+}
+#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc)
+#if __PYX_LIMITED_VERSION_HEX < 0x030900B1
#define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b))
typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
#else
@@ -753,6 +829,8 @@ class __Pyx_FakeReference {
#define __Pyx_PyThreadState_Current PyThreadState_Get()
#elif !CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_Current PyThreadState_GET()
+#elif PY_VERSION_HEX >= 0x030d00A1
+ #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
#elif PY_VERSION_HEX >= 0x03060000
#define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#elif PY_VERSION_HEX >= 0x03000000
@@ -828,7 +906,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
}
#endif
#endif
-#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n) PyDict_New()
@@ -840,7 +918,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
#define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
#endif
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && CYTHON_USE_UNICODE_INTERNALS
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
@@ -877,6 +955,11 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
#define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature)
#define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next
#endif
+#if CYTHON_COMPILING_IN_LIMITED_API
+ #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v)
+#else
+ #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v)
+#endif
#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000
#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\
PyTypeObject *type = Py_TYPE(obj);\
@@ -1003,9 +1086,34 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
#define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
+ #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
#define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
+ #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
+ #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
+ #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
+ #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
+ #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
+ #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
+ #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
#else
+ #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
#define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
+ #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
+ #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
+ #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
+ #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
+ #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
+ #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
+ #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
+#endif
+#if PY_VERSION_HEX >= 0x030d00A1
+ #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
+#else
+ static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
+ PyObject *module = PyImport_AddModule(name);
+ Py_XINCREF(module);
+ return module;
+ }
#endif
#if PY_MAJOR_VERSION >= 3
#define PyIntObject PyLongObject
@@ -1163,9 +1271,10 @@ static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
#else
#define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
+static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
-#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
+static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
@@ -1281,6 +1390,7 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
#endif
#endif
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+#include
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
PyObject* sys;
@@ -1331,6 +1441,7 @@ bad:
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+#include
static char* __PYX_DEFAULT_STRING_ENCODING;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
PyObject* sys;
@@ -1381,6 +1492,11 @@ static const char *__pyx_f[] = {
"",
};
/* #### Code section: utility_code_proto_before_types ### */
+/* ForceInitThreads.proto */
+#ifndef __PYX_FORCE_INIT_THREADS
+ #define __PYX_FORCE_INIT_THREADS 0
+#endif
+
/* NoFastGil.proto */
#define __Pyx_PyGILState_Ensure PyGILState_Ensure
#define __Pyx_PyGILState_Release PyGILState_Release
@@ -1388,11 +1504,6 @@ static const char *__pyx_f[] = {
#define __Pyx_FastGIL_Forget()
#define __Pyx_FastGilFuncInit()
-/* ForceInitThreads.proto */
-#ifndef __PYX_FORCE_INIT_THREADS
- #define __PYX_FORCE_INIT_THREADS 0
-#endif
-
/* #### Code section: numeric_typedefs ### */
/* #### Code section: complex_type_declarations ### */
/* #### Code section: type_declarations ### */
@@ -1676,7 +1787,20 @@ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int eq
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
/* fastcall.proto */
-#define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
+#if CYTHON_AVOID_BORROWED_REFS
+ #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i)
+#elif CYTHON_ASSUME_SAFE_MACROS
+ #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
+#else
+ #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i)
+#endif
+#if CYTHON_AVOID_BORROWED_REFS
+ #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg)
+ #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg)
+#else
+ #define __Pyx_Arg_NewRef_VARARGS(arg) arg // no-op
+ #define __Pyx_Arg_XDECREF_VARARGS(arg) // no-op - arg is borrowed
+#endif
#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
#define __Pyx_KwValues_VARARGS(args, nargs) NULL
#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s)
@@ -1686,15 +1810,23 @@ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int
#define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds)
#define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s);
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
+ static CYTHON_UNUSED PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
+ #else
#define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
+ #endif
+ #define __Pyx_Arg_NewRef_FASTCALL(arg) arg // no-op, __Pyx_Arg_FASTCALL is direct and this needs
+ #define __Pyx_Arg_XDECREF_FASTCALL(arg) // no-op - arg was returned from array
#else
#define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS
#define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
#define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS
#define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS
#define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS
+ #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg)
+ #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg)
#endif
-#if CYTHON_COMPILING_IN_CPYTHON
+#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start)
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start)
#else
@@ -1730,7 +1862,7 @@ static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args,
#if !CYTHON_VECTORCALL
#if PY_VERSION_HEX >= 0x03080000
#include "frameobject.h"
-#if PY_VERSION_HEX >= 0x030b00a6
+#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
#ifndef Py_BUILD_CORE
#define Py_BUILD_CORE 1
#endif
@@ -1816,7 +1948,7 @@ static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_co
Py_UCS4 max_char);
/* MoveIfSupported.proto */
-#if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)
+#if CYTHON_USE_CPP_STD_MOVE
#include
#define __PYX_STD_MOVE_IF_SUPPORTED(x) std::move(x)
#else
@@ -1845,7 +1977,11 @@ static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
Py_ssize_t len = Py_SIZE(list);
if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
Py_INCREF(x);
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
+ L->ob_item[len] = x;
+ #else
PyList_SET_ITEM(list, len, x);
+ #endif
__Pyx_SET_SIZE(list, len + 1);
return 0;
}
@@ -1983,7 +2119,22 @@ static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec
#endif
/* PyMethodNew.proto */
-#if PY_MAJOR_VERSION >= 3
+#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
+ PyObject *typesModule=NULL, *methodType=NULL, *result=NULL;
+ CYTHON_UNUSED_VAR(typ);
+ if (!self)
+ return __Pyx_NewRef(func);
+ typesModule = PyImport_ImportModule("types");
+ if (!typesModule) return NULL;
+ methodType = PyObject_GetAttrString(typesModule, "MethodType");
+ Py_DECREF(typesModule);
+ if (!methodType) return NULL;
+ result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL);
+ Py_DECREF(methodType);
+ return result;
+}
+#elif PY_MAJOR_VERSION >= 3
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
CYTHON_UNUSED_VAR(typ);
if (!self)
@@ -2007,7 +2158,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, _
#define __Pyx_CYFUNCTION_COROUTINE 0x08
#define __Pyx_CyFunction_GetClosure(f)\
(((__pyx_CyFunctionObject *) (f))->func_closure)
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_GetClassObj(f)\
(((__pyx_CyFunctionObject *) (f))->func_classobj)
#else
@@ -2021,7 +2172,10 @@ static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, _
#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
typedef struct {
-#if PY_VERSION_HEX < 0x030900B1
+#if CYTHON_COMPILING_IN_LIMITED_API
+ PyObject_HEAD
+ PyObject *func;
+#elif PY_VERSION_HEX < 0x030900B1
PyCFunctionObject func;
#else
PyCMethodObject func;
@@ -2029,7 +2183,7 @@ typedef struct {
#if CYTHON_BACKPORT_VECTORCALL
__pyx_vectorcallfunc func_vectorcall;
#endif
-#if PY_VERSION_HEX < 0x030500A0
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
PyObject *func_weakreflist;
#endif
PyObject *func_dict;
@@ -2039,7 +2193,7 @@ typedef struct {
PyObject *func_globals;
PyObject *func_code;
PyObject *func_closure;
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
PyObject *func_classobj;
#endif
void *defaults;
@@ -2052,9 +2206,13 @@ typedef struct {
PyObject *func_annotations;
PyObject *func_is_coroutine;
} __pyx_CyFunctionObject;
+#undef __Pyx_CyOrPyCFunction_Check
#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType)
-#define __Pyx_IsCyOrPyCFunction(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
+#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
#define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType)
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc);
+#undef __Pyx_IsSameCFunction
+#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc)
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
int flags, PyObject* qualname,
PyObject *closure,
@@ -2091,7 +2249,7 @@ static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
PyObject* code);
/* SetNameInClass.proto */
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
#define __Pyx_SetNameInClass(ns, name, value)\
(likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
#elif CYTHON_COMPILING_IN_CPYTHON
@@ -2247,7 +2405,8 @@ static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObj
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
/* CheckBinaryVersion.proto */
-static int __Pyx_check_binary_version(void);
+static unsigned long __Pyx_get_runtime_version(void);
+static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);
/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
@@ -3411,13 +3570,11 @@ static std::string __pyx_convert_string_from_py_std__in_string(PyObject *__pyx_v
Py_ssize_t __pyx_v_length;
char const *__pyx_v_data;
std::string __pyx_r;
- __Pyx_RefNannyDeclarations
char const *__pyx_t_1;
std::string __pyx_t_2;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_string_from_py_std__in_string", 0);
/* "string.from_py":14
* @cname("__pyx_convert_string_from_py_std__in_string")
@@ -3467,7 +3624,6 @@ static std::string __pyx_convert_string_from_py_std__in_string(PyObject *__pyx_v
__Pyx_AddTraceback("string.from_py.__pyx_convert_string_from_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_pretend_to_initialize(&__pyx_r);
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -3486,7 +3642,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_std__in_strin
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyObject_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyObject_string_to_py_std__in_string", 1);
/* "string.to_py":32
* @cname("__pyx_convert_PyObject_string_to_py_std__in_string")
@@ -3536,7 +3692,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_std__in_stri
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyUnicode_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyUnicode_string_to_py_std__in_string", 1);
/* "string.to_py":38
* @cname("__pyx_convert_PyUnicode_string_to_py_std__in_string")
@@ -3586,7 +3742,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_std__in_string(s
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyStr_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyStr_string_to_py_std__in_string", 1);
/* "string.to_py":44
* @cname("__pyx_convert_PyStr_string_to_py_std__in_string")
@@ -3636,7 +3792,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyBytes_string_to_py_std__in_string
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyBytes_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyBytes_string_to_py_std__in_string", 1);
/* "string.to_py":50
* @cname("__pyx_convert_PyBytes_string_to_py_std__in_string")
@@ -3686,7 +3842,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_std__in_st
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyByteArray_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyByteArray_string_to_py_std__in_string", 1);
/* "string.to_py":56
* @cname("__pyx_convert_PyByteArray_string_to_py_std__in_string")
@@ -3747,19 +3903,27 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_endpoint = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[2] = {0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_endpoint,0};
- PyObject* values[2] = {0,0};
- values[1] = ((PyObject *)((PyObject *)Py_None));
+ values[1] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)Py_None));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -3773,14 +3937,17 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_endpoint);
- if (value) { values[1] = value; kw_args--; }
+ if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22, __pyx_L3_error)
}
}
@@ -3800,10 +3967,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_self = values[0];
__pyx_v_endpoint = values[1];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 22, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.MessagingError.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -3811,6 +3986,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_14MessagingError___init__(__pyx_self, __pyx_v_self, __pyx_v_endpoint);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -3829,10 +4010,11 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_14MessagingError___
Py_ssize_t __pyx_t_7;
Py_UCS4 __pyx_t_8;
char *__pyx_t_9;
+ Py_ssize_t __pyx_t_10;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__init__", 0);
+ __Pyx_RefNannySetupContext("__init__", 1);
/* "cereal/messaging/messaging_pyx.pyx":23
* class MessagingError(Exception):
@@ -3847,7 +4029,8 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_14MessagingError___
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
__pyx_t_6 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
@@ -3857,6 +4040,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_14MessagingError___
__pyx_t_6 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_kp_u_utf_8};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
@@ -3907,7 +4091,8 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_14MessagingError___
__Pyx_GIVEREF(__pyx_kp_u__2);
PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u__2);
__pyx_t_9 = strerror(errno);
- __pyx_t_3 = __Pyx_decode_c_string(__pyx_t_9, 0, strlen(__pyx_t_9), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_ssize_strlen(__pyx_t_9); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 24, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_decode_c_string(__pyx_t_9, 0, __pyx_t_10, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_t_3);
__pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_8;
@@ -3934,10 +4119,10 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_14MessagingError___
__pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1)) __PYX_ERR(0, 25, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_self);
__Pyx_GIVEREF(__pyx_v_self);
- PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_self);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_self)) __PYX_ERR(0, 25, __pyx_L1_error);
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -3947,7 +4132,8 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_14MessagingError___
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
__pyx_t_6 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
@@ -3957,6 +4143,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_14MessagingError___
__pyx_t_6 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_message};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
@@ -4019,18 +4206,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
bool __pyx_v_enabled;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("toggle_fake_events (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_enabled,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -4042,7 +4237,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_enabled)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_enabled)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 32, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -4057,10 +4255,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_enabled = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_enabled == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 32, __pyx_L3_error)
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("toggle_fake_events", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 32, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.toggle_fake_events", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -4068,6 +4274,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_toggle_fake_events(__pyx_self, __pyx_v_enabled);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4075,7 +4287,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_toggle_fake_events(CYTHON_UNUSED PyObject *__pyx_self, bool __pyx_v_enabled) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("toggle_fake_events", 0);
+ __Pyx_RefNannySetupContext("toggle_fake_events", 1);
/* "cereal/messaging/messaging_pyx.pyx":33
*
@@ -4127,18 +4339,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
std::string __pyx_v_prefix;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_fake_prefix (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_prefix,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -4150,7 +4370,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_prefix)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_prefix)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 36, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -4165,10 +4388,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_prefix = __pyx_convert_string_from_py_std__in_string(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 36, __pyx_L3_error)
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("set_fake_prefix", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 36, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.set_fake_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -4176,6 +4407,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_2set_fake_prefix(__pyx_self, __PYX_STD_MOVE_IF_SUPPORTED(__pyx_v_prefix));
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4183,7 +4420,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_2set_fake_prefix(CYTHON_UNUSED PyObject *__pyx_self, std::string __pyx_v_prefix) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("set_fake_prefix", 0);
+ __Pyx_RefNannySetupContext("set_fake_prefix", 1);
/* "cereal/messaging/messaging_pyx.pyx":37
*
@@ -4221,10 +4458,11 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_2set_fake_prefix(CY
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_5get_fake_prefix(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6cereal_9messaging_13messaging_pyx_5get_fake_prefix = {"get_fake_prefix", (PyCFunction)__pyx_pw_6cereal_9messaging_13messaging_pyx_5get_fake_prefix, METH_NOARGS, 0};
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_5get_fake_prefix(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_fake_prefix (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_4get_fake_prefix(__pyx_self);
/* function exit code */
@@ -4239,7 +4477,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_4get_fake_prefix(CY
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("get_fake_prefix", 0);
+ __Pyx_RefNannySetupContext("get_fake_prefix", 1);
/* "cereal/messaging/messaging_pyx.pyx":41
*
@@ -4286,10 +4524,11 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_4get_fake_prefix(CY
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_7delete_fake_prefix(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6cereal_9messaging_13messaging_pyx_7delete_fake_prefix = {"delete_fake_prefix", (PyCFunction)__pyx_pw_6cereal_9messaging_13messaging_pyx_7delete_fake_prefix, METH_NOARGS, 0};
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_7delete_fake_prefix(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("delete_fake_prefix (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_6delete_fake_prefix(__pyx_self);
/* function exit code */
@@ -4304,7 +4543,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_6delete_fake_prefix
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("delete_fake_prefix", 0);
+ __Pyx_RefNannySetupContext("delete_fake_prefix", 1);
/* "cereal/messaging/messaging_pyx.pyx":45
*
@@ -4363,18 +4602,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
PyObject *__pyx_v_events = 0;
int __pyx_v_timeout;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[2] = {0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("wait_for_one_event (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_events,&__pyx_n_s_timeout,0};
- PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -4388,14 +4635,17 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_events)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_events)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_timeout);
- if (value) { values[1] = value; kw_args--; }
+ if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L3_error)
}
}
@@ -4419,10 +4669,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_timeout = ((int)((int)-1));
}
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("wait_for_one_event", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 48, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.wait_for_one_event", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -4435,6 +4693,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4452,7 +4716,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_8wait_for_one_event
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wait_for_one_event", 0);
+ __Pyx_RefNannySetupContext("wait_for_one_event", 1);
/* "cereal/messaging/messaging_pyx.pyx":50
* def wait_for_one_event(list events, int timeout=-1):
@@ -4465,13 +4729,20 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_8wait_for_one_event
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
__PYX_ERR(0, 50, __pyx_L1_error)
}
- __pyx_t_1 = __pyx_v_events; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+ __pyx_t_1 = __pyx_v_events; __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_2 = 0;
for (;;) {
- if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 50, __pyx_L1_error)
+ #endif
+ if (__pyx_t_2 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 50, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
__Pyx_XDECREF_SET(__pyx_v_event, __pyx_t_3);
@@ -4557,11 +4828,17 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_8wait_for_one_event
/* Python wrapper */
static int __pyx_pw_6cereal_9messaging_13messaging_pyx_5Event_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_6cereal_9messaging_13messaging_pyx_5Event_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
@@ -4574,12 +4851,9 @@ static int __pyx_pw_6cereal_9messaging_13messaging_pyx_5Event_1__cinit__(PyObjec
static int __pyx_pf_6cereal_9messaging_13messaging_pyx_5Event___cinit__(CYTHON_UNUSED struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Event *__pyx_v_self) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__cinit__", 0);
/* function exit code */
__pyx_r = 0;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4594,7 +4868,7 @@ static int __pyx_pf_6cereal_9messaging_13messaging_pyx_5Event___cinit__(CYTHON_U
static PyObject *__pyx_f_6cereal_9messaging_13messaging_pyx_5Event_setEvent(struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Event *__pyx_v_self, Event __pyx_v_event) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("setEvent", 0);
+ __Pyx_RefNannySetupContext("setEvent", 1);
/* "cereal/messaging/messaging_pyx.pyx":62
*
@@ -4645,12 +4919,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("set", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "set", 0))) return NULL;
@@ -4664,7 +4946,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_2set(struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Event *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("set", 0);
+ __Pyx_RefNannySetupContext("set", 1);
/* "cereal/messaging/messaging_pyx.pyx":65
*
@@ -4715,12 +4997,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clear (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("clear", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "clear", 0))) return NULL;
@@ -4738,7 +5028,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_4clear(struc
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("clear", 0);
+ __Pyx_RefNannySetupContext("clear", 1);
/* "cereal/messaging/messaging_pyx.pyx":68
*
@@ -4799,18 +5089,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
int __pyx_v_timeout;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("wait (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_timeout,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -4824,7 +5122,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
case 0:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_timeout);
- if (value) { values[0] = value; kw_args--; }
+ if (value) { values[0] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 70, __pyx_L3_error)
}
}
@@ -4846,10 +5144,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_timeout = ((int)-1);
}
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("wait", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 70, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.Event.wait", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -4857,6 +5163,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_6wait(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Event *)__pyx_v_self), __pyx_v_timeout);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4867,7 +5179,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_6wait(struct
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wait", 0);
+ __Pyx_RefNannySetupContext("wait", 1);
/* "cereal/messaging/messaging_pyx.pyx":71
*
@@ -4928,12 +5240,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("peek (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("peek", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "peek", 0))) return NULL;
@@ -4951,7 +5271,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_8peek(struct
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("peek", 0);
+ __Pyx_RefNannySetupContext("peek", 1);
/* "cereal/messaging/messaging_pyx.pyx":74
*
@@ -4997,10 +5317,11 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_8peek(struct
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_5Event_2fd_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_5Event_2fd_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_2fd___get__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Event *)__pyx_v_self));
/* function exit code */
@@ -5015,7 +5336,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_2fd___get__(
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/messaging/messaging_pyx.pyx":78
* @property
@@ -5061,10 +5382,11 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_2fd___get__(
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_5Event_3ptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_5Event_3ptr_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_3ptr___get__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Event *)__pyx_v_self));
/* function exit code */
@@ -5079,7 +5401,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_3ptr___get__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/messaging/messaging_pyx.pyx":82
* @property
@@ -5137,12 +5459,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -5159,7 +5489,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_10__reduce_c
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -5210,18 +5540,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -5233,7 +5571,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -5248,10 +5589,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.Event.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -5259,6 +5608,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_12__setstate_cython__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Event *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5269,7 +5624,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_5Event_12__setstate
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -5309,17 +5664,23 @@ static int __pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_1__ci
std::string __pyx_v_endpoint;
std::string __pyx_v_identifier;
bool __pyx_v_override;
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[3] = {0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_endpoint,&__pyx_n_s_identifier,&__pyx_n_s_override,0};
- PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -5335,19 +5696,28 @@ static int __pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_1__ci
kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_endpoint)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_endpoint)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_identifier)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_identifier)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(0, 88, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
- if (likely((values[2] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_override)) != 0)) kw_args--;
+ if (likely((values[2] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_override)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[2]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(0, 88, __pyx_L3_error)
@@ -5368,10 +5738,18 @@ static int __pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_1__ci
__pyx_v_identifier = __pyx_convert_string_from_py_std__in_string(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
__pyx_v_override = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_override == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 88, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.SocketEventHandle.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
@@ -5379,14 +5757,18 @@ static int __pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_1__ci
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle___cinit__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SocketEventHandle *)__pyx_v_self), __PYX_STD_MOVE_IF_SUPPORTED(__pyx_v_endpoint), __PYX_STD_MOVE_IF_SUPPORTED(__pyx_v_identifier), __pyx_v_override);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle___cinit__(struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SocketEventHandle *__pyx_v_self, std::string __pyx_v_endpoint, std::string __pyx_v_identifier, bool __pyx_v_override) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__cinit__", 0);
/* "cereal/messaging/messaging_pyx.pyx":89
*
@@ -5407,7 +5789,6 @@ static int __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle___cin
/* function exit code */
__pyx_r = 0;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5422,9 +5803,10 @@ static int __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle___cin
/* Python wrapper */
static void __pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_3__dealloc__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_2__dealloc__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SocketEventHandle *)__pyx_v_self));
/* function exit code */
@@ -5432,8 +5814,6 @@ static void __pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_3__d
}
static void __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_2__dealloc__(struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SocketEventHandle *__pyx_v_self) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__dealloc__", 0);
/* "cereal/messaging/messaging_pyx.pyx":92
*
@@ -5453,7 +5833,6 @@ static void __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_2__d
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
/* "cereal/messaging/messaging_pyx.pyx":94
@@ -5467,10 +5846,11 @@ static void __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_2__d
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_7enabled_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_7enabled_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_7enabled___get__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SocketEventHandle *)__pyx_v_self));
/* function exit code */
@@ -5485,7 +5865,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/messaging/messaging_pyx.pyx":96
* @property
@@ -5532,13 +5912,14 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle
static int __pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_7enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_7enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
bool __pyx_v_value;
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
assert(__pyx_arg_value); {
__pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 99, __pyx_L3_error)
}
@@ -5557,8 +5938,6 @@ static int __pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_7enab
static int __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_7enabled_2__set__(struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SocketEventHandle *__pyx_v_self, bool __pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__", 0);
/* "cereal/messaging/messaging_pyx.pyx":100
* @enabled.setter
@@ -5579,7 +5958,6 @@ static int __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_7enab
/* function exit code */
__pyx_r = 0;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5594,10 +5972,11 @@ static int __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_7enab
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_17recv_called_event_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_17recv_called_event_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_17recv_called_event___get__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SocketEventHandle *)__pyx_v_self));
/* function exit code */
@@ -5613,7 +5992,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/messaging/messaging_pyx.pyx":104
* @property
@@ -5681,10 +6060,11 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_16recv_ready_event_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_16recv_ready_event_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_16recv_ready_event___get__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SocketEventHandle *)__pyx_v_self));
/* function exit code */
@@ -5700,7 +6080,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/messaging/messaging_pyx.pyx":111
* @property
@@ -5780,12 +6160,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -5802,7 +6190,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -5853,18 +6241,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -5876,7 +6272,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -5891,10 +6290,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.SocketEventHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -5902,6 +6309,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_6__setstate_cython__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SocketEventHandle *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5912,7 +6325,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -5949,11 +6362,17 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_17SocketEventHandle
/* Python wrapper */
static int __pyx_pw_6cereal_9messaging_13messaging_pyx_7Context_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_6cereal_9messaging_13messaging_pyx_7Context_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
@@ -5966,8 +6385,6 @@ static int __pyx_pw_6cereal_9messaging_13messaging_pyx_7Context_1__cinit__(PyObj
static int __pyx_pf_6cereal_9messaging_13messaging_pyx_7Context___cinit__(struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Context *__pyx_v_self) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__cinit__", 0);
/* "cereal/messaging/messaging_pyx.pyx":121
*
@@ -5988,7 +6405,6 @@ static int __pyx_pf_6cereal_9messaging_13messaging_pyx_7Context___cinit__(struct
/* function exit code */
__pyx_r = 0;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6017,12 +6433,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("term (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("term", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "term", 0))) return NULL;
@@ -6036,7 +6460,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_7Context_2term(struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Context *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("term", 0);
+ __Pyx_RefNannySetupContext("term", 1);
/* "cereal/messaging/messaging_pyx.pyx":124
*
@@ -6082,9 +6506,10 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_7Context_2term(stru
/* Python wrapper */
static void __pyx_pw_6cereal_9messaging_13messaging_pyx_7Context_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_6cereal_9messaging_13messaging_pyx_7Context_5__dealloc__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_pf_6cereal_9messaging_13messaging_pyx_7Context_4__dealloc__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Context *)__pyx_v_self));
/* function exit code */
@@ -6092,11 +6517,8 @@ static void __pyx_pw_6cereal_9messaging_13messaging_pyx_7Context_5__dealloc__(Py
}
static void __pyx_pf_6cereal_9messaging_13messaging_pyx_7Context_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Context *__pyx_v_self) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__dealloc__", 0);
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
/* "(tree fragment)":1
@@ -6122,12 +6544,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -6144,7 +6574,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_7Context_6__reduce_
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -6195,18 +6625,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6218,7 +6656,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -6233,10 +6674,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.Context.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6244,6 +6693,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_7Context_8__setstate_cython__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Context *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6254,7 +6709,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_7Context_8__setstat
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -6291,11 +6746,17 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_7Context_8__setstat
/* Python wrapper */
static int __pyx_pw_6cereal_9messaging_13messaging_pyx_6Poller_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_6cereal_9messaging_13messaging_pyx_6Poller_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
@@ -6313,7 +6774,7 @@ static int __pyx_pf_6cereal_9messaging_13messaging_pyx_6Poller___cinit__(struct
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__cinit__", 0);
+ __Pyx_RefNannySetupContext("__cinit__", 1);
/* "cereal/messaging/messaging_pyx.pyx":139
*
@@ -6370,9 +6831,10 @@ static int __pyx_pf_6cereal_9messaging_13messaging_pyx_6Poller___cinit__(struct
/* Python wrapper */
static void __pyx_pw_6cereal_9messaging_13messaging_pyx_6Poller_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_6cereal_9messaging_13messaging_pyx_6Poller_3__dealloc__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_pf_6cereal_9messaging_13messaging_pyx_6Poller_2__dealloc__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Poller *)__pyx_v_self));
/* function exit code */
@@ -6380,8 +6842,6 @@ static void __pyx_pw_6cereal_9messaging_13messaging_pyx_6Poller_3__dealloc__(PyO
}
static void __pyx_pf_6cereal_9messaging_13messaging_pyx_6Poller_2__dealloc__(struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Poller *__pyx_v_self) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__dealloc__", 0);
/* "cereal/messaging/messaging_pyx.pyx":143
*
@@ -6401,7 +6861,6 @@ static void __pyx_pf_6cereal_9messaging_13messaging_pyx_6Poller_2__dealloc__(str
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
/* "cereal/messaging/messaging_pyx.pyx":145
@@ -6430,18 +6889,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SubSocket *__pyx_v_socket = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("registerSocket (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_socket,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6453,7 +6920,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_socket)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_socket)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 145, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -6468,10 +6938,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_socket = ((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SubSocket *)values[0]);
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("registerSocket", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 145, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.Poller.registerSocket", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6484,6 +6962,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6495,7 +6979,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_6Poller_4registerSo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("registerSocket", 0);
+ __Pyx_RefNannySetupContext("registerSocket", 1);
/* "cereal/messaging/messaging_pyx.pyx":146
*
@@ -6565,18 +7049,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_timeout = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("poll (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_timeout,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6588,7 +7080,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_timeout)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_timeout)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 149, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -6603,10 +7098,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_timeout = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("poll", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 149, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.Poller.poll", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6614,6 +7117,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_6Poller_6poll(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Poller *)__pyx_v_self), __pyx_v_timeout);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6634,7 +7143,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_6Poller_6poll(struc
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("poll", 0);
+ __Pyx_RefNannySetupContext("poll", 1);
/* "cereal/messaging/messaging_pyx.pyx":150
*
@@ -6814,12 +7323,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -6836,7 +7353,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_6Poller_8__reduce_c
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -6887,18 +7404,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6910,7 +7435,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -6925,10 +7453,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.Poller.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6936,6 +7472,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_6Poller_10__setstate_cython__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Poller *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6946,7 +7488,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_6Poller_10__setstat
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -6983,11 +7525,17 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_6Poller_10__setstat
/* Python wrapper */
static int __pyx_pw_6cereal_9messaging_13messaging_pyx_9SubSocket_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_6cereal_9messaging_13messaging_pyx_9SubSocket_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
@@ -7006,7 +7554,7 @@ static int __pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket___cinit__(stru
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__cinit__", 0);
+ __Pyx_RefNannySetupContext("__cinit__", 1);
/* "cereal/messaging/messaging_pyx.pyx":169
*
@@ -7089,9 +7637,10 @@ static int __pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket___cinit__(stru
/* Python wrapper */
static void __pyx_pw_6cereal_9messaging_13messaging_pyx_9SubSocket_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_6cereal_9messaging_13messaging_pyx_9SubSocket_3__dealloc__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_2__dealloc__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SubSocket *)__pyx_v_self));
/* function exit code */
@@ -7099,9 +7648,7 @@ static void __pyx_pw_6cereal_9messaging_13messaging_pyx_9SubSocket_3__dealloc__(
}
static void __pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_2__dealloc__(struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SubSocket *__pyx_v_self) {
- __Pyx_RefNannyDeclarations
int __pyx_t_1;
- __Pyx_RefNannySetupContext("__dealloc__", 0);
/* "cereal/messaging/messaging_pyx.pyx":176
*
@@ -7140,7 +7687,6 @@ static void __pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_2__dealloc__(
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
/* "cereal/messaging/messaging_pyx.pyx":179
@@ -7155,7 +7701,7 @@ static PyObject *__pyx_f_6cereal_9messaging_13messaging_pyx_9SubSocket_setPtr(st
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
- __Pyx_RefNannySetupContext("setPtr", 0);
+ __Pyx_RefNannySetupContext("setPtr", 1);
/* "cereal/messaging/messaging_pyx.pyx":180
*
@@ -7247,18 +7793,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
std::string __pyx_v_address;
bool __pyx_v_conflate;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[4] = {0,0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("connect (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,&__pyx_n_s_endpoint,&__pyx_n_s_address,&__pyx_n_s_conflate,0};
- PyObject* values[4] = {0,0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7276,12 +7830,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 186, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_endpoint)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_endpoint)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 186, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("connect", 0, 2, 4, 1); __PYX_ERR(0, 186, __pyx_L3_error)
@@ -7290,14 +7850,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_address);
- if (value) { values[2] = value; kw_args--; }
+ if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 186, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_conflate);
- if (value) { values[3] = value; kw_args--; }
+ if (value) { values[3] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 186, __pyx_L3_error)
}
}
@@ -7330,10 +7890,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_conflate = ((bool)0);
}
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("connect", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 186, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.SubSocket.connect", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7346,6 +7914,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7363,7 +7937,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_4connect
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("connect", 0);
+ __Pyx_RefNannySetupContext("connect", 1);
/* "cereal/messaging/messaging_pyx.pyx":187
*
@@ -7407,7 +7981,8 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_4connect
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
__pyx_t_6 = 0;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
@@ -7417,6 +7992,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_4connect
__pyx_t_6 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
@@ -7453,7 +8029,8 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_4connect
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
__pyx_t_6 = 0;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
@@ -7463,6 +8040,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_4connect
__pyx_t_6 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
@@ -7536,18 +8114,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
int __pyx_v_timeout;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("setTimeout (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_timeout,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7559,7 +8145,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_timeout)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_timeout)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 195, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -7574,10 +8163,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_timeout = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_timeout == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 195, __pyx_L3_error)
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("setTimeout", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 195, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.SubSocket.setTimeout", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7585,6 +8182,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_6setTimeout(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SubSocket *)__pyx_v_self), __pyx_v_timeout);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7592,7 +8195,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_6setTimeout(struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SubSocket *__pyx_v_self, int __pyx_v_timeout) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("setTimeout", 0);
+ __Pyx_RefNannySetupContext("setTimeout", 1);
/* "cereal/messaging/messaging_pyx.pyx":196
*
@@ -7644,18 +8247,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
bool __pyx_v_non_blocking;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("receive (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_non_blocking,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7669,7 +8280,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
case 0:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_non_blocking);
- if (value) { values[0] = value; kw_args--; }
+ if (value) { values[0] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 198, __pyx_L3_error)
}
}
@@ -7691,10 +8302,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_non_blocking = ((bool)0);
}
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("receive", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 198, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.SubSocket.receive", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7702,6 +8321,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_8receive(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SubSocket *)__pyx_v_self), __pyx_v_non_blocking);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7720,7 +8345,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_8receive
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("receive", 0);
+ __Pyx_RefNannySetupContext("receive", 1);
/* "cereal/messaging/messaging_pyx.pyx":199
*
@@ -7776,7 +8401,8 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_8receive
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
__pyx_t_5 = 0;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
@@ -7786,6 +8412,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_8receive
__pyx_t_5 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_int_1};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
@@ -7914,12 +8541,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -7936,7 +8571,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_10__redu
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -7987,18 +8622,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -8010,7 +8653,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -8025,10 +8671,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.SubSocket.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -8036,6 +8690,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_12__setstate_cython__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_SubSocket *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -8046,7 +8706,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_12__sets
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -8083,11 +8743,17 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9SubSocket_12__sets
/* Python wrapper */
static int __pyx_pw_6cereal_9messaging_13messaging_pyx_9PubSocket_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_6cereal_9messaging_13messaging_pyx_9PubSocket_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
@@ -8106,7 +8772,7 @@ static int __pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket___cinit__(stru
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__cinit__", 0);
+ __Pyx_RefNannySetupContext("__cinit__", 1);
/* "cereal/messaging/messaging_pyx.pyx":220
*
@@ -8180,9 +8846,10 @@ static int __pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket___cinit__(stru
/* Python wrapper */
static void __pyx_pw_6cereal_9messaging_13messaging_pyx_9PubSocket_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_6cereal_9messaging_13messaging_pyx_9PubSocket_3__dealloc__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_2__dealloc__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_PubSocket *)__pyx_v_self));
/* function exit code */
@@ -8190,8 +8857,6 @@ static void __pyx_pw_6cereal_9messaging_13messaging_pyx_9PubSocket_3__dealloc__(
}
static void __pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_2__dealloc__(struct __pyx_obj_6cereal_9messaging_13messaging_pyx_PubSocket *__pyx_v_self) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__dealloc__", 0);
/* "cereal/messaging/messaging_pyx.pyx":225
*
@@ -8211,7 +8876,6 @@ static void __pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_2__dealloc__(
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
/* "cereal/messaging/messaging_pyx.pyx":227
@@ -8241,18 +8905,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Context *__pyx_v_context = 0;
std::string __pyx_v_endpoint;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[2] = {0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("connect (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_context,&__pyx_n_s_endpoint,0};
- PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -8266,12 +8938,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 227, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_endpoint)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_endpoint)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 227, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("connect", 1, 2, 2, 1); __PYX_ERR(0, 227, __pyx_L3_error)
@@ -8290,10 +8968,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_context = ((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_Context *)values[0]);
__pyx_v_endpoint = __pyx_convert_string_from_py_std__in_string(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 227, __pyx_L3_error)
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("connect", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 227, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.PubSocket.connect", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -8306,6 +8992,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -8323,7 +9015,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_4connect
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("connect", 0);
+ __Pyx_RefNannySetupContext("connect", 1);
/* "cereal/messaging/messaging_pyx.pyx":228
*
@@ -8367,7 +9059,8 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_4connect
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
__pyx_t_6 = 0;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
@@ -8377,6 +9070,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_4connect
__pyx_t_6 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
@@ -8413,7 +9107,8 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_4connect
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
__pyx_t_6 = 0;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
@@ -8423,6 +9118,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_4connect
__pyx_t_6 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
@@ -8496,18 +9192,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_data = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("send (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_data,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -8519,7 +9223,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 236, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -8534,10 +9241,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_data = ((PyObject*)values[0]);
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("send", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 236, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.PubSocket.send", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -8550,6 +9265,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -8566,7 +9287,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_6send(st
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("send", 0);
+ __Pyx_RefNannySetupContext("send", 1);
/* "cereal/messaging/messaging_pyx.pyx":237
*
@@ -8579,7 +9300,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_6send(st
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
__PYX_ERR(0, 237, __pyx_L1_error)
}
- __pyx_t_1 = PyBytes_GET_SIZE(__pyx_v_data); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 237, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBytes_GET_SIZE(__pyx_v_data); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 237, __pyx_L1_error)
__pyx_v_length = __pyx_t_1;
/* "cereal/messaging/messaging_pyx.pyx":238
@@ -8707,12 +9428,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("all_readers_updated (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("all_readers_updated", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "all_readers_updated", 0))) return NULL;
@@ -8730,7 +9459,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_8all_rea
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("all_readers_updated", 0);
+ __Pyx_RefNannySetupContext("all_readers_updated", 1);
/* "cereal/messaging/messaging_pyx.pyx":247
*
@@ -8785,12 +9514,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -8807,7 +9544,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_10__redu
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -8858,18 +9595,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -8881,7 +9626,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -8896,10 +9644,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.messaging.messaging_pyx.PubSocket.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -8907,6 +9663,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_12__setstate_cython__(((struct __pyx_obj_6cereal_9messaging_13messaging_pyx_PubSocket *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -8917,7 +9679,7 @@ static PyObject *__pyx_pf_6cereal_9messaging_13messaging_pyx_9PubSocket_12__sets
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -8978,7 +9740,14 @@ static void __pyx_tp_dealloc_6cereal_9messaging_13messaging_pyx_Event(PyObject *
}
#endif
__Pyx_call_destructor(p->event);
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static PyObject *__pyx_getprop_6cereal_9messaging_13messaging_pyx_5Event_fd(PyObject *o, CYTHON_UNUSED void *x) {
@@ -9139,7 +9908,14 @@ static void __pyx_tp_dealloc_6cereal_9messaging_13messaging_pyx_SocketEventHandl
__Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
PyErr_Restore(etype, eval, etb);
}
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static PyObject *__pyx_getprop_6cereal_9messaging_13messaging_pyx_17SocketEventHandle_enabled(PyObject *o, CYTHON_UNUSED void *x) {
@@ -9311,7 +10087,14 @@ static void __pyx_tp_dealloc_6cereal_9messaging_13messaging_pyx_Context(PyObject
__Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
PyErr_Restore(etype, eval, etb);
}
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static PyMethodDef __pyx_methods_6cereal_9messaging_13messaging_pyx_Context[] = {
@@ -9460,7 +10243,14 @@ static void __pyx_tp_dealloc_6cereal_9messaging_13messaging_pyx_Poller(PyObject
PyErr_Restore(etype, eval, etb);
}
Py_CLEAR(p->sub_sockets);
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static int __pyx_tp_traverse_6cereal_9messaging_13messaging_pyx_Poller(PyObject *o, visitproc v, void *a) {
@@ -9628,7 +10418,14 @@ static void __pyx_tp_dealloc_6cereal_9messaging_13messaging_pyx_SubSocket(PyObje
__Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
PyErr_Restore(etype, eval, etb);
}
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static PyMethodDef __pyx_methods_6cereal_9messaging_13messaging_pyx_SubSocket[] = {
@@ -9773,7 +10570,14 @@ static void __pyx_tp_dealloc_6cereal_9messaging_13messaging_pyx_PubSocket(PyObje
__Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
PyErr_Restore(etype, eval, etb);
}
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static PyMethodDef __pyx_methods_6cereal_9messaging_13messaging_pyx_PubSocket[] = {
@@ -10070,7 +10874,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
__Pyx_GOTREF(__pyx_tuple__6);
__Pyx_GIVEREF(__pyx_tuple__6);
__pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__6, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_messaging_messaging_pyx_p, __pyx_n_s_init, 22, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 22, __pyx_L1_error)
- __pyx_tuple__8 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 22, __pyx_L1_error)
+ __pyx_tuple__8 = PyTuple_Pack(1, Py_None); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 22, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__8);
__Pyx_GIVEREF(__pyx_tuple__8);
@@ -10814,10 +11618,8 @@ static CYTHON_SMALL_CODE int __pyx_pymod_exec_messaging_pyx(PyObject *__pyx_pyin
CYTHON_UNUSED_VAR(__pyx_t_1);
__pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
Py_INCREF(__pyx_d);
- __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
- Py_INCREF(__pyx_b);
- __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
- Py_INCREF(__pyx_cython_runtime);
+ __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
+ __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#if CYTHON_REFNANNY
__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
@@ -10829,7 +11631,7 @@ if (!__Pyx_RefNanny) {
}
#endif
__Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_messaging_pyx(void)", 0);
- if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+ if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#ifdef __Pxy_PyFrame_Initialize_Offsets
__Pxy_PyFrame_Initialize_Offsets();
#endif
@@ -10917,7 +11719,7 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]));
__Pyx_GIVEREF((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]));
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])))) __PYX_ERR(0, 21, __pyx_L1_error);
__pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21, __pyx_L1_error)
@@ -10976,7 +11778,7 @@ if (!__Pyx_RefNanny) {
__pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)) __PYX_ERR(0, 28, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
@@ -11056,7 +11858,7 @@ if (!__Pyx_RefNanny) {
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 48, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_9wait_for_one_event, 0, __pyx_n_s_wait_for_one_event, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
@@ -11074,7 +11876,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_5Event_3set, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Event_set, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 64, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Event->tp_dict, __pyx_n_s_set, __pyx_t_3) < 0) __PYX_ERR(0, 64, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Event, __pyx_n_s_set, __pyx_t_3) < 0) __PYX_ERR(0, 64, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9messaging_13messaging_pyx_Event);
@@ -11087,7 +11889,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_5Event_5clear, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Event_clear, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__19)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Event->tp_dict, __pyx_n_s_clear, __pyx_t_3) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Event, __pyx_n_s_clear, __pyx_t_3) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9messaging_13messaging_pyx_Event);
@@ -11101,7 +11903,7 @@ if (!__Pyx_RefNanny) {
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_5Event_7wait, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Event_wait, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__21)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_tuple__22);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Event->tp_dict, __pyx_n_s_wait, __pyx_t_3) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Event, __pyx_n_s_wait, __pyx_t_3) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9messaging_13messaging_pyx_Event);
@@ -11114,7 +11916,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_5Event_9peek, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Event_peek, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__23)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Event->tp_dict, __pyx_n_s_peek, __pyx_t_3) < 0) __PYX_ERR(0, 73, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Event, __pyx_n_s_peek, __pyx_t_3) < 0) __PYX_ERR(0, 73, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9messaging_13messaging_pyx_Event);
@@ -11169,7 +11971,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_7Context_3term, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Context_term, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__29)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Context->tp_dict, __pyx_n_s_term, __pyx_t_3) < 0) __PYX_ERR(0, 123, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Context, __pyx_n_s_term, __pyx_t_3) < 0) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9messaging_13messaging_pyx_Context);
@@ -11203,7 +12005,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_6Poller_5registerSocket, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Poller_registerSocket, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 145, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Poller->tp_dict, __pyx_n_s_registerSocket, __pyx_t_3) < 0) __PYX_ERR(0, 145, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Poller, __pyx_n_s_registerSocket, __pyx_t_3) < 0) __PYX_ERR(0, 145, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9messaging_13messaging_pyx_Poller);
@@ -11216,7 +12018,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_6Poller_7poll, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Poller_poll, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__35)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Poller->tp_dict, __pyx_n_s_poll, __pyx_t_3) < 0) __PYX_ERR(0, 149, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_Poller, __pyx_n_s_poll, __pyx_t_3) < 0) __PYX_ERR(0, 149, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9messaging_13messaging_pyx_Poller);
@@ -11256,16 +12058,16 @@ if (!__Pyx_RefNanny) {
__pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 186, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3)) __PYX_ERR(0, 186, __pyx_L1_error);
__Pyx_INCREF(Py_False);
__Pyx_GIVEREF(Py_False);
- PyTuple_SET_ITEM(__pyx_t_5, 1, Py_False);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, Py_False)) __PYX_ERR(0, 186, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_9SubSocket_5connect, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SubSocket_connect, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 186, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_t_5);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_SubSocket->tp_dict, __pyx_n_s_connect, __pyx_t_3) < 0) __PYX_ERR(0, 186, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_SubSocket, __pyx_n_s_connect, __pyx_t_3) < 0) __PYX_ERR(0, 186, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9messaging_13messaging_pyx_SubSocket);
@@ -11278,7 +12080,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_9SubSocket_7setTimeout, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SubSocket_setTimeout, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__40)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 195, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_SubSocket->tp_dict, __pyx_n_s_setTimeout, __pyx_t_3) < 0) __PYX_ERR(0, 195, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_SubSocket, __pyx_n_s_setTimeout, __pyx_t_3) < 0) __PYX_ERR(0, 195, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9messaging_13messaging_pyx_SubSocket);
@@ -11292,7 +12094,7 @@ if (!__Pyx_RefNanny) {
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_9SubSocket_9receive, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_SubSocket_receive, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 198, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_tuple__43);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_SubSocket->tp_dict, __pyx_n_s_receive, __pyx_t_3) < 0) __PYX_ERR(0, 198, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_SubSocket, __pyx_n_s_receive, __pyx_t_3) < 0) __PYX_ERR(0, 198, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9messaging_13messaging_pyx_SubSocket);
@@ -11326,7 +12128,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_9PubSocket_5connect, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PubSocket_connect, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__47)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 227, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_PubSocket->tp_dict, __pyx_n_s_connect, __pyx_t_3) < 0) __PYX_ERR(0, 227, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_PubSocket, __pyx_n_s_connect, __pyx_t_3) < 0) __PYX_ERR(0, 227, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9messaging_13messaging_pyx_PubSocket);
@@ -11339,7 +12141,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_9PubSocket_7send, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PubSocket_send, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__49)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_PubSocket->tp_dict, __pyx_n_s_send, __pyx_t_3) < 0) __PYX_ERR(0, 236, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_PubSocket, __pyx_n_s_send, __pyx_t_3) < 0) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9messaging_13messaging_pyx_PubSocket);
@@ -11351,7 +12153,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9messaging_13messaging_pyx_9PubSocket_9all_readers_updated, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PubSocket_all_readers_updated, NULL, __pyx_n_s_cereal_messaging_messaging_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_PubSocket->tp_dict, __pyx_n_s_all_readers_updated, __pyx_t_3) < 0) __PYX_ERR(0, 246, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9messaging_13messaging_pyx_PubSocket, __pyx_n_s_all_readers_updated, __pyx_t_3) < 0) __PYX_ERR(0, 246, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9messaging_13messaging_pyx_PubSocket);
@@ -11516,6 +12318,8 @@ static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObjec
tmp_value = tstate->current_exception;
tstate->current_exception = value;
Py_XDECREF(tmp_value);
+ Py_XDECREF(type);
+ Py_XDECREF(tb);
#else
PyObject *tmp_type, *tmp_value, *tmp_tb;
tmp_type = tstate->curexc_type;
@@ -11573,14 +12377,20 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject
#endif
/* PyObjectGetAttrStrNoError */
+#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
__Pyx_PyErr_Clear();
}
+#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
PyObject *result;
+#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
+ (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
+ return result;
+#else
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1
PyTypeObject* tp = Py_TYPE(obj);
if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
@@ -11592,6 +12402,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, P
__Pyx_PyObject_GetAttrStr_ClearAttributeError();
}
return result;
+#endif
}
/* GetBuiltinName */
@@ -11813,6 +12624,24 @@ static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyO
}
return NULL; // not found (no exception set)
}
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
+static CYTHON_UNUSED PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) {
+ Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames);
+ PyObject *dict;
+ dict = PyDict_New();
+ if (unlikely(!dict))
+ return NULL;
+ for (i=0; i= PyTuple_GET_SIZE(kwds)) break;
+ Py_ssize_t size;
+#if CYTHON_ASSUME_SAFE_MACROS
+ size = PyTuple_GET_SIZE(kwds);
+#else
+ size = PyTuple_Size(kwds);
+ if (size < 0) goto bad;
+#endif
+ if (pos >= size) break;
+#if CYTHON_AVOID_BORROWED_REFS
+ key = __Pyx_PySequence_ITEM(kwds, pos);
+ if (!key) goto bad;
+#elif CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kwds, pos);
+#else
+ key = PyTuple_GetItem(kwds, pos);
+ if (!key) goto bad;
+#endif
value = kwvalues[pos];
pos++;
}
else
{
if (!PyDict_Next(kwds, &pos, &key, &value)) break;
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(key);
+#endif
}
name = first_kw_arg;
while (*name && (**name != key)) name++;
if (*name) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(value); // transfer ownership of value to values
+ Py_DECREF(key);
+#endif
+ key = NULL;
+ value = NULL;
continue;
}
+#if !CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(key);
+#endif
+ Py_INCREF(value);
name = first_kw_arg;
#if PY_MAJOR_VERSION < 3
if (likely(PyString_Check(key))) {
@@ -11868,6 +12727,9 @@ static int __Pyx_ParseOptionalKeywords(
if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
&& _PyString_Eq(**name, key)) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ value = NULL; // ownership transferred to values
+#endif
break;
}
name++;
@@ -11897,6 +12759,9 @@ static int __Pyx_ParseOptionalKeywords(
if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
if (cmp == 0) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ value = NULL; // ownership transferred to values
+#endif
break;
}
name++;
@@ -11923,6 +12788,8 @@ static int __Pyx_ParseOptionalKeywords(
goto invalid_keyword;
}
}
+ Py_XDECREF(key);
+ Py_XDECREF(value);
return 0;
arg_passed_twice:
__Pyx_RaiseDoubleKeywordsError(function_name, key);
@@ -11942,6 +12809,8 @@ invalid_keyword:
function_name, key);
#endif
bad:
+ Py_XDECREF(key);
+ Py_XDECREF(value);
return -1;
}
@@ -12016,9 +12885,15 @@ static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args,
PyObject *result;
assert(kwargs == NULL || PyDict_Check(kwargs));
nk = kwargs ? PyDict_Size(kwargs) : 0;
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) {
return NULL;
}
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) {
+ return NULL;
+ }
+ #endif
if (
#if PY_MAJOR_VERSION >= 3
co->co_kwonlyargcount == 0 &&
@@ -12095,8 +12970,13 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
ternaryfunc call = Py_TYPE(func)->tp_call;
if (unlikely(!call))
return PyObject_Call(func, arg, kw);
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
return NULL;
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
+ return NULL;
+ #endif
result = (*call)(func, arg, kw);
Py_LeaveRecursiveCall();
if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
@@ -12113,10 +12993,15 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
PyObject *self, *result;
PyCFunction cfunc;
- cfunc = PyCFunction_GET_FUNCTION(func);
- self = PyCFunction_GET_SELF(func);
+ cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
+ self = __Pyx_CyOrPyCFunction_GET_SELF(func);
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
return NULL;
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
+ return NULL;
+ #endif
result = cfunc(self, arg);
Py_LeaveRecursiveCall();
if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
@@ -12129,42 +13014,33 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject
#endif
/* PyObjectFastCall */
+#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API
static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) {
PyObject *argstuple;
- PyObject *result;
+ PyObject *result = 0;
size_t i;
argstuple = PyTuple_New((Py_ssize_t)nargs);
if (unlikely(!argstuple)) return NULL;
for (i = 0; i < nargs; i++) {
Py_INCREF(args[i]);
- PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]);
+ if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad;
}
result = __Pyx_PyObject_Call(func, argstuple, kwargs);
+ bad:
Py_DECREF(argstuple);
return result;
}
+#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) {
Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs);
#if CYTHON_COMPILING_IN_CPYTHON
if (nargs == 0 && kwargs == NULL) {
-#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
- if (__Pyx_IsCyOrPyCFunction(func))
-#else
- if (PyCFunction_Check(func))
-#endif
- {
- if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
- return __Pyx_PyObject_CallMethO(func, NULL);
- }
- }
+ if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
+ return __Pyx_PyObject_CallMethO(func, NULL);
}
else if (nargs == 1 && kwargs == NULL) {
- if (PyCFunction_Check(func))
- {
- if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
- return __Pyx_PyObject_CallMethO(func, args[0]);
- }
- }
+ if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
+ return __Pyx_PyObject_CallMethO(func, args[0]);
}
#endif
#if PY_VERSION_HEX < 0x030800B1
@@ -12188,21 +13064,31 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObj
}
#endif
#endif
- #if CYTHON_VECTORCALL
- vectorcallfunc f = _PyVectorcall_Function(func);
- if (f) {
- return f(func, args, (size_t)nargs, kwargs);
+ if (kwargs == NULL) {
+ #if CYTHON_VECTORCALL
+ #if PY_VERSION_HEX < 0x03090000
+ vectorcallfunc f = _PyVectorcall_Function(func);
+ #else
+ vectorcallfunc f = PyVectorcall_Function(func);
+ #endif
+ if (f) {
+ return f(func, args, (size_t)nargs, NULL);
+ }
+ #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
+ if (__Pyx_CyFunction_CheckExact(func)) {
+ __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
+ if (f) return f(func, args, (size_t)nargs, NULL);
+ }
+ #endif
}
- #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
- if (__Pyx_CyFunction_CheckExact(func)) {
- __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
- if (f) return f(func, args, (size_t)nargs, kwargs);
- }
- #endif
if (nargs == 0) {
return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs);
}
+ #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
+ return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs);
+ #else
return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
+ #endif
}
/* PyUnicode_Unicode */
@@ -12286,7 +13172,9 @@ static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_co
if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) {
memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift));
} else {
- #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters)
+ #if PY_VERSION_HEX >= 0x030d0000
+ if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad;
+ #elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters)
_PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
#else
Py_ssize_t j;
@@ -12353,15 +13241,32 @@ static int __Pyx_CheckKeywordStrings(
return 1;
#else
if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kw))) {
- if (unlikely(PyTuple_GET_SIZE(kw) == 0))
+ Py_ssize_t kwsize;
+#if CYTHON_ASSUME_SAFE_MACROS
+ kwsize = PyTuple_GET_SIZE(kw);
+#else
+ kwsize = PyTuple_Size(kw);
+ if (kwsize < 0) return 0;
+#endif
+ if (unlikely(kwsize == 0))
return 1;
if (!kw_allowed) {
+#if CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kw, 0);
+#else
+ key = PyTuple_GetItem(kw, pos);
+ if (!key) return 0;
+#endif
goto invalid_keyword;
}
#if PY_VERSION_HEX < 0x03090000
- for (pos = 0; pos < PyTuple_GET_SIZE(kw); pos++) {
+ for (pos = 0; pos < kwsize; pos++) {
+#if CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kw, pos);
+#else
+ key = PyTuple_GetItem(kw, pos);
+ if (!key) return 0;
+#endif
if (unlikely(!PyUnicode_Check(key)))
goto invalid_keyword_type;
}
@@ -12559,8 +13464,8 @@ bad:
/* PyObjectCallNoArg */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
- PyObject *arg = NULL;
- return __Pyx_PyObject_FastCall(func, (&arg)+1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
+ PyObject *arg[2] = {NULL, NULL};
+ return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}
/* PyDictVersioning */
@@ -12598,7 +13503,7 @@ static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
{
PyObject *result;
#if !CYTHON_AVOID_BORROWED_REFS
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
__PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
if (likely(result)) {
@@ -12831,16 +13736,33 @@ bad:
/* ValidateBasesTuple */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) {
- Py_ssize_t i, n = PyTuple_GET_SIZE(bases);
+ Py_ssize_t i, n;
+#if CYTHON_ASSUME_SAFE_MACROS
+ n = PyTuple_GET_SIZE(bases);
+#else
+ n = PyTuple_Size(bases);
+ if (n < 0) return -1;
+#endif
for (i = 1; i < n; i++)
{
+#if CYTHON_AVOID_BORROWED_REFS
+ PyObject *b0 = PySequence_GetItem(bases, i);
+ if (!b0) return -1;
+#elif CYTHON_ASSUME_SAFE_MACROS
PyObject *b0 = PyTuple_GET_ITEM(bases, i);
+#else
+ PyObject *b0 = PyTuple_GetItem(bases, i);
+ if (!b0) return -1;
+#endif
PyTypeObject *b;
#if PY_MAJOR_VERSION < 3
if (PyClass_Check(b0))
{
PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class",
PyString_AS_STRING(((PyClassObject*)b0)->cl_name));
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
#endif
@@ -12851,8 +13773,27 @@ static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffs
PyErr_Format(PyExc_TypeError,
"base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name);
__Pyx_DECREF_TypeName(b_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
+#if !CYTHON_USE_TYPE_SLOTS
+ if (dictoffset == 0) {
+ PyErr_Format(PyExc_TypeError,
+ "extension type '%s.200s': "
+ "unable to validate whether bases have a __dict__ "
+ "when CYTHON_USE_TYPE_SLOTS is off "
+ "(likely because you are building in the limited API). "
+ "Therefore, all extension types with multiple bases "
+ "must add 'cdef dict __dict__' in this compilation mode",
+ type_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
+ return -1;
+ }
+#else
if (dictoffset == 0 && b->tp_dictoffset)
{
__Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
@@ -12863,8 +13804,15 @@ static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffs
"or add '__slots__ = [...]' to the base type",
type_name, b_name);
__Pyx_DECREF_TypeName(b_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
+#endif
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
}
return 0;
}
@@ -13229,14 +14177,9 @@ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
{
#if PY_MAJOR_VERSION >= 3
if (level == -1) {
- if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
- #if CYTHON_COMPILING_IN_LIMITED_API
- module = PyImport_ImportModuleLevelObject(
- name, empty_dict, empty_dict, from_list, 1);
- #else
+ if (strchr(__Pyx_MODULE_NAME, '.') != NULL) {
module = PyImport_ImportModuleLevelObject(
name, __pyx_d, empty_dict, from_list, 1);
- #endif
if (unlikely(!module)) {
if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError)))
goto bad;
@@ -13255,14 +14198,9 @@ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL);
Py_DECREF(py_level);
#else
- #if CYTHON_COMPILING_IN_LIMITED_API
- module = PyImport_ImportModuleLevelObject(
- name, empty_dict, empty_dict, from_list, level);
- #else
module = PyImport_ImportModuleLevelObject(
name, __pyx_d, empty_dict, from_list, level);
#endif
- #endif
}
}
bad:
@@ -13472,10 +14410,21 @@ error:
/* CalculateMetaclass */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
- Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases);
+ Py_ssize_t i, nbases;
+#if CYTHON_ASSUME_SAFE_MACROS
+ nbases = PyTuple_GET_SIZE(bases);
+#else
+ nbases = PyTuple_Size(bases);
+ if (nbases < 0) return NULL;
+#endif
for (i=0; i < nbases; i++) {
PyTypeObject *tmptype;
+#if CYTHON_ASSUME_SAFE_MACROS
PyObject *tmp = PyTuple_GET_ITEM(bases, i);
+#else
+ PyObject *tmp = PyTuple_GetItem(bases, i);
+ if (!tmp) return NULL;
+#endif
tmptype = Py_TYPE(tmp);
#if PY_MAJOR_VERSION < 3
if (tmptype == &PyClass_Type)
@@ -13511,10 +14460,7 @@ static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bas
/* FetchSharedCythonModule */
static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
- PyObject *abi_module = PyImport_AddModule((char*) __PYX_ABI_MODULE_NAME);
- if (unlikely(!abi_module)) return NULL;
- Py_INCREF(abi_module);
- return abi_module;
+ return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME);
}
/* FetchCommonType */
@@ -13675,8 +14621,22 @@ static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, _
#endif
/* CythonFunctionShared */
+#if CYTHON_COMPILING_IN_LIMITED_API
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
+ if (__Pyx_CyFunction_Check(func)) {
+ return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc;
+ } else if (PyCFunction_Check(func)) {
+ return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
+ }
+ return 0;
+}
+#else
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
+ return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
+}
+#endif
static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
__Pyx_Py_XDECREF_SET(
__Pyx_CyFunction_GetClassObj(f),
((classobj) ? __Pyx_NewRef(classobj) : NULL));
@@ -13691,6 +14651,10 @@ __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
{
CYTHON_UNUSED_VAR(closure);
if (unlikely(op->func_doc == NULL)) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func_doc = PyObject_GetAttrString(op->func, "__doc__");
+ if (unlikely(!op->func_doc)) return NULL;
+#else
if (((PyCFunctionObject*)op)->m_ml->ml_doc) {
#if PY_MAJOR_VERSION >= 3
op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
@@ -13703,6 +14667,7 @@ __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
Py_INCREF(Py_None);
return Py_None;
}
+#endif
}
Py_INCREF(op->func_doc);
return op->func_doc;
@@ -13723,7 +14688,9 @@ __Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context)
{
CYTHON_UNUSED_VAR(context);
if (unlikely(op->func_name == NULL)) {
-#if PY_MAJOR_VERSION >= 3
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func_name = PyObject_GetAttrString(op->func, "__name__");
+#elif PY_MAJOR_VERSION >= 3
op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
#else
op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
@@ -13842,10 +14809,10 @@ __Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
Py_INCREF(op->defaults_kwdict);
#else
- op->defaults_tuple = PySequence_ITEM(res, 0);
+ op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0);
if (unlikely(!op->defaults_tuple)) result = -1;
else {
- op->defaults_kwdict = PySequence_ITEM(res, 1);
+ op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1);
if (unlikely(!op->defaults_kwdict)) result = -1;
}
#endif
@@ -13954,7 +14921,15 @@ __Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) {
fromlist = PyList_New(1);
if (unlikely(!fromlist)) return NULL;
Py_INCREF(marker);
+#if CYTHON_ASSUME_SAFE_MACROS
PyList_SET_ITEM(fromlist, 0, marker);
+#else
+ if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
+ Py_DECREF(marker);
+ Py_DECREF(fromlist);
+ return NULL;
+ }
+#endif
module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0);
Py_DECREF(fromlist);
if (unlikely(!module)) goto ignore;
@@ -13970,6 +14945,18 @@ ignore:
op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine);
return __Pyx_NewRef(op->func_is_coroutine);
}
+#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *
+__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) {
+ CYTHON_UNUSED_VAR(context);
+ return PyObject_GetAttrString(op->func, "__module__");
+}
+static int
+__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
+ CYTHON_UNUSED_VAR(context);
+ return PyObject_SetAttrString(op->func, "__module__", value);
+}
+#endif
static PyGetSetDef __pyx_CyFunction_getsets[] = {
{(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
{(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
@@ -13989,20 +14976,27 @@ static PyGetSetDef __pyx_CyFunction_getsets[] = {
{(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
{(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
{(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
+#if CYTHON_COMPILING_IN_LIMITED_API
+ {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0},
+#endif
{0, 0, 0, 0, 0}
};
static PyMemberDef __pyx_CyFunction_members[] = {
+#if !CYTHON_COMPILING_IN_LIMITED_API
{(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
+#endif
#if CYTHON_USE_TYPE_SPECS
{(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0},
#if CYTHON_METH_FASTCALL
#if CYTHON_BACKPORT_VECTORCALL
{(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0},
#else
+#if !CYTHON_COMPILING_IN_LIMITED_API
{(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
#endif
#endif
-#if PY_VERSION_HEX < 0x030500A0
+#endif
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
{(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0},
#else
{(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
@@ -14025,30 +15019,40 @@ static PyMethodDef __pyx_CyFunction_methods[] = {
{"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
{0, 0, 0, 0}
};
-#if PY_VERSION_HEX < 0x030500A0
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
#else
#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
#endif
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
+#if !CYTHON_COMPILING_IN_LIMITED_API
PyCFunctionObject *cf = (PyCFunctionObject*) op;
+#endif
if (unlikely(op == NULL))
return NULL;
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func = PyCFunction_NewEx(ml, (PyObject*)op, module);
+ if (unlikely(!op->func)) return NULL;
+#endif
op->flags = flags;
__Pyx_CyFunction_weakreflist(op) = NULL;
+#if !CYTHON_COMPILING_IN_LIMITED_API
cf->m_ml = ml;
cf->m_self = (PyObject *) op;
+#endif
Py_XINCREF(closure);
op->func_closure = closure;
+#if !CYTHON_COMPILING_IN_LIMITED_API
Py_XINCREF(module);
cf->m_module = module;
+#endif
op->func_dict = NULL;
op->func_name = NULL;
Py_INCREF(qualname);
op->func_qualname = qualname;
op->func_doc = NULL;
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
op->func_classobj = NULL;
#else
((PyCMethodObject*)op)->mm_class = NULL;
@@ -14094,13 +15098,18 @@ static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
{
Py_CLEAR(m->func_closure);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ Py_CLEAR(m->func);
+#else
Py_CLEAR(((PyCFunctionObject*)m)->m_module);
+#endif
Py_CLEAR(m->func_dict);
Py_CLEAR(m->func_name);
Py_CLEAR(m->func_qualname);
Py_CLEAR(m->func_doc);
Py_CLEAR(m->func_globals);
Py_CLEAR(m->func_code);
+#if !CYTHON_COMPILING_IN_LIMITED_API
#if PY_VERSION_HEX < 0x030900B1
Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
#else
@@ -14109,6 +15118,7 @@ __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
((PyCMethodObject *) (m))->mm_class = NULL;
Py_XDECREF(cls);
}
+#endif
#endif
Py_CLEAR(m->defaults_tuple);
Py_CLEAR(m->defaults_kwdict);
@@ -14139,14 +15149,20 @@ static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
{
Py_VISIT(m->func_closure);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ Py_VISIT(m->func);
+#else
Py_VISIT(((PyCFunctionObject*)m)->m_module);
+#endif
Py_VISIT(m->func_dict);
Py_VISIT(m->func_name);
Py_VISIT(m->func_qualname);
Py_VISIT(m->func_doc);
Py_VISIT(m->func_globals);
Py_VISIT(m->func_code);
+#if !CYTHON_COMPILING_IN_LIMITED_API
Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
+#endif
Py_VISIT(m->defaults_tuple);
Py_VISIT(m->defaults_kwdict);
Py_VISIT(m->func_is_coroutine);
@@ -14170,10 +15186,22 @@ __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
#endif
}
static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ PyObject *f = ((__pyx_CyFunctionObject*)func)->func;
+ PyObject *py_name = NULL;
+ PyCFunction meth;
+ int flags;
+ meth = PyCFunction_GetFunction(f);
+ if (unlikely(!meth)) return NULL;
+ flags = PyCFunction_GetFlags(f);
+ if (unlikely(flags < 0)) return NULL;
+#else
PyCFunctionObject* f = (PyCFunctionObject*)func;
PyCFunction meth = f->m_ml->ml_meth;
+ int flags = f->m_ml->ml_flags;
+#endif
Py_ssize_t size;
- switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
+ switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
case METH_VARARGS:
if (likely(kw == NULL || PyDict_Size(kw) == 0))
return (*meth)(self, arg);
@@ -14182,24 +15210,43 @@ static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, Py
return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw);
case METH_NOARGS:
if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
+#if CYTHON_ASSUME_SAFE_MACROS
size = PyTuple_GET_SIZE(arg);
+#else
+ size = PyTuple_Size(arg);
+ if (unlikely(size < 0)) return NULL;
+#endif
if (likely(size == 0))
return (*meth)(self, NULL);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError,
+ "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ py_name, size);
+ Py_DECREF(py_name);
+#else
PyErr_Format(PyExc_TypeError,
"%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
f->m_ml->ml_name, size);
+#endif
return NULL;
}
break;
case METH_O:
if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
+#if CYTHON_ASSUME_SAFE_MACROS
size = PyTuple_GET_SIZE(arg);
+#else
+ size = PyTuple_Size(arg);
+ if (unlikely(size < 0)) return NULL;
+#endif
if (likely(size == 1)) {
PyObject *result, *arg0;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
arg0 = PyTuple_GET_ITEM(arg, 0);
#else
- arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
+ arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
#endif
result = (*meth)(self, arg0);
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
@@ -14207,9 +15254,18 @@ static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, Py
#endif
return result;
}
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError,
+ "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ py_name, size);
+ Py_DECREF(py_name);
+#else
PyErr_Format(PyExc_TypeError,
"%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
f->m_ml->ml_name, size);
+#endif
return NULL;
}
break;
@@ -14217,12 +15273,28 @@ static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, Py
PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
return NULL;
}
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments",
+ py_name);
+ Py_DECREF(py_name);
+#else
PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
f->m_ml->ml_name);
+#endif
return NULL;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
- return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw);
+ PyObject *self, *result;
+#if CYTHON_COMPILING_IN_LIMITED_API
+ self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func);
+ if (unlikely(!self) && PyErr_Occurred()) return NULL;
+#else
+ self = ((PyCFunctionObject*)func)->m_self;
+#endif
+ result = __Pyx_CyFunction_CallMethod(func, self, arg, kw);
+ return result;
}
static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
PyObject *result;
@@ -14242,7 +15314,12 @@ static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, P
Py_ssize_t argc;
PyObject *new_args;
PyObject *self;
+#if CYTHON_ASSUME_SAFE_MACROS
argc = PyTuple_GET_SIZE(args);
+#else
+ argc = PyTuple_Size(args);
+ if (unlikely(!argc) < 0) return NULL;
+#endif
new_args = PyTuple_GetSlice(args, 1, argc);
if (unlikely(!new_args))
return NULL;
@@ -14455,7 +15532,7 @@ static PyTypeObject __pyx_CyFunctionType_type = {
#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
Py_TPFLAGS_METHOD_DESCRIPTOR |
#endif
-#ifdef _Py_TPFLAGS_HAVE_VECTORCALL
+#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL
_Py_TPFLAGS_HAVE_VECTORCALL |
#endif
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
@@ -14944,20 +16021,93 @@ static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
-#if PY_VERSION_HEX >= 0x030b00a6
+#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
#ifndef Py_BUILD_CORE
#define Py_BUILD_CORE 1
#endif
#include "internal/pycore_frame.h"
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict,
+ PyObject *firstlineno, PyObject *name) {
+ PyObject *replace = NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL;
+ replace = PyObject_GetAttrString(code, "replace");
+ if (likely(replace)) {
+ PyObject *result;
+ result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict);
+ Py_DECREF(replace);
+ return result;
+ }
+ PyErr_Clear();
+ #if __PYX_LIMITED_VERSION_HEX < 0x030780000
+ {
+ PyObject *compiled = NULL, *result = NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL;
+ compiled = Py_CompileString(
+ "out = type(code)(\n"
+ " code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n"
+ " code.co_flags, code.co_code, code.co_consts, code.co_names,\n"
+ " code.co_varnames, code.co_filename, co_name, co_firstlineno,\n"
+ " code.co_lnotab)\n", "", Py_file_input);
+ if (!compiled) return NULL;
+ result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict);
+ Py_DECREF(compiled);
+ if (!result) PyErr_Print();
+ Py_DECREF(result);
+ result = PyDict_GetItemString(scratch_dict, "out");
+ if (result) Py_INCREF(result);
+ return result;
+ }
+ #else
+ return NULL;
+ #endif
+}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
int py_line, const char *filename) {
+ PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL;
+ PyObject *replace = NULL, *getframe = NULL, *frame = NULL;
+ PyObject *exc_type, *exc_value, *exc_traceback;
+ int success = 0;
if (c_line) {
(void) __pyx_cfilenm;
(void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line);
}
- _PyTraceback_Add(funcname, filename, py_line);
+ PyErr_Fetch(&exc_type, &exc_value, &exc_traceback);
+ code_object = Py_CompileString("_getframe()", filename, Py_eval_input);
+ if (unlikely(!code_object)) goto bad;
+ py_py_line = PyLong_FromLong(py_line);
+ if (unlikely(!py_py_line)) goto bad;
+ py_funcname = PyUnicode_FromString(funcname);
+ if (unlikely(!py_funcname)) goto bad;
+ dict = PyDict_New();
+ if (unlikely(!dict)) goto bad;
+ {
+ PyObject *old_code_object = code_object;
+ code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname);
+ Py_DECREF(old_code_object);
+ }
+ if (unlikely(!code_object)) goto bad;
+ getframe = PySys_GetObject("_getframe");
+ if (unlikely(!getframe)) goto bad;
+ if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad;
+ frame = PyEval_EvalCode(code_object, dict, dict);
+ if (unlikely(!frame) || frame == Py_None) goto bad;
+ success = 1;
+ bad:
+ PyErr_Restore(exc_type, exc_value, exc_traceback);
+ Py_XDECREF(code_object);
+ Py_XDECREF(py_py_line);
+ Py_XDECREF(py_funcname);
+ Py_XDECREF(dict);
+ Py_XDECREF(replace);
+ if (success) {
+ PyTraceBack_Here(
+ (struct _frame*)frame);
+ }
+ Py_XDECREF(frame);
}
#else
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
@@ -15251,7 +16401,7 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -15387,8 +16537,34 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(int),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(int));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -15562,7 +16738,7 @@ static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) {
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -15674,7 +16850,8 @@ __Pyx_PyType_GetName(PyTypeObject* tp)
__pyx_n_s_name);
if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) {
PyErr_Clear();
- Py_XSETREF(name, __Pyx_NewRef(__pyx_n_s__53));
+ Py_XDECREF(name);
+ name = __Pyx_NewRef(__pyx_n_s__53);
}
return name;
}
@@ -15713,8 +16890,34 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(long),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -15888,7 +17091,7 @@ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -16108,41 +17311,50 @@ static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObj
#endif
/* CheckBinaryVersion */
-static int __Pyx_check_binary_version(void) {
- char ctversion[5];
- int same=1, i, found_dot;
- const char* rt_from_call = Py_GetVersion();
- PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
- found_dot = 0;
- for (i = 0; i < 4; i++) {
- if (!ctversion[i]) {
- same = (rt_from_call[i] < '0' || rt_from_call[i] > '9');
- break;
+static unsigned long __Pyx_get_runtime_version(void) {
+#if __PYX_LIMITED_VERSION_HEX >= 0x030B00A4
+ return Py_Version & ~0xFFUL;
+#else
+ const char* rt_version = Py_GetVersion();
+ unsigned long version = 0;
+ unsigned long factor = 0x01000000UL;
+ unsigned int digit = 0;
+ int i = 0;
+ while (factor) {
+ while ('0' <= rt_version[i] && rt_version[i] <= '9') {
+ digit = digit * 10 + (unsigned int) (rt_version[i] - '0');
+ ++i;
}
- if (rt_from_call[i] != ctversion[i]) {
- same = 0;
+ version += factor * digit;
+ if (rt_version[i] != '.')
break;
- }
+ digit = 0;
+ factor >>= 8;
+ ++i;
}
- if (!same) {
- char rtversion[5] = {'\0'};
+ return version;
+#endif
+}
+static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) {
+ const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
+ if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
+ return 0;
+ if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
+ return 1;
+ {
char message[200];
- for (i=0; i<4; ++i) {
- if (rt_from_call[i] == '.') {
- if (found_dot) break;
- found_dot = 1;
- } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') {
- break;
- }
- rtversion[i] = rt_from_call[i];
- }
PyOS_snprintf(message, sizeof(message),
- "compile time version %s of module '%.100s' "
- "does not match runtime version %s",
- ctversion, __Pyx_MODULE_NAME, rtversion);
+ "compile time Python version %d.%d "
+ "of module '%.100s' "
+ "%s "
+ "runtime version %d.%d",
+ (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF),
+ __Pyx_MODULE_NAME,
+ (allow_newer) ? "was newer than" : "does not match",
+ (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF)
+ );
return PyErr_WarnEx(NULL, message, 1);
}
- return 0;
}
/* InitStrings */
@@ -16188,8 +17400,24 @@ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
return 0;
}
+#include
+static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
+ size_t len = strlen(s);
+ if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) {
+ PyErr_SetString(PyExc_OverflowError, "byte string is too long");
+ return -1;
+ }
+ return (Py_ssize_t) len;
+}
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
- return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
+ Py_ssize_t len = __Pyx_ssize_strlen(c_str);
+ if (unlikely(len < 0)) return NULL;
+ return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
+}
+static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) {
+ Py_ssize_t len = __Pyx_ssize_strlen(c_str);
+ if (unlikely(len < 0)) return NULL;
+ return PyByteArray_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
Py_ssize_t ignore;
diff --git a/cereal/messaging/messaging_pyx.so b/cereal/messaging/messaging_pyx.so
index 1d08885cf..0980170b2 100755
Binary files a/cereal/messaging/messaging_pyx.so and b/cereal/messaging/messaging_pyx.so differ
diff --git a/cereal/services.h b/cereal/services.h
index 888d2783f..da8c8a208 100644
--- a/cereal/services.h
+++ b/cereal/services.h
@@ -44,7 +44,7 @@ static std::map services = {
{ "cameraOdometry", {"cameraOdometry", 8038, true, 20, 5}},
{ "lateralPlan", {"lateralPlan", 8039, true, 20, 5}},
{ "thumbnail", {"thumbnail", 8040, true, 0, 1}},
- { "carEvents", {"carEvents", 8041, true, 1, 1}},
+ { "onroadEvents", {"onroadEvents", 8041, true, 1, 1}},
{ "carParams", {"carParams", 8042, true, 0, 1}},
{ "roadCameraState", {"roadCameraState", 8043, true, 20, 20}},
{ "driverCameraState", {"driverCameraState", 8044, true, 20, 20}},
diff --git a/cereal/services.py b/cereal/services.py
index 9fc2deea4..201e95c13 100755
--- a/cereal/services.py
+++ b/cereal/services.py
@@ -60,7 +60,7 @@ services: dict[str, tuple] = {
"cameraOdometry": (True, 20., 5),
"lateralPlan": (True, 20., 5),
"thumbnail": (True, 0.2, 1),
- "carEvents": (True, 1., 1),
+ "onroadEvents": (True, 1., 1),
"carParams": (True, 0.02, 1),
"roadCameraState": (True, 20., 20),
"driverCameraState": (True, 20., 20),
diff --git a/cereal/visionipc/visionipc_pyx.cpp b/cereal/visionipc/visionipc_pyx.cpp
index b4f356491..2536d4ed8 100644
--- a/cereal/visionipc/visionipc_pyx.cpp
+++ b/cereal/visionipc/visionipc_pyx.cpp
@@ -1,4 +1,4 @@
-/* Generated by Cython 3.0.0 */
+/* Generated by Cython 3.0.5 */
/* BEGIN: Cython Metadata
{
@@ -38,10 +38,15 @@ END: Cython Metadata */
#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
#error Cython requires Python 2.7+ or Python 3.3+.
#else
-#define CYTHON_ABI "3_0_0"
+#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API
+#define __PYX_EXTRA_ABI_MODULE_NAME "limited"
+#else
+#define __PYX_EXTRA_ABI_MODULE_NAME ""
+#endif
+#define CYTHON_ABI "3_0_5" __PYX_EXTRA_ABI_MODULE_NAME
#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
-#define CYTHON_HEX_VERSION 0x030000F0
+#define CYTHON_HEX_VERSION 0x030005F0
#define CYTHON_FUTURE_DIVISION 1
#include
#ifndef offsetof
@@ -74,6 +79,7 @@ END: Cython Metadata */
#ifndef Py_HUGE_VAL
#define Py_HUGE_VAL HUGE_VAL
#endif
+#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
#if defined(GRAALVM_PYTHON)
/* For very preliminary testing purposes. Most variables are set the same as PyPy.
The existence of this section does not imply that anything works or is even tested */
@@ -140,8 +146,9 @@ END: Cython Metadata */
#define CYTHON_COMPILING_IN_NOGIL 0
#undef CYTHON_USE_TYPE_SLOTS
#define CYTHON_USE_TYPE_SLOTS 0
- #undef CYTHON_USE_TYPE_SPECS
- #define CYTHON_USE_TYPE_SPECS 0
+ #ifndef CYTHON_USE_TYPE_SPECS
+ #define CYTHON_USE_TYPE_SPECS 0
+ #endif
#undef CYTHON_USE_PYTYPE_LOOKUP
#define CYTHON_USE_PYTYPE_LOOKUP 0
#if PY_VERSION_HEX < 0x03050000
@@ -193,6 +200,10 @@ END: Cython Metadata */
#define CYTHON_UPDATE_DESCRIPTOR_DOC 0
#endif
#elif defined(CYTHON_LIMITED_API)
+ #ifdef Py_LIMITED_API
+ #undef __PYX_LIMITED_VERSION_HEX
+ #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
+ #endif
#define CYTHON_COMPILING_IN_PYPY 0
#define CYTHON_COMPILING_IN_CPYTHON 0
#define CYTHON_COMPILING_IN_LIMITED_API 1
@@ -240,7 +251,7 @@ END: Cython Metadata */
#undef CYTHON_USE_MODULE_STATE
#define CYTHON_USE_MODULE_STATE 1
#ifndef CYTHON_USE_TP_FINALIZE
- #define CYTHON_USE_TP_FINALIZE 1
+ #define CYTHON_USE_TP_FINALIZE 0
#endif
#undef CYTHON_USE_DICT_VERSIONS
#define CYTHON_USE_DICT_VERSIONS 0
@@ -462,6 +473,14 @@ END: Cython Metadata */
# define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
+#ifndef CYTHON_USE_CPP_STD_MOVE
+ #if defined(__cplusplus) && (\
+ __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
+ #define CYTHON_USE_CPP_STD_MOVE 1
+ #else
+ #define CYTHON_USE_CPP_STD_MOVE 0
+ #endif
+#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#ifdef _MSC_VER
#ifndef _MSC_STDINT_H_
@@ -577,59 +596,91 @@ class __Pyx_FakeReference {
#else
#define __Pyx_BUILTIN_MODULE_NAME "builtins"
#define __Pyx_DefaultClassType PyType_Type
-#if PY_VERSION_HEX >= 0x030B00A1
- static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
+#if CYTHON_COMPILING_IN_LIMITED_API
+ static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
PyObject *code, PyObject *c, PyObject* n, PyObject *v,
PyObject *fv, PyObject *cell, PyObject* fn,
PyObject *name, int fline, PyObject *lnos) {
- PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
- PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *empty=NULL;
- const char *fn_cstr=NULL;
- const char *name_cstr=NULL;
- PyCodeObject *co=NULL, *result=NULL;
+ PyObject *exception_table = NULL;
+ PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
+ #if __PYX_LIMITED_VERSION_HEX < 0x030B0000
+ PyObject *version_info; // borrowed
+ #endif
+ PyObject *py_minor_version = NULL;
+ long minor_version = 0;
PyObject *type, *value, *traceback;
PyErr_Fetch(&type, &value, &traceback);
- if (!(kwds=PyDict_New())) goto end;
- if (!(argcount=PyLong_FromLong(a))) goto end;
- if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
- if (!(posonlyargcount=PyLong_FromLong(p))) goto end;
- if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end;
- if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
- if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end;
- if (!(nlocals=PyLong_FromLong(l))) goto end;
- if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
- if (!(stacksize=PyLong_FromLong(s))) goto end;
- if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end;
- if (!(flags=PyLong_FromLong(f))) goto end;
- if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
- if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
- if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
- if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
- if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto end;
- if (!(empty = PyTuple_New(0))) goto end;
- result = (PyCodeObject*) PyObject_Call(replace, empty, kwds);
+ #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000
+ minor_version = 11; // we don't yet need to distinguish between versions > 11
+ #else
+ if (!(version_info = PySys_GetObject("version_info"))) goto end;
+ if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
+ minor_version = PyLong_AsLong(py_minor_version);
+ if (minor_version == -1 && PyErr_Occurred()) goto end;
+ #endif
+ if (!(types_module = PyImport_ImportModule("types"))) goto end;
+ if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
+ if (minor_version <= 7) {
+ (void)p;
+ result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code,
+ c, n, v, fn, name, fline, lnos, fv, cell);
+ } else if (minor_version <= 10) {
+ result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code,
+ c, n, v, fn, name, fline, lnos, fv, cell);
+ } else {
+ if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
+ result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code,
+ c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
+ }
end:
- Py_XDECREF((PyObject*) co);
- Py_XDECREF(kwds);
- Py_XDECREF(argcount);
- Py_XDECREF(posonlyargcount);
- Py_XDECREF(kwonlyargcount);
- Py_XDECREF(nlocals);
- Py_XDECREF(stacksize);
- Py_XDECREF(replace);
- Py_XDECREF(empty);
+ Py_XDECREF(code_type);
+ Py_XDECREF(exception_table);
+ Py_XDECREF(types_module);
+ Py_XDECREF(py_minor_version);
if (type) {
PyErr_Restore(type, value, traceback);
}
return result;
}
+ #ifndef CO_OPTIMIZED
+ #define CO_OPTIMIZED 0x0001
+ #endif
+ #ifndef CO_NEWLOCALS
+ #define CO_NEWLOCALS 0x0002
+ #endif
+ #ifndef CO_VARARGS
+ #define CO_VARARGS 0x0004
+ #endif
+ #ifndef CO_VARKEYWORDS
+ #define CO_VARKEYWORDS 0x0008
+ #endif
+ #ifndef CO_ASYNC_GENERATOR
+ #define CO_ASYNC_GENERATOR 0x0200
+ #endif
+ #ifndef CO_GENERATOR
+ #define CO_GENERATOR 0x0020
+ #endif
+ #ifndef CO_COROUTINE
+ #define CO_COROUTINE 0x0080
+ #endif
+#elif PY_VERSION_HEX >= 0x030B0000
+ static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
+ PyObject *code, PyObject *c, PyObject* n, PyObject *v,
+ PyObject *fv, PyObject *cell, PyObject* fn,
+ PyObject *name, int fline, PyObject *lnos) {
+ PyCodeObject *result;
+ PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0); // we don't have access to __pyx_empty_bytes here
+ if (!empty_bytes) return NULL;
+ result =
+ #if PY_VERSION_HEX >= 0x030C0000
+ PyUnstable_Code_NewWithPosOnlyArgs
+ #else
+ PyCode_NewWithPosOnlyArgs
+ #endif
+ (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes);
+ Py_DECREF(empty_bytes);
+ return result;
+ }
#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
#define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
@@ -729,7 +780,32 @@ class __Pyx_FakeReference {
#define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0
#define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n))
#endif
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_MAJOR_VERSION >= 0x030900B1
+#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func)
+#else
+#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func)
+#endif
+#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func)
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth)
+#elif !CYTHON_COMPILING_IN_LIMITED_API
+#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func)
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags)
+static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
+ return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
+}
+#endif
+static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
+#else
+ return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
+#endif
+}
+#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc)
+#if __PYX_LIMITED_VERSION_HEX < 0x030900B1
#define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b))
typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
#else
@@ -755,6 +831,8 @@ class __Pyx_FakeReference {
#define __Pyx_PyThreadState_Current PyThreadState_Get()
#elif !CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_Current PyThreadState_GET()
+#elif PY_VERSION_HEX >= 0x030d00A1
+ #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
#elif PY_VERSION_HEX >= 0x03060000
#define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#elif PY_VERSION_HEX >= 0x03000000
@@ -830,7 +908,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
}
#endif
#endif
-#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n) PyDict_New()
@@ -842,7 +920,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
#define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
#endif
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && CYTHON_USE_UNICODE_INTERNALS
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
@@ -879,6 +957,11 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
#define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature)
#define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next
#endif
+#if CYTHON_COMPILING_IN_LIMITED_API
+ #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v)
+#else
+ #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v)
+#endif
#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000
#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\
PyTypeObject *type = Py_TYPE(obj);\
@@ -1005,9 +1088,34 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
#define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
+ #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
#define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
+ #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
+ #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
+ #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
+ #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
+ #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
+ #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
+ #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
#else
+ #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
#define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
+ #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
+ #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
+ #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
+ #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
+ #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
+ #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
+ #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
+#endif
+#if PY_VERSION_HEX >= 0x030d00A1
+ #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
+#else
+ static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
+ PyObject *module = PyImport_AddModule(name);
+ Py_XINCREF(module);
+ return module;
+ }
#endif
#if PY_MAJOR_VERSION >= 3
#define PyIntObject PyLongObject
@@ -1192,9 +1300,10 @@ static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
#else
#define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
+static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
-#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
+static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
@@ -1310,6 +1419,7 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
#endif
#endif
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+#include
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
PyObject* sys;
@@ -1360,6 +1470,7 @@ bad:
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+#include
static char* __PYX_DEFAULT_STRING_ENCODING;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
PyObject* sys;
@@ -1538,6 +1649,7 @@ typedef struct {
#include
#undef __pyx_atomic_int_type
#define __pyx_atomic_int_type long
+ #undef __pyx_nonatomic_int_type
#define __pyx_nonatomic_int_type long
#pragma intrinsic (_InterlockedExchangeAdd)
#define __pyx_atomic_incr_aligned(value) _InterlockedExchangeAdd(value, 1)
@@ -1577,7 +1689,7 @@ typedef struct {
/* #### Code section: numeric_typedefs ### */
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":731
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":730
* # in Cython to enable them only on the right systems.
*
* ctypedef npy_int8 int8_t # <<<<<<<<<<<<<<
@@ -1586,7 +1698,7 @@ typedef struct {
*/
typedef npy_int8 __pyx_t_5numpy_int8_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":732
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":731
*
* ctypedef npy_int8 int8_t
* ctypedef npy_int16 int16_t # <<<<<<<<<<<<<<
@@ -1595,7 +1707,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t;
*/
typedef npy_int16 __pyx_t_5numpy_int16_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":733
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":732
* ctypedef npy_int8 int8_t
* ctypedef npy_int16 int16_t
* ctypedef npy_int32 int32_t # <<<<<<<<<<<<<<
@@ -1604,7 +1716,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t;
*/
typedef npy_int32 __pyx_t_5numpy_int32_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":734
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":733
* ctypedef npy_int16 int16_t
* ctypedef npy_int32 int32_t
* ctypedef npy_int64 int64_t # <<<<<<<<<<<<<<
@@ -1613,7 +1725,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t;
*/
typedef npy_int64 __pyx_t_5numpy_int64_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":738
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":737
* #ctypedef npy_int128 int128_t
*
* ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<<
@@ -1622,7 +1734,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t;
*/
typedef npy_uint8 __pyx_t_5numpy_uint8_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":739
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":738
*
* ctypedef npy_uint8 uint8_t
* ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<<
@@ -1631,7 +1743,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t;
*/
typedef npy_uint16 __pyx_t_5numpy_uint16_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":740
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":739
* ctypedef npy_uint8 uint8_t
* ctypedef npy_uint16 uint16_t
* ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<<
@@ -1640,7 +1752,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t;
*/
typedef npy_uint32 __pyx_t_5numpy_uint32_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":741
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":740
* ctypedef npy_uint16 uint16_t
* ctypedef npy_uint32 uint32_t
* ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<<
@@ -1649,7 +1761,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t;
*/
typedef npy_uint64 __pyx_t_5numpy_uint64_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":745
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":744
* #ctypedef npy_uint128 uint128_t
*
* ctypedef npy_float32 float32_t # <<<<<<<<<<<<<<
@@ -1658,7 +1770,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t;
*/
typedef npy_float32 __pyx_t_5numpy_float32_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":746
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":745
*
* ctypedef npy_float32 float32_t
* ctypedef npy_float64 float64_t # <<<<<<<<<<<<<<
@@ -1667,61 +1779,43 @@ typedef npy_float32 __pyx_t_5numpy_float32_t;
*/
typedef npy_float64 __pyx_t_5numpy_float64_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":755
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":754
* # The int types are mapped a bit surprising --
* # numpy.int corresponds to 'l' and numpy.long to 'q'
* ctypedef npy_long int_t # <<<<<<<<<<<<<<
- * ctypedef npy_longlong long_t
- * ctypedef npy_longlong longlong_t
- */
-typedef npy_long __pyx_t_5numpy_int_t;
-
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":756
- * # numpy.int corresponds to 'l' and numpy.long to 'q'
- * ctypedef npy_long int_t
- * ctypedef npy_longlong long_t # <<<<<<<<<<<<<<
* ctypedef npy_longlong longlong_t
*
*/
-typedef npy_longlong __pyx_t_5numpy_long_t;
+typedef npy_long __pyx_t_5numpy_int_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":757
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":755
+ * # numpy.int corresponds to 'l' and numpy.long to 'q'
* ctypedef npy_long int_t
- * ctypedef npy_longlong long_t
* ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<<
*
* ctypedef npy_ulong uint_t
*/
typedef npy_longlong __pyx_t_5numpy_longlong_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":759
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":757
* ctypedef npy_longlong longlong_t
*
* ctypedef npy_ulong uint_t # <<<<<<<<<<<<<<
- * ctypedef npy_ulonglong ulong_t
* ctypedef npy_ulonglong ulonglong_t
+ *
*/
typedef npy_ulong __pyx_t_5numpy_uint_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":760
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":758
*
* ctypedef npy_ulong uint_t
- * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<<
- * ctypedef npy_ulonglong ulonglong_t
- *
- */
-typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
-
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":761
- * ctypedef npy_ulong uint_t
- * ctypedef npy_ulonglong ulong_t
* ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<<
*
* ctypedef npy_intp intp_t
*/
typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":763
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":760
* ctypedef npy_ulonglong ulonglong_t
*
* ctypedef npy_intp intp_t # <<<<<<<<<<<<<<
@@ -1730,7 +1824,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
*/
typedef npy_intp __pyx_t_5numpy_intp_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":764
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":761
*
* ctypedef npy_intp intp_t
* ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<<
@@ -1739,7 +1833,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t;
*/
typedef npy_uintp __pyx_t_5numpy_uintp_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":766
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":763
* ctypedef npy_uintp uintp_t
*
* ctypedef npy_double float_t # <<<<<<<<<<<<<<
@@ -1748,7 +1842,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t;
*/
typedef npy_double __pyx_t_5numpy_float_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":767
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":764
*
* ctypedef npy_double float_t
* ctypedef npy_double double_t # <<<<<<<<<<<<<<
@@ -1757,7 +1851,7 @@ typedef npy_double __pyx_t_5numpy_float_t;
*/
typedef npy_double __pyx_t_5numpy_double_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":768
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":765
* ctypedef npy_double float_t
* ctypedef npy_double double_t
* ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<<
@@ -1803,7 +1897,7 @@ struct __pyx_MemviewEnum_obj;
struct __pyx_memoryview_obj;
struct __pyx_memoryviewslice_obj;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":770
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":767
* ctypedef npy_longdouble longdouble_t
*
* ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<<
@@ -1812,7 +1906,7 @@ struct __pyx_memoryviewslice_obj;
*/
typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":771
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":768
*
* ctypedef npy_cfloat cfloat_t
* ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<<
@@ -1821,7 +1915,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
*/
typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":772
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":769
* ctypedef npy_cfloat cfloat_t
* ctypedef npy_cdouble cdouble_t
* ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<<
@@ -1830,7 +1924,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
*/
typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":774
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":771
* ctypedef npy_clongdouble clongdouble_t
*
* ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<<
@@ -2220,7 +2314,20 @@ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int eq
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
/* fastcall.proto */
-#define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
+#if CYTHON_AVOID_BORROWED_REFS
+ #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i)
+#elif CYTHON_ASSUME_SAFE_MACROS
+ #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
+#else
+ #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i)
+#endif
+#if CYTHON_AVOID_BORROWED_REFS
+ #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg)
+ #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg)
+#else
+ #define __Pyx_Arg_NewRef_VARARGS(arg) arg // no-op
+ #define __Pyx_Arg_XDECREF_VARARGS(arg) // no-op - arg is borrowed
+#endif
#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
#define __Pyx_KwValues_VARARGS(args, nargs) NULL
#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s)
@@ -2230,15 +2337,23 @@ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int
#define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds)
#define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s);
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
+ static CYTHON_UNUSED PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
+ #else
#define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
+ #endif
+ #define __Pyx_Arg_NewRef_FASTCALL(arg) arg // no-op, __Pyx_Arg_FASTCALL is direct and this needs
+ #define __Pyx_Arg_XDECREF_FASTCALL(arg) // no-op - arg was returned from array
#else
#define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS
#define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
#define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS
#define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS
#define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS
+ #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg)
+ #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg)
#endif
-#if CYTHON_COMPILING_IN_CPYTHON
+#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start)
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start)
#else
@@ -2274,7 +2389,7 @@ static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args,
#if !CYTHON_VECTORCALL
#if PY_VERSION_HEX >= 0x03080000
#include "frameobject.h"
-#if PY_VERSION_HEX >= 0x030b00a6
+#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
#ifndef Py_BUILD_CORE
#define Py_BUILD_CORE 1
#endif
@@ -2426,7 +2541,11 @@ static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
/* HasAttr.proto */
+#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
+#define __Pyx_HasAttr(o, n) PyObject_HasAttrWithError(o, n)
+#else
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);
+#endif
/* ArgTypeTest.proto */
#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
@@ -2492,20 +2611,34 @@ static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t, Py_ssize_t);
(((x) < 0) & ((unsigned long)(x) == 0-(unsigned long)(x)))
/* AssertionsEnabled.proto */
-#define __Pyx_init_assertions_enabled()
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
- #define __pyx_assertions_enabled() (1)
-#elif PY_VERSION_HEX < 0x03080000 || CYTHON_COMPILING_IN_PYPY || defined(Py_LIMITED_API)
- #define __pyx_assertions_enabled() (!Py_OptimizeFlag)
-#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030900A6
+ #define __Pyx_init_assertions_enabled() (0)
+ #define __pyx_assertions_enabled() (1)
+#elif CYTHON_COMPILING_IN_LIMITED_API || (CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030C0000)
static int __pyx_assertions_enabled_flag;
#define __pyx_assertions_enabled() (__pyx_assertions_enabled_flag)
- #undef __Pyx_init_assertions_enabled
- static void __Pyx_init_assertions_enabled(void) {
- __pyx_assertions_enabled_flag = ! _PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
+ static int __Pyx_init_assertions_enabled(void) {
+ PyObject *builtins, *debug, *debug_str;
+ int flag;
+ builtins = PyEval_GetBuiltins();
+ if (!builtins) goto bad;
+ debug_str = PyUnicode_FromStringAndSize("__debug__", 9);
+ if (!debug_str) goto bad;
+ debug = PyObject_GetItem(builtins, debug_str);
+ Py_DECREF(debug_str);
+ if (!debug) goto bad;
+ flag = PyObject_IsTrue(debug);
+ Py_DECREF(debug);
+ if (flag == -1) goto bad;
+ __pyx_assertions_enabled_flag = flag;
+ return 0;
+ bad:
+ __pyx_assertions_enabled_flag = 1;
+ return -1;
}
#else
- #define __pyx_assertions_enabled() (!Py_OptimizeFlag)
+ #define __Pyx_init_assertions_enabled() (0)
+ #define __pyx_assertions_enabled() (!Py_OptimizeFlag)
#endif
/* RaiseTooManyValuesToUnpack.proto */
@@ -2558,9 +2691,6 @@ static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple)
static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple);
#endif
-/* ssize_strlen.proto */
-static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
-
/* FastTypeChecks.proto */
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
@@ -2586,7 +2716,11 @@ static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
Py_ssize_t len = Py_SIZE(list);
if (likely(L->allocated > len)) {
Py_INCREF(x);
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
+ L->ob_item[len] = x;
+ #else
PyList_SET_ITEM(list, len, x);
+ #endif
__Pyx_SET_SIZE(list, len + 1);
return 0;
}
@@ -2623,7 +2757,11 @@ static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
Py_ssize_t len = Py_SIZE(list);
if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
Py_INCREF(x);
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
+ L->ob_item[len] = x;
+ #else
PyList_SET_ITEM(list, len, x);
+ #endif
__Pyx_SET_SIZE(list, len + 1);
return 0;
}
@@ -2633,6 +2771,15 @@ static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
#endif
+/* PyObjectCall2Args.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
+
+/* PyObjectGetMethod.proto */
+static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
+
+/* PyObjectCallMethod1.proto */
+static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
+
/* StringJoin.proto */
#if PY_MAJOR_VERSION < 3
#define __Pyx_PyString_Join __Pyx_PyBytes_Join
@@ -2641,21 +2788,13 @@ static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
#define __Pyx_PyString_Join PyUnicode_Join
#define __Pyx_PyBaseString_Join PyUnicode_Join
#endif
-#if CYTHON_COMPILING_IN_CPYTHON
- #if PY_MAJOR_VERSION < 3
- #define __Pyx_PyBytes_Join _PyString_Join
- #else
- #define __Pyx_PyBytes_Join _PyBytes_Join
- #endif
-#else
static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values);
-#endif
/* CIntToPyUnicode.proto */
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_From_size_t(size_t value, Py_ssize_t width, char padding_char, char format_char);
/* MoveIfSupported.proto */
-#if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)
+#if CYTHON_USE_CPP_STD_MOVE
#include
#define __PYX_STD_MOVE_IF_SUPPORTED(x) std::move(x)
#else
@@ -2722,9 +2861,6 @@ static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_nam
static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type);
#endif
-/* PyObjectGetMethod.proto */
-static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
-
/* PyObjectCallMethod0.proto */
static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);
@@ -2753,22 +2889,22 @@ static int __Pyx_setup_reduce(PyObject* type_obj);
#endif
/* TypeImport.proto */
-#ifndef __PYX_HAVE_RT_ImportType_proto_3_0_0
-#define __PYX_HAVE_RT_ImportType_proto_3_0_0
+#ifndef __PYX_HAVE_RT_ImportType_proto_3_0_5
+#define __PYX_HAVE_RT_ImportType_proto_3_0_5
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
#include
#endif
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L
-#define __PYX_GET_STRUCT_ALIGNMENT_3_0_0(s) alignof(s)
+#define __PYX_GET_STRUCT_ALIGNMENT_3_0_5(s) alignof(s)
#else
-#define __PYX_GET_STRUCT_ALIGNMENT_3_0_0(s) sizeof(void*)
+#define __PYX_GET_STRUCT_ALIGNMENT_3_0_5(s) sizeof(void*)
#endif
-enum __Pyx_ImportType_CheckSize_3_0_0 {
- __Pyx_ImportType_CheckSize_Error_3_0_0 = 0,
- __Pyx_ImportType_CheckSize_Warn_3_0_0 = 1,
- __Pyx_ImportType_CheckSize_Ignore_3_0_0 = 2
+enum __Pyx_ImportType_CheckSize_3_0_5 {
+ __Pyx_ImportType_CheckSize_Error_3_0_5 = 0,
+ __Pyx_ImportType_CheckSize_Warn_3_0_5 = 1,
+ __Pyx_ImportType_CheckSize_Ignore_3_0_5 = 2
};
-static PyTypeObject *__Pyx_ImportType_3_0_0(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_0 check_size);
+static PyTypeObject *__Pyx_ImportType_3_0_5(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_5 check_size);
#endif
/* FetchSharedCythonModule.proto */
@@ -2782,7 +2918,22 @@ static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec
#endif
/* PyMethodNew.proto */
-#if PY_MAJOR_VERSION >= 3
+#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
+ PyObject *typesModule=NULL, *methodType=NULL, *result=NULL;
+ CYTHON_UNUSED_VAR(typ);
+ if (!self)
+ return __Pyx_NewRef(func);
+ typesModule = PyImport_ImportModule("types");
+ if (!typesModule) return NULL;
+ methodType = PyObject_GetAttrString(typesModule, "MethodType");
+ Py_DECREF(typesModule);
+ if (!methodType) return NULL;
+ result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL);
+ Py_DECREF(methodType);
+ return result;
+}
+#elif PY_MAJOR_VERSION >= 3
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
CYTHON_UNUSED_VAR(typ);
if (!self)
@@ -2806,7 +2957,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, _
#define __Pyx_CYFUNCTION_COROUTINE 0x08
#define __Pyx_CyFunction_GetClosure(f)\
(((__pyx_CyFunctionObject *) (f))->func_closure)
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_GetClassObj(f)\
(((__pyx_CyFunctionObject *) (f))->func_classobj)
#else
@@ -2820,7 +2971,10 @@ static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, _
#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
typedef struct {
-#if PY_VERSION_HEX < 0x030900B1
+#if CYTHON_COMPILING_IN_LIMITED_API
+ PyObject_HEAD
+ PyObject *func;
+#elif PY_VERSION_HEX < 0x030900B1
PyCFunctionObject func;
#else
PyCMethodObject func;
@@ -2828,7 +2982,7 @@ typedef struct {
#if CYTHON_BACKPORT_VECTORCALL
__pyx_vectorcallfunc func_vectorcall;
#endif
-#if PY_VERSION_HEX < 0x030500A0
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
PyObject *func_weakreflist;
#endif
PyObject *func_dict;
@@ -2838,7 +2992,7 @@ typedef struct {
PyObject *func_globals;
PyObject *func_code;
PyObject *func_closure;
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
PyObject *func_classobj;
#endif
void *defaults;
@@ -2851,9 +3005,13 @@ typedef struct {
PyObject *func_annotations;
PyObject *func_is_coroutine;
} __pyx_CyFunctionObject;
+#undef __Pyx_CyOrPyCFunction_Check
#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType)
-#define __Pyx_IsCyOrPyCFunction(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
+#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
#define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType)
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc);
+#undef __Pyx_IsSameCFunction
+#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc)
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
int flags, PyObject* qualname,
PyObject *closure,
@@ -2893,7 +3051,7 @@ static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
static PyObject* __Pyx_PEP560_update_bases(PyObject *bases);
/* SetNameInClass.proto */
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
#define __Pyx_SetNameInClass(ns, name, value)\
(likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
#elif CYTHON_COMPILING_IN_CPYTHON
@@ -2909,9 +3067,6 @@ static int __Pyx_SetNewInClass(PyObject *ns, PyObject *name, PyObject *value);
/* CalculateMetaclass.proto */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
-/* PyObjectCall2Args.proto */
-static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
-
/* PyObjectLookupSpecial.proto */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
#define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 0)
@@ -3298,7 +3453,8 @@ typedef const char *__Pyx_TypeName;
#endif
/* CheckBinaryVersion.proto */
-static int __Pyx_check_binary_version(void);
+static unsigned long __Pyx_get_runtime_version(void);
+static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);
/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
@@ -3458,7 +3614,7 @@ static const char __pyx_k_T[] = "T{";
static const char __pyx_k__13[] = "}";
static const char __pyx_k__14[] = "(";
static const char __pyx_k__15[] = ",";
-static const char __pyx_k__68[] = "?";
+static const char __pyx_k__67[] = "?";
static const char __pyx_k_abc[] = "abc";
static const char __pyx_k_and[] = " and ";
static const char __pyx_k_buf[] = "buf";
@@ -3950,7 +4106,7 @@ typedef struct {
PyObject *__pyx_kp_u__3;
PyObject *__pyx_kp_u__4;
PyObject *__pyx_n_s__5;
- PyObject *__pyx_n_s__68;
+ PyObject *__pyx_n_s__67;
PyObject *__pyx_kp_u__8;
PyObject *__pyx_kp_u__9;
PyObject *__pyx_n_s_abc;
@@ -4126,8 +4282,8 @@ typedef struct {
PyObject *__pyx_tuple__22;
PyObject *__pyx_tuple__24;
PyObject *__pyx_tuple__25;
- PyObject *__pyx_tuple__29;
- PyObject *__pyx_tuple__32;
+ PyObject *__pyx_tuple__31;
+ PyObject *__pyx_tuple__33;
PyObject *__pyx_tuple__34;
PyObject *__pyx_tuple__35;
PyObject *__pyx_tuple__36;
@@ -4136,41 +4292,40 @@ typedef struct {
PyObject *__pyx_tuple__39;
PyObject *__pyx_tuple__40;
PyObject *__pyx_tuple__41;
- PyObject *__pyx_tuple__42;
- PyObject *__pyx_tuple__44;
- PyObject *__pyx_tuple__48;
- PyObject *__pyx_tuple__50;
- PyObject *__pyx_tuple__52;
- PyObject *__pyx_tuple__54;
- PyObject *__pyx_tuple__58;
+ PyObject *__pyx_tuple__43;
+ PyObject *__pyx_tuple__47;
+ PyObject *__pyx_tuple__49;
+ PyObject *__pyx_tuple__51;
+ PyObject *__pyx_tuple__53;
+ PyObject *__pyx_tuple__57;
+ PyObject *__pyx_tuple__59;
PyObject *__pyx_tuple__60;
- PyObject *__pyx_tuple__61;
- PyObject *__pyx_tuple__64;
+ PyObject *__pyx_tuple__63;
PyObject *__pyx_codeobj__19;
PyObject *__pyx_codeobj__21;
PyObject *__pyx_codeobj__23;
PyObject *__pyx_codeobj__26;
PyObject *__pyx_codeobj__27;
PyObject *__pyx_codeobj__28;
+ PyObject *__pyx_codeobj__29;
PyObject *__pyx_codeobj__30;
- PyObject *__pyx_codeobj__31;
- PyObject *__pyx_codeobj__33;
- PyObject *__pyx_codeobj__43;
+ PyObject *__pyx_codeobj__32;
+ PyObject *__pyx_codeobj__42;
+ PyObject *__pyx_codeobj__44;
PyObject *__pyx_codeobj__45;
PyObject *__pyx_codeobj__46;
- PyObject *__pyx_codeobj__47;
- PyObject *__pyx_codeobj__49;
- PyObject *__pyx_codeobj__51;
- PyObject *__pyx_codeobj__53;
+ PyObject *__pyx_codeobj__48;
+ PyObject *__pyx_codeobj__50;
+ PyObject *__pyx_codeobj__52;
+ PyObject *__pyx_codeobj__54;
PyObject *__pyx_codeobj__55;
PyObject *__pyx_codeobj__56;
- PyObject *__pyx_codeobj__57;
- PyObject *__pyx_codeobj__59;
+ PyObject *__pyx_codeobj__58;
+ PyObject *__pyx_codeobj__61;
PyObject *__pyx_codeobj__62;
- PyObject *__pyx_codeobj__63;
+ PyObject *__pyx_codeobj__64;
PyObject *__pyx_codeobj__65;
PyObject *__pyx_codeobj__66;
- PyObject *__pyx_codeobj__67;
} __pyx_mstate;
#if CYTHON_USE_MODULE_STATE
@@ -4329,7 +4484,7 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_kp_u__3);
Py_CLEAR(clear_module_state->__pyx_kp_u__4);
Py_CLEAR(clear_module_state->__pyx_n_s__5);
- Py_CLEAR(clear_module_state->__pyx_n_s__68);
+ Py_CLEAR(clear_module_state->__pyx_n_s__67);
Py_CLEAR(clear_module_state->__pyx_kp_u__8);
Py_CLEAR(clear_module_state->__pyx_kp_u__9);
Py_CLEAR(clear_module_state->__pyx_n_s_abc);
@@ -4505,8 +4660,8 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_tuple__22);
Py_CLEAR(clear_module_state->__pyx_tuple__24);
Py_CLEAR(clear_module_state->__pyx_tuple__25);
- Py_CLEAR(clear_module_state->__pyx_tuple__29);
- Py_CLEAR(clear_module_state->__pyx_tuple__32);
+ Py_CLEAR(clear_module_state->__pyx_tuple__31);
+ Py_CLEAR(clear_module_state->__pyx_tuple__33);
Py_CLEAR(clear_module_state->__pyx_tuple__34);
Py_CLEAR(clear_module_state->__pyx_tuple__35);
Py_CLEAR(clear_module_state->__pyx_tuple__36);
@@ -4515,41 +4670,40 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_tuple__39);
Py_CLEAR(clear_module_state->__pyx_tuple__40);
Py_CLEAR(clear_module_state->__pyx_tuple__41);
- Py_CLEAR(clear_module_state->__pyx_tuple__42);
- Py_CLEAR(clear_module_state->__pyx_tuple__44);
- Py_CLEAR(clear_module_state->__pyx_tuple__48);
- Py_CLEAR(clear_module_state->__pyx_tuple__50);
- Py_CLEAR(clear_module_state->__pyx_tuple__52);
- Py_CLEAR(clear_module_state->__pyx_tuple__54);
- Py_CLEAR(clear_module_state->__pyx_tuple__58);
+ Py_CLEAR(clear_module_state->__pyx_tuple__43);
+ Py_CLEAR(clear_module_state->__pyx_tuple__47);
+ Py_CLEAR(clear_module_state->__pyx_tuple__49);
+ Py_CLEAR(clear_module_state->__pyx_tuple__51);
+ Py_CLEAR(clear_module_state->__pyx_tuple__53);
+ Py_CLEAR(clear_module_state->__pyx_tuple__57);
+ Py_CLEAR(clear_module_state->__pyx_tuple__59);
Py_CLEAR(clear_module_state->__pyx_tuple__60);
- Py_CLEAR(clear_module_state->__pyx_tuple__61);
- Py_CLEAR(clear_module_state->__pyx_tuple__64);
+ Py_CLEAR(clear_module_state->__pyx_tuple__63);
Py_CLEAR(clear_module_state->__pyx_codeobj__19);
Py_CLEAR(clear_module_state->__pyx_codeobj__21);
Py_CLEAR(clear_module_state->__pyx_codeobj__23);
Py_CLEAR(clear_module_state->__pyx_codeobj__26);
Py_CLEAR(clear_module_state->__pyx_codeobj__27);
Py_CLEAR(clear_module_state->__pyx_codeobj__28);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__29);
Py_CLEAR(clear_module_state->__pyx_codeobj__30);
- Py_CLEAR(clear_module_state->__pyx_codeobj__31);
- Py_CLEAR(clear_module_state->__pyx_codeobj__33);
- Py_CLEAR(clear_module_state->__pyx_codeobj__43);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__32);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__42);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__44);
Py_CLEAR(clear_module_state->__pyx_codeobj__45);
Py_CLEAR(clear_module_state->__pyx_codeobj__46);
- Py_CLEAR(clear_module_state->__pyx_codeobj__47);
- Py_CLEAR(clear_module_state->__pyx_codeobj__49);
- Py_CLEAR(clear_module_state->__pyx_codeobj__51);
- Py_CLEAR(clear_module_state->__pyx_codeobj__53);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__48);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__50);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__52);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__54);
Py_CLEAR(clear_module_state->__pyx_codeobj__55);
Py_CLEAR(clear_module_state->__pyx_codeobj__56);
- Py_CLEAR(clear_module_state->__pyx_codeobj__57);
- Py_CLEAR(clear_module_state->__pyx_codeobj__59);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__58);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__61);
Py_CLEAR(clear_module_state->__pyx_codeobj__62);
- Py_CLEAR(clear_module_state->__pyx_codeobj__63);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__64);
Py_CLEAR(clear_module_state->__pyx_codeobj__65);
Py_CLEAR(clear_module_state->__pyx_codeobj__66);
- Py_CLEAR(clear_module_state->__pyx_codeobj__67);
return 0;
}
#endif
@@ -4686,7 +4840,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_kp_u__3);
Py_VISIT(traverse_module_state->__pyx_kp_u__4);
Py_VISIT(traverse_module_state->__pyx_n_s__5);
- Py_VISIT(traverse_module_state->__pyx_n_s__68);
+ Py_VISIT(traverse_module_state->__pyx_n_s__67);
Py_VISIT(traverse_module_state->__pyx_kp_u__8);
Py_VISIT(traverse_module_state->__pyx_kp_u__9);
Py_VISIT(traverse_module_state->__pyx_n_s_abc);
@@ -4862,8 +5016,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_tuple__22);
Py_VISIT(traverse_module_state->__pyx_tuple__24);
Py_VISIT(traverse_module_state->__pyx_tuple__25);
- Py_VISIT(traverse_module_state->__pyx_tuple__29);
- Py_VISIT(traverse_module_state->__pyx_tuple__32);
+ Py_VISIT(traverse_module_state->__pyx_tuple__31);
+ Py_VISIT(traverse_module_state->__pyx_tuple__33);
Py_VISIT(traverse_module_state->__pyx_tuple__34);
Py_VISIT(traverse_module_state->__pyx_tuple__35);
Py_VISIT(traverse_module_state->__pyx_tuple__36);
@@ -4872,41 +5026,40 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_tuple__39);
Py_VISIT(traverse_module_state->__pyx_tuple__40);
Py_VISIT(traverse_module_state->__pyx_tuple__41);
- Py_VISIT(traverse_module_state->__pyx_tuple__42);
- Py_VISIT(traverse_module_state->__pyx_tuple__44);
- Py_VISIT(traverse_module_state->__pyx_tuple__48);
- Py_VISIT(traverse_module_state->__pyx_tuple__50);
- Py_VISIT(traverse_module_state->__pyx_tuple__52);
- Py_VISIT(traverse_module_state->__pyx_tuple__54);
- Py_VISIT(traverse_module_state->__pyx_tuple__58);
+ Py_VISIT(traverse_module_state->__pyx_tuple__43);
+ Py_VISIT(traverse_module_state->__pyx_tuple__47);
+ Py_VISIT(traverse_module_state->__pyx_tuple__49);
+ Py_VISIT(traverse_module_state->__pyx_tuple__51);
+ Py_VISIT(traverse_module_state->__pyx_tuple__53);
+ Py_VISIT(traverse_module_state->__pyx_tuple__57);
+ Py_VISIT(traverse_module_state->__pyx_tuple__59);
Py_VISIT(traverse_module_state->__pyx_tuple__60);
- Py_VISIT(traverse_module_state->__pyx_tuple__61);
- Py_VISIT(traverse_module_state->__pyx_tuple__64);
+ Py_VISIT(traverse_module_state->__pyx_tuple__63);
Py_VISIT(traverse_module_state->__pyx_codeobj__19);
Py_VISIT(traverse_module_state->__pyx_codeobj__21);
Py_VISIT(traverse_module_state->__pyx_codeobj__23);
Py_VISIT(traverse_module_state->__pyx_codeobj__26);
Py_VISIT(traverse_module_state->__pyx_codeobj__27);
Py_VISIT(traverse_module_state->__pyx_codeobj__28);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__29);
Py_VISIT(traverse_module_state->__pyx_codeobj__30);
- Py_VISIT(traverse_module_state->__pyx_codeobj__31);
- Py_VISIT(traverse_module_state->__pyx_codeobj__33);
- Py_VISIT(traverse_module_state->__pyx_codeobj__43);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__32);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__42);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__44);
Py_VISIT(traverse_module_state->__pyx_codeobj__45);
Py_VISIT(traverse_module_state->__pyx_codeobj__46);
- Py_VISIT(traverse_module_state->__pyx_codeobj__47);
- Py_VISIT(traverse_module_state->__pyx_codeobj__49);
- Py_VISIT(traverse_module_state->__pyx_codeobj__51);
- Py_VISIT(traverse_module_state->__pyx_codeobj__53);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__48);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__50);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__52);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__54);
Py_VISIT(traverse_module_state->__pyx_codeobj__55);
Py_VISIT(traverse_module_state->__pyx_codeobj__56);
- Py_VISIT(traverse_module_state->__pyx_codeobj__57);
- Py_VISIT(traverse_module_state->__pyx_codeobj__59);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__58);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__61);
Py_VISIT(traverse_module_state->__pyx_codeobj__62);
- Py_VISIT(traverse_module_state->__pyx_codeobj__63);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__64);
Py_VISIT(traverse_module_state->__pyx_codeobj__65);
Py_VISIT(traverse_module_state->__pyx_codeobj__66);
- Py_VISIT(traverse_module_state->__pyx_codeobj__67);
return 0;
}
#endif
@@ -5087,7 +5240,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_kp_u__3 __pyx_mstate_global->__pyx_kp_u__3
#define __pyx_kp_u__4 __pyx_mstate_global->__pyx_kp_u__4
#define __pyx_n_s__5 __pyx_mstate_global->__pyx_n_s__5
-#define __pyx_n_s__68 __pyx_mstate_global->__pyx_n_s__68
+#define __pyx_n_s__67 __pyx_mstate_global->__pyx_n_s__67
#define __pyx_kp_u__8 __pyx_mstate_global->__pyx_kp_u__8
#define __pyx_kp_u__9 __pyx_mstate_global->__pyx_kp_u__9
#define __pyx_n_s_abc __pyx_mstate_global->__pyx_n_s_abc
@@ -5263,8 +5416,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_tuple__22 __pyx_mstate_global->__pyx_tuple__22
#define __pyx_tuple__24 __pyx_mstate_global->__pyx_tuple__24
#define __pyx_tuple__25 __pyx_mstate_global->__pyx_tuple__25
-#define __pyx_tuple__29 __pyx_mstate_global->__pyx_tuple__29
-#define __pyx_tuple__32 __pyx_mstate_global->__pyx_tuple__32
+#define __pyx_tuple__31 __pyx_mstate_global->__pyx_tuple__31
+#define __pyx_tuple__33 __pyx_mstate_global->__pyx_tuple__33
#define __pyx_tuple__34 __pyx_mstate_global->__pyx_tuple__34
#define __pyx_tuple__35 __pyx_mstate_global->__pyx_tuple__35
#define __pyx_tuple__36 __pyx_mstate_global->__pyx_tuple__36
@@ -5273,41 +5426,40 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_tuple__39 __pyx_mstate_global->__pyx_tuple__39
#define __pyx_tuple__40 __pyx_mstate_global->__pyx_tuple__40
#define __pyx_tuple__41 __pyx_mstate_global->__pyx_tuple__41
-#define __pyx_tuple__42 __pyx_mstate_global->__pyx_tuple__42
-#define __pyx_tuple__44 __pyx_mstate_global->__pyx_tuple__44
-#define __pyx_tuple__48 __pyx_mstate_global->__pyx_tuple__48
-#define __pyx_tuple__50 __pyx_mstate_global->__pyx_tuple__50
-#define __pyx_tuple__52 __pyx_mstate_global->__pyx_tuple__52
-#define __pyx_tuple__54 __pyx_mstate_global->__pyx_tuple__54
-#define __pyx_tuple__58 __pyx_mstate_global->__pyx_tuple__58
+#define __pyx_tuple__43 __pyx_mstate_global->__pyx_tuple__43
+#define __pyx_tuple__47 __pyx_mstate_global->__pyx_tuple__47
+#define __pyx_tuple__49 __pyx_mstate_global->__pyx_tuple__49
+#define __pyx_tuple__51 __pyx_mstate_global->__pyx_tuple__51
+#define __pyx_tuple__53 __pyx_mstate_global->__pyx_tuple__53
+#define __pyx_tuple__57 __pyx_mstate_global->__pyx_tuple__57
+#define __pyx_tuple__59 __pyx_mstate_global->__pyx_tuple__59
#define __pyx_tuple__60 __pyx_mstate_global->__pyx_tuple__60
-#define __pyx_tuple__61 __pyx_mstate_global->__pyx_tuple__61
-#define __pyx_tuple__64 __pyx_mstate_global->__pyx_tuple__64
+#define __pyx_tuple__63 __pyx_mstate_global->__pyx_tuple__63
#define __pyx_codeobj__19 __pyx_mstate_global->__pyx_codeobj__19
#define __pyx_codeobj__21 __pyx_mstate_global->__pyx_codeobj__21
#define __pyx_codeobj__23 __pyx_mstate_global->__pyx_codeobj__23
#define __pyx_codeobj__26 __pyx_mstate_global->__pyx_codeobj__26
#define __pyx_codeobj__27 __pyx_mstate_global->__pyx_codeobj__27
#define __pyx_codeobj__28 __pyx_mstate_global->__pyx_codeobj__28
+#define __pyx_codeobj__29 __pyx_mstate_global->__pyx_codeobj__29
#define __pyx_codeobj__30 __pyx_mstate_global->__pyx_codeobj__30
-#define __pyx_codeobj__31 __pyx_mstate_global->__pyx_codeobj__31
-#define __pyx_codeobj__33 __pyx_mstate_global->__pyx_codeobj__33
-#define __pyx_codeobj__43 __pyx_mstate_global->__pyx_codeobj__43
+#define __pyx_codeobj__32 __pyx_mstate_global->__pyx_codeobj__32
+#define __pyx_codeobj__42 __pyx_mstate_global->__pyx_codeobj__42
+#define __pyx_codeobj__44 __pyx_mstate_global->__pyx_codeobj__44
#define __pyx_codeobj__45 __pyx_mstate_global->__pyx_codeobj__45
#define __pyx_codeobj__46 __pyx_mstate_global->__pyx_codeobj__46
-#define __pyx_codeobj__47 __pyx_mstate_global->__pyx_codeobj__47
-#define __pyx_codeobj__49 __pyx_mstate_global->__pyx_codeobj__49
-#define __pyx_codeobj__51 __pyx_mstate_global->__pyx_codeobj__51
-#define __pyx_codeobj__53 __pyx_mstate_global->__pyx_codeobj__53
+#define __pyx_codeobj__48 __pyx_mstate_global->__pyx_codeobj__48
+#define __pyx_codeobj__50 __pyx_mstate_global->__pyx_codeobj__50
+#define __pyx_codeobj__52 __pyx_mstate_global->__pyx_codeobj__52
+#define __pyx_codeobj__54 __pyx_mstate_global->__pyx_codeobj__54
#define __pyx_codeobj__55 __pyx_mstate_global->__pyx_codeobj__55
#define __pyx_codeobj__56 __pyx_mstate_global->__pyx_codeobj__56
-#define __pyx_codeobj__57 __pyx_mstate_global->__pyx_codeobj__57
-#define __pyx_codeobj__59 __pyx_mstate_global->__pyx_codeobj__59
+#define __pyx_codeobj__58 __pyx_mstate_global->__pyx_codeobj__58
+#define __pyx_codeobj__61 __pyx_mstate_global->__pyx_codeobj__61
#define __pyx_codeobj__62 __pyx_mstate_global->__pyx_codeobj__62
-#define __pyx_codeobj__63 __pyx_mstate_global->__pyx_codeobj__63
+#define __pyx_codeobj__64 __pyx_mstate_global->__pyx_codeobj__64
#define __pyx_codeobj__65 __pyx_mstate_global->__pyx_codeobj__65
#define __pyx_codeobj__66 __pyx_mstate_global->__pyx_codeobj__66
-#define __pyx_codeobj__67 __pyx_mstate_global->__pyx_codeobj__67
/* #### Code section: module_code ### */
/* "string.from_py":13
@@ -5322,13 +5474,11 @@ static std::string __pyx_convert_string_from_py_std__in_string(PyObject *__pyx_v
Py_ssize_t __pyx_v_length;
char const *__pyx_v_data;
std::string __pyx_r;
- __Pyx_RefNannyDeclarations
char const *__pyx_t_1;
std::string __pyx_t_2;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_string_from_py_std__in_string", 0);
/* "string.from_py":14
* @cname("__pyx_convert_string_from_py_std__in_string")
@@ -5378,7 +5528,6 @@ static std::string __pyx_convert_string_from_py_std__in_string(PyObject *__pyx_v
__Pyx_AddTraceback("string.from_py.__pyx_convert_string_from_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_pretend_to_initialize(&__pyx_r);
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5397,7 +5546,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_std__in_strin
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyObject_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyObject_string_to_py_std__in_string", 1);
/* "string.to_py":32
* @cname("__pyx_convert_PyObject_string_to_py_std__in_string")
@@ -5447,7 +5596,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_std__in_stri
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyUnicode_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyUnicode_string_to_py_std__in_string", 1);
/* "string.to_py":38
* @cname("__pyx_convert_PyUnicode_string_to_py_std__in_string")
@@ -5497,7 +5646,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_std__in_string(s
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyStr_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyStr_string_to_py_std__in_string", 1);
/* "string.to_py":44
* @cname("__pyx_convert_PyStr_string_to_py_std__in_string")
@@ -5547,7 +5696,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyBytes_string_to_py_std__in_string
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyBytes_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyBytes_string_to_py_std__in_string", 1);
/* "string.to_py":50
* @cname("__pyx_convert_PyBytes_string_to_py_std__in_string")
@@ -5597,7 +5746,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_std__in_st
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyByteArray_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyByteArray_string_to_py_std__in_string", 1);
/* "string.to_py":56
* @cname("__pyx_convert_PyByteArray_string_to_py_std__in_string")
@@ -5650,7 +5799,7 @@ static PyObject *__pyx_convert_set_to_py_enum__VisionStreamType(std::set 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -6098,7 +6292,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_6__reduce_cython__(struct _
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":5
* cdef object _dict
@@ -6143,7 +6337,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_6__reduce_cython__(struct _
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v__dict);
__Pyx_GIVEREF(__pyx_v__dict);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict)) __PYX_ERR(1, 8, __pyx_L1_error);
__pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -6204,22 +6398,22 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_6__reduce_cython__(struct _
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(1, 13, __pyx_L1_error);
__Pyx_INCREF(__pyx_int_238750788);
__Pyx_GIVEREF(__pyx_int_238750788);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_238750788);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_238750788)) __PYX_ERR(1, 13, __pyx_L1_error);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
- PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None)) __PYX_ERR(1, 13, __pyx_L1_error);
__pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_state);
__Pyx_GIVEREF(__pyx_v_state);
- PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state)) __PYX_ERR(1, 13, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_1 = 0;
__pyx_r = __pyx_t_4;
@@ -6250,19 +6444,19 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_6__reduce_cython__(struct _
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(1, 15, __pyx_L1_error);
__Pyx_INCREF(__pyx_int_238750788);
__Pyx_GIVEREF(__pyx_int_238750788);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_238750788);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_238750788)) __PYX_ERR(1, 15, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_state);
__Pyx_GIVEREF(__pyx_v_state);
- PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state)) __PYX_ERR(1, 15, __pyx_L1_error);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error);
__pyx_t_4 = 0;
__pyx_t_1 = 0;
__pyx_r = __pyx_t_3;
@@ -6316,18 +6510,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6339,7 +6541,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -6354,10 +6559,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 16, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_EnumMeta.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6365,6 +6578,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumMeta_8__setstate_cython__(((struct __pyx_obj___Pyx_EnumMeta *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6376,7 +6595,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_8__setstate_cython__(struct
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":17
* return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, state)
@@ -6436,19 +6655,27 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
PyObject *__pyx_v_value = 0;
PyObject *__pyx_v_name = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[3] = {0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__new__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cls,&__pyx_n_s_value,&__pyx_n_s_name,0};
- PyObject* values[3] = {0,0,0};
- values[2] = ((PyObject *)((PyObject *)Py_None));
+ values[2] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)Py_None));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6464,12 +6691,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_cls)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_cls)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__new__", 0, 2, 3, 1); __PYX_ERR(1, 28, __pyx_L3_error)
@@ -6478,7 +6711,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name);
- if (value) { values[2] = value; kw_args--; }
+ if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28, __pyx_L3_error)
}
}
@@ -6500,10 +6733,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_value = values[1];
__pyx_v_name = values[2];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__new__", 0, 2, 3, __pyx_nargs); __PYX_ERR(1, 28, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_EnumBase.__new__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6511,6 +6752,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(__pyx_self, __pyx_v_cls, __pyx_v_value, __pyx_v_name);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6531,7 +6778,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(CYTHON_UNUSED PyObj
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__new__", 0);
+ __Pyx_RefNannySetupContext("__new__", 1);
/* "EnumBase":29
* class __Pyx_EnumBase(int, metaclass=__Pyx_EnumMeta):
@@ -6541,7 +6788,8 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(CYTHON_UNUSED PyObj
* return v
*/
if (likely(PyList_CheckExact(__pyx_v_cls)) || PyTuple_CheckExact(__pyx_v_cls)) {
- __pyx_t_1 = __pyx_v_cls; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+ __pyx_t_1 = __pyx_v_cls; __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_2 = 0;
__pyx_t_3 = NULL;
} else {
__pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_cls); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29, __pyx_L1_error)
@@ -6551,19 +6799,31 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(CYTHON_UNUSED PyObj
for (;;) {
if (likely(!__pyx_t_3)) {
if (likely(PyList_CheckExact(__pyx_t_1))) {
- if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 29, __pyx_L1_error)
+ #endif
+ if (__pyx_t_2 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 29, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
- if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 29, __pyx_L1_error)
+ #endif
+ if (__pyx_t_2 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 29, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
@@ -6672,7 +6932,8 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(CYTHON_UNUSED PyObj
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
@@ -6682,6 +6943,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(CYTHON_UNUSED PyObj
__pyx_t_7 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_cls, __pyx_v_value};
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7);
@@ -6784,18 +7046,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_self = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6807,7 +7077,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -6822,10 +7095,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_self = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__repr__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 39, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_EnumBase.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6833,6 +7114,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumBase_2__repr__(__pyx_self, __pyx_v_self);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6846,7 +7133,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_2__repr__(CYTHON_UNUSED PyO
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__repr__", 0);
+ __Pyx_RefNannySetupContext("__repr__", 1);
/* "EnumBase":40
* return res
@@ -6866,12 +7153,12 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_2__repr__(CYTHON_UNUSED PyO
__pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(1, 40, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(1, 40, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_self);
__Pyx_GIVEREF(__pyx_v_self);
- PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self)) __PYX_ERR(1, 40, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s_d, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40, __pyx_L1_error)
@@ -6928,18 +7215,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_self = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6951,7 +7246,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -6966,10 +7264,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_self = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__str__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 41, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_EnumBase.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6977,6 +7283,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumBase_4__str__(__pyx_self, __pyx_v_self);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6990,7 +7302,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_4__str__(CYTHON_UNUSED PyOb
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__str__", 0);
+ __Pyx_RefNannySetupContext("__str__", 1);
/* "EnumBase":42
* return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
@@ -7010,9 +7322,9 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_4__str__(CYTHON_UNUSED PyOb
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 42, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(1, 42, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(1, 42, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42, __pyx_L1_error)
@@ -7071,19 +7383,27 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
PyObject *__pyx_v_value = 0;
PyObject *__pyx_v_name = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[3] = {0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__new__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cls,&__pyx_n_s_value,&__pyx_n_s_name,0};
- PyObject* values[3] = {0,0,0};
- values[2] = ((PyObject *)((PyObject *)Py_None));
+ values[2] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)Py_None));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7099,12 +7419,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_cls)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_cls)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 49, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 49, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__new__", 0, 2, 3, 1); __PYX_ERR(1, 49, __pyx_L3_error)
@@ -7113,7 +7439,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name);
- if (value) { values[2] = value; kw_args--; }
+ if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 49, __pyx_L3_error)
}
}
@@ -7135,10 +7461,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_value = values[1];
__pyx_v_name = values[2];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__new__", 0, 2, 3, __pyx_nargs); __PYX_ERR(1, 49, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_FlagBase.__new__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7146,6 +7480,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(__pyx_self, __pyx_v_cls, __pyx_v_value, __pyx_v_name);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7166,7 +7506,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(CYTHON_UNUSED PyObj
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__new__", 0);
+ __Pyx_RefNannySetupContext("__new__", 1);
/* "EnumBase":50
* class __Pyx_FlagBase(int, metaclass=__Pyx_EnumMeta):
@@ -7176,7 +7516,8 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(CYTHON_UNUSED PyObj
* return v
*/
if (likely(PyList_CheckExact(__pyx_v_cls)) || PyTuple_CheckExact(__pyx_v_cls)) {
- __pyx_t_1 = __pyx_v_cls; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+ __pyx_t_1 = __pyx_v_cls; __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_2 = 0;
__pyx_t_3 = NULL;
} else {
__pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_cls); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 50, __pyx_L1_error)
@@ -7186,19 +7527,31 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(CYTHON_UNUSED PyObj
for (;;) {
if (likely(!__pyx_t_3)) {
if (likely(PyList_CheckExact(__pyx_t_1))) {
- if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 50, __pyx_L1_error)
+ #endif
+ if (__pyx_t_2 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 50, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 50, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
- if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 50, __pyx_L1_error)
+ #endif
+ if (__pyx_t_2 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 50, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 50, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
@@ -7272,7 +7625,8 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(CYTHON_UNUSED PyObj
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
@@ -7282,6 +7636,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(CYTHON_UNUSED PyObj
__pyx_t_7 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_cls, __pyx_v_value};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7);
@@ -7416,18 +7771,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_self = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7439,7 +7802,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 62, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -7454,10 +7820,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_self = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__repr__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 62, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_FlagBase.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7465,6 +7839,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_FlagBase_2__repr__(__pyx_self, __pyx_v_self);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7478,7 +7858,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase_2__repr__(CYTHON_UNUSED PyO
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__repr__", 0);
+ __Pyx_RefNannySetupContext("__repr__", 1);
/* "EnumBase":63
* return res
@@ -7498,12 +7878,12 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase_2__repr__(CYTHON_UNUSED PyO
__pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 63, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(1, 63, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(1, 63, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_self);
__Pyx_GIVEREF(__pyx_v_self);
- PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self)) __PYX_ERR(1, 63, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s_d, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 63, __pyx_L1_error)
@@ -7560,18 +7940,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_self = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7583,7 +7971,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 64, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -7598,10 +7989,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_self = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__str__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 64, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_FlagBase.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7609,6 +8008,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_FlagBase_4__str__(__pyx_self, __pyx_v_self);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7622,7 +8027,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase_4__str__(CYTHON_UNUSED PyOb
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__str__", 0);
+ __Pyx_RefNannySetupContext("__str__", 1);
/* "EnumBase":65
* return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
@@ -7642,9 +8047,9 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase_4__str__(CYTHON_UNUSED PyOb
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(1, 65, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(1, 65, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 65, __pyx_L1_error)
@@ -7701,18 +8106,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
long __pyx_v___pyx_checksum;
PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[3] = {0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__pyx_unpickle___Pyx_EnumMeta (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
- PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7728,19 +8141,28 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_type)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_type)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_checksum)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__pyx_unpickle___Pyx_EnumMeta", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
- if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__pyx_unpickle___Pyx_EnumMeta", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
@@ -7761,10 +8183,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
__pyx_v___pyx_state = values[2];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__pyx_unpickle___Pyx_EnumMeta", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 1, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__pyx_unpickle___Pyx_EnumMeta", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7772,6 +8202,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase___pyx_unpickle___Pyx_EnumMeta(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7789,7 +8225,7 @@ static PyObject *__pyx_pf_8EnumBase___pyx_unpickle___Pyx_EnumMeta(CYTHON_UNUSED
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_unpickle___Pyx_EnumMeta", 0);
+ __Pyx_RefNannySetupContext("__pyx_unpickle___Pyx_EnumMeta", 1);
/* "(tree fragment)":4
* cdef object __pyx_PickleError
@@ -7815,7 +8251,7 @@ static PyObject *__pyx_pf_8EnumBase___pyx_unpickle___Pyx_EnumMeta(CYTHON_UNUSED
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_PickleError);
__Pyx_GIVEREF(__pyx_n_s_PickleError);
- PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError)) __PYX_ERR(1, 5, __pyx_L1_error);
__pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -7862,7 +8298,8 @@ static PyObject *__pyx_pf_8EnumBase___pyx_unpickle___Pyx_EnumMeta(CYTHON_UNUSED
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
@@ -7872,6 +8309,7 @@ static PyObject *__pyx_pf_8EnumBase___pyx_unpickle___Pyx_EnumMeta(CYTHON_UNUSED
__pyx_t_5 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v___pyx_type};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
@@ -7969,7 +8407,7 @@ static PyObject *__pyx_unpickle___Pyx_EnumMeta__set_state(struct __pyx_obj___Pyx
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_unpickle___Pyx_EnumMeta__set_state", 0);
+ __Pyx_RefNannySetupContext("__pyx_unpickle___Pyx_EnumMeta__set_state", 1);
/* "(tree fragment)":12
* return __pyx_result
@@ -7981,7 +8419,7 @@ static PyObject *__pyx_unpickle___Pyx_EnumMeta__set_state(struct __pyx_obj___Pyx
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
__PYX_ERR(1, 12, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
__pyx_t_3 = (__pyx_t_2 > 0);
if (__pyx_t_3) {
} else {
@@ -8011,7 +8449,8 @@ static PyObject *__pyx_unpickle___Pyx_EnumMeta__set_state(struct __pyx_obj___Pyx
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = NULL;
__pyx_t_8 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
@@ -8021,6 +8460,7 @@ static PyObject *__pyx_unpickle___Pyx_EnumMeta__set_state(struct __pyx_obj___Pyx
__pyx_t_8 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
@@ -8080,18 +8520,24 @@ static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, P
PyObject *__pyx_v_format = 0;
PyObject *__pyx_v_mode = 0;
int __pyx_v_allocate_buffer;
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[5] = {0,0,0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_shape,&__pyx_n_s_itemsize,&__pyx_n_s_format,&__pyx_n_s_mode,&__pyx_n_s_allocate_buffer,0};
- PyObject* values[5] = {0,0,0,0,0};
- values[3] = ((PyObject *)__pyx_n_s_c);
+ values[3] = __Pyx_Arg_NewRef_VARARGS(((PyObject *)__pyx_n_s_c));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -8111,19 +8557,28 @@ static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, P
kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_shape)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_shape)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 131, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_itemsize)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_itemsize)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 131, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 5, 1); __PYX_ERR(1, 131, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
- if (likely((values[2] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_format)) != 0)) kw_args--;
+ if (likely((values[2] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_format)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[2]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 131, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 5, 2); __PYX_ERR(1, 131, __pyx_L3_error)
@@ -8132,14 +8587,14 @@ static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, P
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mode);
- if (value) { values[3] = value; kw_args--; }
+ if (value) { values[3] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 131, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_allocate_buffer);
- if (value) { values[4] = value; kw_args--; }
+ if (value) { values[4] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 131, __pyx_L3_error)
}
}
@@ -8178,10 +8633,18 @@ static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, P
__pyx_v_allocate_buffer = ((int)1);
}
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 5, __pyx_nargs); __PYX_ERR(1, 131, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("View.MemoryView.array.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
@@ -8205,6 +8668,12 @@ static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, P
__pyx_L1_error:;
__pyx_r = -1;
__pyx_L0:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -8242,7 +8711,7 @@ static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
__PYX_ERR(1, 137, __pyx_L1_error)
}
- __pyx_t_1 = PyTuple_GET_SIZE(__pyx_v_shape); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 137, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyTuple_GET_SIZE(__pyx_v_shape); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 137, __pyx_L1_error)
__pyx_v_self->ndim = ((int)__pyx_t_1);
/* "View.MemoryView":138
@@ -8334,7 +8803,8 @@ static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
@@ -8344,6 +8814,7 @@ static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __
__pyx_t_7 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_n_s_ASCII};
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
@@ -8449,13 +8920,20 @@ static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __
* raise ValueError, f"Invalid shape in axis {idx}: {dim}."
*/
__pyx_t_7 = 0;
- __pyx_t_4 = __pyx_v_shape; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = 0;
+ __pyx_t_4 = __pyx_v_shape; __Pyx_INCREF(__pyx_t_4);
+ __pyx_t_1 = 0;
for (;;) {
- if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 159, __pyx_L1_error)
+ #endif
+ if (__pyx_t_1 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 159, __pyx_L1_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 159, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 159, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
__pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_t_5); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 159, __pyx_L1_error)
@@ -8738,10 +9216,11 @@ static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __
/* Python wrapper */
CYTHON_UNUSED static int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
CYTHON_UNUSED static int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(((struct __pyx_array_obj *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));
/* function exit code */
@@ -8971,7 +9450,8 @@ static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(stru
* info.strides = NULL
*
*/
- if (((__pyx_v_flags & PyBUF_ND) != 0)) {
+ __pyx_t_1 = ((__pyx_v_flags & PyBUF_ND) != 0);
+ if (__pyx_t_1) {
__pyx_t_5 = (&__pyx_v_self->len);
} else {
__pyx_t_5 = NULL;
@@ -9024,7 +9504,8 @@ static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(stru
* info.obj = self
*
*/
- if (((__pyx_v_flags & PyBUF_FORMAT) != 0)) {
+ __pyx_t_1 = ((__pyx_v_flags & PyBUF_FORMAT) != 0);
+ if (__pyx_t_1) {
__pyx_t_2 = __pyx_v_self->format;
} else {
__pyx_t_2 = NULL;
@@ -9084,9 +9565,10 @@ static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(stru
/* Python wrapper */
static void __pyx_array___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_array___dealloc__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(((struct __pyx_array_obj *)__pyx_v_self));
/* function exit code */
@@ -9094,10 +9576,8 @@ static void __pyx_array___dealloc__(PyObject *__pyx_v_self) {
}
static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(struct __pyx_array_obj *__pyx_v_self) {
- __Pyx_RefNannyDeclarations
int __pyx_t_1;
int __pyx_t_2;
- __Pyx_RefNannySetupContext("__dealloc__", 0);
/* "View.MemoryView":211
*
@@ -9209,7 +9689,6 @@ static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(struc
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
/* "View.MemoryView":219
@@ -9223,10 +9702,11 @@ static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(struc
/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_15View_dot_MemoryView_5array_7memview___get__(((struct __pyx_array_obj *)__pyx_v_self));
/* function exit code */
@@ -9241,7 +9721,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_5array_7memview___get__(struct _
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "View.MemoryView":221
* @property
@@ -9294,7 +9774,7 @@ static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *__pyx_v_self) {
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("get_memview", 0);
+ __Pyx_RefNannySetupContext("get_memview", 1);
/* "View.MemoryView":225
* @cname('get_memview')
@@ -9321,11 +9801,11 @@ static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *__pyx_v_self) {
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF((PyObject *)__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_v_self);
- PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self))) __PYX_ERR(1, 226, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(1, 226, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2)) __PYX_ERR(1, 226, __pyx_L1_error);
__pyx_t_1 = 0;
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_memoryview_type), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 226, __pyx_L1_error)
@@ -9367,10 +9847,11 @@ static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *__pyx_v_self) {
/* Python wrapper */
static Py_ssize_t __pyx_array___len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_array___len__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
Py_ssize_t __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(((struct __pyx_array_obj *)__pyx_v_self));
/* function exit code */
@@ -9380,8 +9861,6 @@ static Py_ssize_t __pyx_array___len__(PyObject *__pyx_v_self) {
static Py_ssize_t __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(struct __pyx_array_obj *__pyx_v_self) {
Py_ssize_t __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__len__", 0);
/* "View.MemoryView":229
*
@@ -9403,7 +9882,6 @@ static Py_ssize_t __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(str
/* function exit code */
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -9418,10 +9896,11 @@ static Py_ssize_t __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(str
/* Python wrapper */
static PyObject *__pyx_array___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_attr); /*proto*/
static PyObject *__pyx_array___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_attr) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__getattr__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(((struct __pyx_array_obj *)__pyx_v_self), ((PyObject *)__pyx_v_attr));
/* function exit code */
@@ -9437,7 +9916,7 @@ static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__getattr__", 0);
+ __Pyx_RefNannySetupContext("__getattr__", 1);
/* "View.MemoryView":232
*
@@ -9487,10 +9966,11 @@ static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(
/* Python wrapper */
static PyObject *__pyx_array___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item); /*proto*/
static PyObject *__pyx_array___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__(((struct __pyx_array_obj *)__pyx_v_self), ((PyObject *)__pyx_v_item));
/* function exit code */
@@ -9506,7 +9986,7 @@ static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__getitem__", 0);
+ __Pyx_RefNannySetupContext("__getitem__", 1);
/* "View.MemoryView":235
*
@@ -9556,10 +10036,11 @@ static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__
/* Python wrapper */
static int __pyx_array___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value); /*proto*/
static int __pyx_array___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(((struct __pyx_array_obj *)__pyx_v_self), ((PyObject *)__pyx_v_item), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -9574,7 +10055,7 @@ static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(struc
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setitem__", 0);
+ __Pyx_RefNannySetupContext("__setitem__", 1);
/* "View.MemoryView":238
*
@@ -9630,12 +10111,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -9652,7 +10141,7 @@ static PyObject *__pyx_pf___pyx_array___reduce_cython__(CYTHON_UNUSED struct __p
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -9702,18 +10191,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -9725,7 +10222,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -9740,10 +10240,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("View.MemoryView.array.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -9751,6 +10259,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf___pyx_array_2__setstate_cython__(((struct __pyx_array_obj *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -9761,7 +10275,7 @@ static PyObject *__pyx_pf___pyx_array_2__setstate_cython__(CYTHON_UNUSED struct
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -9799,7 +10313,6 @@ static int __pyx_array_allocate_buffer(struct __pyx_array_obj *__pyx_v_self) {
Py_ssize_t __pyx_v_i;
PyObject **__pyx_v_p;
int __pyx_r;
- __Pyx_RefNannyDeclarations
int __pyx_t_1;
Py_ssize_t __pyx_t_2;
Py_ssize_t __pyx_t_3;
@@ -9807,7 +10320,6 @@ static int __pyx_array_allocate_buffer(struct __pyx_array_obj *__pyx_v_self) {
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("_allocate_buffer", 0);
/* "View.MemoryView":254
* cdef PyObject **p
@@ -9945,7 +10457,6 @@ static int __pyx_array_allocate_buffer(struct __pyx_array_obj *__pyx_v_self) {
__Pyx_AddTraceback("View.MemoryView._allocate_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -9969,7 +10480,7 @@ static struct __pyx_array_obj *__pyx_array_new(PyObject *__pyx_v_shape, Py_ssize
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("array_cwrapper", 0);
+ __Pyx_RefNannySetupContext("array_cwrapper", 1);
/* "View.MemoryView":270
* cdef array array_cwrapper(tuple shape, Py_ssize_t itemsize, char *format, char *c_mode, char *buf):
@@ -9978,7 +10489,8 @@ static struct __pyx_array_obj *__pyx_array_new(PyObject *__pyx_v_shape, Py_ssize
*
* if buf is NULL:
*/
- if (((__pyx_v_c_mode[0]) == 'f')) {
+ __pyx_t_2 = ((__pyx_v_c_mode[0]) == 'f');
+ if (__pyx_t_2) {
__Pyx_INCREF(__pyx_n_s_fortran);
__pyx_t_1 = __pyx_n_s_fortran;
} else {
@@ -10013,14 +10525,14 @@ static struct __pyx_array_obj *__pyx_array_new(PyObject *__pyx_v_shape, Py_ssize
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_v_shape);
__Pyx_GIVEREF(__pyx_v_shape);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape)) __PYX_ERR(1, 273, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1)) __PYX_ERR(1, 273, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3)) __PYX_ERR(1, 273, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_mode);
__Pyx_GIVEREF(__pyx_v_mode);
- PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_v_mode);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_v_mode)) __PYX_ERR(1, 273, __pyx_L1_error);
__pyx_t_1 = 0;
__pyx_t_3 = 0;
__pyx_t_3 = ((PyObject *)__pyx_tp_new_array(((PyTypeObject *)__pyx_array_type), __pyx_t_4, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 273, __pyx_L1_error)
@@ -10055,14 +10567,14 @@ static struct __pyx_array_obj *__pyx_array_new(PyObject *__pyx_v_shape, Py_ssize
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_shape);
__Pyx_GIVEREF(__pyx_v_shape);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_shape);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_shape)) __PYX_ERR(1, 275, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3)) __PYX_ERR(1, 275, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_4);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_4)) __PYX_ERR(1, 275, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_mode);
__Pyx_GIVEREF(__pyx_v_mode);
- PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_mode);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_mode)) __PYX_ERR(1, 275, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 275, __pyx_L1_error)
@@ -10133,17 +10645,23 @@ static struct __pyx_array_obj *__pyx_array_new(PyObject *__pyx_v_shape, Py_ssize
static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_name = 0;
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -10155,7 +10673,10 @@ static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_ar
kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 304, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -10170,10 +10691,18 @@ static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_ar
}
__pyx_v_name = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 304, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("View.MemoryView.Enum.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
@@ -10181,6 +10710,12 @@ static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_ar
__pyx_r = __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(((struct __pyx_MemviewEnum_obj *)__pyx_v_self), __pyx_v_name);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -10188,7 +10723,7 @@ static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_ar
static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v_name) {
int __pyx_r;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__init__", 0);
+ __Pyx_RefNannySetupContext("__init__", 1);
/* "View.MemoryView":305
* cdef object name
@@ -10228,10 +10763,11 @@ static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(struc
/* Python wrapper */
static PyObject *__pyx_MemviewEnum___repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_MemviewEnum___repr__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(((struct __pyx_MemviewEnum_obj *)__pyx_v_self));
/* function exit code */
@@ -10242,7 +10778,7 @@ static PyObject *__pyx_MemviewEnum___repr__(PyObject *__pyx_v_self) {
static PyObject *__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(struct __pyx_MemviewEnum_obj *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__repr__", 0);
+ __Pyx_RefNannySetupContext("__repr__", 1);
/* "View.MemoryView":307
* self.name = name
@@ -10293,12 +10829,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -10322,7 +10866,7 @@ static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(struct __pyx_Memvi
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":5
* cdef object _dict
@@ -10335,7 +10879,7 @@ static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(struct __pyx_Memvi
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_self->name);
__Pyx_GIVEREF(__pyx_v_self->name);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->name);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->name)) __PYX_ERR(1, 5, __pyx_L1_error);
__pyx_v_state = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
@@ -10372,7 +10916,7 @@ static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(struct __pyx_Memvi
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v__dict);
__Pyx_GIVEREF(__pyx_v__dict);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict)) __PYX_ERR(1, 8, __pyx_L1_error);
__pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -10434,22 +10978,22 @@ static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(struct __pyx_Memvi
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(1, 13, __pyx_L1_error);
__Pyx_INCREF(__pyx_int_136983863);
__Pyx_GIVEREF(__pyx_int_136983863);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_136983863);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_136983863)) __PYX_ERR(1, 13, __pyx_L1_error);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
- PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None)) __PYX_ERR(1, 13, __pyx_L1_error);
__pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_state);
__Pyx_GIVEREF(__pyx_v_state);
- PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state)) __PYX_ERR(1, 13, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_1 = 0;
__pyx_r = __pyx_t_4;
@@ -10480,19 +11024,19 @@ static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(struct __pyx_Memvi
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(1, 15, __pyx_L1_error);
__Pyx_INCREF(__pyx_int_136983863);
__Pyx_GIVEREF(__pyx_int_136983863);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_136983863);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_136983863)) __PYX_ERR(1, 15, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_state);
__Pyx_GIVEREF(__pyx_v_state);
- PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state)) __PYX_ERR(1, 15, __pyx_L1_error);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error);
__pyx_t_4 = 0;
__pyx_t_1 = 0;
__pyx_r = __pyx_t_3;
@@ -10545,18 +11089,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -10568,7 +11120,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -10583,10 +11138,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 16, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("View.MemoryView.Enum.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -10594,6 +11157,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf___pyx_MemviewEnum_2__setstate_cython__(((struct __pyx_MemviewEnum_obj *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -10605,7 +11174,7 @@ static PyObject *__pyx_pf___pyx_MemviewEnum_2__setstate_cython__(struct __pyx_Me
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":17
* return __pyx_unpickle_Enum, (type(self), 0x82a3537, state)
@@ -10651,17 +11220,23 @@ static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_ar
PyObject *__pyx_v_obj = 0;
int __pyx_v_flags;
int __pyx_v_dtype_is_object;
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[3] = {0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,&__pyx_n_s_flags,&__pyx_n_s_dtype_is_object,0};
- PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -10677,12 +11252,18 @@ static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_ar
kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_obj)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_obj)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 349, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 349, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, 1); __PYX_ERR(1, 349, __pyx_L3_error)
@@ -10691,7 +11272,7 @@ static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_ar
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dtype_is_object);
- if (value) { values[2] = value; kw_args--; }
+ if (value) { values[2] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 349, __pyx_L3_error)
}
}
@@ -10717,10 +11298,18 @@ static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_ar
__pyx_v_dtype_is_object = ((int)0);
}
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, __pyx_nargs); __PYX_ERR(1, 349, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("View.MemoryView.memoryview.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
@@ -10728,6 +11317,12 @@ static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_ar
__pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(((struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v_obj, __pyx_v_flags, __pyx_v_dtype_is_object);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -10743,7 +11338,7 @@ static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit_
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__cinit__", 0);
+ __Pyx_RefNannySetupContext("__cinit__", 1);
/* "View.MemoryView":350
*
@@ -11066,9 +11661,10 @@ static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit_
/* Python wrapper */
static void __pyx_memoryview___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_memoryview___dealloc__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(((struct __pyx_memoryview_obj *)__pyx_v_self));
/* function exit code */
@@ -11077,14 +11673,12 @@ static void __pyx_memoryview___dealloc__(PyObject *__pyx_v_self) {
static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(struct __pyx_memoryview_obj *__pyx_v_self) {
int __pyx_v_i;
- __Pyx_RefNannyDeclarations
int __pyx_t_1;
int __pyx_t_2;
int __pyx_t_3;
int __pyx_t_4;
PyThread_type_lock __pyx_t_5;
PyThread_type_lock __pyx_t_6;
- __Pyx_RefNannySetupContext("__dealloc__", 0);
/* "View.MemoryView":377
*
@@ -11282,7 +11876,6 @@ static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__deal
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
/* "View.MemoryView":397
@@ -11309,7 +11902,7 @@ static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__py
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("get_item_pointer", 0);
+ __Pyx_RefNannySetupContext("get_item_pointer", 1);
/* "View.MemoryView":399
* cdef char *get_item_pointer(memoryview self, object index) except NULL:
@@ -11329,7 +11922,8 @@ static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__py
*/
__pyx_t_1 = 0;
if (likely(PyList_CheckExact(__pyx_v_index)) || PyTuple_CheckExact(__pyx_v_index)) {
- __pyx_t_2 = __pyx_v_index; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
+ __pyx_t_2 = __pyx_v_index; __Pyx_INCREF(__pyx_t_2);
+ __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
__pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 401, __pyx_L1_error)
@@ -11339,19 +11933,31 @@ static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__py
for (;;) {
if (likely(!__pyx_t_4)) {
if (likely(PyList_CheckExact(__pyx_t_2))) {
- if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 401, __pyx_L1_error)
+ #endif
+ if (__pyx_t_3 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(1, 401, __pyx_L1_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 401, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 401, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
} else {
- if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 401, __pyx_L1_error)
+ #endif
+ if (__pyx_t_3 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(1, 401, __pyx_L1_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 401, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 401, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
}
@@ -11434,10 +12040,11 @@ static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__py
/* Python wrapper */
static PyObject *__pyx_memoryview___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index); /*proto*/
static PyObject *__pyx_memoryview___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(((struct __pyx_memoryview_obj *)__pyx_v_self), ((PyObject *)__pyx_v_index));
/* function exit code */
@@ -11459,7 +12066,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4_
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__getitem__", 0);
+ __Pyx_RefNannySetupContext("__getitem__", 1);
/* "View.MemoryView":408
*
@@ -11622,10 +12229,11 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4_
/* Python wrapper */
static int __pyx_memoryview___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /*proto*/
static int __pyx_memoryview___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(((struct __pyx_memoryview_obj *)__pyx_v_self), ((PyObject *)__pyx_v_index), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -11920,11 +12528,11 @@ static PyObject *__pyx_memoryview_is_slice(struct __pyx_memoryview_obj *__pyx_v_
__Pyx_GOTREF(__pyx_t_8);
__Pyx_INCREF(__pyx_v_obj);
__Pyx_GIVEREF(__pyx_v_obj);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_obj);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_obj)) __PYX_ERR(1, 438, __pyx_L4_error);
__Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6)) __PYX_ERR(1, 438, __pyx_L4_error);
__Pyx_GIVEREF(__pyx_t_7);
- PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_7);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_7)) __PYX_ERR(1, 438, __pyx_L4_error);
__pyx_t_6 = 0;
__pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)__pyx_memoryview_type), __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 438, __pyx_L4_error)
@@ -12069,7 +12677,7 @@ static PyObject *__pyx_memoryview_setitem_slice_assignment(struct __pyx_memoryvi
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("setitem_slice_assignment", 0);
+ __Pyx_RefNannySetupContext("setitem_slice_assignment", 1);
/* "View.MemoryView":448
* cdef __Pyx_memviewslice dst_slice
@@ -12162,7 +12770,7 @@ static PyObject *__pyx_memoryview_setitem_slice_assign_scalar(struct __pyx_memor
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("setitem_slice_assign_scalar", 0);
+ __Pyx_RefNannySetupContext("setitem_slice_assign_scalar", 1);
/* "View.MemoryView":455
* cdef setitem_slice_assign_scalar(self, memoryview dst, value):
@@ -12435,7 +13043,7 @@ static PyObject *__pyx_memoryview_setitem_indexed(struct __pyx_memoryview_obj *_
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("setitem_indexed", 0);
+ __Pyx_RefNannySetupContext("setitem_indexed", 1);
/* "View.MemoryView":486
*
@@ -12506,7 +13114,7 @@ static PyObject *__pyx_memoryview_convert_item_to_object(struct __pyx_memoryview
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("convert_item_to_object", 0);
+ __Pyx_RefNannySetupContext("convert_item_to_object", 1);
/* "View.MemoryView":492
* """Only used if instantiated manually by the user, or if Cython doesn't
@@ -12561,7 +13169,8 @@ static PyObject *__pyx_memoryview_convert_item_to_object(struct __pyx_memoryview
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
__pyx_t_8 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
@@ -12571,6 +13180,7 @@ static PyObject *__pyx_memoryview_convert_item_to_object(struct __pyx_memoryview
__pyx_t_8 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_6, __pyx_v_bytesitem};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 2+__pyx_t_8);
@@ -12754,7 +13364,7 @@ static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryvie
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("assign_item_from_object", 0);
+ __Pyx_RefNannySetupContext("assign_item_from_object", 1);
/* "View.MemoryView":508
* """Only used if instantiated manually by the user, or if Cython doesn't
@@ -12792,7 +13402,7 @@ static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryvie
__pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)) __PYX_ERR(1, 514, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PySequence_Tuple(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
@@ -12832,7 +13442,8 @@ static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryvie
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = NULL;
__pyx_t_6 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
@@ -12842,6 +13453,7 @@ static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryvie
__pyx_t_6 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_1, __pyx_v_value};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6);
@@ -12944,10 +13556,11 @@ static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryvie
/* Python wrapper */
CYTHON_UNUSED static int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
CYTHON_UNUSED static int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(((struct __pyx_memoryview_obj *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));
/* function exit code */
@@ -13283,10 +13896,11 @@ static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbu
/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));
/* function exit code */
@@ -13303,7 +13917,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(struct _
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "View.MemoryView":556
* @property
@@ -13370,10 +13984,11 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(struct _
/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));
/* function exit code */
@@ -13388,7 +14003,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(struc
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "View.MemoryView":562
* @property
@@ -13434,7 +14049,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(struc
static PyObject *__pyx_memoryview__get_base(struct __pyx_memoryview_obj *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("_get_base", 0);
+ __Pyx_RefNannySetupContext("_get_base", 1);
/* "View.MemoryView":565
*
@@ -13474,10 +14089,11 @@ static PyObject *__pyx_memoryview__get_base(struct __pyx_memoryview_obj *__pyx_v
/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));
/* function exit code */
@@ -13497,7 +14113,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(stru
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "View.MemoryView":569
* @property
@@ -13558,10 +14174,11 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(stru
/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));
/* function exit code */
@@ -13582,7 +14199,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(st
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "View.MemoryView":573
* @property
@@ -13672,10 +14289,11 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(st
/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));
/* function exit code */
@@ -13696,7 +14314,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get_
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "View.MemoryView":581
* @property
@@ -13790,10 +14408,11 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get_
/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));
/* function exit code */
@@ -13808,7 +14427,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(struc
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "View.MemoryView":588
* @property
@@ -13854,10 +14473,11 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(struc
/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));
/* function exit code */
@@ -13872,7 +14492,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(s
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "View.MemoryView":592
* @property
@@ -13918,10 +14538,11 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(s
/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));
/* function exit code */
@@ -13938,7 +14559,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(str
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "View.MemoryView":596
* @property
@@ -13992,10 +14613,11 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(str
/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));
/* function exit code */
@@ -14016,7 +14638,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(struc
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "View.MemoryView":600
* @property
@@ -14132,10 +14754,11 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(struc
/* Python wrapper */
static Py_ssize_t __pyx_memoryview___len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_memoryview___len__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
Py_ssize_t __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(((struct __pyx_memoryview_obj *)__pyx_v_self));
/* function exit code */
@@ -14145,9 +14768,7 @@ static Py_ssize_t __pyx_memoryview___len__(PyObject *__pyx_v_self) {
static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(struct __pyx_memoryview_obj *__pyx_v_self) {
Py_ssize_t __pyx_r;
- __Pyx_RefNannyDeclarations
int __pyx_t_1;
- __Pyx_RefNannySetupContext("__len__", 0);
/* "View.MemoryView":611
*
@@ -14198,7 +14819,6 @@ static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_1
/* function exit code */
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -14213,10 +14833,11 @@ static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_1
/* Python wrapper */
static PyObject *__pyx_memoryview___repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_memoryview___repr__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(((struct __pyx_memoryview_obj *)__pyx_v_self));
/* function exit code */
@@ -14233,7 +14854,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__repr__", 0);
+ __Pyx_RefNannySetupContext("__repr__", 1);
/* "View.MemoryView":617
*
@@ -14272,9 +14893,9 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1)) __PYX_ERR(1, 617, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2)) __PYX_ERR(1, 617, __pyx_L1_error);
__pyx_t_1 = 0;
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_MemoryView_of_r_at_0x_x, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 617, __pyx_L1_error)
@@ -14316,10 +14937,11 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12
/* Python wrapper */
static PyObject *__pyx_memoryview___str__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_memoryview___str__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(((struct __pyx_memoryview_obj *)__pyx_v_self));
/* function exit code */
@@ -14335,7 +14957,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__str__", 0);
+ __Pyx_RefNannySetupContext("__str__", 1);
/* "View.MemoryView":621
*
@@ -14356,7 +14978,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 621, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(1, 621, __pyx_L1_error);
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_MemoryView_of_r_object, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 621, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -14409,12 +15031,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_c_contig (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("is_c_contig", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "is_c_contig", 0))) return NULL;
@@ -14435,7 +15065,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("is_c_contig", 0);
+ __Pyx_RefNannySetupContext("is_c_contig", 1);
/* "View.MemoryView":627
* cdef __Pyx_memviewslice *mslice
@@ -14504,12 +15134,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_f_contig (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("is_f_contig", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "is_f_contig", 0))) return NULL;
@@ -14530,7 +15168,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("is_f_contig", 0);
+ __Pyx_RefNannySetupContext("is_f_contig", 1);
/* "View.MemoryView":633
* cdef __Pyx_memviewslice *mslice
@@ -14599,12 +15237,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("copy (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "copy", 0))) return NULL;
@@ -14625,7 +15271,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("copy", 0);
+ __Pyx_RefNannySetupContext("copy", 1);
/* "View.MemoryView":638
* def copy(self):
@@ -14712,12 +15358,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("copy_fortran (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("copy_fortran", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "copy_fortran", 0))) return NULL;
@@ -14739,7 +15393,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("copy_fortran", 0);
+ __Pyx_RefNannySetupContext("copy_fortran", 1);
/* "View.MemoryView":650
* def copy_fortran(self):
@@ -14824,12 +15478,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -14846,7 +15508,7 @@ static PyObject *__pyx_pf___pyx_memoryview___reduce_cython__(CYTHON_UNUSED struc
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -14896,18 +15558,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -14919,7 +15589,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -14934,10 +15607,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("View.MemoryView.memoryview.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -14945,6 +15626,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf___pyx_memoryview_2__setstate_cython__(((struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -14955,7 +15642,7 @@ static PyObject *__pyx_pf___pyx_memoryview_2__setstate_cython__(CYTHON_UNUSED st
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -14999,7 +15686,7 @@ static PyObject *__pyx_memoryview_new(PyObject *__pyx_v_o, int __pyx_v_flags, in
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("memoryview_cwrapper", 0);
+ __Pyx_RefNannySetupContext("memoryview_cwrapper", 1);
/* "View.MemoryView":663
* @cname('__pyx_memoryview_new')
@@ -15016,11 +15703,11 @@ static PyObject *__pyx_memoryview_new(PyObject *__pyx_v_o, int __pyx_v_flags, in
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_o);
__Pyx_GIVEREF(__pyx_v_o);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_o);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_o)) __PYX_ERR(1, 663, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(1, 663, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2)) __PYX_ERR(1, 663, __pyx_L1_error);
__pyx_t_1 = 0;
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_memoryview_type), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 663, __pyx_L1_error)
@@ -15082,9 +15769,7 @@ static PyObject *__pyx_memoryview_new(PyObject *__pyx_v_o, int __pyx_v_flags, in
static CYTHON_INLINE int __pyx_memoryview_check(PyObject *__pyx_v_o) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
int __pyx_t_1;
- __Pyx_RefNannySetupContext("memoryview_check", 0);
/* "View.MemoryView":669
* @cname('__pyx_memoryview_check')
@@ -15107,7 +15792,6 @@ static CYTHON_INLINE int __pyx_memoryview_check(PyObject *__pyx_v_o) {
/* function exit code */
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -15139,7 +15823,7 @@ static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("_unellipsify", 0);
+ __Pyx_RefNannySetupContext("_unellipsify", 1);
/* "View.MemoryView":677
* """
@@ -15157,7 +15841,7 @@ static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_index);
__Pyx_GIVEREF(__pyx_v_index);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_index);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_index)) __PYX_ERR(1, 677, __pyx_L1_error);
__pyx_t_1 = __pyx_t_3;
__pyx_t_3 = 0;
}
@@ -15177,7 +15861,7 @@ static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {
for (__pyx_temp=0; __pyx_temp < __pyx_v_ndim; __pyx_temp++) {
__Pyx_INCREF(__pyx_slice__7);
__Pyx_GIVEREF(__pyx_slice__7);
- PyList_SET_ITEM(__pyx_t_1, __pyx_temp, __pyx_slice__7);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_1, __pyx_temp, __pyx_slice__7)) __PYX_ERR(1, 679, __pyx_L1_error);
}
}
__pyx_v_result = ((PyObject*)__pyx_t_1);
@@ -15221,13 +15905,20 @@ static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
__PYX_ERR(1, 683, __pyx_L1_error)
}
- __pyx_t_1 = __pyx_v_tup; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0;
+ __pyx_t_1 = __pyx_v_tup; __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_4 = 0;
for (;;) {
- if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 683, __pyx_L1_error)
+ #endif
+ if (__pyx_t_4 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(1, 683, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 683, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 683, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
__Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_3);
@@ -15264,7 +15955,7 @@ static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
__PYX_ERR(1, 686, __pyx_L1_error)
}
- __pyx_t_5 = PyTuple_GET_SIZE(__pyx_v_tup); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 686, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyTuple_GET_SIZE(__pyx_v_tup); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 686, __pyx_L1_error)
__pyx_v_idx = (__pyx_v_idx + (__pyx_v_ndim - __pyx_t_5));
/* "View.MemoryView":687
@@ -15452,9 +16143,9 @@ static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 698, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1)) __PYX_ERR(1, 698, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_7);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7)) __PYX_ERR(1, 698, __pyx_L1_error);
__pyx_t_1 = 0;
__pyx_t_7 = 0;
__pyx_r = ((PyObject*)__pyx_t_3);
@@ -15496,7 +16187,6 @@ static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {
static int assert_direct_dimensions(Py_ssize_t *__pyx_v_suboffsets, int __pyx_v_ndim) {
Py_ssize_t __pyx_v_suboffset;
int __pyx_r;
- __Pyx_RefNannyDeclarations
Py_ssize_t *__pyx_t_1;
Py_ssize_t *__pyx_t_2;
Py_ssize_t *__pyx_t_3;
@@ -15504,7 +16194,6 @@ static int assert_direct_dimensions(Py_ssize_t *__pyx_v_suboffsets, int __pyx_v_
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("assert_direct_dimensions", 0);
/* "View.MemoryView":701
*
@@ -15571,7 +16260,6 @@ static int assert_direct_dimensions(Py_ssize_t *__pyx_v_suboffsets, int __pyx_v_
__Pyx_AddTraceback("View.MemoryView.assert_direct_dimensions", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -15617,7 +16305,7 @@ static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("memview_slice", 0);
+ __Pyx_RefNannySetupContext("memview_slice", 1);
/* "View.MemoryView":712
* @cname('__pyx_memview_slice')
@@ -15767,7 +16455,8 @@ static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_
*/
__pyx_t_5 = 0;
if (likely(PyList_CheckExact(__pyx_v_indices)) || PyTuple_CheckExact(__pyx_v_indices)) {
- __pyx_t_2 = __pyx_v_indices; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
+ __pyx_t_2 = __pyx_v_indices; __Pyx_INCREF(__pyx_t_2);
+ __pyx_t_6 = 0;
__pyx_t_7 = NULL;
} else {
__pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_indices); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 747, __pyx_L1_error)
@@ -15777,19 +16466,31 @@ static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_
for (;;) {
if (likely(!__pyx_t_7)) {
if (likely(PyList_CheckExact(__pyx_t_2))) {
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 747, __pyx_L1_error)
+ #endif
+ if (__pyx_t_6 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_8 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 747, __pyx_L1_error)
#else
- __pyx_t_8 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 747, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 747, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
#endif
} else {
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 747, __pyx_L1_error)
+ #endif
+ if (__pyx_t_6 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 747, __pyx_L1_error)
#else
- __pyx_t_8 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 747, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 747, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
#endif
}
@@ -16958,7 +17659,7 @@ static char *__pyx_pybuffer_index(Py_buffer *__pyx_v_view, char *__pyx_v_bufp, P
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("pybuffer_index", 0);
+ __Pyx_RefNannySetupContext("pybuffer_index", 1);
/* "View.MemoryView":898
* cdef char *pybuffer_index(Py_buffer *view, char *bufp, Py_ssize_t index,
@@ -17456,9 +18157,10 @@ static int __pyx_memslice_transpose(__Pyx_memviewslice *__pyx_v_memslice) {
/* Python wrapper */
static void __pyx_memoryviewslice___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_memoryviewslice___dealloc__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(((struct __pyx_memoryviewslice_obj *)__pyx_v_self));
/* function exit code */
@@ -17466,8 +18168,6 @@ static void __pyx_memoryviewslice___dealloc__(PyObject *__pyx_v_self) {
}
static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(struct __pyx_memoryviewslice_obj *__pyx_v_self) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__dealloc__", 0);
/* "View.MemoryView":964
*
@@ -17487,7 +18187,6 @@ static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewsl
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
/* "View.MemoryView":966
@@ -17506,7 +18205,7 @@ static PyObject *__pyx_memoryviewslice_convert_item_to_object(struct __pyx_memor
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("convert_item_to_object", 0);
+ __Pyx_RefNannySetupContext("convert_item_to_object", 1);
/* "View.MemoryView":967
*
@@ -17593,7 +18292,7 @@ static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("assign_item_from_object", 0);
+ __Pyx_RefNannySetupContext("assign_item_from_object", 1);
/* "View.MemoryView":973
*
@@ -17670,7 +18369,7 @@ static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memo
static PyObject *__pyx_memoryviewslice__get_base(struct __pyx_memoryviewslice_obj *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("_get_base", 0);
+ __Pyx_RefNannySetupContext("_get_base", 1);
/* "View.MemoryView":979
*
@@ -17721,12 +18420,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -17743,7 +18450,7 @@ static PyObject *__pyx_pf___pyx_memoryviewslice___reduce_cython__(CYTHON_UNUSED
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -17793,18 +18500,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -17816,7 +18531,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -17831,10 +18549,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("View.MemoryView._memoryviewslice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -17842,6 +18568,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf___pyx_memoryviewslice_2__setstate_cython__(((struct __pyx_memoryviewslice_obj *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -17852,7 +18584,7 @@ static PyObject *__pyx_pf___pyx_memoryviewslice_2__setstate_cython__(CYTHON_UNUS
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -17904,7 +18636,7 @@ static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice __pyx_v_memviewsl
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("memoryview_fromslice", 0);
+ __Pyx_RefNannySetupContext("memoryview_fromslice", 1);
/* "View.MemoryView":1007
* cdef _memoryviewslice result
@@ -17949,12 +18681,12 @@ static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice __pyx_v_memviewsl
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
- PyTuple_SET_ITEM(__pyx_t_3, 0, Py_None);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, Py_None)) __PYX_ERR(1, 1013, __pyx_L1_error);
__Pyx_INCREF(__pyx_int_0);
__Pyx_GIVEREF(__pyx_int_0);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_0);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_0)) __PYX_ERR(1, 1013, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2)) __PYX_ERR(1, 1013, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_2 = ((PyObject *)__pyx_tp_new__memoryviewslice(((PyTypeObject *)__pyx_memoryviewslice_type), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1013, __pyx_L1_error)
__Pyx_GOTREF((PyObject *)__pyx_t_2);
@@ -18281,7 +19013,7 @@ static __Pyx_memviewslice *__pyx_memoryview_get_slice_from_memoryview(struct __p
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("get_slice_from_memview", 0);
+ __Pyx_RefNannySetupContext("get_slice_from_memview", 1);
/* "View.MemoryView":1055
* __Pyx_memviewslice *mslice) except NULL:
@@ -18378,13 +19110,12 @@ static void __pyx_memoryview_slice_copy(struct __pyx_memoryview_obj *__pyx_v_mem
Py_ssize_t *__pyx_v_shape;
Py_ssize_t *__pyx_v_strides;
Py_ssize_t *__pyx_v_suboffsets;
- __Pyx_RefNannyDeclarations
Py_ssize_t *__pyx_t_1;
int __pyx_t_2;
int __pyx_t_3;
int __pyx_t_4;
Py_ssize_t __pyx_t_5;
- __Pyx_RefNannySetupContext("slice_copy", 0);
+ int __pyx_t_6;
/* "View.MemoryView":1067
* cdef (Py_ssize_t*) shape, strides, suboffsets
@@ -18471,7 +19202,8 @@ static void __pyx_memoryview_slice_copy(struct __pyx_memoryview_obj *__pyx_v_mem
*
* @cname('__pyx_memoryview_copy_object')
*/
- if ((__pyx_v_suboffsets != 0)) {
+ __pyx_t_6 = (__pyx_v_suboffsets != 0);
+ if (__pyx_t_6) {
__pyx_t_5 = (__pyx_v_suboffsets[__pyx_v_dim]);
} else {
__pyx_t_5 = -1L;
@@ -18488,7 +19220,6 @@ static void __pyx_memoryview_slice_copy(struct __pyx_memoryview_obj *__pyx_v_mem
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
/* "View.MemoryView":1080
@@ -18507,7 +19238,7 @@ static PyObject *__pyx_memoryview_copy_object(struct __pyx_memoryview_obj *__pyx
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("memoryview_copy", 0);
+ __Pyx_RefNannySetupContext("memoryview_copy", 1);
/* "View.MemoryView":1083
* "Create a new memoryview object"
@@ -18571,7 +19302,7 @@ static PyObject *__pyx_memoryview_copy_object_from_slice(struct __pyx_memoryview
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("memoryview_copy_from_slice", 0);
+ __Pyx_RefNannySetupContext("memoryview_copy_from_slice", 1);
/* "View.MemoryView":1094
* cdef int (*to_dtype_func)(char *, object) except 0
@@ -18686,6 +19417,7 @@ static PyObject *__pyx_memoryview_copy_object_from_slice(struct __pyx_memoryview
static Py_ssize_t abs_py_ssize_t(Py_ssize_t __pyx_v_arg) {
Py_ssize_t __pyx_r;
Py_ssize_t __pyx_t_1;
+ int __pyx_t_2;
/* "View.MemoryView":1110
*
@@ -18694,7 +19426,8 @@ static Py_ssize_t abs_py_ssize_t(Py_ssize_t __pyx_v_arg) {
*
* @cname('__pyx_get_best_slice_order')
*/
- if ((__pyx_v_arg < 0)) {
+ __pyx_t_2 = (__pyx_v_arg < 0);
+ if (__pyx_t_2) {
__pyx_t_1 = (-__pyx_v_arg);
} else {
__pyx_t_1 = __pyx_v_arg;
@@ -19836,14 +20569,12 @@ static int __pyx_memoryview_err(PyObject *__pyx_v_error, PyObject *__pyx_v_msg)
static int __pyx_memoryview_err_no_memory(void) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
#ifdef WITH_THREAD
PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
#endif
- __Pyx_RefNannySetupContext("_err_no_memory", 0);
/* "View.MemoryView":1261
* @cname('__pyx_memoryview_err_no_memory')
@@ -19866,7 +20597,6 @@ static int __pyx_memoryview_err_no_memory(void) {
__pyx_L1_error:;
__Pyx_AddTraceback("View.MemoryView._err_no_memory", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
- __Pyx_RefNannyFinishContext();
#ifdef WITH_THREAD
__Pyx_PyGILState_Release(__pyx_gilstate_save);
#endif
@@ -20018,7 +20748,8 @@ static int __pyx_memoryview_copy_contents(__Pyx_memviewslice __pyx_v_src, __Pyx_
*/
__pyx_t_3 = __pyx_v_dst_ndim;
__pyx_t_4 = __pyx_v_src_ndim;
- if ((__pyx_t_3 > __pyx_t_4)) {
+ __pyx_t_2 = (__pyx_t_3 > __pyx_t_4);
+ if (__pyx_t_2) {
__pyx_t_5 = __pyx_t_3;
} else {
__pyx_t_5 = __pyx_t_4;
@@ -20620,11 +21351,9 @@ static void __pyx_memoryview_refcount_copying(__Pyx_memviewslice *__pyx_v_dst, i
*/
static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {
- __Pyx_RefNannyDeclarations
#ifdef WITH_THREAD
PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
#endif
- __Pyx_RefNannySetupContext("refcount_objects_in_slice_with_gil", 0);
/* "View.MemoryView":1368
* Py_ssize_t *strides, int ndim,
@@ -20644,7 +21373,6 @@ static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *__pyx_v_da
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
#ifdef WITH_THREAD
__Pyx_PyGILState_Release(__pyx_gilstate_save);
#endif
@@ -20661,12 +21389,10 @@ static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *__pyx_v_da
static void __pyx_memoryview_refcount_objects_in_slice(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {
CYTHON_UNUSED Py_ssize_t __pyx_v_i;
Py_ssize_t __pyx_v_stride;
- __Pyx_RefNannyDeclarations
Py_ssize_t __pyx_t_1;
Py_ssize_t __pyx_t_2;
Py_ssize_t __pyx_t_3;
int __pyx_t_4;
- __Pyx_RefNannySetupContext("refcount_objects_in_slice", 0);
/* "View.MemoryView":1374
* Py_ssize_t *strides, int ndim, bint inc) noexcept:
@@ -20780,7 +21506,6 @@ static void __pyx_memoryview_refcount_objects_in_slice(char *__pyx_v_data, Py_ss
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
/* "View.MemoryView":1391
@@ -20988,18 +21713,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
long __pyx_v___pyx_checksum;
PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[3] = {0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__pyx_unpickle_Enum (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
- PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -21015,19 +21748,28 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_type)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_type)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_checksum)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Enum", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
- if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Enum", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
@@ -21048,10 +21790,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
__pyx_v___pyx_state = values[2];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Enum", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 1, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("View.MemoryView.__pyx_unpickle_Enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -21059,6 +21809,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -21076,7 +21832,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSE
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_unpickle_Enum", 0);
+ __Pyx_RefNannySetupContext("__pyx_unpickle_Enum", 1);
/* "(tree fragment)":4
* cdef object __pyx_PickleError
@@ -21102,7 +21858,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSE
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_PickleError);
__Pyx_GIVEREF(__pyx_n_s_PickleError);
- PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError)) __PYX_ERR(1, 5, __pyx_L1_error);
__pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -21149,7 +21905,8 @@ static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSE
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
@@ -21159,6 +21916,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSE
__pyx_t_5 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v___pyx_type};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
@@ -21256,7 +22014,7 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_unpickle_Enum__set_state", 0);
+ __Pyx_RefNannySetupContext("__pyx_unpickle_Enum__set_state", 1);
/* "(tree fragment)":12
* return __pyx_result
@@ -21287,7 +22045,7 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
__PYX_ERR(1, 13, __pyx_L1_error)
}
- __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
__pyx_t_4 = (__pyx_t_3 > 1);
if (__pyx_t_4) {
} else {
@@ -21317,7 +22075,8 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = NULL;
__pyx_t_8 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
@@ -21327,6 +22086,7 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__
__pyx_t_8 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
@@ -21402,7 +22162,7 @@ static PyObject *__pyx_format_from_typeinfo(__Pyx_TypeInfo *__pyx_v_type) {
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("format_from_typeinfo", 0);
+ __Pyx_RefNannySetupContext("format_from_typeinfo", 1);
/* "BufferFormatFromTypeInfo":1456
* cdef Py_ssize_t i
@@ -21506,7 +22266,7 @@ static PyObject *__pyx_format_from_typeinfo(__Pyx_TypeInfo *__pyx_v_type) {
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_kp_b_T);
__Pyx_GIVEREF(__pyx_kp_b_T);
- PyList_SET_ITEM(__pyx_t_2, 0, __pyx_kp_b_T);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_kp_b_T)) __PYX_ERR(1, 1465, __pyx_L1_error);
__pyx_v_parts = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
@@ -21787,7 +22547,7 @@ static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArray
PyArray_Descr *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyArray_Descr *__pyx_t_1;
- __Pyx_RefNannySetupContext("descr", 0);
+ __Pyx_RefNannySetupContext("descr", 1);
/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":254
* """Returns an owned reference to the dtype of the array.
@@ -21987,7 +22747,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data_data(PyArrayObject *__p
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":776
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":773
* ctypedef npy_cdouble complex_t
*
* cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
@@ -22002,9 +22762,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":777
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":774
*
* cdef inline object PyArray_MultiIterNew1(a):
* return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<<
@@ -22012,13 +22772,13 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
* cdef inline object PyArray_MultiIterNew2(a, b):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 777, __pyx_L1_error)
+ __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 774, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":776
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":773
* ctypedef npy_cdouble complex_t
*
* cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
@@ -22037,7 +22797,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":779
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":776
* return PyArray_MultiIterNew(1, a)
*
* cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
@@ -22052,9 +22812,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":780
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":777
*
* cdef inline object PyArray_MultiIterNew2(a, b):
* return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<<
@@ -22062,13 +22822,13 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
* cdef inline object PyArray_MultiIterNew3(a, b, c):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 780, __pyx_L1_error)
+ __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 777, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":779
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":776
* return PyArray_MultiIterNew(1, a)
*
* cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
@@ -22087,7 +22847,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":782
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":779
* return PyArray_MultiIterNew(2, a, b)
*
* cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
@@ -22102,9 +22862,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":783
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":780
*
* cdef inline object PyArray_MultiIterNew3(a, b, c):
* return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<<
@@ -22112,13 +22872,13 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
* cdef inline object PyArray_MultiIterNew4(a, b, c, d):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 783, __pyx_L1_error)
+ __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 780, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":782
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":779
* return PyArray_MultiIterNew(2, a, b)
*
* cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
@@ -22137,7 +22897,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":785
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":782
* return PyArray_MultiIterNew(3, a, b, c)
*
* cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
@@ -22152,9 +22912,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":786
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":783
*
* cdef inline object PyArray_MultiIterNew4(a, b, c, d):
* return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<<
@@ -22162,13 +22922,13 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
* cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 786, __pyx_L1_error)
+ __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 783, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":785
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":782
* return PyArray_MultiIterNew(3, a, b, c)
*
* cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
@@ -22187,7 +22947,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":788
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":785
* return PyArray_MultiIterNew(4, a, b, c, d)
*
* cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
@@ -22202,9 +22962,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":789
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":786
*
* cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
* return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<<
@@ -22212,13 +22972,13 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
* cdef inline tuple PyDataType_SHAPE(dtype d):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 789, __pyx_L1_error)
+ __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":788
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":785
* return PyArray_MultiIterNew(4, a, b, c, d)
*
* cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
@@ -22237,7 +22997,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":791
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":788
* return PyArray_MultiIterNew(5, a, b, c, d, e)
*
* cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<<
@@ -22249,9 +23009,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
- __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0);
+ __Pyx_RefNannySetupContext("PyDataType_SHAPE", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":792
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":789
*
* cdef inline tuple PyDataType_SHAPE(dtype d):
* if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<<
@@ -22261,7 +23021,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
__pyx_t_1 = PyDataType_HASSUBARRAY(__pyx_v_d);
if (__pyx_t_1) {
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":793
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":790
* cdef inline tuple PyDataType_SHAPE(dtype d):
* if PyDataType_HASSUBARRAY(d):
* return d.subarray.shape # <<<<<<<<<<<<<<
@@ -22273,7 +23033,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
__pyx_r = ((PyObject*)__pyx_v_d->subarray->shape);
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":792
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":789
*
* cdef inline tuple PyDataType_SHAPE(dtype d):
* if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<<
@@ -22282,7 +23042,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
*/
}
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":795
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":792
* return d.subarray.shape
* else:
* return () # <<<<<<<<<<<<<<
@@ -22296,7 +23056,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
goto __pyx_L0;
}
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":791
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":788
* return PyArray_MultiIterNew(5, a, b, c, d, e)
*
* cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<<
@@ -22311,7 +23071,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":970
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":967
* int _import_umath() except -1
*
* cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
@@ -22320,10 +23080,12 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
*/
static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("set_array_base", 0);
+ int __pyx_t_1;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":971
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":968
*
* cdef inline void set_array_base(ndarray arr, object base):
* Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<<
@@ -22332,16 +23094,16 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
*/
Py_INCREF(__pyx_v_base);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":972
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":969
* cdef inline void set_array_base(ndarray arr, object base):
* Py_INCREF(base) # important to do this before stealing the reference below!
* PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<<
*
* cdef inline object get_array_base(ndarray arr):
*/
- (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base));
+ __pyx_t_1 = PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(2, 969, __pyx_L1_error)
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":970
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":967
* int _import_umath() except -1
*
* cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
@@ -22350,10 +23112,13 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_AddTraceback("numpy.set_array_base", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_L0:;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":974
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":971
* PyArray_SetBaseObject(arr, base)
*
* cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
@@ -22366,9 +23131,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
- __Pyx_RefNannySetupContext("get_array_base", 0);
+ __Pyx_RefNannySetupContext("get_array_base", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":975
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":972
*
* cdef inline object get_array_base(ndarray arr):
* base = PyArray_BASE(arr) # <<<<<<<<<<<<<<
@@ -22377,7 +23142,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
*/
__pyx_v_base = PyArray_BASE(__pyx_v_arr);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":976
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":973
* cdef inline object get_array_base(ndarray arr):
* base = PyArray_BASE(arr)
* if base is NULL: # <<<<<<<<<<<<<<
@@ -22387,7 +23152,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
__pyx_t_1 = (__pyx_v_base == NULL);
if (__pyx_t_1) {
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":977
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":974
* base = PyArray_BASE(arr)
* if base is NULL:
* return None # <<<<<<<<<<<<<<
@@ -22398,7 +23163,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":976
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":973
* cdef inline object get_array_base(ndarray arr):
* base = PyArray_BASE(arr)
* if base is NULL: # <<<<<<<<<<<<<<
@@ -22407,7 +23172,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
*/
}
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":978
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":975
* if base is NULL:
* return None
* return base # <<<<<<<<<<<<<<
@@ -22419,7 +23184,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
__pyx_r = ((PyObject *)__pyx_v_base);
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":974
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":971
* PyArray_SetBaseObject(arr, base)
*
* cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
@@ -22434,7 +23199,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":982
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":979
* # Versions of the import_* functions which are more suitable for
* # Cython code.
* cdef inline int import_array() except -1: # <<<<<<<<<<<<<<
@@ -22456,9 +23221,9 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("import_array", 0);
+ __Pyx_RefNannySetupContext("import_array", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":983
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":980
* # Cython code.
* cdef inline int import_array() except -1:
* try: # <<<<<<<<<<<<<<
@@ -22474,16 +23239,16 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":984
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":981
* cdef inline int import_array() except -1:
* try:
* __pyx_import_array() # <<<<<<<<<<<<<<
* except Exception:
* raise ImportError("numpy.core.multiarray failed to import")
*/
- __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 984, __pyx_L3_error)
+ __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 981, __pyx_L3_error)
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":983
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":980
* # Cython code.
* cdef inline int import_array() except -1:
* try: # <<<<<<<<<<<<<<
@@ -22497,7 +23262,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
goto __pyx_L8_try_end;
__pyx_L3_error:;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":985
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":982
* try:
* __pyx_import_array()
* except Exception: # <<<<<<<<<<<<<<
@@ -22507,27 +23272,27 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
__pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_4) {
__Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 985, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 982, __pyx_L5_except_error)
__Pyx_XGOTREF(__pyx_t_5);
__Pyx_XGOTREF(__pyx_t_6);
__Pyx_XGOTREF(__pyx_t_7);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":986
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":983
* __pyx_import_array()
* except Exception:
* raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<<
*
* cdef inline int import_umath() except -1:
*/
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 986, __pyx_L5_except_error)
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 983, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_Raise(__pyx_t_8, 0, 0, 0);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __PYX_ERR(2, 986, __pyx_L5_except_error)
+ __PYX_ERR(2, 983, __pyx_L5_except_error)
}
goto __pyx_L5_except_error;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":983
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":980
* # Cython code.
* cdef inline int import_array() except -1:
* try: # <<<<<<<<<<<<<<
@@ -22543,7 +23308,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
__pyx_L8_try_end:;
}
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":982
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":979
* # Versions of the import_* functions which are more suitable for
* # Cython code.
* cdef inline int import_array() except -1: # <<<<<<<<<<<<<<
@@ -22566,7 +23331,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":988
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":985
* raise ImportError("numpy.core.multiarray failed to import")
*
* cdef inline int import_umath() except -1: # <<<<<<<<<<<<<<
@@ -22588,9 +23353,9 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("import_umath", 0);
+ __Pyx_RefNannySetupContext("import_umath", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":989
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":986
*
* cdef inline int import_umath() except -1:
* try: # <<<<<<<<<<<<<<
@@ -22606,16 +23371,16 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":990
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":987
* cdef inline int import_umath() except -1:
* try:
* _import_umath() # <<<<<<<<<<<<<<
* except Exception:
* raise ImportError("numpy.core.umath failed to import")
*/
- __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 990, __pyx_L3_error)
+ __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 987, __pyx_L3_error)
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":989
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":986
*
* cdef inline int import_umath() except -1:
* try: # <<<<<<<<<<<<<<
@@ -22629,7 +23394,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
goto __pyx_L8_try_end;
__pyx_L3_error:;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":991
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":988
* try:
* _import_umath()
* except Exception: # <<<<<<<<<<<<<<
@@ -22639,27 +23404,27 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
__pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_4) {
__Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 991, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 988, __pyx_L5_except_error)
__Pyx_XGOTREF(__pyx_t_5);
__Pyx_XGOTREF(__pyx_t_6);
__Pyx_XGOTREF(__pyx_t_7);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":992
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":989
* _import_umath()
* except Exception:
* raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<<
*
* cdef inline int import_ufunc() except -1:
*/
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 992, __pyx_L5_except_error)
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 989, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_Raise(__pyx_t_8, 0, 0, 0);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __PYX_ERR(2, 992, __pyx_L5_except_error)
+ __PYX_ERR(2, 989, __pyx_L5_except_error)
}
goto __pyx_L5_except_error;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":989
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":986
*
* cdef inline int import_umath() except -1:
* try: # <<<<<<<<<<<<<<
@@ -22675,7 +23440,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
__pyx_L8_try_end:;
}
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":988
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":985
* raise ImportError("numpy.core.multiarray failed to import")
*
* cdef inline int import_umath() except -1: # <<<<<<<<<<<<<<
@@ -22698,7 +23463,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":994
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":991
* raise ImportError("numpy.core.umath failed to import")
*
* cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<<
@@ -22720,9 +23485,9 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("import_ufunc", 0);
+ __Pyx_RefNannySetupContext("import_ufunc", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":995
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":992
*
* cdef inline int import_ufunc() except -1:
* try: # <<<<<<<<<<<<<<
@@ -22738,16 +23503,16 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":996
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":993
* cdef inline int import_ufunc() except -1:
* try:
* _import_umath() # <<<<<<<<<<<<<<
* except Exception:
* raise ImportError("numpy.core.umath failed to import")
*/
- __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 996, __pyx_L3_error)
+ __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 993, __pyx_L3_error)
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":995
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":992
*
* cdef inline int import_ufunc() except -1:
* try: # <<<<<<<<<<<<<<
@@ -22761,7 +23526,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
goto __pyx_L8_try_end;
__pyx_L3_error:;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":997
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":994
* try:
* _import_umath()
* except Exception: # <<<<<<<<<<<<<<
@@ -22771,27 +23536,27 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
__pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_4) {
__Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 997, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 994, __pyx_L5_except_error)
__Pyx_XGOTREF(__pyx_t_5);
__Pyx_XGOTREF(__pyx_t_6);
__Pyx_XGOTREF(__pyx_t_7);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":998
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":995
* _import_umath()
* except Exception:
* raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 998, __pyx_L5_except_error)
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 995, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_Raise(__pyx_t_8, 0, 0, 0);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __PYX_ERR(2, 998, __pyx_L5_except_error)
+ __PYX_ERR(2, 995, __pyx_L5_except_error)
}
goto __pyx_L5_except_error;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":995
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":992
*
* cdef inline int import_ufunc() except -1:
* try: # <<<<<<<<<<<<<<
@@ -22807,7 +23572,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
__pyx_L8_try_end:;
}
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":994
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":991
* raise ImportError("numpy.core.umath failed to import")
*
* cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<<
@@ -22830,7 +23595,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1001
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":998
*
*
* cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<<
@@ -22840,10 +23605,8 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_obj) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("is_timedelta64_object", 0);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1013
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1010
* bool
* """
* return PyObject_TypeCheck(obj, &PyTimedeltaArrType_Type) # <<<<<<<<<<<<<<
@@ -22853,7 +23616,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_
__pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyTimedeltaArrType_Type));
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1001
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":998
*
*
* cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<<
@@ -22863,11 +23626,10 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_
/* function exit code */
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1016
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1013
*
*
* cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<<
@@ -22877,10 +23639,8 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_
static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_obj) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("is_datetime64_object", 0);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1028
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1025
* bool
* """
* return PyObject_TypeCheck(obj, &PyDatetimeArrType_Type) # <<<<<<<<<<<<<<
@@ -22890,7 +23650,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_o
__pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyDatetimeArrType_Type));
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1016
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1013
*
*
* cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<<
@@ -22900,11 +23660,10 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_o
/* function exit code */
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1031
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1028
*
*
* cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<<
@@ -22915,7 +23674,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_o
static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *__pyx_v_obj) {
npy_datetime __pyx_r;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1038
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1035
* also needed. That can be found using `get_datetime64_unit`.
* """
* return (obj).obval # <<<<<<<<<<<<<<
@@ -22925,7 +23684,7 @@ static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *
__pyx_r = ((PyDatetimeScalarObject *)__pyx_v_obj)->obval;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1031
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1028
*
*
* cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<<
@@ -22938,7 +23697,7 @@ static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1041
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1038
*
*
* cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<<
@@ -22949,7 +23708,7 @@ static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *
static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject *__pyx_v_obj) {
npy_timedelta __pyx_r;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1045
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1042
* returns the int64 value underlying scalar numpy timedelta64 object
* """
* return (obj).obval # <<<<<<<<<<<<<<
@@ -22959,7 +23718,7 @@ static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject
__pyx_r = ((PyTimedeltaScalarObject *)__pyx_v_obj)->obval;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1041
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1038
*
*
* cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<<
@@ -22972,7 +23731,7 @@ static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1048
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1045
*
*
* cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<<
@@ -22983,7 +23742,7 @@ static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject
static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObject *__pyx_v_obj) {
NPY_DATETIMEUNIT __pyx_r;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1052
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1049
* returns the unit part of the dtype for a numpy datetime64 object.
* """
* return (obj).obmeta.base # <<<<<<<<<<<<<<
@@ -22991,7 +23750,7 @@ static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObjec
__pyx_r = ((NPY_DATETIMEUNIT)((PyDatetimeScalarObject *)__pyx_v_obj)->obmeta.base);
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1048
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1045
*
*
* cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<<
@@ -23031,18 +23790,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
std::string __pyx_v_name;
enum __pyx_t_6cereal_9visionipc_13visionipc_pyx_VisionStreamType __pyx_v_stream;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[2] = {0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_endpoint_name (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_stream,0};
- PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -23056,12 +23823,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("get_endpoint_name", 1, 2, 2, 1); __PYX_ERR(0, 20, __pyx_L3_error)
@@ -23080,10 +23853,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_name = __pyx_convert_string_from_py_std__in_string(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error)
__pyx_v_stream = ((enum __pyx_t_6cereal_9visionipc_13visionipc_pyx_VisionStreamType)__Pyx_PyInt_As_enum____pyx_t_6cereal_9visionipc_13visionipc_pyx_VisionStreamType(values[1])); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error)
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("get_endpoint_name", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 20, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.get_endpoint_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -23091,6 +23872,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_get_endpoint_name(__pyx_self, __PYX_STD_MOVE_IF_SUPPORTED(__pyx_v_name), __pyx_v_stream);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -23102,7 +23889,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_get_endpoint_name(C
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("get_endpoint_name", 0);
+ __Pyx_RefNannySetupContext("get_endpoint_name", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":21
*
@@ -23153,7 +23940,7 @@ static PyObject *__pyx_f_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_create(Vi
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("create", 0);
+ __Pyx_RefNannySetupContext("create", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":34
* @staticmethod
@@ -23219,10 +24006,11 @@ static PyObject *__pyx_f_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_create(Vi
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_4data_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_4data___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionBuf *)__pyx_v_self));
/* function exit code */
@@ -23243,7 +24031,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_4data___
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":40
* @property
@@ -23273,7 +24061,8 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_4data___
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
@@ -23283,6 +24072,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_4data___
__pyx_t_7 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_6, ((PyObject *)__pyx_t_5)};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
@@ -23330,10 +24120,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_4data___
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_5width_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_5width___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionBuf *)__pyx_v_self));
/* function exit code */
@@ -23348,7 +24139,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_5width__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":44
* @property
@@ -23394,10 +24185,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_5width__
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_6height_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_6height___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionBuf *)__pyx_v_self));
/* function exit code */
@@ -23412,7 +24204,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_6height_
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":48
* @property
@@ -23458,10 +24250,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_6height_
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_6stride_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_6stride_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_6stride___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionBuf *)__pyx_v_self));
/* function exit code */
@@ -23476,7 +24269,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_6stride_
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":52
* @property
@@ -23522,10 +24315,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_6stride_
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_9uv_offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_9uv_offset_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_9uv_offset___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionBuf *)__pyx_v_self));
/* function exit code */
@@ -23540,7 +24334,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_9uv_offs
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":56
* @property
@@ -23586,10 +24380,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_9uv_offs
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_3rgb_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_3rgb_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_3rgb___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionBuf *)__pyx_v_self));
/* function exit code */
@@ -23604,7 +24399,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_3rgb___g
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":60
* @property
@@ -23662,12 +24457,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -23684,7 +24487,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf___reduce
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -23735,18 +24538,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -23758,7 +24569,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -23773,10 +24587,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionBuf.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -23784,6 +24606,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_2__setstate_cython__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionBuf *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -23794,7 +24622,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_2__setst
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "self.buf cannot be converted to a Python object for pickling"
@@ -23832,17 +24660,23 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_2__setst
static int __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
std::string __pyx_v_name;
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -23854,7 +24688,10 @@ static int __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_1__init
kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 66, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -23869,10 +24706,18 @@ static int __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_1__init
}
__pyx_v_name = __pyx_convert_string_from_py_std__in_string(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 66, __pyx_L3_error)
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 66, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcServer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
@@ -23880,14 +24725,18 @@ static int __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_1__init
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer___init__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer *)__pyx_v_self), __PYX_STD_MOVE_IF_SUPPORTED(__pyx_v_name));
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer___init__(struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer *__pyx_v_self, std::string __pyx_v_name) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__init__", 0);
/* "cereal/visionipc/visionipc_pyx.pyx":67
*
@@ -23908,7 +24757,6 @@ static int __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer___init_
/* function exit code */
__pyx_r = 0;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -23942,18 +24790,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
size_t __pyx_v_width;
size_t __pyx_v_height;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[5] = {0,0,0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("create_buffers (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_tp,&__pyx_n_s_num_buffers,&__pyx_n_s_rgb,&__pyx_n_s_width,&__pyx_n_s_height,0};
- PyObject* values[5] = {0,0,0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -23973,33 +24829,48 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tp)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tp)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 69, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_num_buffers)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_num_buffers)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 69, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("create_buffers", 1, 5, 5, 1); __PYX_ERR(0, 69, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
- if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rgb)) != 0)) kw_args--;
+ if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rgb)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 69, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("create_buffers", 1, 5, 5, 2); __PYX_ERR(0, 69, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
- if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_width)) != 0)) kw_args--;
+ if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_width)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 69, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("create_buffers", 1, 5, 5, 3); __PYX_ERR(0, 69, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
- if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_height)) != 0)) kw_args--;
+ if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_height)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 69, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("create_buffers", 1, 5, 5, 4); __PYX_ERR(0, 69, __pyx_L3_error)
@@ -24024,10 +24895,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_width = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 69, __pyx_L3_error)
__pyx_v_height = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 69, __pyx_L3_error)
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("create_buffers", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 69, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcServer.create_buffers", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -24035,6 +24914,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_2create_buffers(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer *)__pyx_v_self), __pyx_v_tp, __pyx_v_num_buffers, __pyx_v_rgb, __pyx_v_width, __pyx_v_height);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -24042,7 +24927,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_2create_buffers(struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer *__pyx_v_self, enum __pyx_t_6cereal_9visionipc_13visionipc_pyx_VisionStreamType __pyx_v_tp, size_t __pyx_v_num_buffers, bool __pyx_v_rgb, size_t __pyx_v_width, size_t __pyx_v_height) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("create_buffers", 0);
+ __Pyx_RefNannySetupContext("create_buffers", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":70
*
@@ -24101,18 +24986,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
size_t __pyx_v_stride;
size_t __pyx_v_uv_offset;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[8] = {0,0,0,0,0,0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("create_buffers_with_sizes (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_tp,&__pyx_n_s_num_buffers,&__pyx_n_s_rgb,&__pyx_n_s_width,&__pyx_n_s_height,&__pyx_n_s_size,&__pyx_n_s_stride,&__pyx_n_s_uv_offset,0};
- PyObject* values[8] = {0,0,0,0,0,0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -24138,54 +25031,78 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tp)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tp)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_num_buffers)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_num_buffers)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("create_buffers_with_sizes", 1, 8, 8, 1); __PYX_ERR(0, 72, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
- if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rgb)) != 0)) kw_args--;
+ if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rgb)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("create_buffers_with_sizes", 1, 8, 8, 2); __PYX_ERR(0, 72, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
- if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_width)) != 0)) kw_args--;
+ if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_width)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("create_buffers_with_sizes", 1, 8, 8, 3); __PYX_ERR(0, 72, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
- if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_height)) != 0)) kw_args--;
+ if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_height)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("create_buffers_with_sizes", 1, 8, 8, 4); __PYX_ERR(0, 72, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
- if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size)) != 0)) kw_args--;
+ if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("create_buffers_with_sizes", 1, 8, 8, 5); __PYX_ERR(0, 72, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
- if (likely((values[6] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stride)) != 0)) kw_args--;
+ if (likely((values[6] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stride)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[6]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("create_buffers_with_sizes", 1, 8, 8, 6); __PYX_ERR(0, 72, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
- if (likely((values[7] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_uv_offset)) != 0)) kw_args--;
+ if (likely((values[7] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_uv_offset)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[7]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("create_buffers_with_sizes", 1, 8, 8, 7); __PYX_ERR(0, 72, __pyx_L3_error)
@@ -24216,10 +25133,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_stride = __Pyx_PyInt_As_size_t(values[6]); if (unlikely((__pyx_v_stride == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L3_error)
__pyx_v_uv_offset = __Pyx_PyInt_As_size_t(values[7]); if (unlikely((__pyx_v_uv_offset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L3_error)
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("create_buffers_with_sizes", 1, 8, 8, __pyx_nargs); __PYX_ERR(0, 72, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcServer.create_buffers_with_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -24227,6 +25152,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_4create_buffers_with_sizes(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer *)__pyx_v_self), __pyx_v_tp, __pyx_v_num_buffers, __pyx_v_rgb, __pyx_v_width, __pyx_v_height, __pyx_v_size, __pyx_v_stride, __pyx_v_uv_offset);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -24234,7 +25165,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_4create_buffers_with_sizes(struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer *__pyx_v_self, enum __pyx_t_6cereal_9visionipc_13visionipc_pyx_VisionStreamType __pyx_v_tp, size_t __pyx_v_num_buffers, bool __pyx_v_rgb, size_t __pyx_v_width, size_t __pyx_v_height, size_t __pyx_v_size, size_t __pyx_v_stride, size_t __pyx_v_uv_offset) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("create_buffers_with_sizes", 0);
+ __Pyx_RefNannySetupContext("create_buffers_with_sizes", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":73
*
@@ -24290,18 +25221,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
uint64_t __pyx_v_timestamp_sof;
uint64_t __pyx_v_timestamp_eof;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[5] = {0,0,0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("send (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_tp,&__pyx_n_s_data,&__pyx_n_s_frame_id,&__pyx_n_s_timestamp_sof,&__pyx_n_s_timestamp_eof,0};
- PyObject* values[5] = {0,0,0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -24321,12 +25260,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tp)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tp)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 75, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 75, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("send", 0, 2, 5, 1); __PYX_ERR(0, 75, __pyx_L3_error)
@@ -24335,21 +25280,21 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frame_id);
- if (value) { values[2] = value; kw_args--; }
+ if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 75, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_timestamp_sof);
- if (value) { values[3] = value; kw_args--; }
+ if (value) { values[3] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 75, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_timestamp_eof);
- if (value) { values[4] = value; kw_args--; }
+ if (value) { values[4] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 75, __pyx_L3_error)
}
}
@@ -24389,10 +25334,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_timestamp_eof = ((uint64_t)0);
}
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("send", 0, 2, 5, __pyx_nargs); __PYX_ERR(0, 75, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__PYX_XCLEAR_MEMVIEW(&__pyx_v_data, 1);
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcServer.send", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -24402,6 +25355,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
/* function exit code */
__PYX_XCLEAR_MEMVIEW(&__pyx_v_data, 1);
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -24418,7 +25377,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_6
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("send", 0);
+ __Pyx_RefNannySetupContext("send", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":76
*
@@ -24559,12 +25518,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("start_listener (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("start_listener", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "start_listener", 0))) return NULL;
@@ -24578,7 +25545,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_8start_listener(struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("start_listener", 0);
+ __Pyx_RefNannySetupContext("start_listener", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":91
*
@@ -24615,9 +25582,10 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_8
/* Python wrapper */
static void __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_11__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_11__dealloc__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_10__dealloc__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer *)__pyx_v_self));
/* function exit code */
@@ -24625,8 +25593,6 @@ static void __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_11__de
}
static void __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_10__dealloc__(struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer *__pyx_v_self) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__dealloc__", 0);
/* "cereal/visionipc/visionipc_pyx.pyx":94
*
@@ -24646,7 +25612,6 @@ static void __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_10__de
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
/* "(tree fragment)":1
@@ -24672,12 +25637,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -24694,7 +25667,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_1
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -24745,18 +25718,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -24768,7 +25749,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -24783,10 +25767,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcServer.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -24794,6 +25786,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_14__setstate_cython__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -24804,7 +25802,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_1
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "self.server cannot be converted to a Python object for pickling"
@@ -24845,18 +25843,24 @@ static int __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1__cini
enum __pyx_t_6cereal_9visionipc_13visionipc_pyx_VisionStreamType __pyx_v_stream;
bool __pyx_v_conflate;
struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_CLContext *__pyx_v_context = 0;
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[4] = {0,0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_stream,&__pyx_n_s_conflate,&__pyx_n_s_context,0};
- PyObject* values[4] = {0,0,0,0};
- values[3] = (PyObject *)((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_CLContext *)Py_None);
+ values[3] = __Pyx_Arg_NewRef_VARARGS((PyObject *)((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_CLContext *)Py_None));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -24874,19 +25878,28 @@ static int __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1__cini
kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, 1); __PYX_ERR(0, 101, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
- if (likely((values[2] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_conflate)) != 0)) kw_args--;
+ if (likely((values[2] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_conflate)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[2]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, 2); __PYX_ERR(0, 101, __pyx_L3_error)
@@ -24895,7 +25908,7 @@ static int __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1__cini
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_context);
- if (value) { values[3] = value; kw_args--; }
+ if (value) { values[3] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
}
}
@@ -24919,10 +25932,18 @@ static int __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1__cini
__pyx_v_conflate = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_conflate == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
__pyx_v_context = ((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_CLContext *)values[3]);
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, __pyx_nargs); __PYX_ERR(0, 101, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcClient.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
@@ -24935,18 +25956,22 @@ static int __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1__cini
__pyx_L1_error:;
__pyx_r = -1;
__pyx_L0:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient___cinit__(struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *__pyx_v_self, std::string __pyx_v_name, enum __pyx_t_6cereal_9visionipc_13visionipc_pyx_VisionStreamType __pyx_v_stream, bool __pyx_v_conflate, struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_CLContext *__pyx_v_context) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
int __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__cinit__", 0);
/* "cereal/visionipc/visionipc_pyx.pyx":102
*
@@ -25004,7 +26029,6 @@ static int __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient___cinit
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcClient.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -25019,9 +26043,10 @@ static int __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient___cinit
/* Python wrapper */
static void __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_3__dealloc__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_2__dealloc__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self));
/* function exit code */
@@ -25029,8 +26054,6 @@ static void __pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_3__dea
}
static void __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_2__dealloc__(struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *__pyx_v_self) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__dealloc__", 0);
/* "cereal/visionipc/visionipc_pyx.pyx":108
*
@@ -25050,7 +26073,6 @@ static void __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_2__dea
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
/* "cereal/visionipc/visionipc_pyx.pyx":110
@@ -25064,10 +26086,11 @@ static void __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_2__dea
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_5width_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_5width___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self));
/* function exit code */
@@ -25079,11 +26102,12 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_5
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":112
* @property
@@ -25093,11 +26117,12 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_5
* @property
*/
__Pyx_XDECREF(__pyx_r);
- if ((__pyx_v_self->client->num_buffers != 0)) {
- __pyx_t_2 = __Pyx_PyInt_FromSize_t((__pyx_v_self->client->buffers[0]).width); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __pyx_t_2;
- __pyx_t_2 = 0;
+ __pyx_t_2 = (__pyx_v_self->client->num_buffers != 0);
+ if (__pyx_t_2) {
+ __pyx_t_3 = __Pyx_PyInt_FromSize_t((__pyx_v_self->client->buffers[0]).width); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 112, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_t_3 = 0;
} else {
__Pyx_INCREF(Py_None);
__pyx_t_1 = Py_None;
@@ -25117,7 +26142,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_5
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcClient.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -25137,10 +26162,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_5
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6height_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6height___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self));
/* function exit code */
@@ -25152,11 +26178,12 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":116
* @property
@@ -25166,11 +26193,12 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6
* @property
*/
__Pyx_XDECREF(__pyx_r);
- if ((__pyx_v_self->client->num_buffers != 0)) {
- __pyx_t_2 = __Pyx_PyInt_FromSize_t((__pyx_v_self->client->buffers[0]).height); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 116, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __pyx_t_2;
- __pyx_t_2 = 0;
+ __pyx_t_2 = (__pyx_v_self->client->num_buffers != 0);
+ if (__pyx_t_2) {
+ __pyx_t_3 = __Pyx_PyInt_FromSize_t((__pyx_v_self->client->buffers[0]).height); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 116, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_t_3 = 0;
} else {
__Pyx_INCREF(Py_None);
__pyx_t_1 = Py_None;
@@ -25190,7 +26218,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcClient.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -25210,10 +26238,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6stride_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6stride_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6stride___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self));
/* function exit code */
@@ -25225,11 +26254,12 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":120
* @property
@@ -25239,11 +26269,12 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6
* @property
*/
__Pyx_XDECREF(__pyx_r);
- if ((__pyx_v_self->client->num_buffers != 0)) {
- __pyx_t_2 = __Pyx_PyInt_FromSize_t((__pyx_v_self->client->buffers[0]).stride); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 120, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __pyx_t_2;
- __pyx_t_2 = 0;
+ __pyx_t_2 = (__pyx_v_self->client->num_buffers != 0);
+ if (__pyx_t_2) {
+ __pyx_t_3 = __Pyx_PyInt_FromSize_t((__pyx_v_self->client->buffers[0]).stride); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 120, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_t_3 = 0;
} else {
__Pyx_INCREF(Py_None);
__pyx_t_1 = Py_None;
@@ -25263,7 +26294,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcClient.stride.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -25283,10 +26314,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_9uv_offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_9uv_offset_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_9uv_offset___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self));
/* function exit code */
@@ -25298,11 +26330,12 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_9
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":124
* @property
@@ -25312,11 +26345,12 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_9
* @property
*/
__Pyx_XDECREF(__pyx_r);
- if ((__pyx_v_self->client->num_buffers != 0)) {
- __pyx_t_2 = __Pyx_PyInt_FromSize_t((__pyx_v_self->client->buffers[0]).uv_offset); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __pyx_t_2;
- __pyx_t_2 = 0;
+ __pyx_t_2 = (__pyx_v_self->client->num_buffers != 0);
+ if (__pyx_t_2) {
+ __pyx_t_3 = __Pyx_PyInt_FromSize_t((__pyx_v_self->client->buffers[0]).uv_offset); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_t_3 = 0;
} else {
__Pyx_INCREF(Py_None);
__pyx_t_1 = Py_None;
@@ -25336,7 +26370,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_9
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcClient.uv_offset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -25356,10 +26390,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_9
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_3rgb_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_3rgb_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_3rgb___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self));
/* function exit code */
@@ -25371,11 +26406,12 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_3
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":128
* @property
@@ -25385,11 +26421,12 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_3
* @property
*/
__Pyx_XDECREF(__pyx_r);
- if ((__pyx_v_self->client->num_buffers != 0)) {
- __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_self->client->buffers[0]).rgb); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __pyx_t_2;
- __pyx_t_2 = 0;
+ __pyx_t_2 = (__pyx_v_self->client->num_buffers != 0);
+ if (__pyx_t_2) {
+ __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_self->client->buffers[0]).rgb); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_t_3 = 0;
} else {
__Pyx_INCREF(Py_None);
__pyx_t_1 = Py_None;
@@ -25409,7 +26446,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_3
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcClient.rgb.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -25429,10 +26466,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_3
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_10buffer_len_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_10buffer_len_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_10buffer_len___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self));
/* function exit code */
@@ -25444,11 +26482,12 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":132
* @property
@@ -25458,11 +26497,12 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1
* @property
*/
__Pyx_XDECREF(__pyx_r);
- if ((__pyx_v_self->client->num_buffers != 0)) {
- __pyx_t_2 = __Pyx_PyInt_FromSize_t((__pyx_v_self->client->buffers[0]).len); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 132, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __pyx_t_2;
- __pyx_t_2 = 0;
+ __pyx_t_2 = (__pyx_v_self->client->num_buffers != 0);
+ if (__pyx_t_2) {
+ __pyx_t_3 = __Pyx_PyInt_FromSize_t((__pyx_v_self->client->buffers[0]).len); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 132, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_t_3 = 0;
} else {
__Pyx_INCREF(Py_None);
__pyx_t_1 = Py_None;
@@ -25482,7 +26522,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcClient.buffer_len.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -25502,10 +26542,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_11num_buffers_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_11num_buffers_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_11num_buffers___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self));
/* function exit code */
@@ -25520,7 +26561,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":136
* @property
@@ -25566,10 +26607,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_8frame_id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_8frame_id_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_8frame_id___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self));
/* function exit code */
@@ -25584,7 +26626,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_8
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":140
* @property
@@ -25630,10 +26672,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_8
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_13timestamp_sof_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_13timestamp_sof_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_13timestamp_sof___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self));
/* function exit code */
@@ -25648,7 +26691,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":144
* @property
@@ -25694,10 +26737,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_13timestamp_eof_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_13timestamp_eof_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_13timestamp_eof___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self));
/* function exit code */
@@ -25712,7 +26756,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":148
* @property
@@ -25758,10 +26802,11 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1
/* Python wrapper */
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_5valid_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_5valid_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_5valid___get__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self));
/* function exit code */
@@ -25776,7 +26821,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_5
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":152
* @property
@@ -25837,18 +26882,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
int __pyx_v_timeout_ms;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("recv (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_timeout_ms,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -25862,7 +26915,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
case 0:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_timeout_ms);
- if (value) { values[0] = value; kw_args--; }
+ if (value) { values[0] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 154, __pyx_L3_error)
}
}
@@ -25884,10 +26937,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_timeout_ms = ((int)0x64);
}
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("recv", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 154, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcClient.recv", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -25895,6 +26956,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_4recv(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self), __pyx_v_timeout_ms);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -25908,7 +26975,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_4
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("recv", 0);
+ __Pyx_RefNannySetupContext("recv", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":155
*
@@ -26008,18 +27075,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
bool __pyx_v_blocking;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("connect (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_blocking,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -26031,7 +27106,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blocking)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blocking)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 160, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -26046,10 +27124,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_blocking = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_blocking == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 160, __pyx_L3_error)
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("connect", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 160, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcClient.connect", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -26057,6 +27143,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6connect(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self), __pyx_v_blocking);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -26068,7 +27160,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_6
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("connect", 0);
+ __Pyx_RefNannySetupContext("connect", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":161
*
@@ -26128,12 +27220,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_connected (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("is_connected", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "is_connected", 0))) return NULL;
@@ -26151,7 +27251,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_8
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("is_connected", 0);
+ __Pyx_RefNannySetupContext("is_connected", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":164
*
@@ -26213,18 +27313,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
std::string __pyx_v_name;
bool __pyx_v_block;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[2] = {0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("available_streams (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_block,0};
- PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -26238,12 +27346,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 166, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_block)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_block)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 166, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("available_streams", 1, 2, 2, 1); __PYX_ERR(0, 166, __pyx_L3_error)
@@ -26262,10 +27376,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_name = __pyx_convert_string_from_py_std__in_string(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 167, __pyx_L3_error)
__pyx_v_block = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_block == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 167, __pyx_L3_error)
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("available_streams", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 166, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcClient.available_streams", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -26273,6 +27395,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_10available_streams(__PYX_STD_MOVE_IF_SUPPORTED(__pyx_v_name), __pyx_v_block);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -26284,7 +27412,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("available_streams", 0);
+ __Pyx_RefNannySetupContext("available_streams", 1);
/* "cereal/visionipc/visionipc_pyx.pyx":168
* @staticmethod
@@ -26340,12 +27468,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -26362,7 +27498,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -26413,18 +27549,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -26436,7 +27580,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -26451,10 +27598,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("cereal.visionipc.visionipc_pyx.VisionIpcClient.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -26462,6 +27617,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_14__setstate_cython__(((struct __pyx_obj_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -26472,7 +27633,7 @@ static PyObject *__pyx_pf_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_1
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -26522,7 +27683,14 @@ static void __pyx_tp_dealloc_6cereal_9visionipc_13visionipc_pyx_CLContext(PyObje
}
}
#endif
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6cereal_9visionipc_13visionipc_pyx_CLContext_slots[] = {
@@ -26649,7 +27817,14 @@ static void __pyx_tp_dealloc_6cereal_9visionipc_13visionipc_pyx_VisionBuf(PyObje
}
}
#endif
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static PyObject *__pyx_getprop_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_data(PyObject *o, CYTHON_UNUSED void *x) {
@@ -26822,7 +27997,14 @@ static void __pyx_tp_dealloc_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer(
__Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
PyErr_Restore(etype, eval, etb);
}
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static PyMethodDef __pyx_methods_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer[] = {
@@ -26974,7 +28156,14 @@ static void __pyx_tp_dealloc_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient(
PyErr_Restore(etype, eval, etb);
}
__Pyx_call_destructor(p->extra);
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static PyObject *__pyx_getprop_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_width(PyObject *o, CYTHON_UNUSED void *x) {
@@ -27333,7 +28522,14 @@ static void __pyx_tp_dealloc_array(PyObject *o) {
}
Py_CLEAR(p->mode);
Py_CLEAR(p->_format);
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static PyObject *__pyx_sq_item_array(PyObject *o, Py_ssize_t i) {
PyObject *r;
@@ -27574,7 +28770,14 @@ static void __pyx_tp_dealloc_Enum(PyObject *o) {
#endif
PyObject_GC_UnTrack(o);
Py_CLEAR(p->name);
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static int __pyx_tp_traverse_Enum(PyObject *o, visitproc v, void *a) {
@@ -27756,7 +28959,14 @@ static void __pyx_tp_dealloc_memoryview(PyObject *o) {
Py_CLEAR(p->obj);
Py_CLEAR(p->_size);
Py_CLEAR(p->_array_interface);
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static int __pyx_tp_traverse_memoryview(PyObject *o, visitproc v, void *a) {
@@ -28313,7 +29523,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_kp_u__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 1, 0, 0},
{&__pyx_kp_u__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0, 0},
{&__pyx_n_s__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 1, 1},
- {&__pyx_n_s__68, __pyx_k__68, sizeof(__pyx_k__68), 0, 0, 1, 1},
+ {&__pyx_n_s__67, __pyx_k__67, sizeof(__pyx_k__67), 0, 0, 1, 1},
{&__pyx_kp_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 0},
{&__pyx_kp_u__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 0},
{&__pyx_n_s_abc, __pyx_k_abc, sizeof(__pyx_k_abc), 0, 0, 1, 1},
@@ -28484,7 +29694,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
__pyx_builtin_Ellipsis = __Pyx_GetBuiltinName(__pyx_n_s_Ellipsis); if (!__pyx_builtin_Ellipsis) __PYX_ERR(1, 408, __pyx_L1_error)
__pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_n_s_id); if (!__pyx_builtin_id) __PYX_ERR(1, 618, __pyx_L1_error)
__pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) __PYX_ERR(1, 914, __pyx_L1_error)
- __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(2, 986, __pyx_L1_error)
+ __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(2, 983, __pyx_L1_error)
return 0;
__pyx_L1_error:;
return -1;
@@ -28517,7 +29727,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
__Pyx_GOTREF(__pyx_tuple__6);
__Pyx_INCREF(__pyx_int_neg_1);
__Pyx_GIVEREF(__pyx_int_neg_1);
- PyTuple_SET_ITEM(__pyx_tuple__6, 0, __pyx_int_neg_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_tuple__6, 0, __pyx_int_neg_1)) __PYX_ERR(1, 582, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_tuple__6);
/* "View.MemoryView":679
@@ -28542,25 +29752,25 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
__Pyx_GOTREF(__pyx_tuple__10);
__Pyx_GIVEREF(__pyx_tuple__10);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":986
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":983
* __pyx_import_array()
* except Exception:
* raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<<
*
* cdef inline int import_umath() except -1:
*/
- __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_u_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(2, 986, __pyx_L1_error)
+ __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_u_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(2, 983, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__16);
__Pyx_GIVEREF(__pyx_tuple__16);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":992
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":989
* _import_umath()
* except Exception:
* raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<<
*
* cdef inline int import_ufunc() except -1:
*/
- __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_u_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(2, 992, __pyx_L1_error)
+ __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_u_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(2, 989, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__17);
__Pyx_GIVEREF(__pyx_tuple__17);
@@ -28596,7 +29806,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
__Pyx_GOTREF(__pyx_tuple__22);
__Pyx_GIVEREF(__pyx_tuple__22);
__pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_new, 28, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(1, 28, __pyx_L1_error)
- __pyx_tuple__24 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(1, 28, __pyx_L1_error)
+ __pyx_tuple__24 = PyTuple_Pack(1, Py_None); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(1, 28, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__24);
__Pyx_GIVEREF(__pyx_tuple__24);
@@ -28629,9 +29839,6 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* if v == value:
*/
__pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_new, 49, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(1, 49, __pyx_L1_error)
- __pyx_tuple__29 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(1, 49, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__29);
- __Pyx_GIVEREF(__pyx_tuple__29);
/* "EnumBase":62
* cls.__members__[name] = res
@@ -28640,7 +29847,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
* def __str__(self):
*/
- __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_repr, 62, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(1, 62, __pyx_L1_error)
+ __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_repr, 62, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(1, 62, __pyx_L1_error)
/* "EnumBase":64
* def __repr__(self):
@@ -28649,17 +29856,17 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* return "%s.%s" % (self.__class__.__name__, self.name)
*
*/
- __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_str, 64, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) __PYX_ERR(1, 64, __pyx_L1_error)
+ __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_str, 64, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(1, 64, __pyx_L1_error)
/* "(tree fragment)":1
* def __pyx_unpickle___Pyx_EnumMeta(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_tuple__32 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(1, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__32);
- __Pyx_GIVEREF(__pyx_tuple__32);
- __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __pyx_tuple__31 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__31);
+ __Pyx_GIVEREF(__pyx_tuple__31);
+ __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(1, 1, __pyx_L1_error)
/* "View.MemoryView":100
* cdef object __pyx_collections_abc_Sequence "__pyx_collections_abc_Sequence"
@@ -28668,12 +29875,12 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
* else:
*/
- __pyx_tuple__34 = PyTuple_Pack(1, __pyx_n_s_sys); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(1, 100, __pyx_L1_error)
+ __pyx_tuple__33 = PyTuple_Pack(1, __pyx_n_s_sys); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(1, 100, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__33);
+ __Pyx_GIVEREF(__pyx_tuple__33);
+ __pyx_tuple__34 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_3); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(1, 100, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__34);
__Pyx_GIVEREF(__pyx_tuple__34);
- __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_3); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(1, 100, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__35);
- __Pyx_GIVEREF(__pyx_tuple__35);
/* "View.MemoryView":101
* try:
@@ -28682,9 +29889,9 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* else:
* __pyx_collections_abc_Sequence = __import__("collections").Sequence
*/
- __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_s_collections_abc); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(1, 101, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__36);
- __Pyx_GIVEREF(__pyx_tuple__36);
+ __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_s_collections_abc); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(1, 101, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__35);
+ __Pyx_GIVEREF(__pyx_tuple__35);
/* "View.MemoryView":103
* __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
@@ -28693,9 +29900,9 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* except:
*
*/
- __pyx_tuple__37 = PyTuple_Pack(1, __pyx_n_s_collections); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(1, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__37);
- __Pyx_GIVEREF(__pyx_tuple__37);
+ __pyx_tuple__36 = PyTuple_Pack(1, __pyx_n_s_collections); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(1, 103, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__36);
+ __Pyx_GIVEREF(__pyx_tuple__36);
/* "View.MemoryView":309
* return self.name
@@ -28704,9 +29911,9 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* cdef strided = Enum("") # default
* cdef indirect = Enum("")
*/
- __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_s_strided_and_direct_or_indirect); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(1, 309, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__38);
- __Pyx_GIVEREF(__pyx_tuple__38);
+ __pyx_tuple__37 = PyTuple_Pack(1, __pyx_kp_s_strided_and_direct_or_indirect); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(1, 309, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__37);
+ __Pyx_GIVEREF(__pyx_tuple__37);
/* "View.MemoryView":310
*
@@ -28715,9 +29922,9 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* cdef indirect = Enum("")
*
*/
- __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_s_strided_and_direct); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(1, 310, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__39);
- __Pyx_GIVEREF(__pyx_tuple__39);
+ __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_s_strided_and_direct); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(1, 310, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__38);
+ __Pyx_GIVEREF(__pyx_tuple__38);
/* "View.MemoryView":311
* cdef generic = Enum("")
@@ -28726,9 +29933,9 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
*
*
*/
- __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_s_strided_and_indirect); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(1, 311, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__40);
- __Pyx_GIVEREF(__pyx_tuple__40);
+ __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_s_strided_and_indirect); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(1, 311, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__39);
+ __Pyx_GIVEREF(__pyx_tuple__39);
/* "View.MemoryView":314
*
@@ -28737,9 +29944,9 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* cdef indirect_contiguous = Enum("")
*
*/
- __pyx_tuple__41 = PyTuple_Pack(1, __pyx_kp_s_contiguous_and_direct); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(1, 314, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__41);
- __Pyx_GIVEREF(__pyx_tuple__41);
+ __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_s_contiguous_and_direct); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(1, 314, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__40);
+ __Pyx_GIVEREF(__pyx_tuple__40);
/* "View.MemoryView":315
*
@@ -28748,16 +29955,16 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
*
*
*/
- __pyx_tuple__42 = PyTuple_Pack(1, __pyx_kp_s_contiguous_and_indirect); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(1, 315, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__42);
- __Pyx_GIVEREF(__pyx_tuple__42);
+ __pyx_tuple__41 = PyTuple_Pack(1, __pyx_kp_s_contiguous_and_indirect); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(1, 315, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__41);
+ __Pyx_GIVEREF(__pyx_tuple__41);
/* "(tree fragment)":1
* def __pyx_unpickle_Enum(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Enum, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Enum, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(1, 1, __pyx_L1_error)
/* "cereal/visionipc/visionipc_pyx.pyx":20
*
@@ -28766,17 +29973,17 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* return cpp_get_endpoint_name(name, stream).decode('utf-8')
*
*/
- __pyx_tuple__44 = PyTuple_Pack(2, __pyx_n_s_name, __pyx_n_s_stream); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(0, 20, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__44);
- __Pyx_GIVEREF(__pyx_tuple__44);
- __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_get_endpoint_name, 20, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 20, __pyx_L1_error)
+ __pyx_tuple__43 = PyTuple_Pack(2, __pyx_n_s_name, __pyx_n_s_stream); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 20, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__43);
+ __Pyx_GIVEREF(__pyx_tuple__43);
+ __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_get_endpoint_name, 20, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 20, __pyx_L1_error)
/* "(tree fragment)":1
* def __reduce_cython__(self): # <<<<<<<<<<<<<<
* raise TypeError, "self.buf cannot be converted to a Python object for pickling"
* def __setstate_cython__(self, __pyx_state):
*/
- __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(1, 1, __pyx_L1_error)
/* "(tree fragment)":3
* def __reduce_cython__(self):
@@ -28784,7 +29991,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
* raise TypeError, "self.buf cannot be converted to a Python object for pickling"
*/
- __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(1, 3, __pyx_L1_error)
+ __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(1, 3, __pyx_L1_error)
/* "cereal/visionipc/visionipc_pyx.pyx":69
* self.server = new cppVisionIpcServer(name, NULL, NULL)
@@ -28793,10 +30000,10 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* self.server.create_buffers(tp, num_buffers, rgb, width, height)
*
*/
- __pyx_tuple__48 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_tp, __pyx_n_s_num_buffers, __pyx_n_s_rgb, __pyx_n_s_width, __pyx_n_s_height); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(0, 69, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__48);
- __Pyx_GIVEREF(__pyx_tuple__48);
- __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_create_buffers, 69, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 69, __pyx_L1_error)
+ __pyx_tuple__47 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_tp, __pyx_n_s_num_buffers, __pyx_n_s_rgb, __pyx_n_s_width, __pyx_n_s_height); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 69, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__47);
+ __Pyx_GIVEREF(__pyx_tuple__47);
+ __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_create_buffers, 69, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 69, __pyx_L1_error)
/* "cereal/visionipc/visionipc_pyx.pyx":72
* self.server.create_buffers(tp, num_buffers, rgb, width, height)
@@ -28805,10 +30012,10 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* self.server.create_buffers_with_sizes(tp, num_buffers, rgb, width, height, size, stride, uv_offset)
*
*/
- __pyx_tuple__50 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_tp, __pyx_n_s_num_buffers, __pyx_n_s_rgb, __pyx_n_s_width, __pyx_n_s_height, __pyx_n_s_size, __pyx_n_s_stride, __pyx_n_s_uv_offset); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(0, 72, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__50);
- __Pyx_GIVEREF(__pyx_tuple__50);
- __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(9, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_create_buffers_with_sizes, 72, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 72, __pyx_L1_error)
+ __pyx_tuple__49 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_tp, __pyx_n_s_num_buffers, __pyx_n_s_rgb, __pyx_n_s_width, __pyx_n_s_height, __pyx_n_s_size, __pyx_n_s_stride, __pyx_n_s_uv_offset); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(0, 72, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__49);
+ __Pyx_GIVEREF(__pyx_tuple__49);
+ __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(9, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_create_buffers_with_sizes, 72, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 72, __pyx_L1_error)
/* "cereal/visionipc/visionipc_pyx.pyx":75
* self.server.create_buffers_with_sizes(tp, num_buffers, rgb, width, height, size, stride, uv_offset)
@@ -28817,13 +30024,13 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* cdef cppVisionBuf * buf = self.server.get_buffer(tp)
*
*/
- __pyx_tuple__52 = PyTuple_Pack(8, __pyx_n_s_self, __pyx_n_s_tp, __pyx_n_s_data, __pyx_n_s_frame_id, __pyx_n_s_timestamp_sof, __pyx_n_s_timestamp_eof, __pyx_n_s_buf, __pyx_n_s_extra); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 75, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__52);
- __Pyx_GIVEREF(__pyx_tuple__52);
- __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_send, 75, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(0, 75, __pyx_L1_error)
- __pyx_tuple__54 = PyTuple_Pack(3, __pyx_int_0, __pyx_int_0, __pyx_int_0); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 75, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__54);
- __Pyx_GIVEREF(__pyx_tuple__54);
+ __pyx_tuple__51 = PyTuple_Pack(8, __pyx_n_s_self, __pyx_n_s_tp, __pyx_n_s_data, __pyx_n_s_frame_id, __pyx_n_s_timestamp_sof, __pyx_n_s_timestamp_eof, __pyx_n_s_buf, __pyx_n_s_extra); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(0, 75, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__51);
+ __Pyx_GIVEREF(__pyx_tuple__51);
+ __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_send, 75, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 75, __pyx_L1_error)
+ __pyx_tuple__53 = PyTuple_Pack(3, __pyx_int_0, __pyx_int_0, __pyx_int_0); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 75, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__53);
+ __Pyx_GIVEREF(__pyx_tuple__53);
/* "cereal/visionipc/visionipc_pyx.pyx":90
* self.server.send(buf, &extra, False)
@@ -28832,14 +30039,14 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* self.server.start_listener()
*
*/
- __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_start_listener, 90, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 90, __pyx_L1_error)
+ __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_start_listener, 90, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 90, __pyx_L1_error)
/* "(tree fragment)":1
* def __reduce_cython__(self): # <<<<<<<<<<<<<<
* raise TypeError, "self.server cannot be converted to a Python object for pickling"
* def __setstate_cython__(self, __pyx_state):
*/
- __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(1, 1, __pyx_L1_error)
/* "(tree fragment)":3
* def __reduce_cython__(self):
@@ -28847,7 +30054,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
* raise TypeError, "self.server cannot be converted to a Python object for pickling"
*/
- __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(1, 3, __pyx_L1_error)
+ __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(1, 3, __pyx_L1_error)
/* "cereal/visionipc/visionipc_pyx.pyx":154
* return self.extra.valid
@@ -28856,13 +30063,13 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* buf = self.client.recv(&self.extra, timeout_ms)
* if not buf:
*/
- __pyx_tuple__58 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_timeout_ms, __pyx_n_s_buf); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 154, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__58);
- __Pyx_GIVEREF(__pyx_tuple__58);
- __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_recv, 154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 154, __pyx_L1_error)
- __pyx_tuple__60 = PyTuple_Pack(1, __pyx_int_100); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 154, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__60);
- __Pyx_GIVEREF(__pyx_tuple__60);
+ __pyx_tuple__57 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_timeout_ms, __pyx_n_s_buf); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 154, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__57);
+ __Pyx_GIVEREF(__pyx_tuple__57);
+ __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_recv, 154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(0, 154, __pyx_L1_error)
+ __pyx_tuple__59 = PyTuple_Pack(1, __pyx_int_100); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(0, 154, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__59);
+ __Pyx_GIVEREF(__pyx_tuple__59);
/* "cereal/visionipc/visionipc_pyx.pyx":160
* return VisionBuf.create(buf)
@@ -28871,10 +30078,10 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* return self.client.connect(blocking)
*
*/
- __pyx_tuple__61 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_blocking); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(0, 160, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__61);
- __Pyx_GIVEREF(__pyx_tuple__61);
- __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_connect, 160, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 160, __pyx_L1_error)
+ __pyx_tuple__60 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_blocking); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 160, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__60);
+ __Pyx_GIVEREF(__pyx_tuple__60);
+ __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_connect, 160, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 160, __pyx_L1_error)
/* "cereal/visionipc/visionipc_pyx.pyx":163
* return self.client.connect(blocking)
@@ -28883,7 +30090,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* return self.client.is_connected()
*
*/
- __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_is_connected, 163, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 163, __pyx_L1_error)
+ __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_is_connected, 163, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 163, __pyx_L1_error)
/* "cereal/visionipc/visionipc_pyx.pyx":166
* return self.client.is_connected()
@@ -28892,17 +30099,17 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* def available_streams(string name, bool block):
* return cppVisionIpcClient.getAvailableStreams(name, block)
*/
- __pyx_tuple__64 = PyTuple_Pack(2, __pyx_n_s_name, __pyx_n_s_block); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 166, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__64);
- __Pyx_GIVEREF(__pyx_tuple__64);
- __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_available_streams, 166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(0, 166, __pyx_L1_error)
+ __pyx_tuple__63 = PyTuple_Pack(2, __pyx_n_s_name, __pyx_n_s_block); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(0, 166, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__63);
+ __Pyx_GIVEREF(__pyx_tuple__63);
+ __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cereal_visionipc_visionipc_pyx_p, __pyx_n_s_available_streams, 166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(0, 166, __pyx_L1_error)
/* "(tree fragment)":1
* def __reduce_cython__(self): # <<<<<<<<<<<<<<
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
* def __setstate_cython__(self, __pyx_state):
*/
- __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(1, 1, __pyx_L1_error)
/* "(tree fragment)":3
* def __reduce_cython__(self):
@@ -28910,7 +30117,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
- __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(1, 3, __pyx_L1_error)
+ __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(1, 3, __pyx_L1_error)
__Pyx_RefNannyFinishContext();
return 0;
__pyx_L1_error:;
@@ -28942,7 +30149,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) {
static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
/* AssertionsEnabled.init */
- __Pyx_init_assertions_enabled();
+ if (likely(__Pyx_init_assertions_enabled() == 0)); else
if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)
@@ -28954,7 +30161,7 @@ if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)
* numpy._import_array
*/
#ifdef NPY_FEATURE_VERSION
-#if !NO_IMPORT_ARRAY
+#ifndef NO_IMPORT_ARRAY
if (unlikely(_import_array() == -1)) {
PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import "
"(auto-generated because you didn't call 'numpy.import_array()' after cimporting numpy; "
@@ -29303,33 +30510,33 @@ static int __Pyx_modinit_type_import_code(void) {
/*--- Type import code ---*/
__pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 9, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_0_0(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",
+ __pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_0_5(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",
#if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
- sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyTypeObject),
+ sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyTypeObject),
#elif CYTHON_COMPILING_IN_LIMITED_API
- sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyTypeObject),
+ sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyTypeObject),
#else
- sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyHeapTypeObject),
+ sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyHeapTypeObject),
#endif
- __Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(4, 9, __pyx_L1_error)
+ __Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(4, 9, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 202, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_ptype_5numpy_dtype = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyArray_Descr),__Pyx_ImportType_CheckSize_Ignore_3_0_0); if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(2, 202, __pyx_L1_error)
- __pyx_ptype_5numpy_flatiter = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyArrayIterObject),__Pyx_ImportType_CheckSize_Ignore_3_0_0); if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(2, 225, __pyx_L1_error)
- __pyx_ptype_5numpy_broadcast = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyArrayMultiIterObject),__Pyx_ImportType_CheckSize_Ignore_3_0_0); if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(2, 229, __pyx_L1_error)
- __pyx_ptype_5numpy_ndarray = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyArrayObject),__Pyx_ImportType_CheckSize_Ignore_3_0_0); if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(2, 238, __pyx_L1_error)
- __pyx_ptype_5numpy_generic = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "generic", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_generic) __PYX_ERR(2, 812, __pyx_L1_error)
- __pyx_ptype_5numpy_number = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "number", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_number) __PYX_ERR(2, 814, __pyx_L1_error)
- __pyx_ptype_5numpy_integer = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "integer", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_integer) __PYX_ERR(2, 816, __pyx_L1_error)
- __pyx_ptype_5numpy_signedinteger = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "signedinteger", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_signedinteger) __PYX_ERR(2, 818, __pyx_L1_error)
- __pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "unsignedinteger", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(2, 820, __pyx_L1_error)
- __pyx_ptype_5numpy_inexact = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "inexact", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_inexact) __PYX_ERR(2, 822, __pyx_L1_error)
- __pyx_ptype_5numpy_floating = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "floating", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_floating) __PYX_ERR(2, 824, __pyx_L1_error)
- __pyx_ptype_5numpy_complexfloating = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "complexfloating", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_complexfloating) __PYX_ERR(2, 826, __pyx_L1_error)
- __pyx_ptype_5numpy_flexible = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "flexible", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_flexible) __PYX_ERR(2, 828, __pyx_L1_error)
- __pyx_ptype_5numpy_character = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "character", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_character) __PYX_ERR(2, 830, __pyx_L1_error)
- __pyx_ptype_5numpy_ufunc = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyUFuncObject),__Pyx_ImportType_CheckSize_Ignore_3_0_0); if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(2, 868, __pyx_L1_error)
+ __pyx_ptype_5numpy_dtype = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyArray_Descr),__Pyx_ImportType_CheckSize_Ignore_3_0_5); if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(2, 202, __pyx_L1_error)
+ __pyx_ptype_5numpy_flatiter = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyArrayIterObject),__Pyx_ImportType_CheckSize_Ignore_3_0_5); if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(2, 225, __pyx_L1_error)
+ __pyx_ptype_5numpy_broadcast = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyArrayMultiIterObject),__Pyx_ImportType_CheckSize_Ignore_3_0_5); if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(2, 229, __pyx_L1_error)
+ __pyx_ptype_5numpy_ndarray = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyArrayObject),__Pyx_ImportType_CheckSize_Ignore_3_0_5); if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(2, 238, __pyx_L1_error)
+ __pyx_ptype_5numpy_generic = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "generic", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_generic) __PYX_ERR(2, 809, __pyx_L1_error)
+ __pyx_ptype_5numpy_number = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "number", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_number) __PYX_ERR(2, 811, __pyx_L1_error)
+ __pyx_ptype_5numpy_integer = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "integer", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_integer) __PYX_ERR(2, 813, __pyx_L1_error)
+ __pyx_ptype_5numpy_signedinteger = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "signedinteger", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_signedinteger) __PYX_ERR(2, 815, __pyx_L1_error)
+ __pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "unsignedinteger", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(2, 817, __pyx_L1_error)
+ __pyx_ptype_5numpy_inexact = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "inexact", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_inexact) __PYX_ERR(2, 819, __pyx_L1_error)
+ __pyx_ptype_5numpy_floating = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "floating", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_floating) __PYX_ERR(2, 821, __pyx_L1_error)
+ __pyx_ptype_5numpy_complexfloating = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "complexfloating", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_complexfloating) __PYX_ERR(2, 823, __pyx_L1_error)
+ __pyx_ptype_5numpy_flexible = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "flexible", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_flexible) __PYX_ERR(2, 825, __pyx_L1_error)
+ __pyx_ptype_5numpy_character = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "character", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_character) __PYX_ERR(2, 827, __pyx_L1_error)
+ __pyx_ptype_5numpy_ufunc = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyUFuncObject),__Pyx_ImportType_CheckSize_Ignore_3_0_5); if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(2, 865, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_RefNannyFinishContext();
return 0;
@@ -29563,10 +30770,8 @@ static CYTHON_SMALL_CODE int __pyx_pymod_exec_visionipc_pyx(PyObject *__pyx_pyin
CYTHON_UNUSED_VAR(__pyx_t_1);
__pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
Py_INCREF(__pyx_d);
- __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
- Py_INCREF(__pyx_b);
- __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
- Py_INCREF(__pyx_cython_runtime);
+ __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
+ __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#if CYTHON_REFNANNY
__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
@@ -29578,7 +30783,7 @@ if (!__Pyx_RefNanny) {
}
#endif
__Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_visionipc_pyx(void)", 0);
- if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+ if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#ifdef __Pxy_PyFrame_Initialize_Offsets
__Pxy_PyFrame_Initialize_Offsets();
#endif
@@ -29687,7 +30892,7 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_OrderedDict);
__Pyx_GIVEREF(__pyx_n_s_OrderedDict);
- PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_OrderedDict);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_OrderedDict)) __PYX_ERR(1, 13, __pyx_L1_error);
__pyx_t_4 = __Pyx_Import(__pyx_n_s_collections, __pyx_t_3, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -29709,7 +30914,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_EnumMeta_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Pyx_EnumMeta___reduce_cython, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__19)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem((PyObject *)__pyx_ptype___Pyx_EnumMeta->tp_dict, __pyx_n_s_reduce_cython, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype___Pyx_EnumMeta, __pyx_n_s_reduce_cython, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
PyType_Modified(__pyx_ptype___Pyx_EnumMeta);
@@ -29721,7 +30926,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_EnumMeta_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Pyx_EnumMeta___setstate_cython, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__21)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem((PyObject *)__pyx_ptype___Pyx_EnumMeta->tp_dict, __pyx_n_s_setstate_cython, __pyx_t_4) < 0) __PYX_ERR(1, 16, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype___Pyx_EnumMeta, __pyx_n_s_setstate_cython, __pyx_t_4) < 0) __PYX_ERR(1, 16, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
PyType_Modified(__pyx_ptype___Pyx_EnumMeta);
@@ -29736,7 +30941,7 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF((PyObject *)(&PyInt_Type));
__Pyx_GIVEREF((PyObject *)(&PyInt_Type));
- PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)(&PyInt_Type)));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(1, 27, __pyx_L1_error);
__pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 27, __pyx_L1_error)
@@ -29823,7 +31028,7 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_IntEnum);
__Pyx_GIVEREF(__pyx_n_s_IntEnum);
- PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_IntEnum);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_IntEnum)) __PYX_ERR(1, 45, __pyx_L1_error);
__pyx_t_5 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_3, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 45, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -29856,7 +31061,7 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF((PyObject *)(&PyInt_Type));
__Pyx_GIVEREF((PyObject *)(&PyInt_Type));
- PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)(&PyInt_Type)));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(1, 48, __pyx_L1_error);
__pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 48, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 48, __pyx_L1_error)
@@ -29877,7 +31082,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_FlagBase_1__new__, __Pyx_CYFUNCTION_STATICMETHOD, __pyx_n_s_Pyx_FlagBase___new, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 49, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__29);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__24);
if (__Pyx_SetNewInClass(__pyx_t_4, __pyx_n_s_new, __pyx_t_5) < 0) __PYX_ERR(1, 49, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -29888,7 +31093,7 @@ if (!__Pyx_RefNanny) {
* return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
* def __str__(self):
*/
- __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_FlagBase_3__repr__, 0, __pyx_n_s_Pyx_FlagBase___repr, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 62, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_FlagBase_3__repr__, 0, __pyx_n_s_Pyx_FlagBase___repr, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__29)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 62, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_repr, __pyx_t_5) < 0) __PYX_ERR(1, 62, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -29900,7 +31105,7 @@ if (!__Pyx_RefNanny) {
* return "%s.%s" % (self.__class__.__name__, self.name)
*
*/
- __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_FlagBase_5__str__, 0, __pyx_n_s_Pyx_FlagBase___str, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__31)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 64, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_FlagBase_5__str__, 0, __pyx_n_s_Pyx_FlagBase___str, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 64, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_str, __pyx_t_5) < 0) __PYX_ERR(1, 64, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -29942,7 +31147,7 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_IntFlag);
__Pyx_GIVEREF(__pyx_n_s_IntFlag);
- PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_IntFlag);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_IntFlag)) __PYX_ERR(1, 68, __pyx_L1_error);
__pyx_t_6 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_3, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 68, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -29969,7 +31174,7 @@ if (!__Pyx_RefNanny) {
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_1__pyx_unpickle___Pyx_EnumMeta, 0, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_1__pyx_unpickle___Pyx_EnumMeta, 0, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta, __pyx_t_6) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -29997,12 +31202,12 @@ if (!__Pyx_RefNanny) {
* __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
* else:
*/
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin___import__, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 100, __pyx_L5_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin___import__, __pyx_tuple__33, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 100, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_version_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 100, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_tuple__35, Py_GE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 100, __pyx_L5_error)
+ __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_tuple__34, Py_GE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 100, __pyx_L5_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 100, __pyx_L5_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -30015,7 +31220,7 @@ if (!__Pyx_RefNanny) {
* else:
* __pyx_collections_abc_Sequence = __import__("collections").Sequence
*/
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin___import__, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 101, __pyx_L5_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin___import__, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 101, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_abc); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 101, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
@@ -30046,7 +31251,7 @@ if (!__Pyx_RefNanny) {
*
*/
/*else*/ {
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin___import__, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 103, __pyx_L5_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin___import__, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 103, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_Sequence); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 103, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
@@ -30153,7 +31358,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_n_s_count); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 242, __pyx_L14_error)
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_array_type->tp_dict, __pyx_n_s_count, __pyx_t_4) < 0) __PYX_ERR(1, 242, __pyx_L14_error)
+ if (__Pyx_SetItemOnTypeDict(__pyx_array_type, __pyx_n_s_count, __pyx_t_4) < 0) __PYX_ERR(1, 242, __pyx_L14_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
PyType_Modified(__pyx_array_type);
@@ -30166,7 +31371,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_n_s_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 243, __pyx_L14_error)
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_array_type->tp_dict, __pyx_n_s_index, __pyx_t_4) < 0) __PYX_ERR(1, 243, __pyx_L14_error)
+ if (__Pyx_SetItemOnTypeDict(__pyx_array_type, __pyx_n_s_index, __pyx_t_4) < 0) __PYX_ERR(1, 243, __pyx_L14_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
PyType_Modified(__pyx_array_type);
@@ -30214,7 +31419,7 @@ if (!__Pyx_RefNanny) {
* cdef strided = Enum("") # default
* cdef indirect = Enum("")
*/
- __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 309, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XGOTREF(generic);
__Pyx_DECREF_SET(generic, __pyx_t_4);
@@ -30228,7 +31433,7 @@ if (!__Pyx_RefNanny) {
* cdef indirect = Enum("")
*
*/
- __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 310, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 310, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XGOTREF(strided);
__Pyx_DECREF_SET(strided, __pyx_t_4);
@@ -30242,7 +31447,7 @@ if (!__Pyx_RefNanny) {
*
*
*/
- __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 311, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 311, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XGOTREF(indirect);
__Pyx_DECREF_SET(indirect, __pyx_t_4);
@@ -30256,7 +31461,7 @@ if (!__Pyx_RefNanny) {
* cdef indirect_contiguous = Enum("")
*
*/
- __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__41, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 314, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 314, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XGOTREF(contiguous);
__Pyx_DECREF_SET(contiguous, __pyx_t_4);
@@ -30270,7 +31475,7 @@ if (!__Pyx_RefNanny) {
*
*
*/
- __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__42, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 315, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_MemviewEnum_type), __pyx_tuple__41, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 315, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XGOTREF(indirect_contiguous);
__Pyx_DECREF_SET(indirect_contiguous, __pyx_t_4);
@@ -30328,7 +31533,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_n_s_count); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 983, __pyx_L20_error)
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_memoryviewslice_type->tp_dict, __pyx_n_s_count, __pyx_t_4) < 0) __PYX_ERR(1, 983, __pyx_L20_error)
+ if (__Pyx_SetItemOnTypeDict(__pyx_memoryviewslice_type, __pyx_n_s_count, __pyx_t_4) < 0) __PYX_ERR(1, 983, __pyx_L20_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
PyType_Modified(__pyx_memoryviewslice_type);
@@ -30341,7 +31546,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_n_s_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 984, __pyx_L20_error)
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_memoryviewslice_type->tp_dict, __pyx_n_s_index, __pyx_t_4) < 0) __PYX_ERR(1, 984, __pyx_L20_error)
+ if (__Pyx_SetItemOnTypeDict(__pyx_memoryviewslice_type, __pyx_n_s_index, __pyx_t_4) < 0) __PYX_ERR(1, 984, __pyx_L20_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
PyType_Modified(__pyx_memoryviewslice_type);
@@ -30530,9 +31735,9 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_n_s_VISION_STREAM_ROAD);
__Pyx_GIVEREF(__pyx_n_s_VISION_STREAM_ROAD);
- PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_n_s_VISION_STREAM_ROAD);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_n_s_VISION_STREAM_ROAD)) __PYX_ERR(1, 81, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4)) __PYX_ERR(1, 81, __pyx_L1_error);
__pyx_t_4 = 0;
/* "EnumType":82
@@ -30548,9 +31753,9 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_VISION_STREAM_DRIVER);
__Pyx_GIVEREF(__pyx_n_s_VISION_STREAM_DRIVER);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_VISION_STREAM_DRIVER);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_VISION_STREAM_DRIVER)) __PYX_ERR(1, 82, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4)) __PYX_ERR(1, 82, __pyx_L1_error);
__pyx_t_4 = 0;
/* "EnumType":83
@@ -30566,9 +31771,9 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_n_s_VISION_STREAM_WIDE_ROAD);
__Pyx_GIVEREF(__pyx_n_s_VISION_STREAM_WIDE_ROAD);
- PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_n_s_VISION_STREAM_WIDE_ROAD);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_n_s_VISION_STREAM_WIDE_ROAD)) __PYX_ERR(1, 83, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4)) __PYX_ERR(1, 83, __pyx_L1_error);
__pyx_t_4 = 0;
/* "EnumType":84
@@ -30584,9 +31789,9 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_10);
__Pyx_INCREF(__pyx_n_s_VISION_STREAM_MAP);
__Pyx_GIVEREF(__pyx_n_s_VISION_STREAM_MAP);
- PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_n_s_VISION_STREAM_MAP);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_n_s_VISION_STREAM_MAP)) __PYX_ERR(1, 84, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4)) __PYX_ERR(1, 84, __pyx_L1_error);
__pyx_t_4 = 0;
/* "EnumType":80
@@ -30599,13 +31804,13 @@ if (!__Pyx_RefNanny) {
__pyx_t_4 = PyList_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 80, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_6);
- PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_6)) __PYX_ERR(1, 80, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_3);
- PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 80, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_5);
- PyList_SET_ITEM(__pyx_t_4, 2, __pyx_t_5);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 2, __pyx_t_5)) __PYX_ERR(1, 80, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_10);
- PyList_SET_ITEM(__pyx_t_4, 3, __pyx_t_10);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 3, __pyx_t_10)) __PYX_ERR(1, 80, __pyx_L1_error);
__pyx_t_6 = 0;
__pyx_t_3 = 0;
__pyx_t_5 = 0;
@@ -30614,9 +31819,9 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_10);
__Pyx_INCREF(__pyx_n_s_VisionStreamType);
__Pyx_GIVEREF(__pyx_n_s_VisionStreamType);
- PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_n_s_VisionStreamType);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_n_s_VisionStreamType)) __PYX_ERR(1, 80, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4)) __PYX_ERR(1, 80, __pyx_L1_error);
__pyx_t_4 = 0;
/* "EnumType":86
@@ -30789,7 +31994,7 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__Pyx_FlagBase);
__Pyx_GIVEREF(__Pyx_FlagBase);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __Pyx_FlagBase);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __Pyx_FlagBase)) __PYX_ERR(1, 100, __pyx_L1_error);
__pyx_t_5 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 100, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_10 = __Pyx_CalculateMetaclass(NULL, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 100, __pyx_L1_error)
@@ -30822,10 +32027,10 @@ if (!__Pyx_RefNanny) {
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_10);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_10);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_10)) __PYX_ERR(1, 102, __pyx_L1_error);
__Pyx_INCREF(__pyx_n_s_VISION_STREAM_ROAD);
__Pyx_GIVEREF(__pyx_n_s_VISION_STREAM_ROAD);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_VISION_STREAM_ROAD);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_VISION_STREAM_ROAD)) __PYX_ERR(1, 102, __pyx_L1_error);
__pyx_t_10 = 0;
__pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
@@ -30852,10 +32057,10 @@ if (!__Pyx_RefNanny) {
__pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3)) __PYX_ERR(1, 103, __pyx_L1_error);
__Pyx_INCREF(__pyx_n_s_VISION_STREAM_DRIVER);
__Pyx_GIVEREF(__pyx_n_s_VISION_STREAM_DRIVER);
- PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_VISION_STREAM_DRIVER);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_VISION_STREAM_DRIVER)) __PYX_ERR(1, 103, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
@@ -30882,10 +32087,10 @@ if (!__Pyx_RefNanny) {
__pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 104, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_GIVEREF(__pyx_t_5);
- PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_5);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_5)) __PYX_ERR(1, 104, __pyx_L1_error);
__Pyx_INCREF(__pyx_n_s_VISION_STREAM_WIDE_ROAD);
__Pyx_GIVEREF(__pyx_n_s_VISION_STREAM_WIDE_ROAD);
- PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_n_s_VISION_STREAM_WIDE_ROAD);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_n_s_VISION_STREAM_WIDE_ROAD)) __PYX_ERR(1, 104, __pyx_L1_error);
__pyx_t_5 = 0;
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 104, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
@@ -30911,10 +32116,10 @@ if (!__Pyx_RefNanny) {
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 105, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_10);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_10);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_10)) __PYX_ERR(1, 105, __pyx_L1_error);
__Pyx_INCREF(__pyx_n_s_VISION_STREAM_MAP);
__Pyx_GIVEREF(__pyx_n_s_VISION_STREAM_MAP);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_VISION_STREAM_MAP);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_VISION_STREAM_MAP)) __PYX_ERR(1, 105, __pyx_L1_error);
__pyx_t_10 = 0;
__pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 105, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
@@ -30960,7 +32165,7 @@ if (!__Pyx_RefNanny) {
* return cpp_get_endpoint_name(name, stream).decode('utf-8')
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_1get_endpoint_name, 0, __pyx_n_s_get_endpoint_name, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 20, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_1get_endpoint_name, 0, __pyx_n_s_get_endpoint_name, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 20, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_endpoint_name, __pyx_t_10) < 0) __PYX_ERR(0, 20, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
@@ -30970,7 +32175,7 @@ if (!__Pyx_RefNanny) {
* raise TypeError, "self.buf cannot be converted to a Python object for pickling"
* def __setstate_cython__(self, __pyx_state):
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionBuf___reduce_cython, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__46)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionBuf___reduce_cython, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_10) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
@@ -30981,7 +32186,7 @@ if (!__Pyx_RefNanny) {
* def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
* raise TypeError, "self.buf cannot be converted to a Python object for pickling"
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionBuf___setstate_cython, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__47)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 3, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_9VisionBuf_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionBuf___setstate_cython, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__46)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 3, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_10) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
@@ -30993,9 +32198,9 @@ if (!__Pyx_RefNanny) {
* self.server.create_buffers(tp, num_buffers, rgb, width, height)
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_3create_buffers, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcServer_create_buffers, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__49)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 69, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_3create_buffers, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcServer_create_buffers, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer->tp_dict, __pyx_n_s_create_buffers, __pyx_t_10) < 0) __PYX_ERR(0, 69, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer, __pyx_n_s_create_buffers, __pyx_t_10) < 0) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
PyType_Modified(__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer);
@@ -31006,9 +32211,9 @@ if (!__Pyx_RefNanny) {
* self.server.create_buffers_with_sizes(tp, num_buffers, rgb, width, height, size, stride, uv_offset)
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_5create_buffers_with_sizes, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcServer_create_buffers_w, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__51)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 72, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_5create_buffers_with_sizes, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcServer_create_buffers_w, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 72, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer->tp_dict, __pyx_n_s_create_buffers_with_sizes, __pyx_t_10) < 0) __PYX_ERR(0, 72, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer, __pyx_n_s_create_buffers_with_sizes, __pyx_t_10) < 0) __PYX_ERR(0, 72, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
PyType_Modified(__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer);
@@ -31019,10 +32224,10 @@ if (!__Pyx_RefNanny) {
* cdef cppVisionBuf * buf = self.server.get_buffer(tp)
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_7send, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcServer_send, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__53)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 75, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_7send, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcServer_send, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 75, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_tuple__54);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer->tp_dict, __pyx_n_s_send, __pyx_t_10) < 0) __PYX_ERR(0, 75, __pyx_L1_error)
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_tuple__53);
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer, __pyx_n_s_send, __pyx_t_10) < 0) __PYX_ERR(0, 75, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
PyType_Modified(__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer);
@@ -31033,9 +32238,9 @@ if (!__Pyx_RefNanny) {
* self.server.start_listener()
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_9start_listener, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcServer_start_listener, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__55)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 90, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_9start_listener, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcServer_start_listener, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 90, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer->tp_dict, __pyx_n_s_start_listener, __pyx_t_10) < 0) __PYX_ERR(0, 90, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer, __pyx_n_s_start_listener, __pyx_t_10) < 0) __PYX_ERR(0, 90, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
PyType_Modified(__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcServer);
@@ -31044,7 +32249,7 @@ if (!__Pyx_RefNanny) {
* raise TypeError, "self.server cannot be converted to a Python object for pickling"
* def __setstate_cython__(self, __pyx_state):
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcServer___reduce_cython, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcServer___reduce_cython, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__55)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_10) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
@@ -31055,7 +32260,7 @@ if (!__Pyx_RefNanny) {
* def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
* raise TypeError, "self.server cannot be converted to a Python object for pickling"
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcServer___setstate_cytho, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 3, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcServer_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcServer___setstate_cytho, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 3, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_10) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
@@ -31067,10 +32272,10 @@ if (!__Pyx_RefNanny) {
* buf = self.client.recv(&self.extra, timeout_ms)
* if not buf:
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_5recv, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcClient_recv, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 154, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_5recv, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcClient_recv, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__58)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 154, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_tuple__60);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient->tp_dict, __pyx_n_s_recv, __pyx_t_10) < 0) __PYX_ERR(0, 154, __pyx_L1_error)
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_tuple__59);
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient, __pyx_n_s_recv, __pyx_t_10) < 0) __PYX_ERR(0, 154, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
PyType_Modified(__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient);
@@ -31081,9 +32286,9 @@ if (!__Pyx_RefNanny) {
* return self.client.connect(blocking)
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_7connect, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcClient_connect, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__62)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 160, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_7connect, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcClient_connect, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__61)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient->tp_dict, __pyx_n_s_connect, __pyx_t_10) < 0) __PYX_ERR(0, 160, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient, __pyx_n_s_connect, __pyx_t_10) < 0) __PYX_ERR(0, 160, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
PyType_Modified(__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient);
@@ -31094,9 +32299,9 @@ if (!__Pyx_RefNanny) {
* return self.client.is_connected()
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_9is_connected, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcClient_is_connected, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 163, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_9is_connected, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcClient_is_connected, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__62)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 163, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient->tp_dict, __pyx_n_s_is_connected, __pyx_t_10) < 0) __PYX_ERR(0, 163, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient, __pyx_n_s_is_connected, __pyx_t_10) < 0) __PYX_ERR(0, 163, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
PyType_Modified(__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient);
@@ -31107,9 +32312,9 @@ if (!__Pyx_RefNanny) {
* def available_streams(string name, bool block):
* return cppVisionIpcClient.getAvailableStreams(name, block)
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_11available_streams, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcClient_available_stream, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__65)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 166, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_11available_streams, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcClient_available_stream, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__64)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient->tp_dict, __pyx_n_s_available_streams, __pyx_t_10) < 0) __PYX_ERR(0, 166, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient, __pyx_n_s_available_streams, __pyx_t_10) < 0) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
PyType_Modified(__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient);
__Pyx_GetNameInClass(__pyx_t_10, (PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient, __pyx_n_s_available_streams); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 166, __pyx_L1_error)
@@ -31117,7 +32322,7 @@ if (!__Pyx_RefNanny) {
__pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient->tp_dict, __pyx_n_s_available_streams, __pyx_t_3) < 0) __PYX_ERR(0, 166, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient, __pyx_n_s_available_streams, __pyx_t_3) < 0) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6cereal_9visionipc_13visionipc_pyx_VisionIpcClient);
@@ -31126,7 +32331,7 @@ if (!__Pyx_RefNanny) {
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
* def __setstate_cython__(self, __pyx_state):
*/
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcClient___reduce_cython, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__66)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcClient___reduce_cython, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__65)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -31137,7 +32342,7 @@ if (!__Pyx_RefNanny) {
* def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcClient___setstate_cytho, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__67)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6cereal_9visionipc_13visionipc_pyx_15VisionIpcClient_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VisionIpcClient___setstate_cytho, NULL, __pyx_kp_s_cereal_visionipc_visionipc_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__66)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -31282,6 +32487,8 @@ static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObjec
tmp_value = tstate->current_exception;
tstate->current_exception = value;
Py_XDECREF(tmp_value);
+ Py_XDECREF(type);
+ Py_XDECREF(tb);
#else
PyObject *tmp_type, *tmp_value, *tmp_tb;
tmp_type = tstate->curexc_type;
@@ -31339,14 +32546,20 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject
#endif
/* PyObjectGetAttrStrNoError */
+#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
__Pyx_PyErr_Clear();
}
+#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
PyObject *result;
+#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
+ (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
+ return result;
+#else
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1
PyTypeObject* tp = Py_TYPE(obj);
if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
@@ -31358,6 +32571,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, P
__Pyx_PyObject_GetAttrStr_ClearAttributeError();
}
return result;
+#endif
}
/* GetBuiltinName */
@@ -31579,6 +32793,24 @@ static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyO
}
return NULL; // not found (no exception set)
}
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
+static CYTHON_UNUSED PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) {
+ Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames);
+ PyObject *dict;
+ dict = PyDict_New();
+ if (unlikely(!dict))
+ return NULL;
+ for (i=0; i= PyTuple_GET_SIZE(kwds)) break;
+ Py_ssize_t size;
+#if CYTHON_ASSUME_SAFE_MACROS
+ size = PyTuple_GET_SIZE(kwds);
+#else
+ size = PyTuple_Size(kwds);
+ if (size < 0) goto bad;
+#endif
+ if (pos >= size) break;
+#if CYTHON_AVOID_BORROWED_REFS
+ key = __Pyx_PySequence_ITEM(kwds, pos);
+ if (!key) goto bad;
+#elif CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kwds, pos);
+#else
+ key = PyTuple_GetItem(kwds, pos);
+ if (!key) goto bad;
+#endif
value = kwvalues[pos];
pos++;
}
else
{
if (!PyDict_Next(kwds, &pos, &key, &value)) break;
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(key);
+#endif
}
name = first_kw_arg;
while (*name && (**name != key)) name++;
if (*name) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(value); // transfer ownership of value to values
+ Py_DECREF(key);
+#endif
+ key = NULL;
+ value = NULL;
continue;
}
+#if !CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(key);
+#endif
+ Py_INCREF(value);
name = first_kw_arg;
#if PY_MAJOR_VERSION < 3
if (likely(PyString_Check(key))) {
@@ -31660,6 +32922,9 @@ static int __Pyx_ParseOptionalKeywords(
if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
&& _PyString_Eq(**name, key)) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ value = NULL; // ownership transferred to values
+#endif
break;
}
name++;
@@ -31689,6 +32954,9 @@ static int __Pyx_ParseOptionalKeywords(
if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
if (cmp == 0) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ value = NULL; // ownership transferred to values
+#endif
break;
}
name++;
@@ -31715,6 +32983,8 @@ static int __Pyx_ParseOptionalKeywords(
goto invalid_keyword;
}
}
+ Py_XDECREF(key);
+ Py_XDECREF(value);
return 0;
arg_passed_twice:
__Pyx_RaiseDoubleKeywordsError(function_name, key);
@@ -31734,6 +33004,8 @@ invalid_keyword:
function_name, key);
#endif
bad:
+ Py_XDECREF(key);
+ Py_XDECREF(value);
return -1;
}
@@ -31782,9 +33054,15 @@ static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args,
PyObject *result;
assert(kwargs == NULL || PyDict_Check(kwargs));
nk = kwargs ? PyDict_Size(kwargs) : 0;
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) {
return NULL;
}
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) {
+ return NULL;
+ }
+ #endif
if (
#if PY_MAJOR_VERSION >= 3
co->co_kwonlyargcount == 0 &&
@@ -31861,8 +33139,13 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
ternaryfunc call = Py_TYPE(func)->tp_call;
if (unlikely(!call))
return PyObject_Call(func, arg, kw);
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
return NULL;
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
+ return NULL;
+ #endif
result = (*call)(func, arg, kw);
Py_LeaveRecursiveCall();
if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
@@ -31879,10 +33162,15 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
PyObject *self, *result;
PyCFunction cfunc;
- cfunc = PyCFunction_GET_FUNCTION(func);
- self = PyCFunction_GET_SELF(func);
+ cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
+ self = __Pyx_CyOrPyCFunction_GET_SELF(func);
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
return NULL;
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
+ return NULL;
+ #endif
result = cfunc(self, arg);
Py_LeaveRecursiveCall();
if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
@@ -31895,42 +33183,33 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject
#endif
/* PyObjectFastCall */
+#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API
static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) {
PyObject *argstuple;
- PyObject *result;
+ PyObject *result = 0;
size_t i;
argstuple = PyTuple_New((Py_ssize_t)nargs);
if (unlikely(!argstuple)) return NULL;
for (i = 0; i < nargs; i++) {
Py_INCREF(args[i]);
- PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]);
+ if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad;
}
result = __Pyx_PyObject_Call(func, argstuple, kwargs);
+ bad:
Py_DECREF(argstuple);
return result;
}
+#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) {
Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs);
#if CYTHON_COMPILING_IN_CPYTHON
if (nargs == 0 && kwargs == NULL) {
-#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
- if (__Pyx_IsCyOrPyCFunction(func))
-#else
- if (PyCFunction_Check(func))
-#endif
- {
- if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
- return __Pyx_PyObject_CallMethO(func, NULL);
- }
- }
+ if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
+ return __Pyx_PyObject_CallMethO(func, NULL);
}
else if (nargs == 1 && kwargs == NULL) {
- if (PyCFunction_Check(func))
- {
- if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
- return __Pyx_PyObject_CallMethO(func, args[0]);
- }
- }
+ if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
+ return __Pyx_PyObject_CallMethO(func, args[0]);
}
#endif
#if PY_VERSION_HEX < 0x030800B1
@@ -31954,21 +33233,31 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObj
}
#endif
#endif
- #if CYTHON_VECTORCALL
- vectorcallfunc f = _PyVectorcall_Function(func);
- if (f) {
- return f(func, args, (size_t)nargs, kwargs);
+ if (kwargs == NULL) {
+ #if CYTHON_VECTORCALL
+ #if PY_VERSION_HEX < 0x03090000
+ vectorcallfunc f = _PyVectorcall_Function(func);
+ #else
+ vectorcallfunc f = PyVectorcall_Function(func);
+ #endif
+ if (f) {
+ return f(func, args, (size_t)nargs, NULL);
+ }
+ #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
+ if (__Pyx_CyFunction_CheckExact(func)) {
+ __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
+ if (f) return f(func, args, (size_t)nargs, NULL);
+ }
+ #endif
}
- #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
- if (__Pyx_CyFunction_CheckExact(func)) {
- __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
- if (f) return f(func, args, (size_t)nargs, kwargs);
- }
- #endif
if (nargs == 0) {
return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs);
}
+ #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
+ return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs);
+ #else
return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
+ #endif
}
/* PyObjectSetAttrStr */
@@ -32108,7 +33397,9 @@ static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) {
__Pyx_TypeName obj_type_name;
if (likely(PyType_Check(obj))) {
PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_n_s_class_getitem);
- if (meth) {
+ if (!meth) {
+ PyErr_Clear();
+ } else {
PyObject *result = __Pyx_PyObject_CallOneArg(meth, key);
Py_DECREF(meth);
return result;
@@ -32148,15 +33439,32 @@ static int __Pyx_CheckKeywordStrings(
return 1;
#else
if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kw))) {
- if (unlikely(PyTuple_GET_SIZE(kw) == 0))
+ Py_ssize_t kwsize;
+#if CYTHON_ASSUME_SAFE_MACROS
+ kwsize = PyTuple_GET_SIZE(kw);
+#else
+ kwsize = PyTuple_Size(kw);
+ if (kwsize < 0) return 0;
+#endif
+ if (unlikely(kwsize == 0))
return 1;
if (!kw_allowed) {
+#if CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kw, 0);
+#else
+ key = PyTuple_GetItem(kw, pos);
+ if (!key) return 0;
+#endif
goto invalid_keyword;
}
#if PY_VERSION_HEX < 0x03090000
- for (pos = 0; pos < PyTuple_GET_SIZE(kw); pos++) {
+ for (pos = 0; pos < kwsize; pos++) {
+#if CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kw, pos);
+#else
+ key = PyTuple_GetItem(kw, pos);
+ if (!key) return 0;
+#endif
if (unlikely(!PyUnicode_Check(key)))
goto invalid_keyword_type;
}
@@ -32192,6 +33500,7 @@ invalid_keyword:
}
/* GetAttr3 */
+#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
@@ -32201,9 +33510,14 @@ static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
Py_INCREF(d);
return d;
}
+#endif
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
PyObject *r;
-#if CYTHON_USE_TYPE_SLOTS
+#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
+ int res = PyObject_GetOptionalAttr(o, n, &r);
+ return (res != 0) ? r : __Pyx_NewRef(d);
+#else
+ #if CYTHON_USE_TYPE_SLOTS
if (likely(PyString_Check(n))) {
r = __Pyx_PyObject_GetAttrStrNoError(o, n);
if (unlikely(!r) && likely(!PyErr_Occurred())) {
@@ -32211,9 +33525,10 @@ static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject
}
return r;
}
-#endif
+ #endif
r = PyObject_GetAttr(o, n);
return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
+#endif
}
/* PyDictVersioning */
@@ -32251,7 +33566,7 @@ static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
{
PyObject *result;
#if !CYTHON_AVOID_BORROWED_REFS
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
__PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
if (likely(result)) {
@@ -32480,14 +33795,9 @@ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
{
#if PY_MAJOR_VERSION >= 3
if (level == -1) {
- if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
- #if CYTHON_COMPILING_IN_LIMITED_API
- module = PyImport_ImportModuleLevelObject(
- name, empty_dict, empty_dict, from_list, 1);
- #else
+ if (strchr(__Pyx_MODULE_NAME, '.') != NULL) {
module = PyImport_ImportModuleLevelObject(
name, __pyx_d, empty_dict, from_list, 1);
- #endif
if (unlikely(!module)) {
if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError)))
goto bad;
@@ -32506,14 +33816,9 @@ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL);
Py_DECREF(py_level);
#else
- #if CYTHON_COMPILING_IN_LIMITED_API
- module = PyImport_ImportModuleLevelObject(
- name, empty_dict, empty_dict, from_list, level);
- #else
module = PyImport_ImportModuleLevelObject(
name, __pyx_d, empty_dict, from_list, level);
#endif
- #endif
}
}
bad:
@@ -32582,6 +33887,7 @@ static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
}
/* HasAttr */
+#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
PyObject *r;
if (unlikely(!__Pyx_PyBaseString_Check(n))) {
@@ -32598,6 +33904,7 @@ static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
return 1;
}
}
+#endif
/* ArgTypeTest */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
@@ -32915,7 +34222,9 @@ static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_co
if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) {
memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift));
} else {
- #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters)
+ #if PY_VERSION_HEX >= 0x030d0000
+ if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad;
+ #elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters)
_PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
#else
Py_ssize_t j;
@@ -33346,16 +34655,6 @@ static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple)
return __Pyx__ImportDottedModule(name, parts_tuple);
}
-/* ssize_strlen */
-static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
- size_t len = strlen(s);
- if (unlikely(len > PY_SSIZE_T_MAX)) {
- PyErr_SetString(PyExc_OverflowError, "byte string is too long");
- return -1;
- }
- return (Py_ssize_t) len;
-}
-
/* FastTypeChecks */
#if CYTHON_COMPILING_IN_CPYTHON
static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
@@ -33564,12 +34863,152 @@ static CYTHON_INLINE long __Pyx_div_long(long a, long b) {
return q;
}
-/* StringJoin */
-#if !CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values) {
- return PyObject_CallMethodObjArgs(sep, __pyx_n_s_join, values, NULL);
+/* PyObjectCall2Args */
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
+ PyObject *args[3] = {NULL, arg1, arg2};
+ return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
+}
+
+/* PyObjectGetMethod */
+static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
+ PyObject *attr;
+#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
+ __Pyx_TypeName type_name;
+ PyTypeObject *tp = Py_TYPE(obj);
+ PyObject *descr;
+ descrgetfunc f = NULL;
+ PyObject **dictptr, *dict;
+ int meth_found = 0;
+ assert (*method == NULL);
+ if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
+ attr = __Pyx_PyObject_GetAttrStr(obj, name);
+ goto try_unpack;
+ }
+ if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
+ return 0;
+ }
+ descr = _PyType_Lookup(tp, name);
+ if (likely(descr != NULL)) {
+ Py_INCREF(descr);
+#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR
+ if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR))
+#elif PY_MAJOR_VERSION >= 3
+ #ifdef __Pyx_CyFunction_USED
+ if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
+ #else
+ if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type)))
+ #endif
+#else
+ #ifdef __Pyx_CyFunction_USED
+ if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr)))
+ #else
+ if (likely(PyFunction_Check(descr)))
+ #endif
+#endif
+ {
+ meth_found = 1;
+ } else {
+ f = Py_TYPE(descr)->tp_descr_get;
+ if (f != NULL && PyDescr_IsData(descr)) {
+ attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
+ Py_DECREF(descr);
+ goto try_unpack;
+ }
+ }
+ }
+ dictptr = _PyObject_GetDictPtr(obj);
+ if (dictptr != NULL && (dict = *dictptr) != NULL) {
+ Py_INCREF(dict);
+ attr = __Pyx_PyDict_GetItemStr(dict, name);
+ if (attr != NULL) {
+ Py_INCREF(attr);
+ Py_DECREF(dict);
+ Py_XDECREF(descr);
+ goto try_unpack;
+ }
+ Py_DECREF(dict);
+ }
+ if (meth_found) {
+ *method = descr;
+ return 1;
+ }
+ if (f != NULL) {
+ attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
+ Py_DECREF(descr);
+ goto try_unpack;
+ }
+ if (likely(descr != NULL)) {
+ *method = descr;
+ return 0;
+ }
+ type_name = __Pyx_PyType_GetName(tp);
+ PyErr_Format(PyExc_AttributeError,
+#if PY_MAJOR_VERSION >= 3
+ "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'",
+ type_name, name);
+#else
+ "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'",
+ type_name, PyString_AS_STRING(name));
+#endif
+ __Pyx_DECREF_TypeName(type_name);
+ return 0;
+#else
+ attr = __Pyx_PyObject_GetAttrStr(obj, name);
+ goto try_unpack;
+#endif
+try_unpack:
+#if CYTHON_UNPACK_METHODS
+ if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
+ PyObject *function = PyMethod_GET_FUNCTION(attr);
+ Py_INCREF(function);
+ Py_DECREF(attr);
+ *method = function;
+ return 1;
+ }
+#endif
+ *method = attr;
+ return 0;
+}
+
+/* PyObjectCallMethod1 */
+#if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2)
+static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
+ PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
+ Py_DECREF(method);
+ return result;
}
#endif
+static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
+#if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2
+ PyObject *args[2] = {obj, arg};
+ (void) __Pyx_PyObject_GetMethod;
+ (void) __Pyx_PyObject_CallOneArg;
+ (void) __Pyx_PyObject_Call2Args;
+ return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
+#else
+ PyObject *method = NULL, *result;
+ int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
+ if (likely(is_method)) {
+ result = __Pyx_PyObject_Call2Args(method, obj, arg);
+ Py_DECREF(method);
+ return result;
+ }
+ if (unlikely(!method)) return NULL;
+ return __Pyx__PyObject_CallMethod1(method, arg);
+#endif
+}
+
+/* StringJoin */
+static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values) {
+ (void) __Pyx_PyObject_CallMethod1;
+#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION < 3
+ return _PyString_Join(sep, values);
+#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000
+ return _PyBytes_Join(sep, values);
+#else
+ return __Pyx_PyObject_CallMethod1(sep, __pyx_n_s_join, values);
+#endif
+}
/* CIntToPyUnicode */
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_From_size_t(size_t value, Py_ssize_t width, char padding_char, char format_char) {
@@ -33673,8 +35112,8 @@ static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes(
/* PyObjectCallNoArg */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
- PyObject *arg = NULL;
- return __Pyx_PyObject_FastCall(func, (&arg)+1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
+ PyObject *arg[2] = {NULL, NULL};
+ return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}
/* BufferIndexError */
@@ -33808,107 +35247,6 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
}
#endif
-/* PyObjectGetMethod */
-static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
- PyObject *attr;
-#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
- __Pyx_TypeName type_name;
- PyTypeObject *tp = Py_TYPE(obj);
- PyObject *descr;
- descrgetfunc f = NULL;
- PyObject **dictptr, *dict;
- int meth_found = 0;
- assert (*method == NULL);
- if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
- attr = __Pyx_PyObject_GetAttrStr(obj, name);
- goto try_unpack;
- }
- if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
- return 0;
- }
- descr = _PyType_Lookup(tp, name);
- if (likely(descr != NULL)) {
- Py_INCREF(descr);
-#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR
- if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR))
-#elif PY_MAJOR_VERSION >= 3
- #ifdef __Pyx_CyFunction_USED
- if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
- #else
- if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type)))
- #endif
-#else
- #ifdef __Pyx_CyFunction_USED
- if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr)))
- #else
- if (likely(PyFunction_Check(descr)))
- #endif
-#endif
- {
- meth_found = 1;
- } else {
- f = Py_TYPE(descr)->tp_descr_get;
- if (f != NULL && PyDescr_IsData(descr)) {
- attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
- Py_DECREF(descr);
- goto try_unpack;
- }
- }
- }
- dictptr = _PyObject_GetDictPtr(obj);
- if (dictptr != NULL && (dict = *dictptr) != NULL) {
- Py_INCREF(dict);
- attr = __Pyx_PyDict_GetItemStr(dict, name);
- if (attr != NULL) {
- Py_INCREF(attr);
- Py_DECREF(dict);
- Py_XDECREF(descr);
- goto try_unpack;
- }
- Py_DECREF(dict);
- }
- if (meth_found) {
- *method = descr;
- return 1;
- }
- if (f != NULL) {
- attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
- Py_DECREF(descr);
- goto try_unpack;
- }
- if (likely(descr != NULL)) {
- *method = descr;
- return 0;
- }
- type_name = __Pyx_PyType_GetName(tp);
- PyErr_Format(PyExc_AttributeError,
-#if PY_MAJOR_VERSION >= 3
- "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'",
- type_name, name);
-#else
- "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'",
- type_name, PyString_AS_STRING(name));
-#endif
- __Pyx_DECREF_TypeName(type_name);
- return 0;
-#else
- attr = __Pyx_PyObject_GetAttrStr(obj, name);
- goto try_unpack;
-#endif
-try_unpack:
-#if CYTHON_UNPACK_METHODS
- if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
- PyObject *function = PyMethod_GET_FUNCTION(attr);
- Py_INCREF(function);
- Py_DECREF(attr);
- *method = function;
- return 1;
- }
-#endif
- *method = attr;
- return 0;
-}
-
/* PyObjectCallMethod0 */
static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
PyObject *method = NULL, *result = NULL;
@@ -33928,16 +35266,33 @@ bad:
/* ValidateBasesTuple */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) {
- Py_ssize_t i, n = PyTuple_GET_SIZE(bases);
+ Py_ssize_t i, n;
+#if CYTHON_ASSUME_SAFE_MACROS
+ n = PyTuple_GET_SIZE(bases);
+#else
+ n = PyTuple_Size(bases);
+ if (n < 0) return -1;
+#endif
for (i = 1; i < n; i++)
{
+#if CYTHON_AVOID_BORROWED_REFS
+ PyObject *b0 = PySequence_GetItem(bases, i);
+ if (!b0) return -1;
+#elif CYTHON_ASSUME_SAFE_MACROS
PyObject *b0 = PyTuple_GET_ITEM(bases, i);
+#else
+ PyObject *b0 = PyTuple_GetItem(bases, i);
+ if (!b0) return -1;
+#endif
PyTypeObject *b;
#if PY_MAJOR_VERSION < 3
if (PyClass_Check(b0))
{
PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class",
PyString_AS_STRING(((PyClassObject*)b0)->cl_name));
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
#endif
@@ -33948,8 +35303,27 @@ static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffs
PyErr_Format(PyExc_TypeError,
"base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name);
__Pyx_DECREF_TypeName(b_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
+#if !CYTHON_USE_TYPE_SLOTS
+ if (dictoffset == 0) {
+ PyErr_Format(PyExc_TypeError,
+ "extension type '%s.200s': "
+ "unable to validate whether bases have a __dict__ "
+ "when CYTHON_USE_TYPE_SLOTS is off "
+ "(likely because you are building in the limited API). "
+ "Therefore, all extension types with multiple bases "
+ "must add 'cdef dict __dict__' in this compilation mode",
+ type_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
+ return -1;
+ }
+#else
if (dictoffset == 0 && b->tp_dictoffset)
{
__Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
@@ -33960,8 +35334,15 @@ static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffs
"or add '__slots__ = [...]' to the base type",
type_name, b_name);
__Pyx_DECREF_TypeName(b_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
+#endif
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
}
return 0;
}
@@ -34252,10 +35633,10 @@ __PYX_GOOD:
#endif
/* TypeImport */
-#ifndef __PYX_HAVE_RT_ImportType_3_0_0
-#define __PYX_HAVE_RT_ImportType_3_0_0
-static PyTypeObject *__Pyx_ImportType_3_0_0(PyObject *module, const char *module_name, const char *class_name,
- size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_0 check_size)
+#ifndef __PYX_HAVE_RT_ImportType_3_0_5
+#define __PYX_HAVE_RT_ImportType_3_0_5
+static PyTypeObject *__Pyx_ImportType_3_0_5(PyObject *module, const char *module_name, const char *class_name,
+ size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_5 check_size)
{
PyObject *result = 0;
char warning[200];
@@ -34309,7 +35690,7 @@ static PyTypeObject *__Pyx_ImportType_3_0_0(PyObject *module, const char *module
module_name, class_name, size, basicsize+itemsize);
goto bad;
}
- if (check_size == __Pyx_ImportType_CheckSize_Error_3_0_0 &&
+ if (check_size == __Pyx_ImportType_CheckSize_Error_3_0_5 &&
((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) {
PyErr_Format(PyExc_ValueError,
"%.200s.%.200s size changed, may indicate binary incompatibility. "
@@ -34317,7 +35698,7 @@ static PyTypeObject *__Pyx_ImportType_3_0_0(PyObject *module, const char *module
module_name, class_name, size, basicsize, basicsize+itemsize);
goto bad;
}
- else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_0_0 && (size_t)basicsize > size) {
+ else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_0_5 && (size_t)basicsize > size) {
PyOS_snprintf(warning, sizeof(warning),
"%s.%s size changed, may indicate binary incompatibility. "
"Expected %zd from C header, got %zd from PyObject",
@@ -34333,10 +35714,7 @@ bad:
/* FetchSharedCythonModule */
static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
- PyObject *abi_module = PyImport_AddModule((char*) __PYX_ABI_MODULE_NAME);
- if (unlikely(!abi_module)) return NULL;
- Py_INCREF(abi_module);
- return abi_module;
+ return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME);
}
/* FetchCommonType */
@@ -34497,8 +35875,22 @@ static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, _
#endif
/* CythonFunctionShared */
+#if CYTHON_COMPILING_IN_LIMITED_API
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
+ if (__Pyx_CyFunction_Check(func)) {
+ return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc;
+ } else if (PyCFunction_Check(func)) {
+ return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
+ }
+ return 0;
+}
+#else
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
+ return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
+}
+#endif
static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
__Pyx_Py_XDECREF_SET(
__Pyx_CyFunction_GetClassObj(f),
((classobj) ? __Pyx_NewRef(classobj) : NULL));
@@ -34513,6 +35905,10 @@ __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
{
CYTHON_UNUSED_VAR(closure);
if (unlikely(op->func_doc == NULL)) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func_doc = PyObject_GetAttrString(op->func, "__doc__");
+ if (unlikely(!op->func_doc)) return NULL;
+#else
if (((PyCFunctionObject*)op)->m_ml->ml_doc) {
#if PY_MAJOR_VERSION >= 3
op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
@@ -34525,6 +35921,7 @@ __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
Py_INCREF(Py_None);
return Py_None;
}
+#endif
}
Py_INCREF(op->func_doc);
return op->func_doc;
@@ -34545,7 +35942,9 @@ __Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context)
{
CYTHON_UNUSED_VAR(context);
if (unlikely(op->func_name == NULL)) {
-#if PY_MAJOR_VERSION >= 3
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func_name = PyObject_GetAttrString(op->func, "__name__");
+#elif PY_MAJOR_VERSION >= 3
op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
#else
op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
@@ -34664,10 +36063,10 @@ __Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
Py_INCREF(op->defaults_kwdict);
#else
- op->defaults_tuple = PySequence_ITEM(res, 0);
+ op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0);
if (unlikely(!op->defaults_tuple)) result = -1;
else {
- op->defaults_kwdict = PySequence_ITEM(res, 1);
+ op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1);
if (unlikely(!op->defaults_kwdict)) result = -1;
}
#endif
@@ -34776,7 +36175,15 @@ __Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) {
fromlist = PyList_New(1);
if (unlikely(!fromlist)) return NULL;
Py_INCREF(marker);
+#if CYTHON_ASSUME_SAFE_MACROS
PyList_SET_ITEM(fromlist, 0, marker);
+#else
+ if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
+ Py_DECREF(marker);
+ Py_DECREF(fromlist);
+ return NULL;
+ }
+#endif
module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0);
Py_DECREF(fromlist);
if (unlikely(!module)) goto ignore;
@@ -34792,6 +36199,18 @@ ignore:
op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine);
return __Pyx_NewRef(op->func_is_coroutine);
}
+#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *
+__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) {
+ CYTHON_UNUSED_VAR(context);
+ return PyObject_GetAttrString(op->func, "__module__");
+}
+static int
+__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
+ CYTHON_UNUSED_VAR(context);
+ return PyObject_SetAttrString(op->func, "__module__", value);
+}
+#endif
static PyGetSetDef __pyx_CyFunction_getsets[] = {
{(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
{(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
@@ -34811,20 +36230,27 @@ static PyGetSetDef __pyx_CyFunction_getsets[] = {
{(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
{(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
{(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
+#if CYTHON_COMPILING_IN_LIMITED_API
+ {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0},
+#endif
{0, 0, 0, 0, 0}
};
static PyMemberDef __pyx_CyFunction_members[] = {
+#if !CYTHON_COMPILING_IN_LIMITED_API
{(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
+#endif
#if CYTHON_USE_TYPE_SPECS
{(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0},
#if CYTHON_METH_FASTCALL
#if CYTHON_BACKPORT_VECTORCALL
{(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0},
#else
+#if !CYTHON_COMPILING_IN_LIMITED_API
{(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
#endif
#endif
-#if PY_VERSION_HEX < 0x030500A0
+#endif
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
{(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0},
#else
{(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
@@ -34847,30 +36273,40 @@ static PyMethodDef __pyx_CyFunction_methods[] = {
{"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
{0, 0, 0, 0}
};
-#if PY_VERSION_HEX < 0x030500A0
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
#else
#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
#endif
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
+#if !CYTHON_COMPILING_IN_LIMITED_API
PyCFunctionObject *cf = (PyCFunctionObject*) op;
+#endif
if (unlikely(op == NULL))
return NULL;
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func = PyCFunction_NewEx(ml, (PyObject*)op, module);
+ if (unlikely(!op->func)) return NULL;
+#endif
op->flags = flags;
__Pyx_CyFunction_weakreflist(op) = NULL;
+#if !CYTHON_COMPILING_IN_LIMITED_API
cf->m_ml = ml;
cf->m_self = (PyObject *) op;
+#endif
Py_XINCREF(closure);
op->func_closure = closure;
+#if !CYTHON_COMPILING_IN_LIMITED_API
Py_XINCREF(module);
cf->m_module = module;
+#endif
op->func_dict = NULL;
op->func_name = NULL;
Py_INCREF(qualname);
op->func_qualname = qualname;
op->func_doc = NULL;
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
op->func_classobj = NULL;
#else
((PyCMethodObject*)op)->mm_class = NULL;
@@ -34916,13 +36352,18 @@ static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
{
Py_CLEAR(m->func_closure);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ Py_CLEAR(m->func);
+#else
Py_CLEAR(((PyCFunctionObject*)m)->m_module);
+#endif
Py_CLEAR(m->func_dict);
Py_CLEAR(m->func_name);
Py_CLEAR(m->func_qualname);
Py_CLEAR(m->func_doc);
Py_CLEAR(m->func_globals);
Py_CLEAR(m->func_code);
+#if !CYTHON_COMPILING_IN_LIMITED_API
#if PY_VERSION_HEX < 0x030900B1
Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
#else
@@ -34931,6 +36372,7 @@ __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
((PyCMethodObject *) (m))->mm_class = NULL;
Py_XDECREF(cls);
}
+#endif
#endif
Py_CLEAR(m->defaults_tuple);
Py_CLEAR(m->defaults_kwdict);
@@ -34961,14 +36403,20 @@ static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
{
Py_VISIT(m->func_closure);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ Py_VISIT(m->func);
+#else
Py_VISIT(((PyCFunctionObject*)m)->m_module);
+#endif
Py_VISIT(m->func_dict);
Py_VISIT(m->func_name);
Py_VISIT(m->func_qualname);
Py_VISIT(m->func_doc);
Py_VISIT(m->func_globals);
Py_VISIT(m->func_code);
+#if !CYTHON_COMPILING_IN_LIMITED_API
Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
+#endif
Py_VISIT(m->defaults_tuple);
Py_VISIT(m->defaults_kwdict);
Py_VISIT(m->func_is_coroutine);
@@ -34992,10 +36440,22 @@ __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
#endif
}
static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ PyObject *f = ((__pyx_CyFunctionObject*)func)->func;
+ PyObject *py_name = NULL;
+ PyCFunction meth;
+ int flags;
+ meth = PyCFunction_GetFunction(f);
+ if (unlikely(!meth)) return NULL;
+ flags = PyCFunction_GetFlags(f);
+ if (unlikely(flags < 0)) return NULL;
+#else
PyCFunctionObject* f = (PyCFunctionObject*)func;
PyCFunction meth = f->m_ml->ml_meth;
+ int flags = f->m_ml->ml_flags;
+#endif
Py_ssize_t size;
- switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
+ switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
case METH_VARARGS:
if (likely(kw == NULL || PyDict_Size(kw) == 0))
return (*meth)(self, arg);
@@ -35004,24 +36464,43 @@ static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, Py
return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw);
case METH_NOARGS:
if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
+#if CYTHON_ASSUME_SAFE_MACROS
size = PyTuple_GET_SIZE(arg);
+#else
+ size = PyTuple_Size(arg);
+ if (unlikely(size < 0)) return NULL;
+#endif
if (likely(size == 0))
return (*meth)(self, NULL);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError,
+ "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ py_name, size);
+ Py_DECREF(py_name);
+#else
PyErr_Format(PyExc_TypeError,
"%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
f->m_ml->ml_name, size);
+#endif
return NULL;
}
break;
case METH_O:
if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
+#if CYTHON_ASSUME_SAFE_MACROS
size = PyTuple_GET_SIZE(arg);
+#else
+ size = PyTuple_Size(arg);
+ if (unlikely(size < 0)) return NULL;
+#endif
if (likely(size == 1)) {
PyObject *result, *arg0;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
arg0 = PyTuple_GET_ITEM(arg, 0);
#else
- arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
+ arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
#endif
result = (*meth)(self, arg0);
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
@@ -35029,9 +36508,18 @@ static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, Py
#endif
return result;
}
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError,
+ "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ py_name, size);
+ Py_DECREF(py_name);
+#else
PyErr_Format(PyExc_TypeError,
"%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
f->m_ml->ml_name, size);
+#endif
return NULL;
}
break;
@@ -35039,12 +36527,28 @@ static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, Py
PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
return NULL;
}
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments",
+ py_name);
+ Py_DECREF(py_name);
+#else
PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
f->m_ml->ml_name);
+#endif
return NULL;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
- return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw);
+ PyObject *self, *result;
+#if CYTHON_COMPILING_IN_LIMITED_API
+ self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func);
+ if (unlikely(!self) && PyErr_Occurred()) return NULL;
+#else
+ self = ((PyCFunctionObject*)func)->m_self;
+#endif
+ result = __Pyx_CyFunction_CallMethod(func, self, arg, kw);
+ return result;
}
static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
PyObject *result;
@@ -35064,7 +36568,12 @@ static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, P
Py_ssize_t argc;
PyObject *new_args;
PyObject *self;
+#if CYTHON_ASSUME_SAFE_MACROS
argc = PyTuple_GET_SIZE(args);
+#else
+ argc = PyTuple_Size(args);
+ if (unlikely(!argc) < 0) return NULL;
+#endif
new_args = PyTuple_GetSlice(args, 1, argc);
if (unlikely(!new_args))
return NULL;
@@ -35277,7 +36786,7 @@ static PyTypeObject __pyx_CyFunctionType_type = {
#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
Py_TPFLAGS_METHOD_DESCRIPTOR |
#endif
-#ifdef _Py_TPFLAGS_HAVE_VECTORCALL
+#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL
_Py_TPFLAGS_HAVE_VECTORCALL |
#endif
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
@@ -35465,10 +36974,21 @@ static int __Pyx_SetNewInClass(PyObject *ns, PyObject *name, PyObject *value) {
/* CalculateMetaclass */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
- Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases);
+ Py_ssize_t i, nbases;
+#if CYTHON_ASSUME_SAFE_MACROS
+ nbases = PyTuple_GET_SIZE(bases);
+#else
+ nbases = PyTuple_Size(bases);
+ if (nbases < 0) return NULL;
+#endif
for (i=0; i < nbases; i++) {
PyTypeObject *tmptype;
+#if CYTHON_ASSUME_SAFE_MACROS
PyObject *tmp = PyTuple_GET_ITEM(bases, i);
+#else
+ PyObject *tmp = PyTuple_GetItem(bases, i);
+ if (!tmp) return NULL;
+#endif
tmptype = Py_TYPE(tmp);
#if PY_MAJOR_VERSION < 3
if (tmptype == &PyClass_Type)
@@ -35502,12 +37022,6 @@ static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bas
return (PyObject*) metaclass;
}
-/* PyObjectCall2Args */
-static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
- PyObject *args[3] = {NULL, arg1, arg2};
- return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
-}
-
/* PyObjectLookupSpecial */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error) {
@@ -35768,7 +37282,7 @@ static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
#if PY_MAJOR_VERSION >= 3
if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type)))
#else
- if (likely(!PyCFunction_Check(method)))
+ if (likely(!__Pyx_CyOrPyCFunction_Check(method)))
#endif
{
PyMethodDescrObject *descr = (PyMethodDescrObject*) method;
@@ -35776,9 +37290,7 @@ static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS);
} else
#endif
-#if defined(CYTHON_COMPILING_IN_PYPY)
-#elif PY_VERSION_HEX >= 0x03090000
- if (PyCFunction_CheckExact(method))
+#if CYTHON_COMPILING_IN_PYPY
#else
if (PyCFunction_Check(method))
#endif
@@ -36097,20 +37609,93 @@ static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
-#if PY_VERSION_HEX >= 0x030b00a6
+#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
#ifndef Py_BUILD_CORE
#define Py_BUILD_CORE 1
#endif
#include "internal/pycore_frame.h"
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict,
+ PyObject *firstlineno, PyObject *name) {
+ PyObject *replace = NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL;
+ replace = PyObject_GetAttrString(code, "replace");
+ if (likely(replace)) {
+ PyObject *result;
+ result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict);
+ Py_DECREF(replace);
+ return result;
+ }
+ PyErr_Clear();
+ #if __PYX_LIMITED_VERSION_HEX < 0x030780000
+ {
+ PyObject *compiled = NULL, *result = NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL;
+ compiled = Py_CompileString(
+ "out = type(code)(\n"
+ " code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n"
+ " code.co_flags, code.co_code, code.co_consts, code.co_names,\n"
+ " code.co_varnames, code.co_filename, co_name, co_firstlineno,\n"
+ " code.co_lnotab)\n", "", Py_file_input);
+ if (!compiled) return NULL;
+ result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict);
+ Py_DECREF(compiled);
+ if (!result) PyErr_Print();
+ Py_DECREF(result);
+ result = PyDict_GetItemString(scratch_dict, "out");
+ if (result) Py_INCREF(result);
+ return result;
+ }
+ #else
+ return NULL;
+ #endif
+}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
int py_line, const char *filename) {
+ PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL;
+ PyObject *replace = NULL, *getframe = NULL, *frame = NULL;
+ PyObject *exc_type, *exc_value, *exc_traceback;
+ int success = 0;
if (c_line) {
(void) __pyx_cfilenm;
(void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line);
}
- _PyTraceback_Add(funcname, filename, py_line);
+ PyErr_Fetch(&exc_type, &exc_value, &exc_traceback);
+ code_object = Py_CompileString("_getframe()", filename, Py_eval_input);
+ if (unlikely(!code_object)) goto bad;
+ py_py_line = PyLong_FromLong(py_line);
+ if (unlikely(!py_py_line)) goto bad;
+ py_funcname = PyUnicode_FromString(funcname);
+ if (unlikely(!py_funcname)) goto bad;
+ dict = PyDict_New();
+ if (unlikely(!dict)) goto bad;
+ {
+ PyObject *old_code_object = code_object;
+ code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname);
+ Py_DECREF(old_code_object);
+ }
+ if (unlikely(!code_object)) goto bad;
+ getframe = PySys_GetObject("_getframe");
+ if (unlikely(!getframe)) goto bad;
+ if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad;
+ frame = PyEval_EvalCode(code_object, dict, dict);
+ if (unlikely(!frame) || frame == Py_None) goto bad;
+ success = 1;
+ bad:
+ PyErr_Restore(exc_type, exc_value, exc_traceback);
+ Py_XDECREF(code_object);
+ Py_XDECREF(py_py_line);
+ Py_XDECREF(py_funcname);
+ Py_XDECREF(dict);
+ Py_XDECREF(replace);
+ if (success) {
+ PyTraceBack_Here(
+ (struct _frame*)frame);
+ }
+ Py_XDECREF(frame);
}
#else
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
@@ -36655,7 +38240,7 @@ static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {
ctx->is_complex = 0;
return 0;
}
-static PyObject *
+static int
__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)
{
const char *ts = *tsp;
@@ -36664,9 +38249,9 @@ __pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)
if (ctx->new_count != 1) {
PyErr_SetString(PyExc_ValueError,
"Cannot handle repeated arrays in format string");
- return NULL;
+ return -1;
}
- if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+ if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return -1;
ndim = ctx->head->field->type->ndim;
while (*ts && *ts != ')') {
switch (*ts) {
@@ -36674,29 +38259,35 @@ __pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)
default: break;
}
number = __Pyx_BufFmt_ExpectNumber(&ts);
- if (number == -1) return NULL;
- if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i])
- return PyErr_Format(PyExc_ValueError,
+ if (number == -1) return -1;
+ if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i]) {
+ PyErr_Format(PyExc_ValueError,
"Expected a dimension of size %zu, got %d",
ctx->head->field->type->arraysize[i], number);
- if (*ts != ',' && *ts != ')')
- return PyErr_Format(PyExc_ValueError,
+ return -1;
+ }
+ if (*ts != ',' && *ts != ')') {
+ PyErr_Format(PyExc_ValueError,
"Expected a comma in format string, got '%c'", *ts);
+ return -1;
+ }
if (*ts == ',') ts++;
i++;
}
- if (i != ndim)
- return PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d",
+ if (i != ndim) {
+ PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d",
ctx->head->field->type->ndim, i);
+ return -1;
+ }
if (!*ts) {
PyErr_SetString(PyExc_ValueError,
"Unexpected end of format string, expected ')'");
- return NULL;
+ return -1;
}
ctx->is_valid_array = 1;
ctx->new_count = 1;
*tsp = ++ts;
- return Py_None;
+ return 0;
}
static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) {
int got_Z = 0;
@@ -36822,7 +38413,7 @@ static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const cha
++ts;
break;
case '(':
- if (!__pyx_buffmt_parse_array(ctx, &ts)) return NULL;
+ if (__pyx_buffmt_parse_array(ctx, &ts) < 0) return NULL;
break;
default:
{
@@ -38000,7 +39591,7 @@ raise_neg_overflow:
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -38273,7 +39864,7 @@ raise_neg_overflow:
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -38546,7 +40137,7 @@ raise_neg_overflow:
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -38819,7 +40410,7 @@ raise_neg_overflow:
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -38955,8 +40546,34 @@ raise_neg_overflow:
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(npy_uint8),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(npy_uint8));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -39130,7 +40747,7 @@ raise_neg_overflow:
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -39266,8 +40883,34 @@ raise_neg_overflow:
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(unsigned char),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(unsigned char));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -39304,8 +40947,34 @@ raise_neg_overflow:
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(int),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(int));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -39342,8 +41011,34 @@ raise_neg_overflow:
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(uint32_t),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(uint32_t));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -39380,8 +41075,34 @@ raise_neg_overflow:
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(uint64_t),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(uint64_t));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -39418,8 +41139,34 @@ raise_neg_overflow:
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(enum VisionStreamType),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum VisionStreamType));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -39456,8 +41203,34 @@ raise_neg_overflow:
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_6cereal_9visionipc_13visionipc_pyx_VisionStreamType),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_6cereal_9visionipc_13visionipc_pyx_VisionStreamType));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -39631,7 +41404,7 @@ raise_neg_overflow:
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -39767,8 +41540,34 @@ raise_neg_overflow:
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(long),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -39942,7 +41741,7 @@ raise_neg_overflow:
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -40054,48 +41853,58 @@ __Pyx_PyType_GetName(PyTypeObject* tp)
__pyx_n_s_name_2);
if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) {
PyErr_Clear();
- Py_XSETREF(name, __Pyx_NewRef(__pyx_n_s__68));
+ Py_XDECREF(name);
+ name = __Pyx_NewRef(__pyx_n_s__67);
}
return name;
}
#endif
/* CheckBinaryVersion */
- static int __Pyx_check_binary_version(void) {
- char ctversion[5];
- int same=1, i, found_dot;
- const char* rt_from_call = Py_GetVersion();
- PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
- found_dot = 0;
- for (i = 0; i < 4; i++) {
- if (!ctversion[i]) {
- same = (rt_from_call[i] < '0' || rt_from_call[i] > '9');
- break;
+ static unsigned long __Pyx_get_runtime_version(void) {
+#if __PYX_LIMITED_VERSION_HEX >= 0x030B00A4
+ return Py_Version & ~0xFFUL;
+#else
+ const char* rt_version = Py_GetVersion();
+ unsigned long version = 0;
+ unsigned long factor = 0x01000000UL;
+ unsigned int digit = 0;
+ int i = 0;
+ while (factor) {
+ while ('0' <= rt_version[i] && rt_version[i] <= '9') {
+ digit = digit * 10 + (unsigned int) (rt_version[i] - '0');
+ ++i;
}
- if (rt_from_call[i] != ctversion[i]) {
- same = 0;
+ version += factor * digit;
+ if (rt_version[i] != '.')
break;
- }
+ digit = 0;
+ factor >>= 8;
+ ++i;
}
- if (!same) {
- char rtversion[5] = {'\0'};
+ return version;
+#endif
+}
+static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) {
+ const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
+ if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
+ return 0;
+ if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
+ return 1;
+ {
char message[200];
- for (i=0; i<4; ++i) {
- if (rt_from_call[i] == '.') {
- if (found_dot) break;
- found_dot = 1;
- } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') {
- break;
- }
- rtversion[i] = rt_from_call[i];
- }
PyOS_snprintf(message, sizeof(message),
- "compile time version %s of module '%.100s' "
- "does not match runtime version %s",
- ctversion, __Pyx_MODULE_NAME, rtversion);
+ "compile time Python version %d.%d "
+ "of module '%.100s' "
+ "%s "
+ "runtime version %d.%d",
+ (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF),
+ __Pyx_MODULE_NAME,
+ (allow_newer) ? "was newer than" : "does not match",
+ (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF)
+ );
return PyErr_WarnEx(NULL, message, 1);
}
- return 0;
}
/* InitStrings */
@@ -40141,8 +41950,24 @@ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
return 0;
}
+#include
+static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
+ size_t len = strlen(s);
+ if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) {
+ PyErr_SetString(PyExc_OverflowError, "byte string is too long");
+ return -1;
+ }
+ return (Py_ssize_t) len;
+}
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
- return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
+ Py_ssize_t len = __Pyx_ssize_strlen(c_str);
+ if (unlikely(len < 0)) return NULL;
+ return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
+}
+static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) {
+ Py_ssize_t len = __Pyx_ssize_strlen(c_str);
+ if (unlikely(len < 0)) return NULL;
+ return PyByteArray_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
Py_ssize_t ignore;
diff --git a/cereal/visionipc/visionipc_pyx.so b/cereal/visionipc/visionipc_pyx.so
index fcc63940f..d174ba5f8 100755
Binary files a/cereal/visionipc/visionipc_pyx.so and b/cereal/visionipc/visionipc_pyx.so differ
diff --git a/common/api/__init__.py b/common/api/__init__.py
index 0eb8aa762..79875023a 100644
--- a/common/api/__init__.py
+++ b/common/api/__init__.py
@@ -2,7 +2,7 @@ import jwt
import os
import requests
from datetime import datetime, timedelta
-from openpilot.common.basedir import PERSIST
+from openpilot.system.hardware.hw import Paths
from openpilot.system.version import get_version
API_HOST = os.getenv('API_HOST', 'https://api.commadotai.com')
@@ -10,7 +10,7 @@ API_HOST = os.getenv('API_HOST', 'https://api.commadotai.com')
class Api():
def __init__(self, dongle_id):
self.dongle_id = dongle_id
- with open(PERSIST+'/comma/id_rsa') as f:
+ with open(Paths.persist_root()+'/comma/id_rsa') as f:
self.private_key = f.read()
def get(self, *args, **kwargs):
diff --git a/common/basedir.py b/common/basedir.py
index b4486f9f0..6b4811e53 100644
--- a/common/basedir.py
+++ b/common/basedir.py
@@ -1,11 +1,4 @@
import os
-from pathlib import Path
-from openpilot.system.hardware import PC
BASEDIR = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../"))
-
-if PC:
- PERSIST = os.path.join(str(Path.home()), ".comma", "persist")
-else:
- PERSIST = "/persist"
diff --git a/common/file_helpers.py b/common/file_helpers.py
index 227d614d7..a29eafdd9 100644
--- a/common/file_helpers.py
+++ b/common/file_helpers.py
@@ -4,16 +4,6 @@ import tempfile
from atomicwrites import AtomicWriter
-def mkdirs_exists_ok(path):
- if path.startswith(('http://', 'https://')):
- raise ValueError('URL path')
- try:
- os.makedirs(path)
- except OSError:
- if not os.path.isdir(path):
- raise
-
-
def rm_not_exists_ok(path):
try:
os.remove(path)
diff --git a/common/kalman/simple_kalman.py b/common/kalman/simple_kalman.py
index 5e1b6ce1f..cd3b5a1df 100644
--- a/common/kalman/simple_kalman.py
+++ b/common/kalman/simple_kalman.py
@@ -9,4 +9,4 @@ def get_kalman_gain(dt, A, C, Q, R, iterations=100):
S = C.dot(P).dot(C.T) + R
K = P.dot(C.T).dot(np.linalg.inv(S))
P = (np.eye(len(P)) - K.dot(C)).dot(P)
- return K
\ No newline at end of file
+ return K
diff --git a/common/kalman/simple_kalman_impl.cpp b/common/kalman/simple_kalman_impl.cpp
index 4bb48892a..3d8e933ad 100644
--- a/common/kalman/simple_kalman_impl.cpp
+++ b/common/kalman/simple_kalman_impl.cpp
@@ -1,4 +1,4 @@
-/* Generated by Cython 3.0.0 */
+/* Generated by Cython 3.0.5 */
/* BEGIN: Cython Metadata
{
@@ -32,10 +32,15 @@ END: Cython Metadata */
#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
#error Cython requires Python 2.7+ or Python 3.3+.
#else
-#define CYTHON_ABI "3_0_0"
+#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API
+#define __PYX_EXTRA_ABI_MODULE_NAME "limited"
+#else
+#define __PYX_EXTRA_ABI_MODULE_NAME ""
+#endif
+#define CYTHON_ABI "3_0_5" __PYX_EXTRA_ABI_MODULE_NAME
#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
-#define CYTHON_HEX_VERSION 0x030000F0
+#define CYTHON_HEX_VERSION 0x030005F0
#define CYTHON_FUTURE_DIVISION 1
#include
#ifndef offsetof
@@ -68,6 +73,7 @@ END: Cython Metadata */
#ifndef Py_HUGE_VAL
#define Py_HUGE_VAL HUGE_VAL
#endif
+#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
#if defined(GRAALVM_PYTHON)
/* For very preliminary testing purposes. Most variables are set the same as PyPy.
The existence of this section does not imply that anything works or is even tested */
@@ -134,8 +140,9 @@ END: Cython Metadata */
#define CYTHON_COMPILING_IN_NOGIL 0
#undef CYTHON_USE_TYPE_SLOTS
#define CYTHON_USE_TYPE_SLOTS 0
- #undef CYTHON_USE_TYPE_SPECS
- #define CYTHON_USE_TYPE_SPECS 0
+ #ifndef CYTHON_USE_TYPE_SPECS
+ #define CYTHON_USE_TYPE_SPECS 0
+ #endif
#undef CYTHON_USE_PYTYPE_LOOKUP
#define CYTHON_USE_PYTYPE_LOOKUP 0
#if PY_VERSION_HEX < 0x03050000
@@ -187,6 +194,10 @@ END: Cython Metadata */
#define CYTHON_UPDATE_DESCRIPTOR_DOC 0
#endif
#elif defined(CYTHON_LIMITED_API)
+ #ifdef Py_LIMITED_API
+ #undef __PYX_LIMITED_VERSION_HEX
+ #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
+ #endif
#define CYTHON_COMPILING_IN_PYPY 0
#define CYTHON_COMPILING_IN_CPYTHON 0
#define CYTHON_COMPILING_IN_LIMITED_API 1
@@ -234,7 +245,7 @@ END: Cython Metadata */
#undef CYTHON_USE_MODULE_STATE
#define CYTHON_USE_MODULE_STATE 1
#ifndef CYTHON_USE_TP_FINALIZE
- #define CYTHON_USE_TP_FINALIZE 1
+ #define CYTHON_USE_TP_FINALIZE 0
#endif
#undef CYTHON_USE_DICT_VERSIONS
#define CYTHON_USE_DICT_VERSIONS 0
@@ -456,6 +467,14 @@ END: Cython Metadata */
# define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
+#ifndef CYTHON_USE_CPP_STD_MOVE
+ #if defined(__cplusplus) && (\
+ __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
+ #define CYTHON_USE_CPP_STD_MOVE 1
+ #else
+ #define CYTHON_USE_CPP_STD_MOVE 0
+ #endif
+#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#ifdef _MSC_VER
#ifndef _MSC_STDINT_H_
@@ -571,59 +590,91 @@ class __Pyx_FakeReference {
#else
#define __Pyx_BUILTIN_MODULE_NAME "builtins"
#define __Pyx_DefaultClassType PyType_Type
-#if PY_VERSION_HEX >= 0x030B00A1
- static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
+#if CYTHON_COMPILING_IN_LIMITED_API
+ static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
PyObject *code, PyObject *c, PyObject* n, PyObject *v,
PyObject *fv, PyObject *cell, PyObject* fn,
PyObject *name, int fline, PyObject *lnos) {
- PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
- PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *empty=NULL;
- const char *fn_cstr=NULL;
- const char *name_cstr=NULL;
- PyCodeObject *co=NULL, *result=NULL;
+ PyObject *exception_table = NULL;
+ PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
+ #if __PYX_LIMITED_VERSION_HEX < 0x030B0000
+ PyObject *version_info; // borrowed
+ #endif
+ PyObject *py_minor_version = NULL;
+ long minor_version = 0;
PyObject *type, *value, *traceback;
PyErr_Fetch(&type, &value, &traceback);
- if (!(kwds=PyDict_New())) goto end;
- if (!(argcount=PyLong_FromLong(a))) goto end;
- if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
- if (!(posonlyargcount=PyLong_FromLong(p))) goto end;
- if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end;
- if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
- if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end;
- if (!(nlocals=PyLong_FromLong(l))) goto end;
- if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
- if (!(stacksize=PyLong_FromLong(s))) goto end;
- if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end;
- if (!(flags=PyLong_FromLong(f))) goto end;
- if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
- if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
- if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
- if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
- if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto end;
- if (!(empty = PyTuple_New(0))) goto end;
- result = (PyCodeObject*) PyObject_Call(replace, empty, kwds);
+ #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000
+ minor_version = 11; // we don't yet need to distinguish between versions > 11
+ #else
+ if (!(version_info = PySys_GetObject("version_info"))) goto end;
+ if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
+ minor_version = PyLong_AsLong(py_minor_version);
+ if (minor_version == -1 && PyErr_Occurred()) goto end;
+ #endif
+ if (!(types_module = PyImport_ImportModule("types"))) goto end;
+ if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
+ if (minor_version <= 7) {
+ (void)p;
+ result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code,
+ c, n, v, fn, name, fline, lnos, fv, cell);
+ } else if (minor_version <= 10) {
+ result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code,
+ c, n, v, fn, name, fline, lnos, fv, cell);
+ } else {
+ if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
+ result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code,
+ c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
+ }
end:
- Py_XDECREF((PyObject*) co);
- Py_XDECREF(kwds);
- Py_XDECREF(argcount);
- Py_XDECREF(posonlyargcount);
- Py_XDECREF(kwonlyargcount);
- Py_XDECREF(nlocals);
- Py_XDECREF(stacksize);
- Py_XDECREF(replace);
- Py_XDECREF(empty);
+ Py_XDECREF(code_type);
+ Py_XDECREF(exception_table);
+ Py_XDECREF(types_module);
+ Py_XDECREF(py_minor_version);
if (type) {
PyErr_Restore(type, value, traceback);
}
return result;
}
+ #ifndef CO_OPTIMIZED
+ #define CO_OPTIMIZED 0x0001
+ #endif
+ #ifndef CO_NEWLOCALS
+ #define CO_NEWLOCALS 0x0002
+ #endif
+ #ifndef CO_VARARGS
+ #define CO_VARARGS 0x0004
+ #endif
+ #ifndef CO_VARKEYWORDS
+ #define CO_VARKEYWORDS 0x0008
+ #endif
+ #ifndef CO_ASYNC_GENERATOR
+ #define CO_ASYNC_GENERATOR 0x0200
+ #endif
+ #ifndef CO_GENERATOR
+ #define CO_GENERATOR 0x0020
+ #endif
+ #ifndef CO_COROUTINE
+ #define CO_COROUTINE 0x0080
+ #endif
+#elif PY_VERSION_HEX >= 0x030B0000
+ static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
+ PyObject *code, PyObject *c, PyObject* n, PyObject *v,
+ PyObject *fv, PyObject *cell, PyObject* fn,
+ PyObject *name, int fline, PyObject *lnos) {
+ PyCodeObject *result;
+ PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0); // we don't have access to __pyx_empty_bytes here
+ if (!empty_bytes) return NULL;
+ result =
+ #if PY_VERSION_HEX >= 0x030C0000
+ PyUnstable_Code_NewWithPosOnlyArgs
+ #else
+ PyCode_NewWithPosOnlyArgs
+ #endif
+ (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes);
+ Py_DECREF(empty_bytes);
+ return result;
+ }
#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
#define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
@@ -723,7 +774,32 @@ class __Pyx_FakeReference {
#define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0
#define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n))
#endif
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_MAJOR_VERSION >= 0x030900B1
+#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func)
+#else
+#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func)
+#endif
+#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func)
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth)
+#elif !CYTHON_COMPILING_IN_LIMITED_API
+#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func)
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags)
+static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
+ return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
+}
+#endif
+static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
+#else
+ return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
+#endif
+}
+#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc)
+#if __PYX_LIMITED_VERSION_HEX < 0x030900B1
#define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b))
typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
#else
@@ -749,6 +825,8 @@ class __Pyx_FakeReference {
#define __Pyx_PyThreadState_Current PyThreadState_Get()
#elif !CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_Current PyThreadState_GET()
+#elif PY_VERSION_HEX >= 0x030d00A1
+ #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
#elif PY_VERSION_HEX >= 0x03060000
#define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#elif PY_VERSION_HEX >= 0x03000000
@@ -824,7 +902,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
}
#endif
#endif
-#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n) PyDict_New()
@@ -836,7 +914,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
#define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
#endif
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && CYTHON_USE_UNICODE_INTERNALS
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
@@ -873,6 +951,11 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
#define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature)
#define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next
#endif
+#if CYTHON_COMPILING_IN_LIMITED_API
+ #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v)
+#else
+ #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v)
+#endif
#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000
#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\
PyTypeObject *type = Py_TYPE(obj);\
@@ -999,9 +1082,34 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
#define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
+ #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
#define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
+ #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
+ #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
+ #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
+ #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
+ #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
+ #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
+ #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
#else
+ #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
#define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
+ #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
+ #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
+ #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
+ #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
+ #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
+ #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
+ #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
+#endif
+#if PY_VERSION_HEX >= 0x030d00A1
+ #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
+#else
+ static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
+ PyObject *module = PyImport_AddModule(name);
+ Py_XINCREF(module);
+ return module;
+ }
#endif
#if PY_MAJOR_VERSION >= 3
#define PyIntObject PyLongObject
@@ -1149,9 +1257,10 @@ static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
#else
#define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
+static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
-#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
+static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
@@ -1267,6 +1376,7 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
#endif
#endif
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+#include
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
PyObject* sys;
@@ -1317,6 +1427,7 @@ bad:
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+#include
static char* __PYX_DEFAULT_STRING_ENCODING;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
PyObject* sys;
@@ -1368,6 +1479,11 @@ static const char *__pyx_f[] = {
"",
};
/* #### Code section: utility_code_proto_before_types ### */
+/* ForceInitThreads.proto */
+#ifndef __PYX_FORCE_INIT_THREADS
+ #define __PYX_FORCE_INIT_THREADS 0
+#endif
+
/* #### Code section: numeric_typedefs ### */
/* #### Code section: complex_type_declarations ### */
/* #### Code section: type_declarations ### */
@@ -1498,7 +1614,20 @@ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int eq
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
/* fastcall.proto */
-#define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
+#if CYTHON_AVOID_BORROWED_REFS
+ #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i)
+#elif CYTHON_ASSUME_SAFE_MACROS
+ #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
+#else
+ #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i)
+#endif
+#if CYTHON_AVOID_BORROWED_REFS
+ #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg)
+ #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg)
+#else
+ #define __Pyx_Arg_NewRef_VARARGS(arg) arg // no-op
+ #define __Pyx_Arg_XDECREF_VARARGS(arg) // no-op - arg is borrowed
+#endif
#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
#define __Pyx_KwValues_VARARGS(args, nargs) NULL
#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s)
@@ -1508,15 +1637,23 @@ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int
#define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds)
#define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s);
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
+ static CYTHON_UNUSED PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
+ #else
#define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
+ #endif
+ #define __Pyx_Arg_NewRef_FASTCALL(arg) arg // no-op, __Pyx_Arg_FASTCALL is direct and this needs
+ #define __Pyx_Arg_XDECREF_FASTCALL(arg) // no-op - arg was returned from array
#else
#define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS
#define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
#define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS
#define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS
#define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS
+ #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg)
+ #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg)
#endif
-#if CYTHON_COMPILING_IN_CPYTHON
+#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start)
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start)
#else
@@ -1709,7 +1846,7 @@ static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args,
#if !CYTHON_VECTORCALL
#if PY_VERSION_HEX >= 0x03080000
#include "frameobject.h"
-#if PY_VERSION_HEX >= 0x030b00a6
+#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
#ifndef Py_BUILD_CORE
#define Py_BUILD_CORE 1
#endif
@@ -1749,7 +1886,11 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObj
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
/* HasAttr.proto */
+#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
+#define __Pyx_HasAttr(o, n) PyObject_HasAttrWithError(o, n)
+#else
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);
+#endif
/* IncludeStructmemberH.proto */
#include
@@ -1809,7 +1950,22 @@ static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec
#endif
/* PyMethodNew.proto */
-#if PY_MAJOR_VERSION >= 3
+#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
+ PyObject *typesModule=NULL, *methodType=NULL, *result=NULL;
+ CYTHON_UNUSED_VAR(typ);
+ if (!self)
+ return __Pyx_NewRef(func);
+ typesModule = PyImport_ImportModule("types");
+ if (!typesModule) return NULL;
+ methodType = PyObject_GetAttrString(typesModule, "MethodType");
+ Py_DECREF(typesModule);
+ if (!methodType) return NULL;
+ result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL);
+ Py_DECREF(methodType);
+ return result;
+}
+#elif PY_MAJOR_VERSION >= 3
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
CYTHON_UNUSED_VAR(typ);
if (!self)
@@ -1833,7 +1989,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, _
#define __Pyx_CYFUNCTION_COROUTINE 0x08
#define __Pyx_CyFunction_GetClosure(f)\
(((__pyx_CyFunctionObject *) (f))->func_closure)
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_GetClassObj(f)\
(((__pyx_CyFunctionObject *) (f))->func_classobj)
#else
@@ -1847,7 +2003,10 @@ static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, _
#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
typedef struct {
-#if PY_VERSION_HEX < 0x030900B1
+#if CYTHON_COMPILING_IN_LIMITED_API
+ PyObject_HEAD
+ PyObject *func;
+#elif PY_VERSION_HEX < 0x030900B1
PyCFunctionObject func;
#else
PyCMethodObject func;
@@ -1855,7 +2014,7 @@ typedef struct {
#if CYTHON_BACKPORT_VECTORCALL
__pyx_vectorcallfunc func_vectorcall;
#endif
-#if PY_VERSION_HEX < 0x030500A0
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
PyObject *func_weakreflist;
#endif
PyObject *func_dict;
@@ -1865,7 +2024,7 @@ typedef struct {
PyObject *func_globals;
PyObject *func_code;
PyObject *func_closure;
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
PyObject *func_classobj;
#endif
void *defaults;
@@ -1878,9 +2037,13 @@ typedef struct {
PyObject *func_annotations;
PyObject *func_is_coroutine;
} __pyx_CyFunctionObject;
+#undef __Pyx_CyOrPyCFunction_Check
#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType)
-#define __Pyx_IsCyOrPyCFunction(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
+#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
#define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType)
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc);
+#undef __Pyx_IsSameCFunction
+#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc)
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
int flags, PyObject* qualname,
PyObject *closure,
@@ -1989,7 +2152,8 @@ static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObj
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
/* CheckBinaryVersion.proto */
-static int __Pyx_check_binary_version(void);
+static unsigned long __Pyx_get_runtime_version(void);
+static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);
/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
@@ -2483,17 +2647,23 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_1__init__(PyObjec
PyObject *__pyx_v_A = 0;
PyObject *__pyx_v_C = 0;
PyObject *__pyx_v_K = 0;
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[4] = {0,0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x0,&__pyx_n_s_A,&__pyx_n_s_C,&__pyx_n_s_K,0};
- PyObject* values[4] = {0,0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -2511,26 +2681,38 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_1__init__(PyObjec
kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x0)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x0)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_A)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_A)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 1); __PYX_ERR(0, 5, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
- if (likely((values[2] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_C)) != 0)) kw_args--;
+ if (likely((values[2] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_C)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[2]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 2); __PYX_ERR(0, 5, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
- if (likely((values[3] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_K)) != 0)) kw_args--;
+ if (likely((values[3] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_K)) != 0)) {
+ (void)__Pyx_Arg_NewRef_VARARGS(values[3]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 3); __PYX_ERR(0, 5, __pyx_L3_error)
@@ -2553,10 +2735,18 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_1__init__(PyObjec
__pyx_v_C = values[2];
__pyx_v_K = values[3];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 5, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
@@ -2564,6 +2754,12 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_1__init__(PyObjec
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D___init__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), __pyx_v_x0, __pyx_v_A, __pyx_v_C, __pyx_v_K);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -2577,7 +2773,7 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D___init__(struct _
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__init__", 0);
+ __Pyx_RefNannySetupContext("__init__", 1);
/* "common/kalman/simple_kalman_impl.pyx":6
* cdef class KF1D:
@@ -2816,18 +3012,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_meas = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("update (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_meas,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -2839,7 +3043,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_meas)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_meas)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -2854,10 +3061,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_meas = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("update", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 22, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -2865,6 +3080,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_2update(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), __pyx_v_meas);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -2881,7 +3102,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_2update(str
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("update", 0);
+ __Pyx_RefNannySetupContext("update", 1);
/* "common/kalman/simple_kalman_impl.pyx":23
*
@@ -2960,9 +3181,9 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_2update(str
__pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_3);
- PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_3)) __PYX_ERR(0, 28, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
@@ -3001,10 +3222,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_2update(str
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_1x_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_1x_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_1x___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -3021,7 +3243,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_1x___get__(
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "common/kalman/simple_kalman_impl.pyx":32
* @property
@@ -3036,21 +3258,21 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_1x___get__(
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
- PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error);
__pyx_t_1 = 0;
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->x1_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
- PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error);
__pyx_t_1 = 0;
__pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_2);
- PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_3);
- PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_3);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_3 = 0;
__pyx_r = __pyx_t_1;
@@ -3089,10 +3311,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_1x___get__(
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_x); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_x) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_1x_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_x));
/* function exit code */
@@ -3109,7 +3332,7 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_1x_2__set__(struc
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
+ __Pyx_RefNannySetupContext("__set__", 1);
/* "common/kalman/simple_kalman_impl.pyx":36
* @x.setter
@@ -3172,10 +3395,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_1x_2__set__(struc
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4x0_0_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4x0_0_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x0_0___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -3190,7 +3414,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x0_0___get
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->x0_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -3212,10 +3436,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x0_0___get
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4x0_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4x0_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x0_0_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -3225,12 +3450,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4x0_0_3__set__(Py
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x0_0_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 5, __pyx_L1_error)
__pyx_v_self->x0_0 = __pyx_t_1;
@@ -3241,7 +3464,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x0_0_2__set__(st
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.x0_0.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -3256,10 +3478,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x0_0_2__set__(st
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4x1_0_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4x1_0_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x1_0___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -3274,7 +3497,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x1_0___get
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->x1_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -3296,10 +3519,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x1_0___get
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4x1_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4x1_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x1_0_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -3309,12 +3533,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4x1_0_3__set__(Py
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x1_0_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 6, __pyx_L1_error)
__pyx_v_self->x1_0 = __pyx_t_1;
@@ -3325,7 +3547,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x1_0_2__set__(st
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.x1_0.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -3340,10 +3561,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4x1_0_2__set__(st
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4K0_0_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4K0_0_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K0_0___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -3358,7 +3580,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K0_0___get
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->K0_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -3380,10 +3602,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K0_0___get
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4K0_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4K0_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K0_0_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -3393,12 +3616,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4K0_0_3__set__(Py
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K0_0_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 7, __pyx_L1_error)
__pyx_v_self->K0_0 = __pyx_t_1;
@@ -3409,7 +3630,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K0_0_2__set__(st
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.K0_0.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -3424,10 +3644,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K0_0_2__set__(st
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4K1_0_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4K1_0_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K1_0___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -3442,7 +3663,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K1_0___get
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->K1_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -3464,10 +3685,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K1_0___get
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4K1_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4K1_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K1_0_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -3477,12 +3699,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4K1_0_3__set__(Py
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K1_0_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 8, __pyx_L1_error)
__pyx_v_self->K1_0 = __pyx_t_1;
@@ -3493,7 +3713,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K1_0_2__set__(st
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.K1_0.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -3508,10 +3727,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4K1_0_2__set__(st
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_0_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_0_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_0___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -3526,7 +3746,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_0___get
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->A0_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -3548,10 +3768,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_0___get
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_0_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -3561,12 +3782,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_0_3__set__(Py
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_0_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 9, __pyx_L1_error)
__pyx_v_self->A0_0 = __pyx_t_1;
@@ -3577,7 +3796,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_0_2__set__(st
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.A0_0.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -3592,10 +3810,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_0_2__set__(st
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_1_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_1___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -3610,7 +3829,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_1___get
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->A0_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -3632,10 +3851,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_1___get
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_1_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -3645,12 +3865,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_1_3__set__(Py
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_1_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 10, __pyx_L1_error)
__pyx_v_self->A0_1 = __pyx_t_1;
@@ -3661,7 +3879,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_1_2__set__(st
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.A0_1.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -3676,10 +3893,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A0_1_2__set__(st
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_0_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_0_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_0___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -3694,7 +3912,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_0___get
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->A1_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -3716,10 +3934,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_0___get
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_0_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -3729,12 +3948,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_0_3__set__(Py
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_0_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 11, __pyx_L1_error)
__pyx_v_self->A1_0 = __pyx_t_1;
@@ -3745,7 +3962,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_0_2__set__(st
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.A1_0.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -3760,10 +3976,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_0_2__set__(st
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_1_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_1___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -3778,7 +3995,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_1___get
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->A1_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -3800,10 +4017,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_1___get
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_1_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -3813,12 +4031,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_1_3__set__(Py
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_1_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
__pyx_v_self->A1_1 = __pyx_t_1;
@@ -3829,7 +4045,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_1_2__set__(st
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.A1_1.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -3844,10 +4059,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4A1_1_2__set__(st
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_0_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_0_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_0___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -3862,7 +4078,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_0___get
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->C0_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -3884,10 +4100,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_0___get
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_0_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -3897,12 +4114,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_0_3__set__(Py
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_0_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 13, __pyx_L1_error)
__pyx_v_self->C0_0 = __pyx_t_1;
@@ -3913,7 +4128,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_0_2__set__(st
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.C0_0.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -3928,10 +4142,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_0_2__set__(st
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_1_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_1___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -3946,7 +4161,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_1___get
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->C0_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -3968,10 +4183,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_1___get
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_1_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -3981,12 +4197,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_1_3__set__(Py
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_1_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 14, __pyx_L1_error)
__pyx_v_self->C0_1 = __pyx_t_1;
@@ -3997,7 +4211,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_1_2__set__(st
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.C0_1.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4012,10 +4225,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4C0_1_2__set__(st
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_0_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_0_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_0___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -4030,7 +4244,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_0___ge
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->A_K_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -4052,10 +4266,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_0___ge
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_0_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -4065,12 +4280,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_0_3__set__(P
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_0_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 15, __pyx_L1_error)
__pyx_v_self->A_K_0 = __pyx_t_1;
@@ -4081,7 +4294,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_0_2__set__(s
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.A_K_0.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4096,10 +4308,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_0_2__set__(s
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_1_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_1___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -4114,7 +4327,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_1___ge
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->A_K_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 16, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -4136,10 +4349,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_1___ge
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_1_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -4149,12 +4363,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_1_3__set__(P
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_1_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 16, __pyx_L1_error)
__pyx_v_self->A_K_1 = __pyx_t_1;
@@ -4165,7 +4377,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_1_2__set__(s
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.A_K_1.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4179,10 +4390,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_1_2__set__(s
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_2_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_2_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_2___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -4197,7 +4409,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_2___ge
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->A_K_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -4219,10 +4431,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_2___ge
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_2_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -4232,12 +4445,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_2_3__set__(P
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_2_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 17, __pyx_L1_error)
__pyx_v_self->A_K_2 = __pyx_t_1;
@@ -4248,7 +4459,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_2_2__set__(s
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.A_K_2.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4261,10 +4471,11 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_2_2__set__(s
/* Python wrapper */
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_3_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_3_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_3___get__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self));
/* function exit code */
@@ -4279,7 +4490,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_3___ge
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->A_K_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
@@ -4301,10 +4512,11 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_3___ge
/* Python wrapper */
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_3_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_3_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_3_2__set__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
@@ -4314,12 +4526,10 @@ static int __pyx_pw_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_3_3__set__(P
static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_3_2__set__(struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
double __pyx_t_1;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 18, __pyx_L1_error)
__pyx_v_self->A_K_3 = __pyx_t_1;
@@ -4330,7 +4540,6 @@ static int __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_5A_K_3_2__set__(s
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.A_K_3.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4357,12 +4566,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -4398,7 +4615,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4__reduce_c
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":5
* cdef object _dict
@@ -4438,33 +4655,33 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4__reduce_c
__pyx_t_15 = PyTuple_New(14); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_2);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_t_3);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_15, 3, __pyx_t_4);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 3, __pyx_t_4)) __PYX_ERR(2, 5, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_5);
- PyTuple_SET_ITEM(__pyx_t_15, 4, __pyx_t_5);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 4, __pyx_t_5)) __PYX_ERR(2, 5, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_15, 5, __pyx_t_6);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 5, __pyx_t_6)) __PYX_ERR(2, 5, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_7);
- PyTuple_SET_ITEM(__pyx_t_15, 6, __pyx_t_7);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 6, __pyx_t_7)) __PYX_ERR(2, 5, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_8);
- PyTuple_SET_ITEM(__pyx_t_15, 7, __pyx_t_8);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 7, __pyx_t_8)) __PYX_ERR(2, 5, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_9);
- PyTuple_SET_ITEM(__pyx_t_15, 8, __pyx_t_9);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 8, __pyx_t_9)) __PYX_ERR(2, 5, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_10);
- PyTuple_SET_ITEM(__pyx_t_15, 9, __pyx_t_10);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 9, __pyx_t_10)) __PYX_ERR(2, 5, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_11);
- PyTuple_SET_ITEM(__pyx_t_15, 10, __pyx_t_11);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 10, __pyx_t_11)) __PYX_ERR(2, 5, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_12);
- PyTuple_SET_ITEM(__pyx_t_15, 11, __pyx_t_12);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 11, __pyx_t_12)) __PYX_ERR(2, 5, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_13);
- PyTuple_SET_ITEM(__pyx_t_15, 12, __pyx_t_13);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 12, __pyx_t_13)) __PYX_ERR(2, 5, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_14);
- PyTuple_SET_ITEM(__pyx_t_15, 13, __pyx_t_14);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 13, __pyx_t_14)) __PYX_ERR(2, 5, __pyx_L1_error);
__pyx_t_1 = 0;
__pyx_t_2 = 0;
__pyx_t_3 = 0;
@@ -4515,7 +4732,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4__reduce_c
__Pyx_GOTREF(__pyx_t_15);
__Pyx_INCREF(__pyx_v__dict);
__Pyx_GIVEREF(__pyx_v__dict);
- PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_v__dict);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_v__dict)) __PYX_ERR(2, 8, __pyx_L1_error);
__pyx_t_14 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_15); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 8, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
@@ -4576,22 +4793,22 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4__reduce_c
__Pyx_GOTREF(__pyx_t_15);
__Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
- PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(2, 13, __pyx_L1_error);
__Pyx_INCREF(__pyx_int_266195929);
__Pyx_GIVEREF(__pyx_int_266195929);
- PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_int_266195929);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_int_266195929)) __PYX_ERR(2, 13, __pyx_L1_error);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
- PyTuple_SET_ITEM(__pyx_t_15, 2, Py_None);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 2, Py_None)) __PYX_ERR(2, 13, __pyx_L1_error);
__pyx_t_13 = PyTuple_New(3); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 13, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
__Pyx_GIVEREF(__pyx_t_14);
- PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_14);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_14)) __PYX_ERR(2, 13, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_15);
- PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_15);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_15)) __PYX_ERR(2, 13, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_state);
__Pyx_GIVEREF(__pyx_v_state);
- PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_v_state);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_v_state)) __PYX_ERR(2, 13, __pyx_L1_error);
__pyx_t_14 = 0;
__pyx_t_15 = 0;
__pyx_r = __pyx_t_13;
@@ -4622,19 +4839,19 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_4__reduce_c
__Pyx_GOTREF(__pyx_t_15);
__Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
- PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(2, 15, __pyx_L1_error);
__Pyx_INCREF(__pyx_int_266195929);
__Pyx_GIVEREF(__pyx_int_266195929);
- PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_int_266195929);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_int_266195929)) __PYX_ERR(2, 15, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_state);
__Pyx_GIVEREF(__pyx_v_state);
- PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_v_state);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_v_state)) __PYX_ERR(2, 15, __pyx_L1_error);
__pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 15, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_GIVEREF(__pyx_t_13);
- PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13)) __PYX_ERR(2, 15, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_15);
- PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_15);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_15)) __PYX_ERR(2, 15, __pyx_L1_error);
__pyx_t_13 = 0;
__pyx_t_15 = 0;
__pyx_r = __pyx_t_14;
@@ -4700,18 +4917,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -4723,7 +4948,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 16, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -4738,10 +4966,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 16, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.KF1D.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -4749,6 +4985,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_6__setstate_cython__(((struct __pyx_obj_6common_6kalman_18simple_kalman_impl_KF1D *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4760,7 +5002,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl_4KF1D_6__setstate
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":17
* return __pyx_unpickle_KF1D, (type(self), 0xfddd3d9, state)
@@ -4818,18 +5060,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
long __pyx_v___pyx_checksum;
PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[3] = {0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__pyx_unpickle_KF1D (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
- PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -4845,19 +5095,28 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_type)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_type)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_checksum)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__pyx_unpickle_KF1D", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
- if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__pyx_unpickle_KF1D", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
@@ -4878,10 +5137,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
__pyx_v___pyx_state = values[2];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__pyx_unpickle_KF1D", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 1, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.kalman.simple_kalman_impl.__pyx_unpickle_KF1D", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -4889,6 +5156,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_6kalman_18simple_kalman_impl___pyx_unpickle_KF1D(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4906,7 +5179,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl___pyx_unpickle_KF
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_unpickle_KF1D", 0);
+ __Pyx_RefNannySetupContext("__pyx_unpickle_KF1D", 1);
/* "(tree fragment)":4
* cdef object __pyx_PickleError
@@ -4932,7 +5205,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl___pyx_unpickle_KF
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_PickleError);
__Pyx_GIVEREF(__pyx_n_s_PickleError);
- PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError)) __PYX_ERR(2, 5, __pyx_L1_error);
__pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -4979,7 +5252,8 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl___pyx_unpickle_KF
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
@@ -4989,6 +5263,7 @@ static PyObject *__pyx_pf_6common_6kalman_18simple_kalman_impl___pyx_unpickle_KF
__pyx_t_5 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v___pyx_type};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
@@ -5087,7 +5362,7 @@ static PyObject *__pyx_f_6common_6kalman_18simple_kalman_impl___pyx_unpickle_KF1
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_unpickle_KF1D__set_state", 0);
+ __Pyx_RefNannySetupContext("__pyx_unpickle_KF1D__set_state", 1);
/* "(tree fragment)":12
* return __pyx_result
@@ -5233,7 +5508,7 @@ static PyObject *__pyx_f_6common_6kalman_18simple_kalman_impl___pyx_unpickle_KF1
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
__PYX_ERR(2, 13, __pyx_L1_error)
}
- __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
__pyx_t_5 = (__pyx_t_4 > 14);
if (__pyx_t_5) {
} else {
@@ -5263,7 +5538,8 @@ static PyObject *__pyx_f_6common_6kalman_18simple_kalman_impl___pyx_unpickle_KF1
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_8 = NULL;
__pyx_t_9 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
@@ -5273,6 +5549,7 @@ static PyObject *__pyx_f_6common_6kalman_18simple_kalman_impl___pyx_unpickle_KF1
__pyx_t_9 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_6};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
@@ -5340,7 +5617,14 @@ static void __pyx_tp_dealloc_6common_6kalman_18simple_kalman_impl_KF1D(PyObject
}
}
#endif
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static PyObject *__pyx_getprop_6common_6kalman_18simple_kalman_impl_4KF1D_x(PyObject *o, CYTHON_UNUSED void *x) {
@@ -6127,10 +6411,8 @@ static CYTHON_SMALL_CODE int __pyx_pymod_exec_simple_kalman_impl(PyObject *__pyx
CYTHON_UNUSED_VAR(__pyx_t_1);
__pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
Py_INCREF(__pyx_d);
- __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
- Py_INCREF(__pyx_b);
- __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
- Py_INCREF(__pyx_cython_runtime);
+ __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
+ __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#if CYTHON_REFNANNY
__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
@@ -6142,7 +6424,7 @@ if (!__Pyx_RefNanny) {
}
#endif
__Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_simple_kalman_impl(void)", 0);
- if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+ if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#ifdef __Pxy_PyFrame_Initialize_Offsets
__Pxy_PyFrame_Initialize_Offsets();
#endif
@@ -6216,7 +6498,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6common_6kalman_18simple_kalman_impl_4KF1D_3update, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_KF1D_update, NULL, __pyx_n_s_common_kalman_simple_kalman_impl_2, __pyx_d, ((PyObject *)__pyx_codeobj__4)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_6kalman_18simple_kalman_impl_KF1D->tp_dict, __pyx_n_s_update, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_6kalman_18simple_kalman_impl_KF1D, __pyx_n_s_update, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
PyType_Modified(__pyx_ptype_6common_6kalman_18simple_kalman_impl_KF1D);
@@ -6227,7 +6509,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6common_6kalman_18simple_kalman_impl_4KF1D_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_KF1D___reduce_cython, NULL, __pyx_n_s_common_kalman_simple_kalman_impl_2, __pyx_d, ((PyObject *)__pyx_codeobj__6)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_6kalman_18simple_kalman_impl_KF1D->tp_dict, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_6kalman_18simple_kalman_impl_KF1D, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
PyType_Modified(__pyx_ptype_6common_6kalman_18simple_kalman_impl_KF1D);
@@ -6239,7 +6521,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6common_6kalman_18simple_kalman_impl_4KF1D_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_KF1D___setstate_cython, NULL, __pyx_n_s_common_kalman_simple_kalman_impl_2, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 16, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_6kalman_18simple_kalman_impl_KF1D->tp_dict, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_6kalman_18simple_kalman_impl_KF1D, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
PyType_Modified(__pyx_ptype_6common_6kalman_18simple_kalman_impl_KF1D);
@@ -6536,6 +6818,24 @@ static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyO
}
return NULL; // not found (no exception set)
}
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
+static CYTHON_UNUSED PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) {
+ Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames);
+ PyObject *dict;
+ dict = PyDict_New();
+ if (unlikely(!dict))
+ return NULL;
+ for (i=0; i= PyTuple_GET_SIZE(kwds)) break;
+ Py_ssize_t size;
+#if CYTHON_ASSUME_SAFE_MACROS
+ size = PyTuple_GET_SIZE(kwds);
+#else
+ size = PyTuple_Size(kwds);
+ if (size < 0) goto bad;
+#endif
+ if (pos >= size) break;
+#if CYTHON_AVOID_BORROWED_REFS
+ key = __Pyx_PySequence_ITEM(kwds, pos);
+ if (!key) goto bad;
+#elif CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kwds, pos);
+#else
+ key = PyTuple_GetItem(kwds, pos);
+ if (!key) goto bad;
+#endif
value = kwvalues[pos];
pos++;
}
else
{
if (!PyDict_Next(kwds, &pos, &key, &value)) break;
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(key);
+#endif
}
name = first_kw_arg;
while (*name && (**name != key)) name++;
if (*name) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(value); // transfer ownership of value to values
+ Py_DECREF(key);
+#endif
+ key = NULL;
+ value = NULL;
continue;
}
+#if !CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(key);
+#endif
+ Py_INCREF(value);
name = first_kw_arg;
#if PY_MAJOR_VERSION < 3
if (likely(PyString_Check(key))) {
@@ -6617,6 +6947,9 @@ static int __Pyx_ParseOptionalKeywords(
if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
&& _PyString_Eq(**name, key)) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ value = NULL; // ownership transferred to values
+#endif
break;
}
name++;
@@ -6646,6 +6979,9 @@ static int __Pyx_ParseOptionalKeywords(
if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
if (cmp == 0) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ value = NULL; // ownership transferred to values
+#endif
break;
}
name++;
@@ -6672,6 +7008,8 @@ static int __Pyx_ParseOptionalKeywords(
goto invalid_keyword;
}
}
+ Py_XDECREF(key);
+ Py_XDECREF(value);
return 0;
arg_passed_twice:
__Pyx_RaiseDoubleKeywordsError(function_name, key);
@@ -6691,6 +7029,8 @@ invalid_keyword:
function_name, key);
#endif
bad:
+ Py_XDECREF(key);
+ Py_XDECREF(value);
return -1;
}
@@ -6803,15 +7143,32 @@ static int __Pyx_CheckKeywordStrings(
return 1;
#else
if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kw))) {
- if (unlikely(PyTuple_GET_SIZE(kw) == 0))
+ Py_ssize_t kwsize;
+#if CYTHON_ASSUME_SAFE_MACROS
+ kwsize = PyTuple_GET_SIZE(kw);
+#else
+ kwsize = PyTuple_Size(kw);
+ if (kwsize < 0) return 0;
+#endif
+ if (unlikely(kwsize == 0))
return 1;
if (!kw_allowed) {
+#if CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kw, 0);
+#else
+ key = PyTuple_GetItem(kw, pos);
+ if (!key) return 0;
+#endif
goto invalid_keyword;
}
#if PY_VERSION_HEX < 0x03090000
- for (pos = 0; pos < PyTuple_GET_SIZE(kw); pos++) {
+ for (pos = 0; pos < kwsize; pos++) {
+#if CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kw, pos);
+#else
+ key = PyTuple_GetItem(kw, pos);
+ if (!key) return 0;
+#endif
if (unlikely(!PyUnicode_Check(key)))
goto invalid_keyword_type;
}
@@ -6904,6 +7261,8 @@ static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObjec
tmp_value = tstate->current_exception;
tstate->current_exception = value;
Py_XDECREF(tmp_value);
+ Py_XDECREF(type);
+ Py_XDECREF(tb);
#else
PyObject *tmp_type, *tmp_value, *tmp_tb;
tmp_type = tstate->curexc_type;
@@ -6961,6 +7320,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject
#endif
/* GetAttr3 */
+#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
@@ -6970,9 +7330,14 @@ static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
Py_INCREF(d);
return d;
}
+#endif
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
PyObject *r;
-#if CYTHON_USE_TYPE_SLOTS
+#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
+ int res = PyObject_GetOptionalAttr(o, n, &r);
+ return (res != 0) ? r : __Pyx_NewRef(d);
+#else
+ #if CYTHON_USE_TYPE_SLOTS
if (likely(PyString_Check(n))) {
r = __Pyx_PyObject_GetAttrStrNoError(o, n);
if (unlikely(!r) && likely(!PyErr_Occurred())) {
@@ -6980,20 +7345,27 @@ static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject
}
return r;
}
-#endif
+ #endif
r = PyObject_GetAttr(o, n);
return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
+#endif
}
/* PyObjectGetAttrStrNoError */
+#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
__Pyx_PyErr_Clear();
}
+#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
PyObject *result;
+#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
+ (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
+ return result;
+#else
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1
PyTypeObject* tp = Py_TYPE(obj);
if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
@@ -7005,6 +7377,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, P
__Pyx_PyObject_GetAttrStr_ClearAttributeError();
}
return result;
+#endif
}
/* GetBuiltinName */
@@ -7056,7 +7429,7 @@ static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
{
PyObject *result;
#if !CYTHON_AVOID_BORROWED_REFS
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
__PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
if (likely(result)) {
@@ -7124,14 +7497,9 @@ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
{
#if PY_MAJOR_VERSION >= 3
if (level == -1) {
- if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
- #if CYTHON_COMPILING_IN_LIMITED_API
- module = PyImport_ImportModuleLevelObject(
- name, empty_dict, empty_dict, from_list, 1);
- #else
+ if (strchr(__Pyx_MODULE_NAME, '.') != NULL) {
module = PyImport_ImportModuleLevelObject(
name, __pyx_d, empty_dict, from_list, 1);
- #endif
if (unlikely(!module)) {
if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError)))
goto bad;
@@ -7150,14 +7518,9 @@ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL);
Py_DECREF(py_level);
#else
- #if CYTHON_COMPILING_IN_LIMITED_API
- module = PyImport_ImportModuleLevelObject(
- name, empty_dict, empty_dict, from_list, level);
- #else
module = PyImport_ImportModuleLevelObject(
name, __pyx_d, empty_dict, from_list, level);
#endif
- #endif
}
}
bad:
@@ -7418,9 +7781,15 @@ static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args,
PyObject *result;
assert(kwargs == NULL || PyDict_Check(kwargs));
nk = kwargs ? PyDict_Size(kwargs) : 0;
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) {
return NULL;
}
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) {
+ return NULL;
+ }
+ #endif
if (
#if PY_MAJOR_VERSION >= 3
co->co_kwonlyargcount == 0 &&
@@ -7497,8 +7866,13 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
ternaryfunc call = Py_TYPE(func)->tp_call;
if (unlikely(!call))
return PyObject_Call(func, arg, kw);
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
return NULL;
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
+ return NULL;
+ #endif
result = (*call)(func, arg, kw);
Py_LeaveRecursiveCall();
if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
@@ -7515,10 +7889,15 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
PyObject *self, *result;
PyCFunction cfunc;
- cfunc = PyCFunction_GET_FUNCTION(func);
- self = PyCFunction_GET_SELF(func);
+ cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
+ self = __Pyx_CyOrPyCFunction_GET_SELF(func);
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
return NULL;
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
+ return NULL;
+ #endif
result = cfunc(self, arg);
Py_LeaveRecursiveCall();
if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
@@ -7531,42 +7910,33 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject
#endif
/* PyObjectFastCall */
+#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API
static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) {
PyObject *argstuple;
- PyObject *result;
+ PyObject *result = 0;
size_t i;
argstuple = PyTuple_New((Py_ssize_t)nargs);
if (unlikely(!argstuple)) return NULL;
for (i = 0; i < nargs; i++) {
Py_INCREF(args[i]);
- PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]);
+ if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad;
}
result = __Pyx_PyObject_Call(func, argstuple, kwargs);
+ bad:
Py_DECREF(argstuple);
return result;
}
+#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) {
Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs);
#if CYTHON_COMPILING_IN_CPYTHON
if (nargs == 0 && kwargs == NULL) {
-#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
- if (__Pyx_IsCyOrPyCFunction(func))
-#else
- if (PyCFunction_Check(func))
-#endif
- {
- if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
- return __Pyx_PyObject_CallMethO(func, NULL);
- }
- }
+ if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
+ return __Pyx_PyObject_CallMethO(func, NULL);
}
else if (nargs == 1 && kwargs == NULL) {
- if (PyCFunction_Check(func))
- {
- if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
- return __Pyx_PyObject_CallMethO(func, args[0]);
- }
- }
+ if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
+ return __Pyx_PyObject_CallMethO(func, args[0]);
}
#endif
#if PY_VERSION_HEX < 0x030800B1
@@ -7590,21 +7960,31 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObj
}
#endif
#endif
- #if CYTHON_VECTORCALL
- vectorcallfunc f = _PyVectorcall_Function(func);
- if (f) {
- return f(func, args, (size_t)nargs, kwargs);
+ if (kwargs == NULL) {
+ #if CYTHON_VECTORCALL
+ #if PY_VERSION_HEX < 0x03090000
+ vectorcallfunc f = _PyVectorcall_Function(func);
+ #else
+ vectorcallfunc f = PyVectorcall_Function(func);
+ #endif
+ if (f) {
+ return f(func, args, (size_t)nargs, NULL);
+ }
+ #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
+ if (__Pyx_CyFunction_CheckExact(func)) {
+ __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
+ if (f) return f(func, args, (size_t)nargs, NULL);
+ }
+ #endif
}
- #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
- if (__Pyx_CyFunction_CheckExact(func)) {
- __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
- if (f) return f(func, args, (size_t)nargs, kwargs);
- }
- #endif
if (nargs == 0) {
return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs);
}
+ #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
+ return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs);
+ #else
return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
+ #endif
}
/* GetAttr */
@@ -7621,6 +8001,7 @@ static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
}
/* HasAttr */
+#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
PyObject *r;
if (unlikely(!__Pyx_PyBaseString_Check(n))) {
@@ -7637,6 +8018,7 @@ static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
return 1;
}
}
+#endif
/* FixUpExtensionType */
#if CYTHON_USE_TYPE_SPECS
@@ -7713,8 +8095,8 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
/* PyObjectCallNoArg */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
- PyObject *arg = NULL;
- return __Pyx_PyObject_FastCall(func, (&arg)+1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
+ PyObject *arg[2] = {NULL, NULL};
+ return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}
/* PyObjectCallOneArg */
@@ -7843,16 +8225,33 @@ bad:
/* ValidateBasesTuple */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) {
- Py_ssize_t i, n = PyTuple_GET_SIZE(bases);
+ Py_ssize_t i, n;
+#if CYTHON_ASSUME_SAFE_MACROS
+ n = PyTuple_GET_SIZE(bases);
+#else
+ n = PyTuple_Size(bases);
+ if (n < 0) return -1;
+#endif
for (i = 1; i < n; i++)
{
+#if CYTHON_AVOID_BORROWED_REFS
+ PyObject *b0 = PySequence_GetItem(bases, i);
+ if (!b0) return -1;
+#elif CYTHON_ASSUME_SAFE_MACROS
PyObject *b0 = PyTuple_GET_ITEM(bases, i);
+#else
+ PyObject *b0 = PyTuple_GetItem(bases, i);
+ if (!b0) return -1;
+#endif
PyTypeObject *b;
#if PY_MAJOR_VERSION < 3
if (PyClass_Check(b0))
{
PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class",
PyString_AS_STRING(((PyClassObject*)b0)->cl_name));
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
#endif
@@ -7863,8 +8262,27 @@ static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffs
PyErr_Format(PyExc_TypeError,
"base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name);
__Pyx_DECREF_TypeName(b_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
+#if !CYTHON_USE_TYPE_SLOTS
+ if (dictoffset == 0) {
+ PyErr_Format(PyExc_TypeError,
+ "extension type '%s.200s': "
+ "unable to validate whether bases have a __dict__ "
+ "when CYTHON_USE_TYPE_SLOTS is off "
+ "(likely because you are building in the limited API). "
+ "Therefore, all extension types with multiple bases "
+ "must add 'cdef dict __dict__' in this compilation mode",
+ type_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
+ return -1;
+ }
+#else
if (dictoffset == 0 && b->tp_dictoffset)
{
__Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
@@ -7875,8 +8293,15 @@ static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffs
"or add '__slots__ = [...]' to the base type",
type_name, b_name);
__Pyx_DECREF_TypeName(b_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
+#endif
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
}
return 0;
}
@@ -8129,10 +8554,7 @@ __PYX_GOOD:
/* FetchSharedCythonModule */
static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
- PyObject *abi_module = PyImport_AddModule((char*) __PYX_ABI_MODULE_NAME);
- if (unlikely(!abi_module)) return NULL;
- Py_INCREF(abi_module);
- return abi_module;
+ return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME);
}
/* FetchCommonType */
@@ -8293,8 +8715,22 @@ static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, _
#endif
/* CythonFunctionShared */
+#if CYTHON_COMPILING_IN_LIMITED_API
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
+ if (__Pyx_CyFunction_Check(func)) {
+ return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc;
+ } else if (PyCFunction_Check(func)) {
+ return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
+ }
+ return 0;
+}
+#else
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
+ return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
+}
+#endif
static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
__Pyx_Py_XDECREF_SET(
__Pyx_CyFunction_GetClassObj(f),
((classobj) ? __Pyx_NewRef(classobj) : NULL));
@@ -8309,6 +8745,10 @@ __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
{
CYTHON_UNUSED_VAR(closure);
if (unlikely(op->func_doc == NULL)) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func_doc = PyObject_GetAttrString(op->func, "__doc__");
+ if (unlikely(!op->func_doc)) return NULL;
+#else
if (((PyCFunctionObject*)op)->m_ml->ml_doc) {
#if PY_MAJOR_VERSION >= 3
op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
@@ -8321,6 +8761,7 @@ __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
Py_INCREF(Py_None);
return Py_None;
}
+#endif
}
Py_INCREF(op->func_doc);
return op->func_doc;
@@ -8341,7 +8782,9 @@ __Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context)
{
CYTHON_UNUSED_VAR(context);
if (unlikely(op->func_name == NULL)) {
-#if PY_MAJOR_VERSION >= 3
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func_name = PyObject_GetAttrString(op->func, "__name__");
+#elif PY_MAJOR_VERSION >= 3
op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
#else
op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
@@ -8460,10 +8903,10 @@ __Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
Py_INCREF(op->defaults_kwdict);
#else
- op->defaults_tuple = PySequence_ITEM(res, 0);
+ op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0);
if (unlikely(!op->defaults_tuple)) result = -1;
else {
- op->defaults_kwdict = PySequence_ITEM(res, 1);
+ op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1);
if (unlikely(!op->defaults_kwdict)) result = -1;
}
#endif
@@ -8572,7 +9015,15 @@ __Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) {
fromlist = PyList_New(1);
if (unlikely(!fromlist)) return NULL;
Py_INCREF(marker);
+#if CYTHON_ASSUME_SAFE_MACROS
PyList_SET_ITEM(fromlist, 0, marker);
+#else
+ if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
+ Py_DECREF(marker);
+ Py_DECREF(fromlist);
+ return NULL;
+ }
+#endif
module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0);
Py_DECREF(fromlist);
if (unlikely(!module)) goto ignore;
@@ -8588,6 +9039,18 @@ ignore:
op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine);
return __Pyx_NewRef(op->func_is_coroutine);
}
+#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *
+__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) {
+ CYTHON_UNUSED_VAR(context);
+ return PyObject_GetAttrString(op->func, "__module__");
+}
+static int
+__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
+ CYTHON_UNUSED_VAR(context);
+ return PyObject_SetAttrString(op->func, "__module__", value);
+}
+#endif
static PyGetSetDef __pyx_CyFunction_getsets[] = {
{(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
{(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
@@ -8607,20 +9070,27 @@ static PyGetSetDef __pyx_CyFunction_getsets[] = {
{(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
{(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
{(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
+#if CYTHON_COMPILING_IN_LIMITED_API
+ {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0},
+#endif
{0, 0, 0, 0, 0}
};
static PyMemberDef __pyx_CyFunction_members[] = {
+#if !CYTHON_COMPILING_IN_LIMITED_API
{(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
+#endif
#if CYTHON_USE_TYPE_SPECS
{(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0},
#if CYTHON_METH_FASTCALL
#if CYTHON_BACKPORT_VECTORCALL
{(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0},
#else
+#if !CYTHON_COMPILING_IN_LIMITED_API
{(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
#endif
#endif
-#if PY_VERSION_HEX < 0x030500A0
+#endif
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
{(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0},
#else
{(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
@@ -8643,30 +9113,40 @@ static PyMethodDef __pyx_CyFunction_methods[] = {
{"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
{0, 0, 0, 0}
};
-#if PY_VERSION_HEX < 0x030500A0
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
#else
#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
#endif
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
+#if !CYTHON_COMPILING_IN_LIMITED_API
PyCFunctionObject *cf = (PyCFunctionObject*) op;
+#endif
if (unlikely(op == NULL))
return NULL;
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func = PyCFunction_NewEx(ml, (PyObject*)op, module);
+ if (unlikely(!op->func)) return NULL;
+#endif
op->flags = flags;
__Pyx_CyFunction_weakreflist(op) = NULL;
+#if !CYTHON_COMPILING_IN_LIMITED_API
cf->m_ml = ml;
cf->m_self = (PyObject *) op;
+#endif
Py_XINCREF(closure);
op->func_closure = closure;
+#if !CYTHON_COMPILING_IN_LIMITED_API
Py_XINCREF(module);
cf->m_module = module;
+#endif
op->func_dict = NULL;
op->func_name = NULL;
Py_INCREF(qualname);
op->func_qualname = qualname;
op->func_doc = NULL;
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
op->func_classobj = NULL;
#else
((PyCMethodObject*)op)->mm_class = NULL;
@@ -8712,13 +9192,18 @@ static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
{
Py_CLEAR(m->func_closure);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ Py_CLEAR(m->func);
+#else
Py_CLEAR(((PyCFunctionObject*)m)->m_module);
+#endif
Py_CLEAR(m->func_dict);
Py_CLEAR(m->func_name);
Py_CLEAR(m->func_qualname);
Py_CLEAR(m->func_doc);
Py_CLEAR(m->func_globals);
Py_CLEAR(m->func_code);
+#if !CYTHON_COMPILING_IN_LIMITED_API
#if PY_VERSION_HEX < 0x030900B1
Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
#else
@@ -8727,6 +9212,7 @@ __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
((PyCMethodObject *) (m))->mm_class = NULL;
Py_XDECREF(cls);
}
+#endif
#endif
Py_CLEAR(m->defaults_tuple);
Py_CLEAR(m->defaults_kwdict);
@@ -8757,14 +9243,20 @@ static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
{
Py_VISIT(m->func_closure);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ Py_VISIT(m->func);
+#else
Py_VISIT(((PyCFunctionObject*)m)->m_module);
+#endif
Py_VISIT(m->func_dict);
Py_VISIT(m->func_name);
Py_VISIT(m->func_qualname);
Py_VISIT(m->func_doc);
Py_VISIT(m->func_globals);
Py_VISIT(m->func_code);
+#if !CYTHON_COMPILING_IN_LIMITED_API
Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
+#endif
Py_VISIT(m->defaults_tuple);
Py_VISIT(m->defaults_kwdict);
Py_VISIT(m->func_is_coroutine);
@@ -8788,10 +9280,22 @@ __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
#endif
}
static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ PyObject *f = ((__pyx_CyFunctionObject*)func)->func;
+ PyObject *py_name = NULL;
+ PyCFunction meth;
+ int flags;
+ meth = PyCFunction_GetFunction(f);
+ if (unlikely(!meth)) return NULL;
+ flags = PyCFunction_GetFlags(f);
+ if (unlikely(flags < 0)) return NULL;
+#else
PyCFunctionObject* f = (PyCFunctionObject*)func;
PyCFunction meth = f->m_ml->ml_meth;
+ int flags = f->m_ml->ml_flags;
+#endif
Py_ssize_t size;
- switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
+ switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
case METH_VARARGS:
if (likely(kw == NULL || PyDict_Size(kw) == 0))
return (*meth)(self, arg);
@@ -8800,24 +9304,43 @@ static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, Py
return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw);
case METH_NOARGS:
if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
+#if CYTHON_ASSUME_SAFE_MACROS
size = PyTuple_GET_SIZE(arg);
+#else
+ size = PyTuple_Size(arg);
+ if (unlikely(size < 0)) return NULL;
+#endif
if (likely(size == 0))
return (*meth)(self, NULL);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError,
+ "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ py_name, size);
+ Py_DECREF(py_name);
+#else
PyErr_Format(PyExc_TypeError,
"%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
f->m_ml->ml_name, size);
+#endif
return NULL;
}
break;
case METH_O:
if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
+#if CYTHON_ASSUME_SAFE_MACROS
size = PyTuple_GET_SIZE(arg);
+#else
+ size = PyTuple_Size(arg);
+ if (unlikely(size < 0)) return NULL;
+#endif
if (likely(size == 1)) {
PyObject *result, *arg0;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
arg0 = PyTuple_GET_ITEM(arg, 0);
#else
- arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
+ arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
#endif
result = (*meth)(self, arg0);
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
@@ -8825,9 +9348,18 @@ static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, Py
#endif
return result;
}
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError,
+ "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ py_name, size);
+ Py_DECREF(py_name);
+#else
PyErr_Format(PyExc_TypeError,
"%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
f->m_ml->ml_name, size);
+#endif
return NULL;
}
break;
@@ -8835,12 +9367,28 @@ static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, Py
PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
return NULL;
}
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments",
+ py_name);
+ Py_DECREF(py_name);
+#else
PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
f->m_ml->ml_name);
+#endif
return NULL;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
- return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw);
+ PyObject *self, *result;
+#if CYTHON_COMPILING_IN_LIMITED_API
+ self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func);
+ if (unlikely(!self) && PyErr_Occurred()) return NULL;
+#else
+ self = ((PyCFunctionObject*)func)->m_self;
+#endif
+ result = __Pyx_CyFunction_CallMethod(func, self, arg, kw);
+ return result;
}
static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
PyObject *result;
@@ -8860,7 +9408,12 @@ static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, P
Py_ssize_t argc;
PyObject *new_args;
PyObject *self;
+#if CYTHON_ASSUME_SAFE_MACROS
argc = PyTuple_GET_SIZE(args);
+#else
+ argc = PyTuple_Size(args);
+ if (unlikely(!argc) < 0) return NULL;
+#endif
new_args = PyTuple_GetSlice(args, 1, argc);
if (unlikely(!new_args))
return NULL;
@@ -9073,7 +9626,7 @@ static PyTypeObject __pyx_CyFunctionType_type = {
#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
Py_TPFLAGS_METHOD_DESCRIPTOR |
#endif
-#ifdef _Py_TPFLAGS_HAVE_VECTORCALL
+#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL
_Py_TPFLAGS_HAVE_VECTORCALL |
#endif
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
@@ -9305,20 +9858,93 @@ static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
-#if PY_VERSION_HEX >= 0x030b00a6
+#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
#ifndef Py_BUILD_CORE
#define Py_BUILD_CORE 1
#endif
#include "internal/pycore_frame.h"
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict,
+ PyObject *firstlineno, PyObject *name) {
+ PyObject *replace = NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL;
+ replace = PyObject_GetAttrString(code, "replace");
+ if (likely(replace)) {
+ PyObject *result;
+ result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict);
+ Py_DECREF(replace);
+ return result;
+ }
+ PyErr_Clear();
+ #if __PYX_LIMITED_VERSION_HEX < 0x030780000
+ {
+ PyObject *compiled = NULL, *result = NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL;
+ compiled = Py_CompileString(
+ "out = type(code)(\n"
+ " code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n"
+ " code.co_flags, code.co_code, code.co_consts, code.co_names,\n"
+ " code.co_varnames, code.co_filename, co_name, co_firstlineno,\n"
+ " code.co_lnotab)\n", "", Py_file_input);
+ if (!compiled) return NULL;
+ result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict);
+ Py_DECREF(compiled);
+ if (!result) PyErr_Print();
+ Py_DECREF(result);
+ result = PyDict_GetItemString(scratch_dict, "out");
+ if (result) Py_INCREF(result);
+ return result;
+ }
+ #else
+ return NULL;
+ #endif
+}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
int py_line, const char *filename) {
+ PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL;
+ PyObject *replace = NULL, *getframe = NULL, *frame = NULL;
+ PyObject *exc_type, *exc_value, *exc_traceback;
+ int success = 0;
if (c_line) {
(void) __pyx_cfilenm;
(void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line);
}
- _PyTraceback_Add(funcname, filename, py_line);
+ PyErr_Fetch(&exc_type, &exc_value, &exc_traceback);
+ code_object = Py_CompileString("_getframe()", filename, Py_eval_input);
+ if (unlikely(!code_object)) goto bad;
+ py_py_line = PyLong_FromLong(py_line);
+ if (unlikely(!py_py_line)) goto bad;
+ py_funcname = PyUnicode_FromString(funcname);
+ if (unlikely(!py_funcname)) goto bad;
+ dict = PyDict_New();
+ if (unlikely(!dict)) goto bad;
+ {
+ PyObject *old_code_object = code_object;
+ code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname);
+ Py_DECREF(old_code_object);
+ }
+ if (unlikely(!code_object)) goto bad;
+ getframe = PySys_GetObject("_getframe");
+ if (unlikely(!getframe)) goto bad;
+ if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad;
+ frame = PyEval_EvalCode(code_object, dict, dict);
+ if (unlikely(!frame) || frame == Py_None) goto bad;
+ success = 1;
+ bad:
+ PyErr_Restore(exc_type, exc_value, exc_traceback);
+ Py_XDECREF(code_object);
+ Py_XDECREF(py_py_line);
+ Py_XDECREF(py_funcname);
+ Py_XDECREF(dict);
+ Py_XDECREF(replace);
+ if (success) {
+ PyTraceBack_Here(
+ (struct _frame*)frame);
+ }
+ Py_XDECREF(frame);
}
#else
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
@@ -9612,7 +10238,7 @@ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -9748,8 +10374,34 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(long),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -9762,7 +10414,8 @@ __Pyx_PyType_GetName(PyTypeObject* tp)
__pyx_n_s_name);
if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) {
PyErr_Clear();
- Py_XSETREF(name, __Pyx_NewRef(__pyx_n_s__11));
+ Py_XDECREF(name);
+ name = __Pyx_NewRef(__pyx_n_s__11);
}
return name;
}
@@ -9938,7 +10591,7 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -10158,41 +10811,50 @@ static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObj
#endif
/* CheckBinaryVersion */
-static int __Pyx_check_binary_version(void) {
- char ctversion[5];
- int same=1, i, found_dot;
- const char* rt_from_call = Py_GetVersion();
- PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
- found_dot = 0;
- for (i = 0; i < 4; i++) {
- if (!ctversion[i]) {
- same = (rt_from_call[i] < '0' || rt_from_call[i] > '9');
- break;
+static unsigned long __Pyx_get_runtime_version(void) {
+#if __PYX_LIMITED_VERSION_HEX >= 0x030B00A4
+ return Py_Version & ~0xFFUL;
+#else
+ const char* rt_version = Py_GetVersion();
+ unsigned long version = 0;
+ unsigned long factor = 0x01000000UL;
+ unsigned int digit = 0;
+ int i = 0;
+ while (factor) {
+ while ('0' <= rt_version[i] && rt_version[i] <= '9') {
+ digit = digit * 10 + (unsigned int) (rt_version[i] - '0');
+ ++i;
}
- if (rt_from_call[i] != ctversion[i]) {
- same = 0;
+ version += factor * digit;
+ if (rt_version[i] != '.')
break;
- }
+ digit = 0;
+ factor >>= 8;
+ ++i;
}
- if (!same) {
- char rtversion[5] = {'\0'};
+ return version;
+#endif
+}
+static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) {
+ const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
+ if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
+ return 0;
+ if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
+ return 1;
+ {
char message[200];
- for (i=0; i<4; ++i) {
- if (rt_from_call[i] == '.') {
- if (found_dot) break;
- found_dot = 1;
- } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') {
- break;
- }
- rtversion[i] = rt_from_call[i];
- }
PyOS_snprintf(message, sizeof(message),
- "compile time version %s of module '%.100s' "
- "does not match runtime version %s",
- ctversion, __Pyx_MODULE_NAME, rtversion);
+ "compile time Python version %d.%d "
+ "of module '%.100s' "
+ "%s "
+ "runtime version %d.%d",
+ (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF),
+ __Pyx_MODULE_NAME,
+ (allow_newer) ? "was newer than" : "does not match",
+ (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF)
+ );
return PyErr_WarnEx(NULL, message, 1);
}
- return 0;
}
/* InitStrings */
@@ -10238,8 +10900,24 @@ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
return 0;
}
+#include
+static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
+ size_t len = strlen(s);
+ if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) {
+ PyErr_SetString(PyExc_OverflowError, "byte string is too long");
+ return -1;
+ }
+ return (Py_ssize_t) len;
+}
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
- return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
+ Py_ssize_t len = __Pyx_ssize_strlen(c_str);
+ if (unlikely(len < 0)) return NULL;
+ return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
+}
+static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) {
+ Py_ssize_t len = __Pyx_ssize_strlen(c_str);
+ if (unlikely(len < 0)) return NULL;
+ return PyByteArray_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
Py_ssize_t ignore;
diff --git a/common/kalman/simple_kalman_impl.so b/common/kalman/simple_kalman_impl.so
index 26196cf46..3efe0440d 100755
Binary files a/common/kalman/simple_kalman_impl.so and b/common/kalman/simple_kalman_impl.so differ
diff --git a/common/lazy_property.py b/common/lazy_property.py
new file mode 100644
index 000000000..919dd9e87
--- /dev/null
+++ b/common/lazy_property.py
@@ -0,0 +1,12 @@
+class lazy_property():
+ """Defines a property whose value will be computed only once and as needed.
+
+ This can only be used on instance methods.
+ """
+ def __init__(self, func):
+ self._func = func
+
+ def __get__(self, obj_self, cls):
+ value = self._func(obj_self)
+ setattr(obj_self, self._func.__name__, value)
+ return value
diff --git a/common/modeldata.h b/common/modeldata.h
deleted file mode 100644
index 6dc02cc79..000000000
--- a/common/modeldata.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#pragma once
-
-#include
-#include "common/mat.h"
-#include "system/hardware/hw.h"
-
-const int TRAJECTORY_SIZE = 33;
-const int LAT_MPC_N = 16;
-const int LON_MPC_N = 32;
-const float MIN_DRAW_DISTANCE = 10.0;
-const float MAX_DRAW_DISTANCE = 100.0;
-
-const float RYG_GREEN = 0.01165;
-const float RYG_YELLOW = 0.06157;
-
-template
-constexpr std::array build_idxs(float max_val) {
- std::array result{};
- for (int i = 0; i < size; ++i) {
- result[i] = max_val * ((i / (double)(size - 1)) * (i / (double)(size - 1)));
- }
- return result;
-}
-
-constexpr auto T_IDXS = build_idxs(10.0);
-constexpr auto T_IDXS_FLOAT = build_idxs(10.0);
-constexpr auto X_IDXS = build_idxs(192.0);
-constexpr auto X_IDXS_FLOAT = build_idxs(192.0);
-
-const mat3 FCAM_INTRINSIC_MATRIX = (mat3){{2648.0, 0.0, 1928.0 / 2,
- 0.0, 2648.0, 1208.0 / 2,
- 0.0, 0.0, 1.0}};
-
-// tici ecam focal probably wrong? magnification is not consistent across frame
-// Need to retrain model before this can be changed
-const mat3 ECAM_INTRINSIC_MATRIX = (mat3){{567.0, 0.0, 1928.0 / 2,
- 0.0, 567.0, 1208.0 / 2,
- 0.0, 0.0, 1.0}};
diff --git a/common/numpy_helpers.py b/common/numpy_helpers.py
new file mode 100644
index 000000000..7b1efe897
--- /dev/null
+++ b/common/numpy_helpers.py
@@ -0,0 +1,22 @@
+import numpy as np
+
+
+def deep_interp_np(x, xp, fp, axis=None):
+ if axis is not None:
+ fp = fp.swapaxes(0,axis)
+ x = np.atleast_1d(x)
+ xp = np.array(xp)
+ if len(xp) < 2:
+ return np.repeat(fp, len(x), axis=0)
+ if min(np.diff(xp)) < 0:
+ raise RuntimeError('Bad x array for interpolation')
+ j = np.searchsorted(xp, x) - 1
+ j = np.clip(j, 0, len(xp)-2)
+ d = np.divide(x - xp[j], xp[j + 1] - xp[j], out=np.ones_like(x, dtype=np.float64), where=xp[j + 1] - xp[j] != 0)
+ vals_interp = (fp[j].T*(1 - d)).T + (fp[j + 1].T*d).T
+ if axis is not None:
+ vals_interp = vals_interp.swapaxes(0,axis)
+ if len(vals_interp) == 1:
+ return vals_interp[0]
+ else:
+ return vals_interp
diff --git a/common/params.h b/common/params.h
index fbe0bba6b..d726a6185 100644
--- a/common/params.h
+++ b/common/params.h
@@ -1,21 +1,28 @@
#pragma once
+#include
#include
#include
+#include
+#include
#include
+#include "common/queue.h"
+
enum ParamKeyType {
PERSISTENT = 0x02,
CLEAR_ON_MANAGER_START = 0x04,
CLEAR_ON_ONROAD_TRANSITION = 0x08,
CLEAR_ON_OFFROAD_TRANSITION = 0x10,
DONT_LOG = 0x20,
+ DEVELOPMENT_ONLY = 0x40,
ALL = 0xFFFFFFFF
};
class Params {
public:
explicit Params(const std::string &path = {});
+ ~Params();
// Not copyable.
Params(const Params&) = delete;
Params& operator=(const Params&) = delete;
@@ -24,7 +31,7 @@ public:
bool checkKey(const std::string &key);
ParamKeyType getKeyType(const std::string &key);
inline std::string getParamPath(const std::string &key = {}) {
- return params_path + prefix + (key.empty() ? "" : "/" + key);
+ return params_path + params_prefix + (key.empty() ? "" : "/" + key);
}
// Delete a value
@@ -46,8 +53,18 @@ public:
inline int putBool(const std::string &key, bool val) {
return put(key.c_str(), val ? "1" : "0", 1);
}
+ void putNonBlocking(const std::string &key, const std::string &val);
+ inline void putBoolNonBlocking(const std::string &key, bool val) {
+ putNonBlocking(key, val ? "1" : "0");
+ }
private:
+ void asyncWriteThread();
+
std::string params_path;
- std::string prefix;
+ std::string params_prefix;
+
+ // for nonblocking write
+ std::future future;
+ SafeQueue> queue;
};
diff --git a/common/params.py b/common/params.py
index ea8ac7514..66808083d 100644
--- a/common/params.py
+++ b/common/params.py
@@ -1,10 +1,7 @@
-from openpilot.common.params_pyx import Params, ParamKeyType, UnknownKeyName, put_nonblocking, \
- put_bool_nonblocking
+from openpilot.common.params_pyx import Params, ParamKeyType, UnknownKeyName
assert Params
assert ParamKeyType
assert UnknownKeyName
-assert put_nonblocking
-assert put_bool_nonblocking
if __name__ == "__main__":
import sys
diff --git a/common/params_pyx.cpp b/common/params_pyx.cpp
index 2a92b00c1..f1364411b 100644
--- a/common/params_pyx.cpp
+++ b/common/params_pyx.cpp
@@ -1,4 +1,4 @@
-/* Generated by Cython 3.0.0 */
+/* Generated by Cython 3.0.5 */
/* BEGIN: Cython Metadata
{
@@ -35,10 +35,15 @@ END: Cython Metadata */
#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
#error Cython requires Python 2.7+ or Python 3.3+.
#else
-#define CYTHON_ABI "3_0_0"
+#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API
+#define __PYX_EXTRA_ABI_MODULE_NAME "limited"
+#else
+#define __PYX_EXTRA_ABI_MODULE_NAME ""
+#endif
+#define CYTHON_ABI "3_0_5" __PYX_EXTRA_ABI_MODULE_NAME
#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
-#define CYTHON_HEX_VERSION 0x030000F0
+#define CYTHON_HEX_VERSION 0x030005F0
#define CYTHON_FUTURE_DIVISION 1
#include
#ifndef offsetof
@@ -71,6 +76,7 @@ END: Cython Metadata */
#ifndef Py_HUGE_VAL
#define Py_HUGE_VAL HUGE_VAL
#endif
+#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
#if defined(GRAALVM_PYTHON)
/* For very preliminary testing purposes. Most variables are set the same as PyPy.
The existence of this section does not imply that anything works or is even tested */
@@ -137,8 +143,9 @@ END: Cython Metadata */
#define CYTHON_COMPILING_IN_NOGIL 0
#undef CYTHON_USE_TYPE_SLOTS
#define CYTHON_USE_TYPE_SLOTS 0
- #undef CYTHON_USE_TYPE_SPECS
- #define CYTHON_USE_TYPE_SPECS 0
+ #ifndef CYTHON_USE_TYPE_SPECS
+ #define CYTHON_USE_TYPE_SPECS 0
+ #endif
#undef CYTHON_USE_PYTYPE_LOOKUP
#define CYTHON_USE_PYTYPE_LOOKUP 0
#if PY_VERSION_HEX < 0x03050000
@@ -190,6 +197,10 @@ END: Cython Metadata */
#define CYTHON_UPDATE_DESCRIPTOR_DOC 0
#endif
#elif defined(CYTHON_LIMITED_API)
+ #ifdef Py_LIMITED_API
+ #undef __PYX_LIMITED_VERSION_HEX
+ #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
+ #endif
#define CYTHON_COMPILING_IN_PYPY 0
#define CYTHON_COMPILING_IN_CPYTHON 0
#define CYTHON_COMPILING_IN_LIMITED_API 1
@@ -237,7 +248,7 @@ END: Cython Metadata */
#undef CYTHON_USE_MODULE_STATE
#define CYTHON_USE_MODULE_STATE 1
#ifndef CYTHON_USE_TP_FINALIZE
- #define CYTHON_USE_TP_FINALIZE 1
+ #define CYTHON_USE_TP_FINALIZE 0
#endif
#undef CYTHON_USE_DICT_VERSIONS
#define CYTHON_USE_DICT_VERSIONS 0
@@ -459,6 +470,14 @@ END: Cython Metadata */
# define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
+#ifndef CYTHON_USE_CPP_STD_MOVE
+ #if defined(__cplusplus) && (\
+ __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
+ #define CYTHON_USE_CPP_STD_MOVE 1
+ #else
+ #define CYTHON_USE_CPP_STD_MOVE 0
+ #endif
+#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#ifdef _MSC_VER
#ifndef _MSC_STDINT_H_
@@ -574,59 +593,91 @@ class __Pyx_FakeReference {
#else
#define __Pyx_BUILTIN_MODULE_NAME "builtins"
#define __Pyx_DefaultClassType PyType_Type
-#if PY_VERSION_HEX >= 0x030B00A1
- static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
+#if CYTHON_COMPILING_IN_LIMITED_API
+ static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
PyObject *code, PyObject *c, PyObject* n, PyObject *v,
PyObject *fv, PyObject *cell, PyObject* fn,
PyObject *name, int fline, PyObject *lnos) {
- PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
- PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *empty=NULL;
- const char *fn_cstr=NULL;
- const char *name_cstr=NULL;
- PyCodeObject *co=NULL, *result=NULL;
+ PyObject *exception_table = NULL;
+ PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
+ #if __PYX_LIMITED_VERSION_HEX < 0x030B0000
+ PyObject *version_info; // borrowed
+ #endif
+ PyObject *py_minor_version = NULL;
+ long minor_version = 0;
PyObject *type, *value, *traceback;
PyErr_Fetch(&type, &value, &traceback);
- if (!(kwds=PyDict_New())) goto end;
- if (!(argcount=PyLong_FromLong(a))) goto end;
- if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
- if (!(posonlyargcount=PyLong_FromLong(p))) goto end;
- if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end;
- if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
- if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end;
- if (!(nlocals=PyLong_FromLong(l))) goto end;
- if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
- if (!(stacksize=PyLong_FromLong(s))) goto end;
- if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end;
- if (!(flags=PyLong_FromLong(f))) goto end;
- if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
- if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
- if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
- if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
- if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto end;
- if (!(empty = PyTuple_New(0))) goto end;
- result = (PyCodeObject*) PyObject_Call(replace, empty, kwds);
+ #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000
+ minor_version = 11; // we don't yet need to distinguish between versions > 11
+ #else
+ if (!(version_info = PySys_GetObject("version_info"))) goto end;
+ if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
+ minor_version = PyLong_AsLong(py_minor_version);
+ if (minor_version == -1 && PyErr_Occurred()) goto end;
+ #endif
+ if (!(types_module = PyImport_ImportModule("types"))) goto end;
+ if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
+ if (minor_version <= 7) {
+ (void)p;
+ result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code,
+ c, n, v, fn, name, fline, lnos, fv, cell);
+ } else if (minor_version <= 10) {
+ result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code,
+ c, n, v, fn, name, fline, lnos, fv, cell);
+ } else {
+ if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
+ result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code,
+ c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
+ }
end:
- Py_XDECREF((PyObject*) co);
- Py_XDECREF(kwds);
- Py_XDECREF(argcount);
- Py_XDECREF(posonlyargcount);
- Py_XDECREF(kwonlyargcount);
- Py_XDECREF(nlocals);
- Py_XDECREF(stacksize);
- Py_XDECREF(replace);
- Py_XDECREF(empty);
+ Py_XDECREF(code_type);
+ Py_XDECREF(exception_table);
+ Py_XDECREF(types_module);
+ Py_XDECREF(py_minor_version);
if (type) {
PyErr_Restore(type, value, traceback);
}
return result;
}
+ #ifndef CO_OPTIMIZED
+ #define CO_OPTIMIZED 0x0001
+ #endif
+ #ifndef CO_NEWLOCALS
+ #define CO_NEWLOCALS 0x0002
+ #endif
+ #ifndef CO_VARARGS
+ #define CO_VARARGS 0x0004
+ #endif
+ #ifndef CO_VARKEYWORDS
+ #define CO_VARKEYWORDS 0x0008
+ #endif
+ #ifndef CO_ASYNC_GENERATOR
+ #define CO_ASYNC_GENERATOR 0x0200
+ #endif
+ #ifndef CO_GENERATOR
+ #define CO_GENERATOR 0x0020
+ #endif
+ #ifndef CO_COROUTINE
+ #define CO_COROUTINE 0x0080
+ #endif
+#elif PY_VERSION_HEX >= 0x030B0000
+ static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
+ PyObject *code, PyObject *c, PyObject* n, PyObject *v,
+ PyObject *fv, PyObject *cell, PyObject* fn,
+ PyObject *name, int fline, PyObject *lnos) {
+ PyCodeObject *result;
+ PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0); // we don't have access to __pyx_empty_bytes here
+ if (!empty_bytes) return NULL;
+ result =
+ #if PY_VERSION_HEX >= 0x030C0000
+ PyUnstable_Code_NewWithPosOnlyArgs
+ #else
+ PyCode_NewWithPosOnlyArgs
+ #endif
+ (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes);
+ Py_DECREF(empty_bytes);
+ return result;
+ }
#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
#define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
@@ -726,7 +777,32 @@ class __Pyx_FakeReference {
#define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0
#define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n))
#endif
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_MAJOR_VERSION >= 0x030900B1
+#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func)
+#else
+#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func)
+#endif
+#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func)
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth)
+#elif !CYTHON_COMPILING_IN_LIMITED_API
+#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func)
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags)
+static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
+ return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
+}
+#endif
+static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
+#else
+ return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
+#endif
+}
+#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc)
+#if __PYX_LIMITED_VERSION_HEX < 0x030900B1
#define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b))
typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
#else
@@ -752,6 +828,8 @@ class __Pyx_FakeReference {
#define __Pyx_PyThreadState_Current PyThreadState_Get()
#elif !CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_Current PyThreadState_GET()
+#elif PY_VERSION_HEX >= 0x030d00A1
+ #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
#elif PY_VERSION_HEX >= 0x03060000
#define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#elif PY_VERSION_HEX >= 0x03000000
@@ -827,7 +905,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
}
#endif
#endif
-#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n) PyDict_New()
@@ -839,7 +917,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
#define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
#endif
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && CYTHON_USE_UNICODE_INTERNALS
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
@@ -876,6 +954,11 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
#define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature)
#define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next
#endif
+#if CYTHON_COMPILING_IN_LIMITED_API
+ #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v)
+#else
+ #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v)
+#endif
#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000
#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\
PyTypeObject *type = Py_TYPE(obj);\
@@ -1002,9 +1085,34 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
#define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
+ #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
#define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
+ #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
+ #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
+ #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
+ #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
+ #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
+ #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
+ #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
#else
+ #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
#define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
+ #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
+ #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
+ #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
+ #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
+ #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
+ #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
+ #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
+#endif
+#if PY_VERSION_HEX >= 0x030d00A1
+ #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
+#else
+ static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
+ PyObject *module = PyImport_AddModule(name);
+ Py_XINCREF(module);
+ return module;
+ }
#endif
#if PY_MAJOR_VERSION >= 3
#define PyIntObject PyLongObject
@@ -1160,9 +1268,10 @@ static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
#else
#define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
+static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
-#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
+static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
@@ -1278,6 +1387,7 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
#endif
#endif
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+#include
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
PyObject* sys;
@@ -1328,6 +1438,7 @@ bad:
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+#include
static char* __PYX_DEFAULT_STRING_ENCODING;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
PyObject* sys;
@@ -1378,6 +1489,11 @@ static const char *__pyx_f[] = {
"",
};
/* #### Code section: utility_code_proto_before_types ### */
+/* ForceInitThreads.proto */
+#ifndef __PYX_FORCE_INIT_THREADS
+ #define __PYX_FORCE_INIT_THREADS 0
+#endif
+
/* NoFastGil.proto */
#define __Pyx_PyGILState_Ensure PyGILState_Ensure
#define __Pyx_PyGILState_Release PyGILState_Release
@@ -1385,22 +1501,15 @@ static const char *__pyx_f[] = {
#define __Pyx_FastGIL_Forget()
#define __Pyx_FastGilFuncInit()
-/* ForceInitThreads.proto */
-#ifndef __PYX_FORCE_INIT_THREADS
- #define __PYX_FORCE_INIT_THREADS 0
-#endif
-
/* #### Code section: numeric_typedefs ### */
/* #### Code section: complex_type_declarations ### */
/* #### Code section: type_declarations ### */
/*--- Type declarations ---*/
struct __pyx_obj_6common_10params_pyx_Params;
-struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking;
-struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking;
struct __pyx_obj___Pyx_EnumMeta;
-/* "common/params_pyx.pyx":35
+/* "common/params_pyx.pyx":37
* pass
*
* cdef class Params: # <<<<<<<<<<<<<<
@@ -1413,35 +1522,6 @@ struct __pyx_obj_6common_10params_pyx_Params {
};
-/* "common/params_pyx.pyx":107
- * return self.p.allKeys()
- *
- * def put_nonblocking(key, val, d=""): # <<<<<<<<<<<<<<
- * threading.Thread(target=lambda: Params(d).put(key, val)).start()
- *
- */
-struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking {
- PyObject_HEAD
- PyObject *__pyx_v_d;
- PyObject *__pyx_v_key;
- PyObject *__pyx_v_val;
-};
-
-
-/* "common/params_pyx.pyx":110
- * threading.Thread(target=lambda: Params(d).put(key, val)).start()
- *
- * def put_bool_nonblocking(key, bool val, d=""): # <<<<<<<<<<<<<<
- * threading.Thread(target=lambda: Params(d).put_bool(key, val)).start()
- */
-struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking {
- PyObject_HEAD
- PyObject *__pyx_v_d;
- PyObject *__pyx_v_key;
- bool __pyx_v_val;
-};
-
-
/* "EnumBase":16
*
* @cython.internal
@@ -1661,7 +1741,7 @@ static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args,
#if !CYTHON_VECTORCALL
#if PY_VERSION_HEX >= 0x03080000
#include "frameobject.h"
-#if PY_VERSION_HEX >= 0x030b00a6
+#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
#ifndef Py_BUILD_CORE
#define Py_BUILD_CORE 1
#endif
@@ -1713,7 +1793,20 @@ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int eq
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
/* fastcall.proto */
-#define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
+#if CYTHON_AVOID_BORROWED_REFS
+ #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i)
+#elif CYTHON_ASSUME_SAFE_MACROS
+ #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
+#else
+ #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i)
+#endif
+#if CYTHON_AVOID_BORROWED_REFS
+ #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg)
+ #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg)
+#else
+ #define __Pyx_Arg_NewRef_VARARGS(arg) arg // no-op
+ #define __Pyx_Arg_XDECREF_VARARGS(arg) // no-op - arg is borrowed
+#endif
#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
#define __Pyx_KwValues_VARARGS(args, nargs) NULL
#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s)
@@ -1723,15 +1816,23 @@ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int
#define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds)
#define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s);
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
+ static CYTHON_UNUSED PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
+ #else
#define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
+ #endif
+ #define __Pyx_Arg_NewRef_FASTCALL(arg) arg // no-op, __Pyx_Arg_FASTCALL is direct and this needs
+ #define __Pyx_Arg_XDECREF_FASTCALL(arg) // no-op - arg was returned from array
#else
#define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS
#define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
#define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS
#define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS
#define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS
+ #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg)
+ #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg)
#endif
-#if CYTHON_COMPILING_IN_CPYTHON
+#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start)
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start)
#else
@@ -1821,10 +1922,14 @@ static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
/* HasAttr.proto */
+#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
+#define __Pyx_HasAttr(o, n) PyObject_HasAttrWithError(o, n)
+#else
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);
+#endif
/* MoveIfSupported.proto */
-#if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)
+#if CYTHON_USE_CPP_STD_MOVE
#include
#define __PYX_STD_MOVE_IF_SUPPORTED(x) std::move(x)
#else
@@ -1863,9 +1968,6 @@ static CYTHON_INLINE PyObject* __Pyx_decode_cpp_string(
cppstring.data(), cppstring.size(), start, stop, encoding, errors, decode_func);
}
-/* RaiseClosureNameError.proto */
-static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname);
-
/* IncludeStructmemberH.proto */
#include
@@ -1874,124 +1976,6 @@ static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname);
static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type);
#endif
-/* FetchSharedCythonModule.proto */
-static PyObject *__Pyx_FetchSharedCythonABIModule(void);
-
-/* FetchCommonType.proto */
-#if !CYTHON_USE_TYPE_SPECS
-static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
-#else
-static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases);
-#endif
-
-/* PyMethodNew.proto */
-#if PY_MAJOR_VERSION >= 3
-static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
- CYTHON_UNUSED_VAR(typ);
- if (!self)
- return __Pyx_NewRef(func);
- return PyMethod_New(func, self);
-}
-#else
- #define __Pyx_PyMethod_New PyMethod_New
-#endif
-
-/* PyVectorcallFastCallDict.proto */
-#if CYTHON_METH_FASTCALL
-static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw);
-#endif
-
-/* CythonFunctionShared.proto */
-#define __Pyx_CyFunction_USED
-#define __Pyx_CYFUNCTION_STATICMETHOD 0x01
-#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02
-#define __Pyx_CYFUNCTION_CCLASS 0x04
-#define __Pyx_CYFUNCTION_COROUTINE 0x08
-#define __Pyx_CyFunction_GetClosure(f)\
- (((__pyx_CyFunctionObject *) (f))->func_closure)
-#if PY_VERSION_HEX < 0x030900B1
- #define __Pyx_CyFunction_GetClassObj(f)\
- (((__pyx_CyFunctionObject *) (f))->func_classobj)
-#else
- #define __Pyx_CyFunction_GetClassObj(f)\
- ((PyObject*) ((PyCMethodObject *) (f))->mm_class)
-#endif
-#define __Pyx_CyFunction_SetClassObj(f, classobj)\
- __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj))
-#define __Pyx_CyFunction_Defaults(type, f)\
- ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
-#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
- ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
-typedef struct {
-#if PY_VERSION_HEX < 0x030900B1
- PyCFunctionObject func;
-#else
- PyCMethodObject func;
-#endif
-#if CYTHON_BACKPORT_VECTORCALL
- __pyx_vectorcallfunc func_vectorcall;
-#endif
-#if PY_VERSION_HEX < 0x030500A0
- PyObject *func_weakreflist;
-#endif
- PyObject *func_dict;
- PyObject *func_name;
- PyObject *func_qualname;
- PyObject *func_doc;
- PyObject *func_globals;
- PyObject *func_code;
- PyObject *func_closure;
-#if PY_VERSION_HEX < 0x030900B1
- PyObject *func_classobj;
-#endif
- void *defaults;
- int defaults_pyobjects;
- size_t defaults_size; // used by FusedFunction for copying defaults
- int flags;
- PyObject *defaults_tuple;
- PyObject *defaults_kwdict;
- PyObject *(*defaults_getter)(PyObject *);
- PyObject *func_annotations;
- PyObject *func_is_coroutine;
-} __pyx_CyFunctionObject;
-#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType)
-#define __Pyx_IsCyOrPyCFunction(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
-#define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType)
-static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
- int flags, PyObject* qualname,
- PyObject *closure,
- PyObject *module, PyObject *globals,
- PyObject* code);
-static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj);
-static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
- size_t size,
- int pyobjects);
-static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
- PyObject *tuple);
-static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
- PyObject *dict);
-static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
- PyObject *dict);
-static int __pyx_CyFunction_init(PyObject *module);
-#if CYTHON_METH_FASTCALL
-static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
-static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
-static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
-static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
-#if CYTHON_BACKPORT_VECTORCALL
-#define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall)
-#else
-#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall)
-#endif
-#endif
-
-/* CythonFunction.proto */
-static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
- int flags, PyObject* qualname,
- PyObject *closure,
- PyObject *module, PyObject *globals,
- PyObject* code);
-
/* PyObjectCallNoArg.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
@@ -2028,11 +2012,151 @@ static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_nam
static int __Pyx_setup_reduce(PyObject* type_obj);
#endif
+/* FetchSharedCythonModule.proto */
+static PyObject *__Pyx_FetchSharedCythonABIModule(void);
+
+/* FetchCommonType.proto */
+#if !CYTHON_USE_TYPE_SPECS
+static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
+#else
+static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases);
+#endif
+
+/* PyMethodNew.proto */
+#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
+ PyObject *typesModule=NULL, *methodType=NULL, *result=NULL;
+ CYTHON_UNUSED_VAR(typ);
+ if (!self)
+ return __Pyx_NewRef(func);
+ typesModule = PyImport_ImportModule("types");
+ if (!typesModule) return NULL;
+ methodType = PyObject_GetAttrString(typesModule, "MethodType");
+ Py_DECREF(typesModule);
+ if (!methodType) return NULL;
+ result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL);
+ Py_DECREF(methodType);
+ return result;
+}
+#elif PY_MAJOR_VERSION >= 3
+static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
+ CYTHON_UNUSED_VAR(typ);
+ if (!self)
+ return __Pyx_NewRef(func);
+ return PyMethod_New(func, self);
+}
+#else
+ #define __Pyx_PyMethod_New PyMethod_New
+#endif
+
+/* PyVectorcallFastCallDict.proto */
+#if CYTHON_METH_FASTCALL
+static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw);
+#endif
+
+/* CythonFunctionShared.proto */
+#define __Pyx_CyFunction_USED
+#define __Pyx_CYFUNCTION_STATICMETHOD 0x01
+#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02
+#define __Pyx_CYFUNCTION_CCLASS 0x04
+#define __Pyx_CYFUNCTION_COROUTINE 0x08
+#define __Pyx_CyFunction_GetClosure(f)\
+ (((__pyx_CyFunctionObject *) (f))->func_closure)
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
+ #define __Pyx_CyFunction_GetClassObj(f)\
+ (((__pyx_CyFunctionObject *) (f))->func_classobj)
+#else
+ #define __Pyx_CyFunction_GetClassObj(f)\
+ ((PyObject*) ((PyCMethodObject *) (f))->mm_class)
+#endif
+#define __Pyx_CyFunction_SetClassObj(f, classobj)\
+ __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj))
+#define __Pyx_CyFunction_Defaults(type, f)\
+ ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
+#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
+ ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
+typedef struct {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ PyObject_HEAD
+ PyObject *func;
+#elif PY_VERSION_HEX < 0x030900B1
+ PyCFunctionObject func;
+#else
+ PyCMethodObject func;
+#endif
+#if CYTHON_BACKPORT_VECTORCALL
+ __pyx_vectorcallfunc func_vectorcall;
+#endif
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
+ PyObject *func_weakreflist;
+#endif
+ PyObject *func_dict;
+ PyObject *func_name;
+ PyObject *func_qualname;
+ PyObject *func_doc;
+ PyObject *func_globals;
+ PyObject *func_code;
+ PyObject *func_closure;
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
+ PyObject *func_classobj;
+#endif
+ void *defaults;
+ int defaults_pyobjects;
+ size_t defaults_size; // used by FusedFunction for copying defaults
+ int flags;
+ PyObject *defaults_tuple;
+ PyObject *defaults_kwdict;
+ PyObject *(*defaults_getter)(PyObject *);
+ PyObject *func_annotations;
+ PyObject *func_is_coroutine;
+} __pyx_CyFunctionObject;
+#undef __Pyx_CyOrPyCFunction_Check
+#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType)
+#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
+#define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType)
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc);
+#undef __Pyx_IsSameCFunction
+#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc)
+static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
+ int flags, PyObject* qualname,
+ PyObject *closure,
+ PyObject *module, PyObject *globals,
+ PyObject* code);
+static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj);
+static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
+ size_t size,
+ int pyobjects);
+static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
+ PyObject *tuple);
+static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
+ PyObject *dict);
+static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
+ PyObject *dict);
+static int __pyx_CyFunction_init(PyObject *module);
+#if CYTHON_METH_FASTCALL
+static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
+static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
+static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
+static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
+#if CYTHON_BACKPORT_VECTORCALL
+#define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall)
+#else
+#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall)
+#endif
+#endif
+
+/* CythonFunction.proto */
+static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
+ int flags, PyObject* qualname,
+ PyObject *closure,
+ PyObject *module, PyObject *globals,
+ PyObject* code);
+
/* Py3UpdateBases.proto */
static PyObject* __Pyx_PEP560_update_bases(PyObject *bases);
/* SetNameInClass.proto */
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
#define __Pyx_SetNameInClass(ns, name, value)\
(likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
#elif CYTHON_COMPILING_IN_CPYTHON
@@ -2098,12 +2222,6 @@ static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *
#define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2) __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2)
#endif
-/* ImportDottedModule.proto */
-static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple);
-#if PY_MAJOR_VERSION >= 3
-static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple);
-#endif
-
/* CLineInTraceback.proto */
#ifdef CYTHON_CLINE_IN_TRACEBACK
#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
@@ -2228,7 +2346,8 @@ static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObj
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
/* CheckBinaryVersion.proto */
-static int __Pyx_check_binary_version(void);
+static unsigned long __Pyx_get_runtime_version(void);
+static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);
/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
@@ -2279,8 +2398,7 @@ static const char __pyx_k_v[] = "v";
static const char __pyx_k__3[] = ".";
static const char __pyx_k_gc[] = "gc";
static const char __pyx_k_ALL[] = "ALL";
-static const char __pyx_k__21[] = "*";
-static const char __pyx_k__51[] = "?";
+static const char __pyx_k__46[] = "?";
static const char __pyx_k_cls[] = "cls";
static const char __pyx_k_dat[] = "dat";
static const char __pyx_k_dct[] = "dct";
@@ -2300,18 +2418,15 @@ static const char __pyx_k_main[] = "__main__";
static const char __pyx_k_name[] = "name";
static const char __pyx_k_repr[] = "__repr__";
static const char __pyx_k_self[] = "self";
-static const char __pyx_k_spec[] = "__spec__";
static const char __pyx_k_test[] = "__test__";
static const char __pyx_k_block[] = "block";
static const char __pyx_k_class[] = "__class__";
static const char __pyx_k_range[] = "range";
static const char __pyx_k_s_s_d[] = "<%s.%s: %d>";
-static const char __pyx_k_start[] = "start";
static const char __pyx_k_state[] = "state";
static const char __pyx_k_super[] = "super";
static const char __pyx_k_value[] = "value";
static const char __pyx_k_Params[] = "Params";
-static const char __pyx_k_Thread[] = "Thread";
static const char __pyx_k_decode[] = "decode";
static const char __pyx_k_dict_2[] = "_dict";
static const char __pyx_k_enable[] = "enable";
@@ -2322,7 +2437,6 @@ static const char __pyx_k_name_2[] = "__name__";
static const char __pyx_k_pickle[] = "pickle";
static const char __pyx_k_reduce[] = "__reduce__";
static const char __pyx_k_remove[] = "remove";
-static const char __pyx_k_target[] = "target";
static const char __pyx_k_update[] = "update";
static const char __pyx_k_values[] = "values";
static const char __pyx_k_IntEnum[] = "IntEnum";
@@ -2353,7 +2467,6 @@ static const char __pyx_k_key_bytes[] = "key_bytes";
static const char __pyx_k_metaclass[] = "__metaclass__";
static const char __pyx_k_pyx_state[] = "__pyx_state";
static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
-static const char __pyx_k_threading[] = "threading";
static const char __pyx_k_PERSISTENT[] = "PERSISTENT";
static const char __pyx_k_Params_get[] = "Params.get";
static const char __pyx_k_Params_put[] = "Params.put";
@@ -2368,7 +2481,6 @@ static const char __pyx_k_ParamKeyType[] = "ParamKeyType";
static const char __pyx_k_Pyx_EnumBase[] = "__Pyx_EnumBase";
static const char __pyx_k_Pyx_FlagBase[] = "__Pyx_FlagBase";
static const char __pyx_k_ensure_bytes[] = "ensure_bytes";
-static const char __pyx_k_initializing[] = "_initializing";
static const char __pyx_k_is_coroutine[] = "_is_coroutine";
static const char __pyx_k_member_names[] = "_member_names_";
static const char __pyx_k_pyx_checksum[] = "__pyx_checksum";
@@ -2386,6 +2498,7 @@ static const char __pyx_k_Params_put_bool[] = "Params.put_bool";
static const char __pyx_k_put_nonblocking[] = "put_nonblocking";
static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError";
static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
+static const char __pyx_k_DEVELOPMENT_ONLY[] = "DEVELOPMENT_ONLY";
static const char __pyx_k_Params_check_key[] = "Params.check_key";
static const char __pyx_k_Params_clear_all[] = "Params.clear_all";
static const char __pyx_k_KeyboardInterrupt[] = "KeyboardInterrupt";
@@ -2404,16 +2517,16 @@ static const char __pyx_k_Params_get_param_path[] = "Params.get_param_path";
static const char __pyx_k_common_params_pyx_pyx[] = "common/params_pyx.pyx";
static const char __pyx_k_CLEAR_ON_MANAGER_START[] = "CLEAR_ON_MANAGER_START";
static const char __pyx_k_Params___reduce_cython[] = "Params.__reduce_cython__";
+static const char __pyx_k_Params_put_nonblocking[] = "Params.put_nonblocking";
static const char __pyx_k_Params___setstate_cython[] = "Params.__setstate_cython__";
static const char __pyx_k_CLEAR_ON_ONROAD_TRANSITION[] = "CLEAR_ON_ONROAD_TRANSITION";
static const char __pyx_k_CLEAR_ON_OFFROAD_TRANSITION[] = "CLEAR_ON_OFFROAD_TRANSITION";
+static const char __pyx_k_Params_put_bool_nonblocking[] = "Params.put_bool_nonblocking";
static const char __pyx_k_pyx_unpickle___Pyx_EnumMeta[] = "__pyx_unpickle___Pyx_EnumMeta";
static const char __pyx_k_Pyx_EnumMeta___reduce_cython[] = "__Pyx_EnumMeta.__reduce_cython__";
-static const char __pyx_k_put_nonblocking_locals_lambda[] = "put_nonblocking..";
static const char __pyx_k_Pyx_EnumMeta___setstate_cython[] = "__Pyx_EnumMeta.__setstate_cython__";
static const char __pyx_k_Incompatible_checksums_0x_x_vs_0[] = "Incompatible checksums (0x%x vs (0xe3b0c44, 0xda39a3e, 0xd41d8cd) = ())";
static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__";
-static const char __pyx_k_put_bool_nonblocking_locals_lamb[] = "put_bool_nonblocking..";
/* #### Code section: decls ### */
static int __pyx_pf_8EnumBase_14__Pyx_EnumMeta___init__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_cls, PyObject *__pyx_v_name, PyObject *__pyx_v_parents, PyObject *__pyx_v_dct); /* proto */
static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_2__iter__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_cls); /* proto */
@@ -2436,18 +2549,14 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
static PyObject *__pyx_pf_6common_10params_pyx_6Params_10get_bool(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key, bool __pyx_v_block); /* proto */
static PyObject *__pyx_pf_6common_10params_pyx_6Params_12put(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_dat); /* proto */
static PyObject *__pyx_pf_6common_10params_pyx_6Params_14put_bool(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key, bool __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_6common_10params_pyx_6Params_16remove(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
-static PyObject *__pyx_pf_6common_10params_pyx_6Params_18get_param_path(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
-static PyObject *__pyx_pf_6common_10params_pyx_6Params_20all_keys(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_6common_10params_pyx_6Params_22__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_6common_10params_pyx_6Params_24__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
-static PyObject *__pyx_lambda_funcdef_lambda(PyObject *__pyx_self); /* proto */
-static PyObject *__pyx_pf_6common_10params_pyx_2put_nonblocking(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_key, PyObject *__pyx_v_val, PyObject *__pyx_v_d); /* proto */
-static PyObject *__pyx_lambda_funcdef_lambda1(PyObject *__pyx_self); /* proto */
-static PyObject *__pyx_pf_6common_10params_pyx_4put_bool_nonblocking(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_key, bool __pyx_v_val, PyObject *__pyx_v_d); /* proto */
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_16put_nonblocking(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_dat); /* proto */
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_18put_bool_nonblocking(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key, bool __pyx_v_val); /* proto */
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_20remove(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_22get_param_path(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_24all_keys(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_26__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_28__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_tp_new_6common_10params_pyx_Params(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
-static PyObject *__pyx_tp_new_6common_10params_pyx___pyx_scope_struct__put_nonblocking(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
-static PyObject *__pyx_tp_new_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_get = {0, 0, 0, 0, 0};
/* #### Code section: late_includes ### */
/* #### Code section: module_state ### */
@@ -2486,13 +2595,9 @@ typedef struct {
#endif
#if CYTHON_USE_MODULE_STATE
PyObject *__pyx_type_6common_10params_pyx_Params;
- PyObject *__pyx_type_6common_10params_pyx___pyx_scope_struct__put_nonblocking;
- PyObject *__pyx_type_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking;
PyObject *__Pyx_EnumMeta;
#endif
PyTypeObject *__pyx_ptype_6common_10params_pyx_Params;
- PyTypeObject *__pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking;
- PyTypeObject *__pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking;
PyTypeObject *__pyx_ptype___Pyx_EnumMeta;
PyObject *__pyx_kp_s_;
PyObject *__pyx_kp_u_;
@@ -2500,6 +2605,7 @@ typedef struct {
PyObject *__pyx_n_s_CLEAR_ON_MANAGER_START;
PyObject *__pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION;
PyObject *__pyx_n_s_CLEAR_ON_ONROAD_TRANSITION;
+ PyObject *__pyx_n_s_DEVELOPMENT_ONLY;
PyObject *__pyx_n_s_EnumBase;
PyObject *__pyx_n_s_EnumType;
PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0;
@@ -2521,6 +2627,8 @@ typedef struct {
PyObject *__pyx_n_s_Params_get_param_path;
PyObject *__pyx_n_s_Params_put;
PyObject *__pyx_n_s_Params_put_bool;
+ PyObject *__pyx_n_s_Params_put_bool_nonblocking;
+ PyObject *__pyx_n_s_Params_put_nonblocking;
PyObject *__pyx_n_s_Params_remove;
PyObject *__pyx_n_s_PickleError;
PyObject *__pyx_n_s_Pyx_EnumBase;
@@ -2533,14 +2641,12 @@ typedef struct {
PyObject *__pyx_n_s_Pyx_FlagBase___new;
PyObject *__pyx_n_s_Pyx_FlagBase___repr;
PyObject *__pyx_n_s_Pyx_FlagBase___str;
- PyObject *__pyx_n_s_Thread;
PyObject *__pyx_n_s_TypeError;
PyObject *__pyx_n_s_UnknownKeyName;
PyObject *__pyx_kp_s_Unknown_enum_value_s;
PyObject *__pyx_n_s_ValueError;
- PyObject *__pyx_n_s__21;
PyObject *__pyx_kp_u__3;
- PyObject *__pyx_n_s__51;
+ PyObject *__pyx_n_s__46;
PyObject *__pyx_n_s_all_keys;
PyObject *__pyx_n_s_asyncio_coroutines;
PyObject *__pyx_n_s_block;
@@ -2551,7 +2657,7 @@ typedef struct {
PyObject *__pyx_n_s_cline_in_traceback;
PyObject *__pyx_n_s_cls;
PyObject *__pyx_n_s_collections;
- PyObject *__pyx_n_s_common_params_pyx;
+ PyObject *__pyx_kp_s_common_params_pyx;
PyObject *__pyx_kp_s_common_params_pyx_pyx;
PyObject *__pyx_n_s_d;
PyObject *__pyx_n_s_dat;
@@ -2575,7 +2681,6 @@ typedef struct {
PyObject *__pyx_n_s_import;
PyObject *__pyx_n_s_init;
PyObject *__pyx_n_s_init_subclass;
- PyObject *__pyx_n_s_initializing;
PyObject *__pyx_n_s_is_coroutine;
PyObject *__pyx_kp_u_isenabled;
PyObject *__pyx_n_s_k;
@@ -2598,9 +2703,7 @@ typedef struct {
PyObject *__pyx_n_s_put;
PyObject *__pyx_n_s_put_bool;
PyObject *__pyx_n_s_put_bool_nonblocking;
- PyObject *__pyx_n_s_put_bool_nonblocking_locals_lamb;
PyObject *__pyx_n_s_put_nonblocking;
- PyObject *__pyx_n_s_put_nonblocking_locals_lambda;
PyObject *__pyx_n_s_pyx_PickleError;
PyObject *__pyx_n_s_pyx_checksum;
PyObject *__pyx_n_s_pyx_result;
@@ -2622,15 +2725,11 @@ typedef struct {
PyObject *__pyx_n_s_set_name;
PyObject *__pyx_n_s_setstate;
PyObject *__pyx_n_s_setstate_cython;
- PyObject *__pyx_n_s_spec;
- PyObject *__pyx_n_s_start;
PyObject *__pyx_n_s_state;
PyObject *__pyx_n_s_str;
PyObject *__pyx_kp_s_stringsource;
PyObject *__pyx_n_s_super;
- PyObject *__pyx_n_s_target;
PyObject *__pyx_n_s_test;
- PyObject *__pyx_n_s_threading;
PyObject *__pyx_n_s_tx_type;
PyObject *__pyx_n_s_update;
PyObject *__pyx_n_s_use_setstate;
@@ -2648,46 +2747,42 @@ typedef struct {
PyObject *__pyx_tuple__9;
PyObject *__pyx_tuple__11;
PyObject *__pyx_tuple__12;
- PyObject *__pyx_tuple__16;
- PyObject *__pyx_tuple__19;
+ PyObject *__pyx_tuple__18;
+ PyObject *__pyx_tuple__20;
PyObject *__pyx_tuple__22;
PyObject *__pyx_tuple__24;
PyObject *__pyx_tuple__26;
PyObject *__pyx_tuple__28;
- PyObject *__pyx_tuple__30;
+ PyObject *__pyx_tuple__29;
PyObject *__pyx_tuple__31;
- PyObject *__pyx_tuple__33;
+ PyObject *__pyx_tuple__32;
PyObject *__pyx_tuple__34;
- PyObject *__pyx_tuple__36;
PyObject *__pyx_tuple__38;
PyObject *__pyx_tuple__40;
PyObject *__pyx_tuple__42;
- PyObject *__pyx_tuple__46;
- PyObject *__pyx_tuple__48;
- PyObject *__pyx_tuple__50;
PyObject *__pyx_codeobj__6;
PyObject *__pyx_codeobj__8;
PyObject *__pyx_codeobj__10;
PyObject *__pyx_codeobj__13;
PyObject *__pyx_codeobj__14;
PyObject *__pyx_codeobj__15;
+ PyObject *__pyx_codeobj__16;
PyObject *__pyx_codeobj__17;
- PyObject *__pyx_codeobj__18;
- PyObject *__pyx_codeobj__20;
+ PyObject *__pyx_codeobj__19;
+ PyObject *__pyx_codeobj__21;
PyObject *__pyx_codeobj__23;
PyObject *__pyx_codeobj__25;
PyObject *__pyx_codeobj__27;
- PyObject *__pyx_codeobj__29;
- PyObject *__pyx_codeobj__32;
+ PyObject *__pyx_codeobj__30;
+ PyObject *__pyx_codeobj__33;
PyObject *__pyx_codeobj__35;
+ PyObject *__pyx_codeobj__36;
PyObject *__pyx_codeobj__37;
PyObject *__pyx_codeobj__39;
PyObject *__pyx_codeobj__41;
PyObject *__pyx_codeobj__43;
PyObject *__pyx_codeobj__44;
PyObject *__pyx_codeobj__45;
- PyObject *__pyx_codeobj__47;
- PyObject *__pyx_codeobj__49;
} __pyx_mstate;
#if CYTHON_USE_MODULE_STATE
@@ -2732,10 +2827,6 @@ static int __pyx_m_clear(PyObject *m) {
#endif
Py_CLEAR(clear_module_state->__pyx_ptype_6common_10params_pyx_Params);
Py_CLEAR(clear_module_state->__pyx_type_6common_10params_pyx_Params);
- Py_CLEAR(clear_module_state->__pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking);
- Py_CLEAR(clear_module_state->__pyx_type_6common_10params_pyx___pyx_scope_struct__put_nonblocking);
- Py_CLEAR(clear_module_state->__pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking);
- Py_CLEAR(clear_module_state->__pyx_type_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking);
Py_CLEAR(clear_module_state->__pyx_ptype___Pyx_EnumMeta);
Py_CLEAR(clear_module_state->__Pyx_EnumMeta);
Py_CLEAR(clear_module_state->__pyx_kp_s_);
@@ -2744,6 +2835,7 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_CLEAR_ON_MANAGER_START);
Py_CLEAR(clear_module_state->__pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION);
Py_CLEAR(clear_module_state->__pyx_n_s_CLEAR_ON_ONROAD_TRANSITION);
+ Py_CLEAR(clear_module_state->__pyx_n_s_DEVELOPMENT_ONLY);
Py_CLEAR(clear_module_state->__pyx_n_s_EnumBase);
Py_CLEAR(clear_module_state->__pyx_n_s_EnumType);
Py_CLEAR(clear_module_state->__pyx_kp_s_Incompatible_checksums_0x_x_vs_0);
@@ -2765,6 +2857,8 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_Params_get_param_path);
Py_CLEAR(clear_module_state->__pyx_n_s_Params_put);
Py_CLEAR(clear_module_state->__pyx_n_s_Params_put_bool);
+ Py_CLEAR(clear_module_state->__pyx_n_s_Params_put_bool_nonblocking);
+ Py_CLEAR(clear_module_state->__pyx_n_s_Params_put_nonblocking);
Py_CLEAR(clear_module_state->__pyx_n_s_Params_remove);
Py_CLEAR(clear_module_state->__pyx_n_s_PickleError);
Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_EnumBase);
@@ -2777,14 +2871,12 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_FlagBase___new);
Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_FlagBase___repr);
Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_FlagBase___str);
- Py_CLEAR(clear_module_state->__pyx_n_s_Thread);
Py_CLEAR(clear_module_state->__pyx_n_s_TypeError);
Py_CLEAR(clear_module_state->__pyx_n_s_UnknownKeyName);
Py_CLEAR(clear_module_state->__pyx_kp_s_Unknown_enum_value_s);
Py_CLEAR(clear_module_state->__pyx_n_s_ValueError);
- Py_CLEAR(clear_module_state->__pyx_n_s__21);
Py_CLEAR(clear_module_state->__pyx_kp_u__3);
- Py_CLEAR(clear_module_state->__pyx_n_s__51);
+ Py_CLEAR(clear_module_state->__pyx_n_s__46);
Py_CLEAR(clear_module_state->__pyx_n_s_all_keys);
Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines);
Py_CLEAR(clear_module_state->__pyx_n_s_block);
@@ -2795,7 +2887,7 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback);
Py_CLEAR(clear_module_state->__pyx_n_s_cls);
Py_CLEAR(clear_module_state->__pyx_n_s_collections);
- Py_CLEAR(clear_module_state->__pyx_n_s_common_params_pyx);
+ Py_CLEAR(clear_module_state->__pyx_kp_s_common_params_pyx);
Py_CLEAR(clear_module_state->__pyx_kp_s_common_params_pyx_pyx);
Py_CLEAR(clear_module_state->__pyx_n_s_d);
Py_CLEAR(clear_module_state->__pyx_n_s_dat);
@@ -2819,7 +2911,6 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_import);
Py_CLEAR(clear_module_state->__pyx_n_s_init);
Py_CLEAR(clear_module_state->__pyx_n_s_init_subclass);
- Py_CLEAR(clear_module_state->__pyx_n_s_initializing);
Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine);
Py_CLEAR(clear_module_state->__pyx_kp_u_isenabled);
Py_CLEAR(clear_module_state->__pyx_n_s_k);
@@ -2842,9 +2933,7 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_put);
Py_CLEAR(clear_module_state->__pyx_n_s_put_bool);
Py_CLEAR(clear_module_state->__pyx_n_s_put_bool_nonblocking);
- Py_CLEAR(clear_module_state->__pyx_n_s_put_bool_nonblocking_locals_lamb);
Py_CLEAR(clear_module_state->__pyx_n_s_put_nonblocking);
- Py_CLEAR(clear_module_state->__pyx_n_s_put_nonblocking_locals_lambda);
Py_CLEAR(clear_module_state->__pyx_n_s_pyx_PickleError);
Py_CLEAR(clear_module_state->__pyx_n_s_pyx_checksum);
Py_CLEAR(clear_module_state->__pyx_n_s_pyx_result);
@@ -2866,15 +2955,11 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_n_s_set_name);
Py_CLEAR(clear_module_state->__pyx_n_s_setstate);
Py_CLEAR(clear_module_state->__pyx_n_s_setstate_cython);
- Py_CLEAR(clear_module_state->__pyx_n_s_spec);
- Py_CLEAR(clear_module_state->__pyx_n_s_start);
Py_CLEAR(clear_module_state->__pyx_n_s_state);
Py_CLEAR(clear_module_state->__pyx_n_s_str);
Py_CLEAR(clear_module_state->__pyx_kp_s_stringsource);
Py_CLEAR(clear_module_state->__pyx_n_s_super);
- Py_CLEAR(clear_module_state->__pyx_n_s_target);
Py_CLEAR(clear_module_state->__pyx_n_s_test);
- Py_CLEAR(clear_module_state->__pyx_n_s_threading);
Py_CLEAR(clear_module_state->__pyx_n_s_tx_type);
Py_CLEAR(clear_module_state->__pyx_n_s_update);
Py_CLEAR(clear_module_state->__pyx_n_s_use_setstate);
@@ -2892,46 +2977,42 @@ static int __pyx_m_clear(PyObject *m) {
Py_CLEAR(clear_module_state->__pyx_tuple__9);
Py_CLEAR(clear_module_state->__pyx_tuple__11);
Py_CLEAR(clear_module_state->__pyx_tuple__12);
- Py_CLEAR(clear_module_state->__pyx_tuple__16);
- Py_CLEAR(clear_module_state->__pyx_tuple__19);
+ Py_CLEAR(clear_module_state->__pyx_tuple__18);
+ Py_CLEAR(clear_module_state->__pyx_tuple__20);
Py_CLEAR(clear_module_state->__pyx_tuple__22);
Py_CLEAR(clear_module_state->__pyx_tuple__24);
Py_CLEAR(clear_module_state->__pyx_tuple__26);
Py_CLEAR(clear_module_state->__pyx_tuple__28);
- Py_CLEAR(clear_module_state->__pyx_tuple__30);
+ Py_CLEAR(clear_module_state->__pyx_tuple__29);
Py_CLEAR(clear_module_state->__pyx_tuple__31);
- Py_CLEAR(clear_module_state->__pyx_tuple__33);
+ Py_CLEAR(clear_module_state->__pyx_tuple__32);
Py_CLEAR(clear_module_state->__pyx_tuple__34);
- Py_CLEAR(clear_module_state->__pyx_tuple__36);
Py_CLEAR(clear_module_state->__pyx_tuple__38);
Py_CLEAR(clear_module_state->__pyx_tuple__40);
Py_CLEAR(clear_module_state->__pyx_tuple__42);
- Py_CLEAR(clear_module_state->__pyx_tuple__46);
- Py_CLEAR(clear_module_state->__pyx_tuple__48);
- Py_CLEAR(clear_module_state->__pyx_tuple__50);
Py_CLEAR(clear_module_state->__pyx_codeobj__6);
Py_CLEAR(clear_module_state->__pyx_codeobj__8);
Py_CLEAR(clear_module_state->__pyx_codeobj__10);
Py_CLEAR(clear_module_state->__pyx_codeobj__13);
Py_CLEAR(clear_module_state->__pyx_codeobj__14);
Py_CLEAR(clear_module_state->__pyx_codeobj__15);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__16);
Py_CLEAR(clear_module_state->__pyx_codeobj__17);
- Py_CLEAR(clear_module_state->__pyx_codeobj__18);
- Py_CLEAR(clear_module_state->__pyx_codeobj__20);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__19);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__21);
Py_CLEAR(clear_module_state->__pyx_codeobj__23);
Py_CLEAR(clear_module_state->__pyx_codeobj__25);
Py_CLEAR(clear_module_state->__pyx_codeobj__27);
- Py_CLEAR(clear_module_state->__pyx_codeobj__29);
- Py_CLEAR(clear_module_state->__pyx_codeobj__32);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__30);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__33);
Py_CLEAR(clear_module_state->__pyx_codeobj__35);
+ Py_CLEAR(clear_module_state->__pyx_codeobj__36);
Py_CLEAR(clear_module_state->__pyx_codeobj__37);
Py_CLEAR(clear_module_state->__pyx_codeobj__39);
Py_CLEAR(clear_module_state->__pyx_codeobj__41);
Py_CLEAR(clear_module_state->__pyx_codeobj__43);
Py_CLEAR(clear_module_state->__pyx_codeobj__44);
Py_CLEAR(clear_module_state->__pyx_codeobj__45);
- Py_CLEAR(clear_module_state->__pyx_codeobj__47);
- Py_CLEAR(clear_module_state->__pyx_codeobj__49);
return 0;
}
#endif
@@ -2954,10 +3035,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#endif
Py_VISIT(traverse_module_state->__pyx_ptype_6common_10params_pyx_Params);
Py_VISIT(traverse_module_state->__pyx_type_6common_10params_pyx_Params);
- Py_VISIT(traverse_module_state->__pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking);
- Py_VISIT(traverse_module_state->__pyx_type_6common_10params_pyx___pyx_scope_struct__put_nonblocking);
- Py_VISIT(traverse_module_state->__pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking);
- Py_VISIT(traverse_module_state->__pyx_type_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking);
Py_VISIT(traverse_module_state->__pyx_ptype___Pyx_EnumMeta);
Py_VISIT(traverse_module_state->__Pyx_EnumMeta);
Py_VISIT(traverse_module_state->__pyx_kp_s_);
@@ -2966,6 +3043,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_CLEAR_ON_MANAGER_START);
Py_VISIT(traverse_module_state->__pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION);
Py_VISIT(traverse_module_state->__pyx_n_s_CLEAR_ON_ONROAD_TRANSITION);
+ Py_VISIT(traverse_module_state->__pyx_n_s_DEVELOPMENT_ONLY);
Py_VISIT(traverse_module_state->__pyx_n_s_EnumBase);
Py_VISIT(traverse_module_state->__pyx_n_s_EnumType);
Py_VISIT(traverse_module_state->__pyx_kp_s_Incompatible_checksums_0x_x_vs_0);
@@ -2987,6 +3065,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_Params_get_param_path);
Py_VISIT(traverse_module_state->__pyx_n_s_Params_put);
Py_VISIT(traverse_module_state->__pyx_n_s_Params_put_bool);
+ Py_VISIT(traverse_module_state->__pyx_n_s_Params_put_bool_nonblocking);
+ Py_VISIT(traverse_module_state->__pyx_n_s_Params_put_nonblocking);
Py_VISIT(traverse_module_state->__pyx_n_s_Params_remove);
Py_VISIT(traverse_module_state->__pyx_n_s_PickleError);
Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_EnumBase);
@@ -2999,14 +3079,12 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_FlagBase___new);
Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_FlagBase___repr);
Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_FlagBase___str);
- Py_VISIT(traverse_module_state->__pyx_n_s_Thread);
Py_VISIT(traverse_module_state->__pyx_n_s_TypeError);
Py_VISIT(traverse_module_state->__pyx_n_s_UnknownKeyName);
Py_VISIT(traverse_module_state->__pyx_kp_s_Unknown_enum_value_s);
Py_VISIT(traverse_module_state->__pyx_n_s_ValueError);
- Py_VISIT(traverse_module_state->__pyx_n_s__21);
Py_VISIT(traverse_module_state->__pyx_kp_u__3);
- Py_VISIT(traverse_module_state->__pyx_n_s__51);
+ Py_VISIT(traverse_module_state->__pyx_n_s__46);
Py_VISIT(traverse_module_state->__pyx_n_s_all_keys);
Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines);
Py_VISIT(traverse_module_state->__pyx_n_s_block);
@@ -3017,7 +3095,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback);
Py_VISIT(traverse_module_state->__pyx_n_s_cls);
Py_VISIT(traverse_module_state->__pyx_n_s_collections);
- Py_VISIT(traverse_module_state->__pyx_n_s_common_params_pyx);
+ Py_VISIT(traverse_module_state->__pyx_kp_s_common_params_pyx);
Py_VISIT(traverse_module_state->__pyx_kp_s_common_params_pyx_pyx);
Py_VISIT(traverse_module_state->__pyx_n_s_d);
Py_VISIT(traverse_module_state->__pyx_n_s_dat);
@@ -3041,7 +3119,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_import);
Py_VISIT(traverse_module_state->__pyx_n_s_init);
Py_VISIT(traverse_module_state->__pyx_n_s_init_subclass);
- Py_VISIT(traverse_module_state->__pyx_n_s_initializing);
Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine);
Py_VISIT(traverse_module_state->__pyx_kp_u_isenabled);
Py_VISIT(traverse_module_state->__pyx_n_s_k);
@@ -3064,9 +3141,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_put);
Py_VISIT(traverse_module_state->__pyx_n_s_put_bool);
Py_VISIT(traverse_module_state->__pyx_n_s_put_bool_nonblocking);
- Py_VISIT(traverse_module_state->__pyx_n_s_put_bool_nonblocking_locals_lamb);
Py_VISIT(traverse_module_state->__pyx_n_s_put_nonblocking);
- Py_VISIT(traverse_module_state->__pyx_n_s_put_nonblocking_locals_lambda);
Py_VISIT(traverse_module_state->__pyx_n_s_pyx_PickleError);
Py_VISIT(traverse_module_state->__pyx_n_s_pyx_checksum);
Py_VISIT(traverse_module_state->__pyx_n_s_pyx_result);
@@ -3088,15 +3163,11 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_n_s_set_name);
Py_VISIT(traverse_module_state->__pyx_n_s_setstate);
Py_VISIT(traverse_module_state->__pyx_n_s_setstate_cython);
- Py_VISIT(traverse_module_state->__pyx_n_s_spec);
- Py_VISIT(traverse_module_state->__pyx_n_s_start);
Py_VISIT(traverse_module_state->__pyx_n_s_state);
Py_VISIT(traverse_module_state->__pyx_n_s_str);
Py_VISIT(traverse_module_state->__pyx_kp_s_stringsource);
Py_VISIT(traverse_module_state->__pyx_n_s_super);
- Py_VISIT(traverse_module_state->__pyx_n_s_target);
Py_VISIT(traverse_module_state->__pyx_n_s_test);
- Py_VISIT(traverse_module_state->__pyx_n_s_threading);
Py_VISIT(traverse_module_state->__pyx_n_s_tx_type);
Py_VISIT(traverse_module_state->__pyx_n_s_update);
Py_VISIT(traverse_module_state->__pyx_n_s_use_setstate);
@@ -3114,46 +3185,42 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
Py_VISIT(traverse_module_state->__pyx_tuple__9);
Py_VISIT(traverse_module_state->__pyx_tuple__11);
Py_VISIT(traverse_module_state->__pyx_tuple__12);
- Py_VISIT(traverse_module_state->__pyx_tuple__16);
- Py_VISIT(traverse_module_state->__pyx_tuple__19);
+ Py_VISIT(traverse_module_state->__pyx_tuple__18);
+ Py_VISIT(traverse_module_state->__pyx_tuple__20);
Py_VISIT(traverse_module_state->__pyx_tuple__22);
Py_VISIT(traverse_module_state->__pyx_tuple__24);
Py_VISIT(traverse_module_state->__pyx_tuple__26);
Py_VISIT(traverse_module_state->__pyx_tuple__28);
- Py_VISIT(traverse_module_state->__pyx_tuple__30);
+ Py_VISIT(traverse_module_state->__pyx_tuple__29);
Py_VISIT(traverse_module_state->__pyx_tuple__31);
- Py_VISIT(traverse_module_state->__pyx_tuple__33);
+ Py_VISIT(traverse_module_state->__pyx_tuple__32);
Py_VISIT(traverse_module_state->__pyx_tuple__34);
- Py_VISIT(traverse_module_state->__pyx_tuple__36);
Py_VISIT(traverse_module_state->__pyx_tuple__38);
Py_VISIT(traverse_module_state->__pyx_tuple__40);
Py_VISIT(traverse_module_state->__pyx_tuple__42);
- Py_VISIT(traverse_module_state->__pyx_tuple__46);
- Py_VISIT(traverse_module_state->__pyx_tuple__48);
- Py_VISIT(traverse_module_state->__pyx_tuple__50);
Py_VISIT(traverse_module_state->__pyx_codeobj__6);
Py_VISIT(traverse_module_state->__pyx_codeobj__8);
Py_VISIT(traverse_module_state->__pyx_codeobj__10);
Py_VISIT(traverse_module_state->__pyx_codeobj__13);
Py_VISIT(traverse_module_state->__pyx_codeobj__14);
Py_VISIT(traverse_module_state->__pyx_codeobj__15);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__16);
Py_VISIT(traverse_module_state->__pyx_codeobj__17);
- Py_VISIT(traverse_module_state->__pyx_codeobj__18);
- Py_VISIT(traverse_module_state->__pyx_codeobj__20);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__19);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__21);
Py_VISIT(traverse_module_state->__pyx_codeobj__23);
Py_VISIT(traverse_module_state->__pyx_codeobj__25);
Py_VISIT(traverse_module_state->__pyx_codeobj__27);
- Py_VISIT(traverse_module_state->__pyx_codeobj__29);
- Py_VISIT(traverse_module_state->__pyx_codeobj__32);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__30);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__33);
Py_VISIT(traverse_module_state->__pyx_codeobj__35);
+ Py_VISIT(traverse_module_state->__pyx_codeobj__36);
Py_VISIT(traverse_module_state->__pyx_codeobj__37);
Py_VISIT(traverse_module_state->__pyx_codeobj__39);
Py_VISIT(traverse_module_state->__pyx_codeobj__41);
Py_VISIT(traverse_module_state->__pyx_codeobj__43);
Py_VISIT(traverse_module_state->__pyx_codeobj__44);
Py_VISIT(traverse_module_state->__pyx_codeobj__45);
- Py_VISIT(traverse_module_state->__pyx_codeobj__47);
- Py_VISIT(traverse_module_state->__pyx_codeobj__49);
return 0;
}
#endif
@@ -3192,13 +3259,9 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#endif
#if CYTHON_USE_MODULE_STATE
#define __pyx_type_6common_10params_pyx_Params __pyx_mstate_global->__pyx_type_6common_10params_pyx_Params
-#define __pyx_type_6common_10params_pyx___pyx_scope_struct__put_nonblocking __pyx_mstate_global->__pyx_type_6common_10params_pyx___pyx_scope_struct__put_nonblocking
-#define __pyx_type_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking __pyx_mstate_global->__pyx_type_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking
#define __Pyx_EnumMeta __pyx_mstate_global->__Pyx_EnumMeta
#endif
#define __pyx_ptype_6common_10params_pyx_Params __pyx_mstate_global->__pyx_ptype_6common_10params_pyx_Params
-#define __pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking __pyx_mstate_global->__pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking
-#define __pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking __pyx_mstate_global->__pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking
#define __pyx_ptype___Pyx_EnumMeta __pyx_mstate_global->__pyx_ptype___Pyx_EnumMeta
#define __pyx_kp_s_ __pyx_mstate_global->__pyx_kp_s_
#define __pyx_kp_u_ __pyx_mstate_global->__pyx_kp_u_
@@ -3206,6 +3269,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_CLEAR_ON_MANAGER_START __pyx_mstate_global->__pyx_n_s_CLEAR_ON_MANAGER_START
#define __pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION __pyx_mstate_global->__pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION
#define __pyx_n_s_CLEAR_ON_ONROAD_TRANSITION __pyx_mstate_global->__pyx_n_s_CLEAR_ON_ONROAD_TRANSITION
+#define __pyx_n_s_DEVELOPMENT_ONLY __pyx_mstate_global->__pyx_n_s_DEVELOPMENT_ONLY
#define __pyx_n_s_EnumBase __pyx_mstate_global->__pyx_n_s_EnumBase
#define __pyx_n_s_EnumType __pyx_mstate_global->__pyx_n_s_EnumType
#define __pyx_kp_s_Incompatible_checksums_0x_x_vs_0 __pyx_mstate_global->__pyx_kp_s_Incompatible_checksums_0x_x_vs_0
@@ -3227,6 +3291,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_Params_get_param_path __pyx_mstate_global->__pyx_n_s_Params_get_param_path
#define __pyx_n_s_Params_put __pyx_mstate_global->__pyx_n_s_Params_put
#define __pyx_n_s_Params_put_bool __pyx_mstate_global->__pyx_n_s_Params_put_bool
+#define __pyx_n_s_Params_put_bool_nonblocking __pyx_mstate_global->__pyx_n_s_Params_put_bool_nonblocking
+#define __pyx_n_s_Params_put_nonblocking __pyx_mstate_global->__pyx_n_s_Params_put_nonblocking
#define __pyx_n_s_Params_remove __pyx_mstate_global->__pyx_n_s_Params_remove
#define __pyx_n_s_PickleError __pyx_mstate_global->__pyx_n_s_PickleError
#define __pyx_n_s_Pyx_EnumBase __pyx_mstate_global->__pyx_n_s_Pyx_EnumBase
@@ -3239,14 +3305,12 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_Pyx_FlagBase___new __pyx_mstate_global->__pyx_n_s_Pyx_FlagBase___new
#define __pyx_n_s_Pyx_FlagBase___repr __pyx_mstate_global->__pyx_n_s_Pyx_FlagBase___repr
#define __pyx_n_s_Pyx_FlagBase___str __pyx_mstate_global->__pyx_n_s_Pyx_FlagBase___str
-#define __pyx_n_s_Thread __pyx_mstate_global->__pyx_n_s_Thread
#define __pyx_n_s_TypeError __pyx_mstate_global->__pyx_n_s_TypeError
#define __pyx_n_s_UnknownKeyName __pyx_mstate_global->__pyx_n_s_UnknownKeyName
#define __pyx_kp_s_Unknown_enum_value_s __pyx_mstate_global->__pyx_kp_s_Unknown_enum_value_s
#define __pyx_n_s_ValueError __pyx_mstate_global->__pyx_n_s_ValueError
-#define __pyx_n_s__21 __pyx_mstate_global->__pyx_n_s__21
#define __pyx_kp_u__3 __pyx_mstate_global->__pyx_kp_u__3
-#define __pyx_n_s__51 __pyx_mstate_global->__pyx_n_s__51
+#define __pyx_n_s__46 __pyx_mstate_global->__pyx_n_s__46
#define __pyx_n_s_all_keys __pyx_mstate_global->__pyx_n_s_all_keys
#define __pyx_n_s_asyncio_coroutines __pyx_mstate_global->__pyx_n_s_asyncio_coroutines
#define __pyx_n_s_block __pyx_mstate_global->__pyx_n_s_block
@@ -3257,7 +3321,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback
#define __pyx_n_s_cls __pyx_mstate_global->__pyx_n_s_cls
#define __pyx_n_s_collections __pyx_mstate_global->__pyx_n_s_collections
-#define __pyx_n_s_common_params_pyx __pyx_mstate_global->__pyx_n_s_common_params_pyx
+#define __pyx_kp_s_common_params_pyx __pyx_mstate_global->__pyx_kp_s_common_params_pyx
#define __pyx_kp_s_common_params_pyx_pyx __pyx_mstate_global->__pyx_kp_s_common_params_pyx_pyx
#define __pyx_n_s_d __pyx_mstate_global->__pyx_n_s_d
#define __pyx_n_s_dat __pyx_mstate_global->__pyx_n_s_dat
@@ -3281,7 +3345,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import
#define __pyx_n_s_init __pyx_mstate_global->__pyx_n_s_init
#define __pyx_n_s_init_subclass __pyx_mstate_global->__pyx_n_s_init_subclass
-#define __pyx_n_s_initializing __pyx_mstate_global->__pyx_n_s_initializing
#define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine
#define __pyx_kp_u_isenabled __pyx_mstate_global->__pyx_kp_u_isenabled
#define __pyx_n_s_k __pyx_mstate_global->__pyx_n_s_k
@@ -3304,9 +3367,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_put __pyx_mstate_global->__pyx_n_s_put
#define __pyx_n_s_put_bool __pyx_mstate_global->__pyx_n_s_put_bool
#define __pyx_n_s_put_bool_nonblocking __pyx_mstate_global->__pyx_n_s_put_bool_nonblocking
-#define __pyx_n_s_put_bool_nonblocking_locals_lamb __pyx_mstate_global->__pyx_n_s_put_bool_nonblocking_locals_lamb
#define __pyx_n_s_put_nonblocking __pyx_mstate_global->__pyx_n_s_put_nonblocking
-#define __pyx_n_s_put_nonblocking_locals_lambda __pyx_mstate_global->__pyx_n_s_put_nonblocking_locals_lambda
#define __pyx_n_s_pyx_PickleError __pyx_mstate_global->__pyx_n_s_pyx_PickleError
#define __pyx_n_s_pyx_checksum __pyx_mstate_global->__pyx_n_s_pyx_checksum
#define __pyx_n_s_pyx_result __pyx_mstate_global->__pyx_n_s_pyx_result
@@ -3328,15 +3389,11 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_n_s_set_name __pyx_mstate_global->__pyx_n_s_set_name
#define __pyx_n_s_setstate __pyx_mstate_global->__pyx_n_s_setstate
#define __pyx_n_s_setstate_cython __pyx_mstate_global->__pyx_n_s_setstate_cython
-#define __pyx_n_s_spec __pyx_mstate_global->__pyx_n_s_spec
-#define __pyx_n_s_start __pyx_mstate_global->__pyx_n_s_start
#define __pyx_n_s_state __pyx_mstate_global->__pyx_n_s_state
#define __pyx_n_s_str __pyx_mstate_global->__pyx_n_s_str
#define __pyx_kp_s_stringsource __pyx_mstate_global->__pyx_kp_s_stringsource
#define __pyx_n_s_super __pyx_mstate_global->__pyx_n_s_super
-#define __pyx_n_s_target __pyx_mstate_global->__pyx_n_s_target
#define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test
-#define __pyx_n_s_threading __pyx_mstate_global->__pyx_n_s_threading
#define __pyx_n_s_tx_type __pyx_mstate_global->__pyx_n_s_tx_type
#define __pyx_n_s_update __pyx_mstate_global->__pyx_n_s_update
#define __pyx_n_s_use_setstate __pyx_mstate_global->__pyx_n_s_use_setstate
@@ -3354,46 +3411,42 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
#define __pyx_tuple__9 __pyx_mstate_global->__pyx_tuple__9
#define __pyx_tuple__11 __pyx_mstate_global->__pyx_tuple__11
#define __pyx_tuple__12 __pyx_mstate_global->__pyx_tuple__12
-#define __pyx_tuple__16 __pyx_mstate_global->__pyx_tuple__16
-#define __pyx_tuple__19 __pyx_mstate_global->__pyx_tuple__19
+#define __pyx_tuple__18 __pyx_mstate_global->__pyx_tuple__18
+#define __pyx_tuple__20 __pyx_mstate_global->__pyx_tuple__20
#define __pyx_tuple__22 __pyx_mstate_global->__pyx_tuple__22
#define __pyx_tuple__24 __pyx_mstate_global->__pyx_tuple__24
#define __pyx_tuple__26 __pyx_mstate_global->__pyx_tuple__26
#define __pyx_tuple__28 __pyx_mstate_global->__pyx_tuple__28
-#define __pyx_tuple__30 __pyx_mstate_global->__pyx_tuple__30
+#define __pyx_tuple__29 __pyx_mstate_global->__pyx_tuple__29
#define __pyx_tuple__31 __pyx_mstate_global->__pyx_tuple__31
-#define __pyx_tuple__33 __pyx_mstate_global->__pyx_tuple__33
+#define __pyx_tuple__32 __pyx_mstate_global->__pyx_tuple__32
#define __pyx_tuple__34 __pyx_mstate_global->__pyx_tuple__34
-#define __pyx_tuple__36 __pyx_mstate_global->__pyx_tuple__36
#define __pyx_tuple__38 __pyx_mstate_global->__pyx_tuple__38
#define __pyx_tuple__40 __pyx_mstate_global->__pyx_tuple__40
#define __pyx_tuple__42 __pyx_mstate_global->__pyx_tuple__42
-#define __pyx_tuple__46 __pyx_mstate_global->__pyx_tuple__46
-#define __pyx_tuple__48 __pyx_mstate_global->__pyx_tuple__48
-#define __pyx_tuple__50 __pyx_mstate_global->__pyx_tuple__50
#define __pyx_codeobj__6 __pyx_mstate_global->__pyx_codeobj__6
#define __pyx_codeobj__8 __pyx_mstate_global->__pyx_codeobj__8
#define __pyx_codeobj__10 __pyx_mstate_global->__pyx_codeobj__10
#define __pyx_codeobj__13 __pyx_mstate_global->__pyx_codeobj__13
#define __pyx_codeobj__14 __pyx_mstate_global->__pyx_codeobj__14
#define __pyx_codeobj__15 __pyx_mstate_global->__pyx_codeobj__15
+#define __pyx_codeobj__16 __pyx_mstate_global->__pyx_codeobj__16
#define __pyx_codeobj__17 __pyx_mstate_global->__pyx_codeobj__17
-#define __pyx_codeobj__18 __pyx_mstate_global->__pyx_codeobj__18
-#define __pyx_codeobj__20 __pyx_mstate_global->__pyx_codeobj__20
+#define __pyx_codeobj__19 __pyx_mstate_global->__pyx_codeobj__19
+#define __pyx_codeobj__21 __pyx_mstate_global->__pyx_codeobj__21
#define __pyx_codeobj__23 __pyx_mstate_global->__pyx_codeobj__23
#define __pyx_codeobj__25 __pyx_mstate_global->__pyx_codeobj__25
#define __pyx_codeobj__27 __pyx_mstate_global->__pyx_codeobj__27
-#define __pyx_codeobj__29 __pyx_mstate_global->__pyx_codeobj__29
-#define __pyx_codeobj__32 __pyx_mstate_global->__pyx_codeobj__32
+#define __pyx_codeobj__30 __pyx_mstate_global->__pyx_codeobj__30
+#define __pyx_codeobj__33 __pyx_mstate_global->__pyx_codeobj__33
#define __pyx_codeobj__35 __pyx_mstate_global->__pyx_codeobj__35
+#define __pyx_codeobj__36 __pyx_mstate_global->__pyx_codeobj__36
#define __pyx_codeobj__37 __pyx_mstate_global->__pyx_codeobj__37
#define __pyx_codeobj__39 __pyx_mstate_global->__pyx_codeobj__39
#define __pyx_codeobj__41 __pyx_mstate_global->__pyx_codeobj__41
#define __pyx_codeobj__43 __pyx_mstate_global->__pyx_codeobj__43
#define __pyx_codeobj__44 __pyx_mstate_global->__pyx_codeobj__44
#define __pyx_codeobj__45 __pyx_mstate_global->__pyx_codeobj__45
-#define __pyx_codeobj__47 __pyx_mstate_global->__pyx_codeobj__47
-#define __pyx_codeobj__49 __pyx_mstate_global->__pyx_codeobj__49
/* #### Code section: module_code ### */
/* "EnumTypeToPy":132
@@ -3418,7 +3471,7 @@ static PyObject *__Pyx_Enum_ParamKeyType_to_py(enum ParamKeyType __pyx_v_c_val)
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__Pyx_Enum_ParamKeyType_to_py", 0);
+ __Pyx_RefNannySetupContext("__Pyx_Enum_ParamKeyType_to_py", 1);
/* "EnumTypeToPy":137
*
@@ -3536,7 +3589,7 @@ static PyObject *__Pyx_Enum_ParamKeyType_to_py(enum ParamKeyType __pyx_v_c_val)
* return __pyx_enum.CLEAR_ON_ONROAD_TRANSITION
* elif c_val == ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION: # <<<<<<<<<<<<<<
* return __pyx_enum.CLEAR_ON_OFFROAD_TRANSITION
- * elif c_val == ParamKeyType.ALL:
+ * elif c_val == ParamKeyType.DEVELOPMENT_ONLY:
*/
__pyx_t_2 = (__pyx_v_c_val == CLEAR_ON_OFFROAD_TRANSITION);
if (__pyx_t_2) {
@@ -3545,8 +3598,8 @@ static PyObject *__Pyx_Enum_ParamKeyType_to_py(enum ParamKeyType __pyx_v_c_val)
* return __pyx_enum.CLEAR_ON_ONROAD_TRANSITION
* elif c_val == ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION:
* return __pyx_enum.CLEAR_ON_OFFROAD_TRANSITION # <<<<<<<<<<<<<<
- * elif c_val == ParamKeyType.ALL:
- * return __pyx_enum.ALL
+ * elif c_val == ParamKeyType.DEVELOPMENT_ONLY:
+ * return __pyx_enum.DEVELOPMENT_ONLY
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 148, __pyx_L1_error)
@@ -3560,29 +3613,29 @@ static PyObject *__Pyx_Enum_ParamKeyType_to_py(enum ParamKeyType __pyx_v_c_val)
* return __pyx_enum.CLEAR_ON_ONROAD_TRANSITION
* elif c_val == ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION: # <<<<<<<<<<<<<<
* return __pyx_enum.CLEAR_ON_OFFROAD_TRANSITION
- * elif c_val == ParamKeyType.ALL:
+ * elif c_val == ParamKeyType.DEVELOPMENT_ONLY:
*/
}
/* "EnumTypeToPy":149
* elif c_val == ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION:
* return __pyx_enum.CLEAR_ON_OFFROAD_TRANSITION
- * elif c_val == ParamKeyType.ALL: # <<<<<<<<<<<<<<
- * return __pyx_enum.ALL
- * else:
+ * elif c_val == ParamKeyType.DEVELOPMENT_ONLY: # <<<<<<<<<<<<<<
+ * return __pyx_enum.DEVELOPMENT_ONLY
+ * elif c_val == ParamKeyType.ALL:
*/
- __pyx_t_2 = (__pyx_v_c_val == ALL);
+ __pyx_t_2 = (__pyx_v_c_val == DEVELOPMENT_ONLY);
if (__pyx_t_2) {
/* "EnumTypeToPy":150
* return __pyx_enum.CLEAR_ON_OFFROAD_TRANSITION
+ * elif c_val == ParamKeyType.DEVELOPMENT_ONLY:
+ * return __pyx_enum.DEVELOPMENT_ONLY # <<<<<<<<<<<<<<
* elif c_val == ParamKeyType.ALL:
- * return __pyx_enum.ALL # <<<<<<<<<<<<<<
- * else:
- * underlying_c_val = c_val
+ * return __pyx_enum.ALL
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_ALL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 150, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_DEVELOPMENT_ONLY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 150, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -3591,13 +3644,46 @@ static PyObject *__Pyx_Enum_ParamKeyType_to_py(enum ParamKeyType __pyx_v_c_val)
/* "EnumTypeToPy":149
* elif c_val == ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION:
* return __pyx_enum.CLEAR_ON_OFFROAD_TRANSITION
+ * elif c_val == ParamKeyType.DEVELOPMENT_ONLY: # <<<<<<<<<<<<<<
+ * return __pyx_enum.DEVELOPMENT_ONLY
+ * elif c_val == ParamKeyType.ALL:
+ */
+ }
+
+ /* "EnumTypeToPy":151
+ * elif c_val == ParamKeyType.DEVELOPMENT_ONLY:
+ * return __pyx_enum.DEVELOPMENT_ONLY
+ * elif c_val == ParamKeyType.ALL: # <<<<<<<<<<<<<<
+ * return __pyx_enum.ALL
+ * else:
+ */
+ __pyx_t_2 = (__pyx_v_c_val == ALL);
+ if (__pyx_t_2) {
+
+ /* "EnumTypeToPy":152
+ * return __pyx_enum.DEVELOPMENT_ONLY
+ * elif c_val == ParamKeyType.ALL:
+ * return __pyx_enum.ALL # <<<<<<<<<<<<<<
+ * else:
+ * underlying_c_val = c_val
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v___pyx_enum, __pyx_n_s_ALL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 152, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "EnumTypeToPy":151
+ * elif c_val == ParamKeyType.DEVELOPMENT_ONLY:
+ * return __pyx_enum.DEVELOPMENT_ONLY
* elif c_val == ParamKeyType.ALL: # <<<<<<<<<<<<<<
* return __pyx_enum.ALL
* else:
*/
}
- /* "EnumTypeToPy":152
+ /* "EnumTypeToPy":154
* return __pyx_enum.ALL
* else:
* underlying_c_val = c_val # <<<<<<<<<<<<<<
@@ -3607,19 +3693,20 @@ static PyObject *__Pyx_Enum_ParamKeyType_to_py(enum ParamKeyType __pyx_v_c_val)
/*else*/ {
__pyx_v_underlying_c_val = ((int)__pyx_v_c_val);
- /* "EnumTypeToPy":153
+ /* "EnumTypeToPy":155
* else:
* underlying_c_val = c_val
* return __pyx_enum(underlying_c_val) # <<<<<<<<<<<<<<
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_underlying_c_val); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 153, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_underlying_c_val); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 155, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v___pyx_enum);
__pyx_t_4 = __pyx_v___pyx_enum; __pyx_t_5 = NULL;
__pyx_t_6 = 0;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
@@ -3629,12 +3716,13 @@ static PyObject *__Pyx_Enum_ParamKeyType_to_py(enum ParamKeyType __pyx_v_c_val)
__pyx_t_6 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 153, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 155, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
@@ -3678,13 +3766,11 @@ static std::string __pyx_convert_string_from_py_std__in_string(PyObject *__pyx_v
Py_ssize_t __pyx_v_length;
char const *__pyx_v_data;
std::string __pyx_r;
- __Pyx_RefNannyDeclarations
char const *__pyx_t_1;
std::string __pyx_t_2;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_string_from_py_std__in_string", 0);
/* "string.from_py":14
* @cname("__pyx_convert_string_from_py_std__in_string")
@@ -3734,7 +3820,6 @@ static std::string __pyx_convert_string_from_py_std__in_string(PyObject *__pyx_v
__Pyx_AddTraceback("string.from_py.__pyx_convert_string_from_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_pretend_to_initialize(&__pyx_r);
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -3753,7 +3838,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_std__in_strin
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyObject_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyObject_string_to_py_std__in_string", 1);
/* "string.to_py":32
* @cname("__pyx_convert_PyObject_string_to_py_std__in_string")
@@ -3803,7 +3888,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_std__in_stri
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyUnicode_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyUnicode_string_to_py_std__in_string", 1);
/* "string.to_py":38
* @cname("__pyx_convert_PyUnicode_string_to_py_std__in_string")
@@ -3853,7 +3938,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_std__in_string(s
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyStr_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyStr_string_to_py_std__in_string", 1);
/* "string.to_py":44
* @cname("__pyx_convert_PyStr_string_to_py_std__in_string")
@@ -3903,7 +3988,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyBytes_string_to_py_std__in_string
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyBytes_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyBytes_string_to_py_std__in_string", 1);
/* "string.to_py":50
* @cname("__pyx_convert_PyBytes_string_to_py_std__in_string")
@@ -3953,7 +4038,7 @@ static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_std__in_st
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_convert_PyByteArray_string_to_py_std__in_string", 0);
+ __Pyx_RefNannySetupContext("__pyx_convert_PyByteArray_string_to_py_std__in_string", 1);
/* "string.to_py":56
* @cname("__pyx_convert_PyByteArray_string_to_py_std__in_string")
@@ -4010,7 +4095,7 @@ static PyObject *__pyx_convert_vector_to_py_std_3a__3a_string(std::vector 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -4536,7 +4666,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_6__reduce_cython__(struct _
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":5
* cdef object _dict
@@ -4581,7 +4711,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_6__reduce_cython__(struct _
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v__dict);
__Pyx_GIVEREF(__pyx_v__dict);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict)) __PYX_ERR(1, 8, __pyx_L1_error);
__pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -4642,22 +4772,22 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_6__reduce_cython__(struct _
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(1, 13, __pyx_L1_error);
__Pyx_INCREF(__pyx_int_238750788);
__Pyx_GIVEREF(__pyx_int_238750788);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_238750788);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_238750788)) __PYX_ERR(1, 13, __pyx_L1_error);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
- PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None)) __PYX_ERR(1, 13, __pyx_L1_error);
__pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_state);
__Pyx_GIVEREF(__pyx_v_state);
- PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state)) __PYX_ERR(1, 13, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_1 = 0;
__pyx_r = __pyx_t_4;
@@ -4688,19 +4818,19 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_6__reduce_cython__(struct _
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(1, 15, __pyx_L1_error);
__Pyx_INCREF(__pyx_int_238750788);
__Pyx_GIVEREF(__pyx_int_238750788);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_238750788);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_238750788)) __PYX_ERR(1, 15, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_state);
__Pyx_GIVEREF(__pyx_v_state);
- PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state)) __PYX_ERR(1, 15, __pyx_L1_error);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error);
__pyx_t_4 = 0;
__pyx_t_1 = 0;
__pyx_r = __pyx_t_3;
@@ -4754,18 +4884,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -4777,7 +4915,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -4792,10 +4933,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 16, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_EnumMeta.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -4803,6 +4952,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumMeta_8__setstate_cython__(((struct __pyx_obj___Pyx_EnumMeta *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4814,7 +4969,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_8__setstate_cython__(struct
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":17
* return __pyx_unpickle___Pyx_EnumMeta, (type(self), 0xe3b0c44, state)
@@ -4874,19 +5029,27 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
PyObject *__pyx_v_value = 0;
PyObject *__pyx_v_name = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[3] = {0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__new__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cls,&__pyx_n_s_value,&__pyx_n_s_name,0};
- PyObject* values[3] = {0,0,0};
- values[2] = ((PyObject *)((PyObject *)Py_None));
+ values[2] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)Py_None));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -4902,12 +5065,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_cls)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_cls)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__new__", 0, 2, 3, 1); __PYX_ERR(1, 28, __pyx_L3_error)
@@ -4916,7 +5085,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name);
- if (value) { values[2] = value; kw_args--; }
+ if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28, __pyx_L3_error)
}
}
@@ -4938,10 +5107,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_value = values[1];
__pyx_v_name = values[2];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__new__", 0, 2, 3, __pyx_nargs); __PYX_ERR(1, 28, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_EnumBase.__new__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -4949,6 +5126,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(__pyx_self, __pyx_v_cls, __pyx_v_value, __pyx_v_name);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -4969,7 +5152,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(CYTHON_UNUSED PyObj
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__new__", 0);
+ __Pyx_RefNannySetupContext("__new__", 1);
/* "EnumBase":29
* class __Pyx_EnumBase(int, metaclass=__Pyx_EnumMeta):
@@ -4979,7 +5162,8 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(CYTHON_UNUSED PyObj
* return v
*/
if (likely(PyList_CheckExact(__pyx_v_cls)) || PyTuple_CheckExact(__pyx_v_cls)) {
- __pyx_t_1 = __pyx_v_cls; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+ __pyx_t_1 = __pyx_v_cls; __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_2 = 0;
__pyx_t_3 = NULL;
} else {
__pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_cls); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29, __pyx_L1_error)
@@ -4989,19 +5173,31 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(CYTHON_UNUSED PyObj
for (;;) {
if (likely(!__pyx_t_3)) {
if (likely(PyList_CheckExact(__pyx_t_1))) {
- if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 29, __pyx_L1_error)
+ #endif
+ if (__pyx_t_2 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 29, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
- if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 29, __pyx_L1_error)
+ #endif
+ if (__pyx_t_2 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 29, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
@@ -5110,7 +5306,8 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(CYTHON_UNUSED PyObj
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
@@ -5120,6 +5317,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(CYTHON_UNUSED PyObj
__pyx_t_7 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_cls, __pyx_v_value};
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7);
@@ -5222,18 +5420,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_self = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -5245,7 +5451,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -5260,10 +5469,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_self = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__repr__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 39, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_EnumBase.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -5271,6 +5488,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumBase_2__repr__(__pyx_self, __pyx_v_self);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5284,7 +5507,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_2__repr__(CYTHON_UNUSED PyO
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__repr__", 0);
+ __Pyx_RefNannySetupContext("__repr__", 1);
/* "EnumBase":40
* return res
@@ -5304,12 +5527,12 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_2__repr__(CYTHON_UNUSED PyO
__pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(1, 40, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(1, 40, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_self);
__Pyx_GIVEREF(__pyx_v_self);
- PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self)) __PYX_ERR(1, 40, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s_d, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40, __pyx_L1_error)
@@ -5366,18 +5589,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_self = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -5389,7 +5620,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -5404,10 +5638,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_self = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__str__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 41, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_EnumBase.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -5415,6 +5657,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_EnumBase_4__str__(__pyx_self, __pyx_v_self);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5428,7 +5676,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_4__str__(CYTHON_UNUSED PyOb
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__str__", 0);
+ __Pyx_RefNannySetupContext("__str__", 1);
/* "EnumBase":42
* return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
@@ -5448,9 +5696,9 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_4__str__(CYTHON_UNUSED PyOb
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 42, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(1, 42, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(1, 42, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42, __pyx_L1_error)
@@ -5509,19 +5757,27 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
PyObject *__pyx_v_value = 0;
PyObject *__pyx_v_name = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[3] = {0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__new__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cls,&__pyx_n_s_value,&__pyx_n_s_name,0};
- PyObject* values[3] = {0,0,0};
- values[2] = ((PyObject *)((PyObject *)Py_None));
+ values[2] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)Py_None));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -5537,12 +5793,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_cls)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_cls)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 49, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 49, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__new__", 0, 2, 3, 1); __PYX_ERR(1, 49, __pyx_L3_error)
@@ -5551,7 +5813,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name);
- if (value) { values[2] = value; kw_args--; }
+ if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 49, __pyx_L3_error)
}
}
@@ -5573,10 +5835,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_value = values[1];
__pyx_v_name = values[2];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__new__", 0, 2, 3, __pyx_nargs); __PYX_ERR(1, 49, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_FlagBase.__new__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -5584,6 +5854,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(__pyx_self, __pyx_v_cls, __pyx_v_value, __pyx_v_name);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5604,7 +5880,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(CYTHON_UNUSED PyObj
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__new__", 0);
+ __Pyx_RefNannySetupContext("__new__", 1);
/* "EnumBase":50
* class __Pyx_FlagBase(int, metaclass=__Pyx_EnumMeta):
@@ -5614,7 +5890,8 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(CYTHON_UNUSED PyObj
* return v
*/
if (likely(PyList_CheckExact(__pyx_v_cls)) || PyTuple_CheckExact(__pyx_v_cls)) {
- __pyx_t_1 = __pyx_v_cls; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+ __pyx_t_1 = __pyx_v_cls; __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_2 = 0;
__pyx_t_3 = NULL;
} else {
__pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_cls); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 50, __pyx_L1_error)
@@ -5624,19 +5901,31 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(CYTHON_UNUSED PyObj
for (;;) {
if (likely(!__pyx_t_3)) {
if (likely(PyList_CheckExact(__pyx_t_1))) {
- if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 50, __pyx_L1_error)
+ #endif
+ if (__pyx_t_2 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 50, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 50, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
- if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ {
+ Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
+ #if !CYTHON_ASSUME_SAFE_MACROS
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 50, __pyx_L1_error)
+ #endif
+ if (__pyx_t_2 >= __pyx_temp) break;
+ }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 50, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 50, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
@@ -5710,7 +5999,8 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(CYTHON_UNUSED PyObj
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
@@ -5720,6 +6010,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase___new__(CYTHON_UNUSED PyObj
__pyx_t_7 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_cls, __pyx_v_value};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7);
@@ -5854,18 +6145,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_self = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -5877,7 +6176,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 62, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -5892,10 +6194,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_self = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__repr__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 62, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_FlagBase.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -5903,6 +6213,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_FlagBase_2__repr__(__pyx_self, __pyx_v_self);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5916,7 +6232,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase_2__repr__(CYTHON_UNUSED PyO
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__repr__", 0);
+ __Pyx_RefNannySetupContext("__repr__", 1);
/* "EnumBase":63
* return res
@@ -5936,12 +6252,12 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase_2__repr__(CYTHON_UNUSED PyO
__pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 63, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(1, 63, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(1, 63, __pyx_L1_error);
__Pyx_INCREF(__pyx_v_self);
__Pyx_GIVEREF(__pyx_v_self);
- PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self)) __PYX_ERR(1, 63, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s_d, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 63, __pyx_L1_error)
@@ -5998,18 +6314,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_self = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6021,7 +6345,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 64, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -6036,10 +6363,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_self = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__str__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 64, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__Pyx_FlagBase.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6047,6 +6382,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase_14__Pyx_FlagBase_4__str__(__pyx_self, __pyx_v_self);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6060,7 +6401,7 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase_4__str__(CYTHON_UNUSED PyOb
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__str__", 0);
+ __Pyx_RefNannySetupContext("__str__", 1);
/* "EnumBase":65
* return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
@@ -6080,9 +6421,9 @@ static PyObject *__pyx_pf_8EnumBase_14__Pyx_FlagBase_4__str__(CYTHON_UNUSED PyOb
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(1, 65, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)) __PYX_ERR(1, 65, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 65, __pyx_L1_error)
@@ -6139,18 +6480,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
long __pyx_v___pyx_checksum;
PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[3] = {0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__pyx_unpickle___Pyx_EnumMeta (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
- PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6166,19 +6515,28 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_type)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_type)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_checksum)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__pyx_unpickle___Pyx_EnumMeta", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
- if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("__pyx_unpickle___Pyx_EnumMeta", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
@@ -6199,10 +6557,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
__pyx_v___pyx_state = values[2];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__pyx_unpickle___Pyx_EnumMeta", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 1, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("EnumBase.__pyx_unpickle___Pyx_EnumMeta", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6210,6 +6576,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_8EnumBase___pyx_unpickle___Pyx_EnumMeta(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6227,7 +6599,7 @@ static PyObject *__pyx_pf_8EnumBase___pyx_unpickle___Pyx_EnumMeta(CYTHON_UNUSED
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_unpickle___Pyx_EnumMeta", 0);
+ __Pyx_RefNannySetupContext("__pyx_unpickle___Pyx_EnumMeta", 1);
/* "(tree fragment)":4
* cdef object __pyx_PickleError
@@ -6253,7 +6625,7 @@ static PyObject *__pyx_pf_8EnumBase___pyx_unpickle___Pyx_EnumMeta(CYTHON_UNUSED
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_PickleError);
__Pyx_GIVEREF(__pyx_n_s_PickleError);
- PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError)) __PYX_ERR(1, 5, __pyx_L1_error);
__pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -6300,7 +6672,8 @@ static PyObject *__pyx_pf_8EnumBase___pyx_unpickle___Pyx_EnumMeta(CYTHON_UNUSED
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
@@ -6310,6 +6683,7 @@ static PyObject *__pyx_pf_8EnumBase___pyx_unpickle___Pyx_EnumMeta(CYTHON_UNUSED
__pyx_t_5 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v___pyx_type};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
@@ -6407,7 +6781,7 @@ static PyObject *__pyx_unpickle___Pyx_EnumMeta__set_state(struct __pyx_obj___Pyx
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__pyx_unpickle___Pyx_EnumMeta__set_state", 0);
+ __Pyx_RefNannySetupContext("__pyx_unpickle___Pyx_EnumMeta__set_state", 1);
/* "(tree fragment)":12
* return __pyx_result
@@ -6419,7 +6793,7 @@ static PyObject *__pyx_unpickle___Pyx_EnumMeta__set_state(struct __pyx_obj___Pyx
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
__PYX_ERR(1, 12, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
__pyx_t_3 = (__pyx_t_2 > 0);
if (__pyx_t_3) {
} else {
@@ -6449,7 +6823,8 @@ static PyObject *__pyx_unpickle___Pyx_EnumMeta__set_state(struct __pyx_obj___Pyx
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = NULL;
__pyx_t_8 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
@@ -6459,6 +6834,7 @@ static PyObject *__pyx_unpickle___Pyx_EnumMeta__set_state(struct __pyx_obj___Pyx
__pyx_t_8 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
@@ -6502,7 +6878,7 @@ static PyObject *__pyx_unpickle___Pyx_EnumMeta__set_state(struct __pyx_obj___Pyx
return __pyx_r;
}
-/* "common/params_pyx.pyx":29
+/* "common/params_pyx.pyx":31
*
*
* def ensure_bytes(v): # <<<<<<<<<<<<<<
@@ -6528,18 +6904,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_v = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ensure_bytes (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_v,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6551,13 +6935,16 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_v)) != 0)) kw_args--;
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 29, __pyx_L3_error)
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_v)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 31, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "ensure_bytes") < 0)) __PYX_ERR(0, 29, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "ensure_bytes") < 0)) __PYX_ERR(0, 31, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
@@ -6566,10 +6953,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_v = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("ensure_bytes", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 29, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("ensure_bytes", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 31, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.params_pyx.ensure_bytes", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6577,6 +6972,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_10params_pyx_ensure_bytes(__pyx_self, __pyx_v_v);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6593,9 +6994,9 @@ static PyObject *__pyx_pf_6common_10params_pyx_ensure_bytes(CYTHON_UNUSED PyObje
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("ensure_bytes", 0);
+ __Pyx_RefNannySetupContext("ensure_bytes", 1);
- /* "common/params_pyx.pyx":30
+ /* "common/params_pyx.pyx":32
*
* def ensure_bytes(v):
* return v.encode() if isinstance(v, str) else v; # <<<<<<<<<<<<<<
@@ -6605,11 +7006,12 @@ static PyObject *__pyx_pf_6common_10params_pyx_ensure_bytes(CYTHON_UNUSED PyObje
__Pyx_XDECREF(__pyx_r);
__pyx_t_2 = PyUnicode_Check(__pyx_v_v);
if (__pyx_t_2) {
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
__pyx_t_6 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
@@ -6619,11 +7021,12 @@ static PyObject *__pyx_pf_6common_10params_pyx_ensure_bytes(CYTHON_UNUSED PyObje
__pyx_t_6 = 1;
}
}
+ #endif
{
- PyObject *__pyx_callargs[1] = {__pyx_t_5, };
+ PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
@@ -6637,7 +7040,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_ensure_bytes(CYTHON_UNUSED PyObje
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "common/params_pyx.pyx":29
+ /* "common/params_pyx.pyx":31
*
*
* def ensure_bytes(v): # <<<<<<<<<<<<<<
@@ -6659,7 +7062,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_ensure_bytes(CYTHON_UNUSED PyObje
return __pyx_r;
}
-/* "common/params_pyx.pyx":38
+/* "common/params_pyx.pyx":40
* cdef c_Params* p
*
* def __cinit__(self, d=""): # <<<<<<<<<<<<<<
@@ -6671,18 +7074,24 @@ static PyObject *__pyx_pf_6common_10params_pyx_ensure_bytes(CYTHON_UNUSED PyObje
static int __pyx_pw_6common_10params_pyx_6Params_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_6common_10params_pyx_6Params_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_d = 0;
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_d,0};
- PyObject* values[1] = {0};
- values[0] = ((PyObject *)__pyx_kp_u_);
+ values[0] = __Pyx_Arg_NewRef_VARARGS(((PyObject *)__pyx_kp_u_));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6696,13 +7105,13 @@ static int __pyx_pw_6common_10params_pyx_6Params_1__cinit__(PyObject *__pyx_v_se
case 0:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d);
- if (value) { values[0] = value; kw_args--; }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 38, __pyx_L3_error)
+ if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 40, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(0, 38, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(0, 40, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
@@ -6714,10 +7123,18 @@ static int __pyx_pw_6common_10params_pyx_6Params_1__cinit__(PyObject *__pyx_v_se
}
__pyx_v_d = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 38, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 40, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.params_pyx.Params.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
@@ -6725,6 +7142,12 @@ static int __pyx_pw_6common_10params_pyx_6Params_1__cinit__(PyObject *__pyx_v_se
__pyx_r = __pyx_pf_6common_10params_pyx_6Params___cinit__(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v_d);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6742,20 +7165,21 @@ static int __pyx_pf_6common_10params_pyx_6Params___cinit__(struct __pyx_obj_6com
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__cinit__", 0);
+ __Pyx_RefNannySetupContext("__cinit__", 1);
- /* "common/params_pyx.pyx":39
+ /* "common/params_pyx.pyx":41
*
* def __cinit__(self, d=""):
* cdef string path = d.encode() # <<<<<<<<<<<<<<
* with nogil:
* self.p = new c_Params(path)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_d, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_d, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
@@ -6765,19 +7189,20 @@ static int __pyx_pf_6common_10params_pyx_6Params___cinit__(struct __pyx_obj_6com
__pyx_t_4 = 1;
}
}
+ #endif
{
- PyObject *__pyx_callargs[1] = {__pyx_t_3, };
+ PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 39, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 39, __pyx_L1_error)
+ __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_path = ((std::string)__pyx_t_5);
- /* "common/params_pyx.pyx":40
+ /* "common/params_pyx.pyx":42
* def __cinit__(self, d=""):
* cdef string path = d.encode()
* with nogil: # <<<<<<<<<<<<<<
@@ -6793,7 +7218,7 @@ static int __pyx_pf_6common_10params_pyx_6Params___cinit__(struct __pyx_obj_6com
#endif
/*try:*/ {
- /* "common/params_pyx.pyx":41
+ /* "common/params_pyx.pyx":43
* cdef string path = d.encode()
* with nogil:
* self.p = new c_Params(path) # <<<<<<<<<<<<<<
@@ -6810,12 +7235,12 @@ static int __pyx_pf_6common_10params_pyx_6Params___cinit__(struct __pyx_obj_6com
#ifdef WITH_THREAD
__Pyx_PyGILState_Release(__pyx_gilstate_save);
#endif
- __PYX_ERR(0, 41, __pyx_L4_error)
+ __PYX_ERR(0, 43, __pyx_L4_error)
}
__pyx_v_self->p = __pyx_t_6;
}
- /* "common/params_pyx.pyx":40
+ /* "common/params_pyx.pyx":42
* def __cinit__(self, d=""):
* cdef string path = d.encode()
* with nogil: # <<<<<<<<<<<<<<
@@ -6841,7 +7266,7 @@ static int __pyx_pf_6common_10params_pyx_6Params___cinit__(struct __pyx_obj_6com
}
}
- /* "common/params_pyx.pyx":38
+ /* "common/params_pyx.pyx":40
* cdef c_Params* p
*
* def __cinit__(self, d=""): # <<<<<<<<<<<<<<
@@ -6863,7 +7288,7 @@ static int __pyx_pf_6common_10params_pyx_6Params___cinit__(struct __pyx_obj_6com
return __pyx_r;
}
-/* "common/params_pyx.pyx":43
+/* "common/params_pyx.pyx":45
* self.p = new c_Params(path)
*
* def __dealloc__(self): # <<<<<<<<<<<<<<
@@ -6874,9 +7299,10 @@ static int __pyx_pf_6common_10params_pyx_6Params___cinit__(struct __pyx_obj_6com
/* Python wrapper */
static void __pyx_pw_6common_10params_pyx_6Params_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_6common_10params_pyx_6Params_3__dealloc__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_pf_6common_10params_pyx_6Params_2__dealloc__(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self));
/* function exit code */
@@ -6884,10 +7310,8 @@ static void __pyx_pw_6common_10params_pyx_6Params_3__dealloc__(PyObject *__pyx_v
}
static void __pyx_pf_6common_10params_pyx_6Params_2__dealloc__(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__dealloc__", 0);
- /* "common/params_pyx.pyx":44
+ /* "common/params_pyx.pyx":46
*
* def __dealloc__(self):
* del self.p # <<<<<<<<<<<<<<
@@ -6896,7 +7320,7 @@ static void __pyx_pf_6common_10params_pyx_6Params_2__dealloc__(struct __pyx_obj_
*/
delete __pyx_v_self->p;
- /* "common/params_pyx.pyx":43
+ /* "common/params_pyx.pyx":45
* self.p = new c_Params(path)
*
* def __dealloc__(self): # <<<<<<<<<<<<<<
@@ -6905,10 +7329,9 @@ static void __pyx_pf_6common_10params_pyx_6Params_2__dealloc__(struct __pyx_obj_
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
-/* "common/params_pyx.pyx":46
+/* "common/params_pyx.pyx":48
* del self.p
*
* def clear_all(self, tx_type=ParamKeyType.ALL): # <<<<<<<<<<<<<<
@@ -6934,19 +7357,27 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_tx_type = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clear_all (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_tx_type,0};
- PyObject* values[1] = {0};
- values[0] = __pyx_k__4;
+ values[0] = __Pyx_Arg_NewRef_FASTCALL(__pyx_k__4);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6960,13 +7391,13 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
case 0:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tx_type);
- if (value) { values[0] = value; kw_args--; }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 46, __pyx_L3_error)
+ if (value) { values[0] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "clear_all") < 0)) __PYX_ERR(0, 46, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "clear_all") < 0)) __PYX_ERR(0, 48, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
@@ -6978,10 +7409,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_tx_type = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("clear_all", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 46, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("clear_all", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 48, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.params_pyx.Params.clear_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6989,6 +7428,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_10params_pyx_6Params_4clear_all(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v_tx_type);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7000,19 +7445,19 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_4clear_all(struct __pyx_o
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("clear_all", 0);
+ __Pyx_RefNannySetupContext("clear_all", 1);
- /* "common/params_pyx.pyx":47
+ /* "common/params_pyx.pyx":49
*
* def clear_all(self, tx_type=ParamKeyType.ALL):
* self.p.clearAll(tx_type) # <<<<<<<<<<<<<<
*
* def check_key(self, key):
*/
- __pyx_t_1 = ((enum ParamKeyType)__Pyx_PyInt_As_enum__ParamKeyType(__pyx_v_tx_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 47, __pyx_L1_error)
+ __pyx_t_1 = ((enum ParamKeyType)__Pyx_PyInt_As_enum__ParamKeyType(__pyx_v_tx_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 49, __pyx_L1_error)
__pyx_v_self->p->clearAll(__pyx_t_1);
- /* "common/params_pyx.pyx":46
+ /* "common/params_pyx.pyx":48
* del self.p
*
* def clear_all(self, tx_type=ParamKeyType.ALL): # <<<<<<<<<<<<<<
@@ -7032,7 +7477,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_4clear_all(struct __pyx_o
return __pyx_r;
}
-/* "common/params_pyx.pyx":49
+/* "common/params_pyx.pyx":51
* self.p.clearAll(tx_type)
*
* def check_key(self, key): # <<<<<<<<<<<<<<
@@ -7058,18 +7503,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_key = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("check_key (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7081,13 +7534,16 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) kw_args--;
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 49, __pyx_L3_error)
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "check_key") < 0)) __PYX_ERR(0, 49, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "check_key") < 0)) __PYX_ERR(0, 51, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
@@ -7096,10 +7552,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_key = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("check_key", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 49, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("check_key", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 51, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.params_pyx.Params.check_key", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7107,6 +7571,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_10params_pyx_6Params_6check_key(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v_key);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7126,18 +7596,19 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_6check_key(struct __pyx_o
__Pyx_RefNannySetupContext("check_key", 0);
__Pyx_INCREF(__pyx_v_key);
- /* "common/params_pyx.pyx":50
+ /* "common/params_pyx.pyx":52
*
* def check_key(self, key):
* key = ensure_bytes(key) # <<<<<<<<<<<<<<
* if not self.p.checkKey(key):
* raise UnknownKeyName(key)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ensure_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ensure_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
@@ -7147,40 +7618,42 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_6check_key(struct __pyx_o
__pyx_t_4 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_key};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_DECREF_SET(__pyx_v_key, __pyx_t_1);
__pyx_t_1 = 0;
- /* "common/params_pyx.pyx":51
+ /* "common/params_pyx.pyx":53
* def check_key(self, key):
* key = ensure_bytes(key)
* if not self.p.checkKey(key): # <<<<<<<<<<<<<<
* raise UnknownKeyName(key)
* return key
*/
- __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_v_key); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error)
+ __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_v_key); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 53, __pyx_L1_error)
__pyx_t_6 = (!(__pyx_v_self->p->checkKey(__PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_5)) != 0));
if (unlikely(__pyx_t_6)) {
- /* "common/params_pyx.pyx":52
+ /* "common/params_pyx.pyx":54
* key = ensure_bytes(key)
* if not self.p.checkKey(key):
* raise UnknownKeyName(key) # <<<<<<<<<<<<<<
* return key
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_UnknownKeyName); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 52, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_UnknownKeyName); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 54, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
@@ -7190,19 +7663,20 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_6check_key(struct __pyx_o
__pyx_t_4 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_key};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(0, 52, __pyx_L1_error)
+ __PYX_ERR(0, 54, __pyx_L1_error)
- /* "common/params_pyx.pyx":51
+ /* "common/params_pyx.pyx":53
* def check_key(self, key):
* key = ensure_bytes(key)
* if not self.p.checkKey(key): # <<<<<<<<<<<<<<
@@ -7211,7 +7685,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_6check_key(struct __pyx_o
*/
}
- /* "common/params_pyx.pyx":53
+ /* "common/params_pyx.pyx":55
* if not self.p.checkKey(key):
* raise UnknownKeyName(key)
* return key # <<<<<<<<<<<<<<
@@ -7223,7 +7697,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_6check_key(struct __pyx_o
__pyx_r = __pyx_v_key;
goto __pyx_L0;
- /* "common/params_pyx.pyx":49
+ /* "common/params_pyx.pyx":51
* self.p.clearAll(tx_type)
*
* def check_key(self, key): # <<<<<<<<<<<<<<
@@ -7245,7 +7719,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_6check_key(struct __pyx_o
return __pyx_r;
}
-/* "common/params_pyx.pyx":55
+/* "common/params_pyx.pyx":57
* return key
*
* def get(self, key, bool block=False, encoding=None): # <<<<<<<<<<<<<<
@@ -7273,19 +7747,27 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
bool __pyx_v_block;
PyObject *__pyx_v_encoding = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[3] = {0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_block,&__pyx_n_s_encoding,0};
- PyObject* values[3] = {0,0,0};
- values[2] = ((PyObject *)Py_None);
+ values[2] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)Py_None));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7301,27 +7783,30 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) kw_args--;
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 55, __pyx_L3_error)
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 57, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_block);
- if (value) { values[1] = value; kw_args--; }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 55, __pyx_L3_error)
+ if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 57, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_encoding);
- if (value) { values[2] = value; kw_args--; }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 55, __pyx_L3_error)
+ if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 57, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "get") < 0)) __PYX_ERR(0, 55, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "get") < 0)) __PYX_ERR(0, 57, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
@@ -7336,16 +7821,24 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_key = values[0];
if (values[1]) {
- __pyx_v_block = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_block == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 55, __pyx_L3_error)
+ __pyx_v_block = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_block == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 57, __pyx_L3_error)
} else {
__pyx_v_block = ((bool)0);
}
__pyx_v_encoding = values[2];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("get", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 55, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("get", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 57, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.params_pyx.Params.get", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7353,6 +7846,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_10params_pyx_6Params_8get(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v_key, __pyx_v_block, __pyx_v_encoding);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7372,20 +7871,21 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("get", 0);
+ __Pyx_RefNannySetupContext("get", 1);
- /* "common/params_pyx.pyx":56
+ /* "common/params_pyx.pyx":58
*
* def get(self, key, bool block=False, encoding=None):
* cdef string k = self.check_key(key) # <<<<<<<<<<<<<<
* cdef string val
* with nogil:
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 58, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
@@ -7395,19 +7895,20 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
__pyx_t_4 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_key};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 58, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 56, __pyx_L1_error)
+ __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_k = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_5);
- /* "common/params_pyx.pyx":58
+ /* "common/params_pyx.pyx":60
* cdef string k = self.check_key(key)
* cdef string val
* with nogil: # <<<<<<<<<<<<<<
@@ -7423,7 +7924,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
#endif
/*try:*/ {
- /* "common/params_pyx.pyx":59
+ /* "common/params_pyx.pyx":61
* cdef string val
* with nogil:
* val = self.p.get(k, block) # <<<<<<<<<<<<<<
@@ -7433,7 +7934,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
__pyx_v_val = __pyx_v_self->p->get(__pyx_v_k, __pyx_v_block);
}
- /* "common/params_pyx.pyx":58
+ /* "common/params_pyx.pyx":60
* cdef string k = self.check_key(key)
* cdef string val
* with nogil: # <<<<<<<<<<<<<<
@@ -7452,7 +7953,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
}
}
- /* "common/params_pyx.pyx":61
+ /* "common/params_pyx.pyx":63
* val = self.p.get(k, block)
*
* if val == b"": # <<<<<<<<<<<<<<
@@ -7462,7 +7963,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
__pyx_t_6 = (__pyx_v_val == ((char const *)""));
if (__pyx_t_6) {
- /* "common/params_pyx.pyx":62
+ /* "common/params_pyx.pyx":64
*
* if val == b"":
* if block: # <<<<<<<<<<<<<<
@@ -7472,7 +7973,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
__pyx_t_6 = (__pyx_v_block != 0);
if (unlikely(__pyx_t_6)) {
- /* "common/params_pyx.pyx":65
+ /* "common/params_pyx.pyx":67
* # If we got no value while running in blocked mode
* # it means we got an interrupt while waiting
* raise KeyboardInterrupt # <<<<<<<<<<<<<<
@@ -7480,9 +7981,9 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
* return None
*/
__Pyx_Raise(__pyx_builtin_KeyboardInterrupt, 0, 0, 0);
- __PYX_ERR(0, 65, __pyx_L1_error)
+ __PYX_ERR(0, 67, __pyx_L1_error)
- /* "common/params_pyx.pyx":62
+ /* "common/params_pyx.pyx":64
*
* if val == b"":
* if block: # <<<<<<<<<<<<<<
@@ -7491,7 +7992,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
*/
}
- /* "common/params_pyx.pyx":67
+ /* "common/params_pyx.pyx":69
* raise KeyboardInterrupt
* else:
* return None # <<<<<<<<<<<<<<
@@ -7504,7 +8005,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
goto __pyx_L0;
}
- /* "common/params_pyx.pyx":61
+ /* "common/params_pyx.pyx":63
* val = self.p.get(k, block)
*
* if val == b"": # <<<<<<<<<<<<<<
@@ -7513,7 +8014,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
*/
}
- /* "common/params_pyx.pyx":69
+ /* "common/params_pyx.pyx":71
* return None
*
* return val if encoding is None else val.decode(encoding) # <<<<<<<<<<<<<<
@@ -7523,19 +8024,20 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
__Pyx_XDECREF(__pyx_r);
__pyx_t_6 = (__pyx_v_encoding == Py_None);
if (__pyx_t_6) {
- __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_val); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 69, __pyx_L1_error)
+ __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_val); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __pyx_t_2;
__pyx_t_2 = 0;
} else {
- __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_val); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error)
+ __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_val); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_decode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 69, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_decode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 71, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
@@ -7545,11 +8047,12 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
__pyx_t_4 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_encoding};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 69, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
@@ -7560,7 +8063,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "common/params_pyx.pyx":55
+ /* "common/params_pyx.pyx":57
* return key
*
* def get(self, key, bool block=False, encoding=None): # <<<<<<<<<<<<<<
@@ -7582,7 +8085,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_8get(struct __pyx_obj_6co
return __pyx_r;
}
-/* "common/params_pyx.pyx":71
+/* "common/params_pyx.pyx":73
* return val if encoding is None else val.decode(encoding)
*
* def get_bool(self, key, bool block=False): # <<<<<<<<<<<<<<
@@ -7609,18 +8112,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
PyObject *__pyx_v_key = 0;
bool __pyx_v_block;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[2] = {0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_bool (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_block,0};
- PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7634,20 +8145,23 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) kw_args--;
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 71, __pyx_L3_error)
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 73, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_block);
- if (value) { values[1] = value; kw_args--; }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 71, __pyx_L3_error)
+ if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 73, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "get_bool") < 0)) __PYX_ERR(0, 71, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "get_bool") < 0)) __PYX_ERR(0, 73, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
@@ -7660,15 +8174,23 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_key = values[0];
if (values[1]) {
- __pyx_v_block = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_block == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 71, __pyx_L3_error)
+ __pyx_v_block = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_block == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 73, __pyx_L3_error)
} else {
__pyx_v_block = ((bool)0);
}
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("get_bool", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 71, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("get_bool", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 73, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.params_pyx.Params.get_bool", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7676,6 +8198,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_10params_pyx_6Params_10get_bool(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v_key, __pyx_v_block);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7693,20 +8221,21 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_10get_bool(struct __pyx_o
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("get_bool", 0);
+ __Pyx_RefNannySetupContext("get_bool", 1);
- /* "common/params_pyx.pyx":72
+ /* "common/params_pyx.pyx":74
*
* def get_bool(self, key, bool block=False):
* cdef string k = self.check_key(key) # <<<<<<<<<<<<<<
* cdef bool r
* with nogil:
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 72, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 74, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
@@ -7716,19 +8245,20 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_10get_bool(struct __pyx_o
__pyx_t_4 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_key};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L1_error)
+ __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_k = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_5);
- /* "common/params_pyx.pyx":74
+ /* "common/params_pyx.pyx":76
* cdef string k = self.check_key(key)
* cdef bool r
* with nogil: # <<<<<<<<<<<<<<
@@ -7744,7 +8274,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_10get_bool(struct __pyx_o
#endif
/*try:*/ {
- /* "common/params_pyx.pyx":75
+ /* "common/params_pyx.pyx":77
* cdef bool r
* with nogil:
* r = self.p.getBool(k, block) # <<<<<<<<<<<<<<
@@ -7754,7 +8284,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_10get_bool(struct __pyx_o
__pyx_v_r = __pyx_v_self->p->getBool(__pyx_v_k, __pyx_v_block);
}
- /* "common/params_pyx.pyx":74
+ /* "common/params_pyx.pyx":76
* cdef string k = self.check_key(key)
* cdef bool r
* with nogil: # <<<<<<<<<<<<<<
@@ -7773,7 +8303,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_10get_bool(struct __pyx_o
}
}
- /* "common/params_pyx.pyx":76
+ /* "common/params_pyx.pyx":78
* with nogil:
* r = self.p.getBool(k, block)
* return r # <<<<<<<<<<<<<<
@@ -7781,13 +8311,13 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_10get_bool(struct __pyx_o
* def put(self, key, dat):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_r); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_r); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 78, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "common/params_pyx.pyx":71
+ /* "common/params_pyx.pyx":73
* return val if encoding is None else val.decode(encoding)
*
* def get_bool(self, key, bool block=False): # <<<<<<<<<<<<<<
@@ -7808,7 +8338,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_10get_bool(struct __pyx_o
return __pyx_r;
}
-/* "common/params_pyx.pyx":78
+/* "common/params_pyx.pyx":80
* return r
*
* def put(self, key, dat): # <<<<<<<<<<<<<<
@@ -7824,7 +8354,7 @@ PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
-PyDoc_STRVAR(__pyx_doc_6common_10params_pyx_6Params_12put, "\n Warning: This function blocks until the param is written to disk!\n In very rare cases this can take over a second, and your code will hang.\n Use the put_nonblocking helper function in time sensitive code, but\n in general try to avoid writing params as much as possible.\n ");
+PyDoc_STRVAR(__pyx_doc_6common_10params_pyx_6Params_12put, "\n Warning: This function blocks until the param is written to disk!\n In very rare cases this can take over a second, and your code will hang.\n Use the put_nonblocking, put_bool_nonblocking in time sensitive code, but\n in general try to avoid writing params as much as possible.\n ");
static PyMethodDef __pyx_mdef_6common_10params_pyx_6Params_13put = {"put", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_13put, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6common_10params_pyx_6Params_12put};
static PyObject *__pyx_pw_6common_10params_pyx_6Params_13put(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
@@ -7836,18 +8366,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
PyObject *__pyx_v_key = 0;
PyObject *__pyx_v_dat = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[2] = {0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("put (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_dat,0};
- PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7861,20 +8399,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) kw_args--;
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 78, __pyx_L3_error)
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 80, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dat)) != 0)) kw_args--;
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 78, __pyx_L3_error)
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dat)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 80, __pyx_L3_error)
else {
- __Pyx_RaiseArgtupleInvalid("put", 1, 2, 2, 1); __PYX_ERR(0, 78, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("put", 1, 2, 2, 1); __PYX_ERR(0, 80, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "put") < 0)) __PYX_ERR(0, 78, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "put") < 0)) __PYX_ERR(0, 80, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
@@ -7885,10 +8429,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_key = values[0];
__pyx_v_dat = values[1];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("put", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 78, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("put", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 80, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.params_pyx.Params.put", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7896,6 +8448,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_10params_pyx_6Params_12put(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v_key, __pyx_v_dat);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7913,20 +8471,21 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_12put(struct __pyx_obj_6c
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("put", 0);
+ __Pyx_RefNannySetupContext("put", 1);
- /* "common/params_pyx.pyx":85
+ /* "common/params_pyx.pyx":87
* in general try to avoid writing params as much as possible.
* """
* cdef string k = self.check_key(key) # <<<<<<<<<<<<<<
* cdef string dat_bytes = ensure_bytes(dat)
* with nogil:
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 85, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 87, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
@@ -7936,30 +8495,32 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_12put(struct __pyx_obj_6c
__pyx_t_4 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_key};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L1_error)
+ __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 87, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_k = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_5);
- /* "common/params_pyx.pyx":86
+ /* "common/params_pyx.pyx":88
* """
* cdef string k = self.check_key(key)
* cdef string dat_bytes = ensure_bytes(dat) # <<<<<<<<<<<<<<
* with nogil:
* self.p.put(k, dat_bytes)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ensure_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 86, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ensure_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 88, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
@@ -7969,19 +8530,20 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_12put(struct __pyx_obj_6c
__pyx_t_4 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dat};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 86, __pyx_L1_error)
+ __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_dat_bytes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_5);
- /* "common/params_pyx.pyx":87
+ /* "common/params_pyx.pyx":89
* cdef string k = self.check_key(key)
* cdef string dat_bytes = ensure_bytes(dat)
* with nogil: # <<<<<<<<<<<<<<
@@ -7997,7 +8559,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_12put(struct __pyx_obj_6c
#endif
/*try:*/ {
- /* "common/params_pyx.pyx":88
+ /* "common/params_pyx.pyx":90
* cdef string dat_bytes = ensure_bytes(dat)
* with nogil:
* self.p.put(k, dat_bytes) # <<<<<<<<<<<<<<
@@ -8007,7 +8569,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_12put(struct __pyx_obj_6c
(void)(__pyx_v_self->p->put(__pyx_v_k, __pyx_v_dat_bytes));
}
- /* "common/params_pyx.pyx":87
+ /* "common/params_pyx.pyx":89
* cdef string k = self.check_key(key)
* cdef string dat_bytes = ensure_bytes(dat)
* with nogil: # <<<<<<<<<<<<<<
@@ -8026,7 +8588,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_12put(struct __pyx_obj_6c
}
}
- /* "common/params_pyx.pyx":78
+ /* "common/params_pyx.pyx":80
* return r
*
* def put(self, key, dat): # <<<<<<<<<<<<<<
@@ -8049,7 +8611,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_12put(struct __pyx_obj_6c
return __pyx_r;
}
-/* "common/params_pyx.pyx":90
+/* "common/params_pyx.pyx":92
* self.p.put(k, dat_bytes)
*
* def put_bool(self, key, bool val): # <<<<<<<<<<<<<<
@@ -8076,18 +8638,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
PyObject *__pyx_v_key = 0;
bool __pyx_v_val;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[2] = {0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("put_bool (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_val,0};
- PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -8101,20 +8671,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) kw_args--;
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 90, __pyx_L3_error)
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 92, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_val)) != 0)) kw_args--;
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 90, __pyx_L3_error)
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_val)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 92, __pyx_L3_error)
else {
- __Pyx_RaiseArgtupleInvalid("put_bool", 1, 2, 2, 1); __PYX_ERR(0, 90, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("put_bool", 1, 2, 2, 1); __PYX_ERR(0, 92, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "put_bool") < 0)) __PYX_ERR(0, 90, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "put_bool") < 0)) __PYX_ERR(0, 92, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
@@ -8123,12 +8699,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_key = values[0];
- __pyx_v_val = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_val == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 90, __pyx_L3_error)
+ __pyx_v_val = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_val == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 92, __pyx_L3_error)
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("put_bool", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 90, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("put_bool", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 92, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.params_pyx.Params.put_bool", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -8136,6 +8720,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_10params_pyx_6Params_14put_bool(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v_key, __pyx_v_val);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -8152,20 +8742,21 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_14put_bool(struct __pyx_o
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("put_bool", 0);
+ __Pyx_RefNannySetupContext("put_bool", 1);
- /* "common/params_pyx.pyx":91
+ /* "common/params_pyx.pyx":93
*
* def put_bool(self, key, bool val):
* cdef string k = self.check_key(key) # <<<<<<<<<<<<<<
* with nogil:
* self.p.putBool(k, val)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 91, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 93, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
@@ -8175,19 +8766,20 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_14put_bool(struct __pyx_o
__pyx_t_4 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_key};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 91, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 91, __pyx_L1_error)
+ __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 93, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_k = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_5);
- /* "common/params_pyx.pyx":92
+ /* "common/params_pyx.pyx":94
* def put_bool(self, key, bool val):
* cdef string k = self.check_key(key)
* with nogil: # <<<<<<<<<<<<<<
@@ -8203,17 +8795,17 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_14put_bool(struct __pyx_o
#endif
/*try:*/ {
- /* "common/params_pyx.pyx":93
+ /* "common/params_pyx.pyx":95
* cdef string k = self.check_key(key)
* with nogil:
* self.p.putBool(k, val) # <<<<<<<<<<<<<<
*
- * def remove(self, key):
+ * def put_nonblocking(self, key, dat):
*/
(void)(__pyx_v_self->p->putBool(__pyx_v_k, __pyx_v_val));
}
- /* "common/params_pyx.pyx":92
+ /* "common/params_pyx.pyx":94
* def put_bool(self, key, bool val):
* cdef string k = self.check_key(key)
* with nogil: # <<<<<<<<<<<<<<
@@ -8232,7 +8824,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_14put_bool(struct __pyx_o
}
}
- /* "common/params_pyx.pyx":90
+ /* "common/params_pyx.pyx":92
* self.p.put(k, dat_bytes)
*
* def put_bool(self, key, bool val): # <<<<<<<<<<<<<<
@@ -8255,24 +8847,24 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_14put_bool(struct __pyx_o
return __pyx_r;
}
-/* "common/params_pyx.pyx":95
+/* "common/params_pyx.pyx":97
* self.p.putBool(k, val)
*
- * def remove(self, key): # <<<<<<<<<<<<<<
+ * def put_nonblocking(self, key, dat): # <<<<<<<<<<<<<<
* cdef string k = self.check_key(key)
- * with nogil:
+ * cdef string dat_bytes = ensure_bytes(dat)
*/
/* Python wrapper */
-static PyObject *__pyx_pw_6common_10params_pyx_6Params_17remove(PyObject *__pyx_v_self,
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_17put_nonblocking(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
-static PyMethodDef __pyx_mdef_6common_10params_pyx_6Params_17remove = {"remove", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_17remove, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
-static PyObject *__pyx_pw_6common_10params_pyx_6Params_17remove(PyObject *__pyx_v_self,
+static PyMethodDef __pyx_mdef_6common_10params_pyx_6Params_17put_nonblocking = {"put_nonblocking", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_17put_nonblocking, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_17put_nonblocking(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
@@ -8280,22 +8872,33 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_key = 0;
+ PyObject *__pyx_v_dat = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[2] = {0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("remove (wrapper)", 0);
+ __Pyx_RefNannySetupContext("put_nonblocking (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
- PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,0};
- PyObject* values[1] = {0};
+ PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_dat,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
+ case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
+ CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
@@ -8304,37 +8907,338 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) kw_args--;
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 95, __pyx_L3_error)
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
+ CYTHON_FALLTHROUGH;
+ case 1:
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dat)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
+ else {
+ __Pyx_RaiseArgtupleInvalid("put_nonblocking", 1, 2, 2, 1); __PYX_ERR(0, 97, __pyx_L3_error)
+ }
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "remove") < 0)) __PYX_ERR(0, 95, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "put_nonblocking") < 0)) __PYX_ERR(0, 97, __pyx_L3_error)
}
- } else if (unlikely(__pyx_nargs != 1)) {
+ } else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
+ values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_key = values[0];
+ __pyx_v_dat = values[1];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("remove", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 95, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("put_nonblocking", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 97, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
- __Pyx_AddTraceback("common.params_pyx.Params.remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
+ __Pyx_AddTraceback("common.params_pyx.Params.put_nonblocking", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_6common_10params_pyx_6Params_16remove(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v_key);
+ __pyx_r = __pyx_pf_6common_10params_pyx_6Params_16put_nonblocking(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v_key, __pyx_v_dat);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_6common_10params_pyx_6Params_16remove(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key) {
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_16put_nonblocking(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_dat) {
+ std::string __pyx_v_k;
+ std::string __pyx_v_dat_bytes;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ int __pyx_t_4;
+ std::string __pyx_t_5;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("put_nonblocking", 1);
+
+ /* "common/params_pyx.pyx":98
+ *
+ * def put_nonblocking(self, key, dat):
+ * cdef string k = self.check_key(key) # <<<<<<<<<<<<<<
+ * cdef string dat_bytes = ensure_bytes(dat)
+ * with nogil:
+ */
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 98, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = NULL;
+ __pyx_t_4 = 0;
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ #endif
+ {
+ PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_key};
+ __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ }
+ __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 98, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_v_k = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_5);
+
+ /* "common/params_pyx.pyx":99
+ * def put_nonblocking(self, key, dat):
+ * cdef string k = self.check_key(key)
+ * cdef string dat_bytes = ensure_bytes(dat) # <<<<<<<<<<<<<<
+ * with nogil:
+ * self.p.putNonBlocking(k, dat_bytes)
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ensure_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = NULL;
+ __pyx_t_4 = 0;
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ #endif
+ {
+ PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dat};
+ __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ }
+ __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 99, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_v_dat_bytes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_5);
+
+ /* "common/params_pyx.pyx":100
+ * cdef string k = self.check_key(key)
+ * cdef string dat_bytes = ensure_bytes(dat)
+ * with nogil: # <<<<<<<<<<<<<<
+ * self.p.putNonBlocking(k, dat_bytes)
+ *
+ */
+ {
+ #ifdef WITH_THREAD
+ PyThreadState *_save;
+ _save = NULL;
+ Py_UNBLOCK_THREADS
+ __Pyx_FastGIL_Remember();
+ #endif
+ /*try:*/ {
+
+ /* "common/params_pyx.pyx":101
+ * cdef string dat_bytes = ensure_bytes(dat)
+ * with nogil:
+ * self.p.putNonBlocking(k, dat_bytes) # <<<<<<<<<<<<<<
+ *
+ * def put_bool_nonblocking(self, key, bool val):
+ */
+ __pyx_v_self->p->putNonBlocking(__pyx_v_k, __pyx_v_dat_bytes);
+ }
+
+ /* "common/params_pyx.pyx":100
+ * cdef string k = self.check_key(key)
+ * cdef string dat_bytes = ensure_bytes(dat)
+ * with nogil: # <<<<<<<<<<<<<<
+ * self.p.putNonBlocking(k, dat_bytes)
+ *
+ */
+ /*finally:*/ {
+ /*normal exit:*/{
+ #ifdef WITH_THREAD
+ __Pyx_FastGIL_Forget();
+ Py_BLOCK_THREADS
+ #endif
+ goto __pyx_L5;
+ }
+ __pyx_L5:;
+ }
+ }
+
+ /* "common/params_pyx.pyx":97
+ * self.p.putBool(k, val)
+ *
+ * def put_nonblocking(self, key, dat): # <<<<<<<<<<<<<<
+ * cdef string k = self.check_key(key)
+ * cdef string dat_bytes = ensure_bytes(dat)
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("common.params_pyx.Params.put_nonblocking", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "common/params_pyx.pyx":103
+ * self.p.putNonBlocking(k, dat_bytes)
+ *
+ * def put_bool_nonblocking(self, key, bool val): # <<<<<<<<<<<<<<
+ * cdef string k = self.check_key(key)
+ * with nogil:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_19put_bool_nonblocking(PyObject *__pyx_v_self,
+#if CYTHON_METH_FASTCALL
+PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
+#else
+PyObject *__pyx_args, PyObject *__pyx_kwds
+#endif
+); /*proto*/
+static PyMethodDef __pyx_mdef_6common_10params_pyx_6Params_19put_bool_nonblocking = {"put_bool_nonblocking", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_19put_bool_nonblocking, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_19put_bool_nonblocking(PyObject *__pyx_v_self,
+#if CYTHON_METH_FASTCALL
+PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
+#else
+PyObject *__pyx_args, PyObject *__pyx_kwds
+#endif
+) {
+ PyObject *__pyx_v_key = 0;
+ bool __pyx_v_val;
+ #if !CYTHON_METH_FASTCALL
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ #endif
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[2] = {0,0};
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("put_bool_nonblocking (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ {
+ PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_val,0};
+ if (__pyx_kwds) {
+ Py_ssize_t kw_args;
+ switch (__pyx_nargs) {
+ case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
+ CYTHON_FALLTHROUGH;
+ case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
+ CYTHON_FALLTHROUGH;
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
+ switch (__pyx_nargs) {
+ case 0:
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 103, __pyx_L3_error)
+ else goto __pyx_L5_argtuple_error;
+ CYTHON_FALLTHROUGH;
+ case 1:
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_val)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 103, __pyx_L3_error)
+ else {
+ __Pyx_RaiseArgtupleInvalid("put_bool_nonblocking", 1, 2, 2, 1); __PYX_ERR(0, 103, __pyx_L3_error)
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ const Py_ssize_t kwd_pos_args = __pyx_nargs;
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "put_bool_nonblocking") < 0)) __PYX_ERR(0, 103, __pyx_L3_error)
+ }
+ } else if (unlikely(__pyx_nargs != 2)) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
+ values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
+ }
+ __pyx_v_key = values[0];
+ __pyx_v_val = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_val == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 103, __pyx_L3_error)
+ }
+ goto __pyx_L6_skip;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("put_bool_nonblocking", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 103, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
+ __Pyx_AddTraceback("common.params_pyx.Params.put_bool_nonblocking", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_6common_10params_pyx_6Params_18put_bool_nonblocking(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v_key, __pyx_v_val);
+
+ /* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_18put_bool_nonblocking(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key, bool __pyx_v_val) {
std::string __pyx_v_k;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
@@ -8346,20 +9250,21 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_16remove(struct __pyx_obj
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("remove", 0);
+ __Pyx_RefNannySetupContext("put_bool_nonblocking", 1);
- /* "common/params_pyx.pyx":96
+ /* "common/params_pyx.pyx":104
*
- * def remove(self, key):
+ * def put_bool_nonblocking(self, key, bool val):
* cdef string k = self.check_key(key) # <<<<<<<<<<<<<<
* with nogil:
- * self.p.remove(k)
+ * self.p.putBoolNonBlocking(k, val)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
@@ -8369,19 +9274,241 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_16remove(struct __pyx_obj
__pyx_t_4 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_key};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L1_error)
+ __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 104, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_k = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_5);
- /* "common/params_pyx.pyx":97
+ /* "common/params_pyx.pyx":105
+ * def put_bool_nonblocking(self, key, bool val):
+ * cdef string k = self.check_key(key)
+ * with nogil: # <<<<<<<<<<<<<<
+ * self.p.putBoolNonBlocking(k, val)
+ *
+ */
+ {
+ #ifdef WITH_THREAD
+ PyThreadState *_save;
+ _save = NULL;
+ Py_UNBLOCK_THREADS
+ __Pyx_FastGIL_Remember();
+ #endif
+ /*try:*/ {
+
+ /* "common/params_pyx.pyx":106
+ * cdef string k = self.check_key(key)
+ * with nogil:
+ * self.p.putBoolNonBlocking(k, val) # <<<<<<<<<<<<<<
+ *
+ * def remove(self, key):
+ */
+ __pyx_v_self->p->putBoolNonBlocking(__pyx_v_k, __pyx_v_val);
+ }
+
+ /* "common/params_pyx.pyx":105
+ * def put_bool_nonblocking(self, key, bool val):
+ * cdef string k = self.check_key(key)
+ * with nogil: # <<<<<<<<<<<<<<
+ * self.p.putBoolNonBlocking(k, val)
+ *
+ */
+ /*finally:*/ {
+ /*normal exit:*/{
+ #ifdef WITH_THREAD
+ __Pyx_FastGIL_Forget();
+ Py_BLOCK_THREADS
+ #endif
+ goto __pyx_L5;
+ }
+ __pyx_L5:;
+ }
+ }
+
+ /* "common/params_pyx.pyx":103
+ * self.p.putNonBlocking(k, dat_bytes)
+ *
+ * def put_bool_nonblocking(self, key, bool val): # <<<<<<<<<<<<<<
+ * cdef string k = self.check_key(key)
+ * with nogil:
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("common.params_pyx.Params.put_bool_nonblocking", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "common/params_pyx.pyx":108
+ * self.p.putBoolNonBlocking(k, val)
+ *
+ * def remove(self, key): # <<<<<<<<<<<<<<
+ * cdef string k = self.check_key(key)
+ * with nogil:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_21remove(PyObject *__pyx_v_self,
+#if CYTHON_METH_FASTCALL
+PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
+#else
+PyObject *__pyx_args, PyObject *__pyx_kwds
+#endif
+); /*proto*/
+static PyMethodDef __pyx_mdef_6common_10params_pyx_6Params_21remove = {"remove", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_21remove, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_21remove(PyObject *__pyx_v_self,
+#if CYTHON_METH_FASTCALL
+PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
+#else
+PyObject *__pyx_args, PyObject *__pyx_kwds
+#endif
+) {
+ PyObject *__pyx_v_key = 0;
+ #if !CYTHON_METH_FASTCALL
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ #endif
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("remove (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ {
+ PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,0};
+ if (__pyx_kwds) {
+ Py_ssize_t kw_args;
+ switch (__pyx_nargs) {
+ case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
+ CYTHON_FALLTHROUGH;
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
+ switch (__pyx_nargs) {
+ case 0:
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 108, __pyx_L3_error)
+ else goto __pyx_L5_argtuple_error;
+ }
+ if (unlikely(kw_args > 0)) {
+ const Py_ssize_t kwd_pos_args = __pyx_nargs;
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "remove") < 0)) __PYX_ERR(0, 108, __pyx_L3_error)
+ }
+ } else if (unlikely(__pyx_nargs != 1)) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
+ }
+ __pyx_v_key = values[0];
+ }
+ goto __pyx_L6_skip;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("remove", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 108, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
+ __Pyx_AddTraceback("common.params_pyx.Params.remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_6common_10params_pyx_6Params_20remove(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v_key);
+
+ /* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_20remove(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key) {
+ std::string __pyx_v_k;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ int __pyx_t_4;
+ std::string __pyx_t_5;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("remove", 1);
+
+ /* "common/params_pyx.pyx":109
+ *
+ * def remove(self, key):
+ * cdef string k = self.check_key(key) # <<<<<<<<<<<<<<
+ * with nogil:
+ * self.p.remove(k)
+ */
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 109, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = NULL;
+ __pyx_t_4 = 0;
+ #if CYTHON_UNPACK_METHODS
+ if (likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ #endif
+ {
+ PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_key};
+ __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ }
+ __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 109, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_v_k = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_5);
+
+ /* "common/params_pyx.pyx":110
* def remove(self, key):
* cdef string k = self.check_key(key)
* with nogil: # <<<<<<<<<<<<<<
@@ -8397,7 +9524,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_16remove(struct __pyx_obj
#endif
/*try:*/ {
- /* "common/params_pyx.pyx":98
+ /* "common/params_pyx.pyx":111
* cdef string k = self.check_key(key)
* with nogil:
* self.p.remove(k) # <<<<<<<<<<<<<<
@@ -8407,7 +9534,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_16remove(struct __pyx_obj
(void)(__pyx_v_self->p->remove(__pyx_v_k));
}
- /* "common/params_pyx.pyx":97
+ /* "common/params_pyx.pyx":110
* def remove(self, key):
* cdef string k = self.check_key(key)
* with nogil: # <<<<<<<<<<<<<<
@@ -8426,8 +9553,8 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_16remove(struct __pyx_obj
}
}
- /* "common/params_pyx.pyx":95
- * self.p.putBool(k, val)
+ /* "common/params_pyx.pyx":108
+ * self.p.putBoolNonBlocking(k, val)
*
* def remove(self, key): # <<<<<<<<<<<<<<
* cdef string k = self.check_key(key)
@@ -8449,7 +9576,7 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_16remove(struct __pyx_obj
return __pyx_r;
}
-/* "common/params_pyx.pyx":100
+/* "common/params_pyx.pyx":113
* self.p.remove(k)
*
* def get_param_path(self, key=""): # <<<<<<<<<<<<<<
@@ -8458,15 +9585,15 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_16remove(struct __pyx_obj
*/
/* Python wrapper */
-static PyObject *__pyx_pw_6common_10params_pyx_6Params_19get_param_path(PyObject *__pyx_v_self,
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_23get_param_path(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
-static PyMethodDef __pyx_mdef_6common_10params_pyx_6Params_19get_param_path = {"get_param_path", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_19get_param_path, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
-static PyObject *__pyx_pw_6common_10params_pyx_6Params_19get_param_path(PyObject *__pyx_v_self,
+static PyMethodDef __pyx_mdef_6common_10params_pyx_6Params_23get_param_path = {"get_param_path", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_23get_param_path, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_23get_param_path(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
@@ -8475,19 +9602,27 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_key = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_param_path (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,0};
- PyObject* values[1] = {0};
- values[0] = ((PyObject *)__pyx_kp_u_);
+ values[0] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)__pyx_kp_u_));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -8501,13 +9636,13 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
case 0:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key);
- if (value) { values[0] = value; kw_args--; }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 100, __pyx_L3_error)
+ if (value) { values[0] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 113, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "get_param_path") < 0)) __PYX_ERR(0, 100, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "get_param_path") < 0)) __PYX_ERR(0, 113, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
@@ -8519,22 +9654,36 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_key = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("get_param_path", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 100, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("get_param_path", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 113, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.params_pyx.Params.get_param_path", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_6common_10params_pyx_6Params_18get_param_path(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v_key);
+ __pyx_r = __pyx_pf_6common_10params_pyx_6Params_22get_param_path(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v_key);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_6common_10params_pyx_6Params_18get_param_path(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key) {
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_22get_param_path(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, PyObject *__pyx_v_key) {
std::string __pyx_v_key_bytes;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
@@ -8546,20 +9695,21 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_18get_param_path(struct _
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("get_param_path", 0);
+ __Pyx_RefNannySetupContext("get_param_path", 1);
- /* "common/params_pyx.pyx":101
+ /* "common/params_pyx.pyx":114
*
* def get_param_path(self, key=""):
* cdef string key_bytes = ensure_bytes(key) # <<<<<<<<<<<<<<
* return self.p.getParamPath(key_bytes).decode("utf-8")
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ensure_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 101, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ensure_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 114, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
@@ -8569,19 +9719,20 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_18get_param_path(struct _
__pyx_t_4 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_key};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 101, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 114, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L1_error)
+ __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 114, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_key_bytes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_5);
- /* "common/params_pyx.pyx":102
+ /* "common/params_pyx.pyx":115
* def get_param_path(self, key=""):
* cdef string key_bytes = ensure_bytes(key)
* return self.p.getParamPath(key_bytes).decode("utf-8") # <<<<<<<<<<<<<<
@@ -8589,13 +9740,13 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_18get_param_path(struct _
* def all_keys(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_decode_cpp_string(__pyx_v_self->p->getParamPath(__pyx_v_key_bytes), 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 102, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_decode_cpp_string(__pyx_v_self->p->getParamPath(__pyx_v_key_bytes), 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 115, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "common/params_pyx.pyx":100
+ /* "common/params_pyx.pyx":113
* self.p.remove(k)
*
* def get_param_path(self, key=""): # <<<<<<<<<<<<<<
@@ -8616,24 +9767,23 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_18get_param_path(struct _
return __pyx_r;
}
-/* "common/params_pyx.pyx":104
+/* "common/params_pyx.pyx":117
* return self.p.getParamPath(key_bytes).decode("utf-8")
*
* def all_keys(self): # <<<<<<<<<<<<<<
* return self.p.allKeys()
- *
*/
/* Python wrapper */
-static PyObject *__pyx_pw_6common_10params_pyx_6Params_21all_keys(PyObject *__pyx_v_self,
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_25all_keys(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
-static PyMethodDef __pyx_mdef_6common_10params_pyx_6Params_21all_keys = {"all_keys", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_21all_keys, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
-static PyObject *__pyx_pw_6common_10params_pyx_6Params_21all_keys(PyObject *__pyx_v_self,
+static PyMethodDef __pyx_mdef_6common_10params_pyx_6Params_25all_keys = {"all_keys", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_25all_keys, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_25all_keys(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
@@ -8641,51 +9791,56 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("all_keys (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("all_keys", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "all_keys", 0))) return NULL;
- __pyx_r = __pyx_pf_6common_10params_pyx_6Params_20all_keys(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self));
+ __pyx_r = __pyx_pf_6common_10params_pyx_6Params_24all_keys(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_6common_10params_pyx_6Params_20all_keys(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self) {
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_24all_keys(struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("all_keys", 0);
+ __Pyx_RefNannySetupContext("all_keys", 1);
- /* "common/params_pyx.pyx":105
+ /* "common/params_pyx.pyx":118
*
* def all_keys(self):
* return self.p.allKeys() # <<<<<<<<<<<<<<
- *
- * def put_nonblocking(key, val, d=""):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_convert_vector_to_py_std_3a__3a_string(__pyx_v_self->p->allKeys()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error)
+ __pyx_t_1 = __pyx_convert_vector_to_py_std_3a__3a_string(__pyx_v_self->p->allKeys()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "common/params_pyx.pyx":104
+ /* "common/params_pyx.pyx":117
* return self.p.getParamPath(key_bytes).decode("utf-8")
*
* def all_keys(self): # <<<<<<<<<<<<<<
* return self.p.allKeys()
- *
*/
/* function exit code */
@@ -8706,15 +9861,15 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_20all_keys(struct __pyx_o
*/
/* Python wrapper */
-static PyObject *__pyx_pw_6common_10params_pyx_6Params_23__reduce_cython__(PyObject *__pyx_v_self,
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_27__reduce_cython__(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
-static PyMethodDef __pyx_mdef_6common_10params_pyx_6Params_23__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_23__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
-static PyObject *__pyx_pw_6common_10params_pyx_6Params_23__reduce_cython__(PyObject *__pyx_v_self,
+static PyMethodDef __pyx_mdef_6common_10params_pyx_6Params_27__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_27__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_27__reduce_cython__(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
@@ -8722,29 +9877,37 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
- __pyx_r = __pyx_pf_6common_10params_pyx_6Params_22__reduce_cython__(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self));
+ __pyx_r = __pyx_pf_6common_10params_pyx_6Params_26__reduce_cython__(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_6common_10params_pyx_6Params_22__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self) {
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_26__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -8778,15 +9941,15 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_22__reduce_cython__(CYTHO
*/
/* Python wrapper */
-static PyObject *__pyx_pw_6common_10params_pyx_6Params_25__setstate_cython__(PyObject *__pyx_v_self,
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_29__setstate_cython__(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
-static PyMethodDef __pyx_mdef_6common_10params_pyx_6Params_25__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_25__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
-static PyObject *__pyx_pw_6common_10params_pyx_6Params_25__setstate_cython__(PyObject *__pyx_v_self,
+static PyMethodDef __pyx_mdef_6common_10params_pyx_6Params_29__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_29__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6common_10params_pyx_6Params_29__setstate_cython__(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
@@ -8795,18 +9958,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -8818,7 +9989,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -8833,28 +10007,42 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.params_pyx.Params.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_6common_10params_pyx_6Params_24__setstate_cython__(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v___pyx_state);
+ __pyx_r = __pyx_pf_6common_10params_pyx_6Params_28__setstate_cython__(((struct __pyx_obj_6common_10params_pyx_Params *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_6common_10params_pyx_6Params_24__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
+static PyObject *__pyx_pf_6common_10params_pyx_6Params_28__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_6common_10params_pyx_Params *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -8880,605 +10068,6 @@ static PyObject *__pyx_pf_6common_10params_pyx_6Params_24__setstate_cython__(CYT
return __pyx_r;
}
-/* "common/params_pyx.pyx":107
- * return self.p.allKeys()
- *
- * def put_nonblocking(key, val, d=""): # <<<<<<<<<<<<<<
- * threading.Thread(target=lambda: Params(d).put(key, val)).start()
- *
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_6common_10params_pyx_3put_nonblocking(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-); /*proto*/
-static PyMethodDef __pyx_mdef_6common_10params_pyx_3put_nonblocking = {"put_nonblocking", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_3put_nonblocking, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
-static PyObject *__pyx_pw_6common_10params_pyx_3put_nonblocking(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-) {
- PyObject *__pyx_v_key = 0;
- PyObject *__pyx_v_val = 0;
- PyObject *__pyx_v_d = 0;
- #if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- #endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("put_nonblocking (wrapper)", 0);
- {
- PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_val,&__pyx_n_s_d,0};
- PyObject* values[3] = {0,0,0};
- values[2] = ((PyObject *)((PyObject*)__pyx_kp_u_));
- if (__pyx_kwds) {
- Py_ssize_t kw_args;
- switch (__pyx_nargs) {
- case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
- CYTHON_FALLTHROUGH;
- case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- CYTHON_FALLTHROUGH;
- case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- CYTHON_FALLTHROUGH;
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
- switch (__pyx_nargs) {
- case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) kw_args--;
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L3_error)
- else goto __pyx_L5_argtuple_error;
- CYTHON_FALLTHROUGH;
- case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_val)) != 0)) kw_args--;
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L3_error)
- else {
- __Pyx_RaiseArgtupleInvalid("put_nonblocking", 0, 2, 3, 1); __PYX_ERR(0, 107, __pyx_L3_error)
- }
- CYTHON_FALLTHROUGH;
- case 2:
- if (kw_args > 0) {
- PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d);
- if (value) { values[2] = value; kw_args--; }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L3_error)
- }
- }
- if (unlikely(kw_args > 0)) {
- const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "put_nonblocking") < 0)) __PYX_ERR(0, 107, __pyx_L3_error)
- }
- } else {
- switch (__pyx_nargs) {
- case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
- CYTHON_FALLTHROUGH;
- case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_key = values[0];
- __pyx_v_val = values[1];
- __pyx_v_d = values[2];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("put_nonblocking", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 107, __pyx_L3_error)
- __pyx_L3_error:;
- __Pyx_AddTraceback("common.params_pyx.put_nonblocking", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_6common_10params_pyx_2put_nonblocking(__pyx_self, __pyx_v_key, __pyx_v_val, __pyx_v_d);
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* "common/params_pyx.pyx":108
- *
- * def put_nonblocking(key, val, d=""):
- * threading.Thread(target=lambda: Params(d).put(key, val)).start() # <<<<<<<<<<<<<<
- *
- * def put_bool_nonblocking(key, bool val, d=""):
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_6common_10params_pyx_15put_nonblocking_lambda(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyMethodDef __pyx_mdef_6common_10params_pyx_15put_nonblocking_lambda = {"lambda", (PyCFunction)__pyx_pw_6common_10params_pyx_15put_nonblocking_lambda, METH_NOARGS, 0};
-static PyObject *__pyx_pw_6common_10params_pyx_15put_nonblocking_lambda(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("lambda (wrapper)", 0);
- __pyx_r = __pyx_lambda_funcdef_lambda(__pyx_self);
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_lambda_funcdef_lambda(PyObject *__pyx_self) {
- struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *__pyx_cur_scope;
- struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *__pyx_outer_scope;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_t_4;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("lambda", 0);
- __pyx_outer_scope = (struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_cur_scope->__pyx_v_d)) { __Pyx_RaiseClosureNameError("d"); __PYX_ERR(0, 108, __pyx_L1_error) }
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_6common_10params_pyx_Params), __pyx_cur_scope->__pyx_v_d); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_put); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_key)) { __Pyx_RaiseClosureNameError("key"); __PYX_ERR(0, 108, __pyx_L1_error) }
- if (unlikely(!__pyx_cur_scope->__pyx_v_val)) { __Pyx_RaiseClosureNameError("val"); __PYX_ERR(0, 108, __pyx_L1_error) }
- __pyx_t_2 = NULL;
- __pyx_t_4 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_4 = 1;
- }
- }
- {
- PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_cur_scope->__pyx_v_key, __pyx_cur_scope->__pyx_v_val};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("common.params_pyx.put_nonblocking.lambda", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* "common/params_pyx.pyx":107
- * return self.p.allKeys()
- *
- * def put_nonblocking(key, val, d=""): # <<<<<<<<<<<<<<
- * threading.Thread(target=lambda: Params(d).put(key, val)).start()
- *
- */
-
-static PyObject *__pyx_pf_6common_10params_pyx_2put_nonblocking(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_key, PyObject *__pyx_v_val, PyObject *__pyx_v_d) {
- struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *__pyx_cur_scope;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- int __pyx_t_5;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("put_nonblocking", 0);
- __pyx_cur_scope = (struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *)__pyx_tp_new_6common_10params_pyx___pyx_scope_struct__put_nonblocking(__pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __pyx_cur_scope = ((struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *)Py_None);
- __Pyx_INCREF(Py_None);
- __PYX_ERR(0, 107, __pyx_L1_error)
- } else {
- __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
- }
- __pyx_cur_scope->__pyx_v_key = __pyx_v_key;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_key);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_key);
- __pyx_cur_scope->__pyx_v_val = __pyx_v_val;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_val);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_val);
- __pyx_cur_scope->__pyx_v_d = __pyx_v_d;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_d);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_d);
-
- /* "common/params_pyx.pyx":108
- *
- * def put_nonblocking(key, val, d=""):
- * threading.Thread(target=lambda: Params(d).put(key, val)).start() # <<<<<<<<<<<<<<
- *
- * def put_bool_nonblocking(key, bool val, d=""):
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_threading); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Thread); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_15put_nonblocking_lambda, 0, __pyx_n_s_put_nonblocking_locals_lambda, ((PyObject*)__pyx_cur_scope), __pyx_n_s_common_params_pyx, __pyx_d, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_target, __pyx_t_4) < 0) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_start); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = NULL;
- __pyx_t_5 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_4)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_4);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_5 = 1;
- }
- }
- {
- PyObject *__pyx_callargs[1] = {__pyx_t_4, };
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "common/params_pyx.pyx":107
- * return self.p.allKeys()
- *
- * def put_nonblocking(key, val, d=""): # <<<<<<<<<<<<<<
- * threading.Thread(target=lambda: Params(d).put(key, val)).start()
- *
- */
-
- /* function exit code */
- __pyx_r = Py_None; __Pyx_INCREF(Py_None);
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("common.params_pyx.put_nonblocking", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_DECREF((PyObject *)__pyx_cur_scope);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* "common/params_pyx.pyx":110
- * threading.Thread(target=lambda: Params(d).put(key, val)).start()
- *
- * def put_bool_nonblocking(key, bool val, d=""): # <<<<<<<<<<<<<<
- * threading.Thread(target=lambda: Params(d).put_bool(key, val)).start()
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_6common_10params_pyx_5put_bool_nonblocking(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-); /*proto*/
-static PyMethodDef __pyx_mdef_6common_10params_pyx_5put_bool_nonblocking = {"put_bool_nonblocking", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_5put_bool_nonblocking, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
-static PyObject *__pyx_pw_6common_10params_pyx_5put_bool_nonblocking(PyObject *__pyx_self,
-#if CYTHON_METH_FASTCALL
-PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
-#else
-PyObject *__pyx_args, PyObject *__pyx_kwds
-#endif
-) {
- PyObject *__pyx_v_key = 0;
- bool __pyx_v_val;
- PyObject *__pyx_v_d = 0;
- #if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- #endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("put_bool_nonblocking (wrapper)", 0);
- {
- PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_val,&__pyx_n_s_d,0};
- PyObject* values[3] = {0,0,0};
- values[2] = ((PyObject *)((PyObject*)__pyx_kp_u_));
- if (__pyx_kwds) {
- Py_ssize_t kw_args;
- switch (__pyx_nargs) {
- case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
- CYTHON_FALLTHROUGH;
- case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- CYTHON_FALLTHROUGH;
- case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- CYTHON_FALLTHROUGH;
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
- switch (__pyx_nargs) {
- case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_key)) != 0)) kw_args--;
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 110, __pyx_L3_error)
- else goto __pyx_L5_argtuple_error;
- CYTHON_FALLTHROUGH;
- case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_val)) != 0)) kw_args--;
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 110, __pyx_L3_error)
- else {
- __Pyx_RaiseArgtupleInvalid("put_bool_nonblocking", 0, 2, 3, 1); __PYX_ERR(0, 110, __pyx_L3_error)
- }
- CYTHON_FALLTHROUGH;
- case 2:
- if (kw_args > 0) {
- PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d);
- if (value) { values[2] = value; kw_args--; }
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 110, __pyx_L3_error)
- }
- }
- if (unlikely(kw_args > 0)) {
- const Py_ssize_t kwd_pos_args = __pyx_nargs;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "put_bool_nonblocking") < 0)) __PYX_ERR(0, 110, __pyx_L3_error)
- }
- } else {
- switch (__pyx_nargs) {
- case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
- CYTHON_FALLTHROUGH;
- case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
- values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_key = values[0];
- __pyx_v_val = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_val == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 110, __pyx_L3_error)
- __pyx_v_d = values[2];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("put_bool_nonblocking", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 110, __pyx_L3_error)
- __pyx_L3_error:;
- __Pyx_AddTraceback("common.params_pyx.put_bool_nonblocking", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_6common_10params_pyx_4put_bool_nonblocking(__pyx_self, __pyx_v_key, __pyx_v_val, __pyx_v_d);
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* "common/params_pyx.pyx":111
- *
- * def put_bool_nonblocking(key, bool val, d=""):
- * threading.Thread(target=lambda: Params(d).put_bool(key, val)).start() # <<<<<<<<<<<<<<
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_6common_10params_pyx_20put_bool_nonblocking_lambda1(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyMethodDef __pyx_mdef_6common_10params_pyx_20put_bool_nonblocking_lambda1 = {"lambda1", (PyCFunction)__pyx_pw_6common_10params_pyx_20put_bool_nonblocking_lambda1, METH_NOARGS, 0};
-static PyObject *__pyx_pw_6common_10params_pyx_20put_bool_nonblocking_lambda1(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("lambda1 (wrapper)", 0);
- __pyx_r = __pyx_lambda_funcdef_lambda1(__pyx_self);
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_lambda_funcdef_lambda1(PyObject *__pyx_self) {
- struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *__pyx_cur_scope;
- struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *__pyx_outer_scope;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- int __pyx_t_5;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("lambda1", 0);
- __pyx_outer_scope = (struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_cur_scope->__pyx_v_d)) { __Pyx_RaiseClosureNameError("d"); __PYX_ERR(0, 111, __pyx_L1_error) }
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_6common_10params_pyx_Params), __pyx_cur_scope->__pyx_v_d); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_put_bool); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 111, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_key)) { __Pyx_RaiseClosureNameError("key"); __PYX_ERR(0, 111, __pyx_L1_error) }
- __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_cur_scope->__pyx_v_val); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = NULL;
- __pyx_t_5 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_4)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_4);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- __pyx_t_5 = 1;
- }
- }
- {
- PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_cur_scope->__pyx_v_key, __pyx_t_2};
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("common.params_pyx.put_bool_nonblocking.lambda1", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* "common/params_pyx.pyx":110
- * threading.Thread(target=lambda: Params(d).put(key, val)).start()
- *
- * def put_bool_nonblocking(key, bool val, d=""): # <<<<<<<<<<<<<<
- * threading.Thread(target=lambda: Params(d).put_bool(key, val)).start()
- */
-
-static PyObject *__pyx_pf_6common_10params_pyx_4put_bool_nonblocking(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_key, bool __pyx_v_val, PyObject *__pyx_v_d) {
- struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *__pyx_cur_scope;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- int __pyx_t_5;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("put_bool_nonblocking", 0);
- __pyx_cur_scope = (struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *)__pyx_tp_new_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking(__pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __pyx_cur_scope = ((struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *)Py_None);
- __Pyx_INCREF(Py_None);
- __PYX_ERR(0, 110, __pyx_L1_error)
- } else {
- __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
- }
- __pyx_cur_scope->__pyx_v_key = __pyx_v_key;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_key);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_key);
- __pyx_cur_scope->__pyx_v_val = __pyx_v_val;
- __pyx_cur_scope->__pyx_v_d = __pyx_v_d;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_d);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_d);
-
- /* "common/params_pyx.pyx":111
- *
- * def put_bool_nonblocking(key, bool val, d=""):
- * threading.Thread(target=lambda: Params(d).put_bool(key, val)).start() # <<<<<<<<<<<<<<
- */
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_threading); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Thread); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 111, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_20put_bool_nonblocking_lambda1, 0, __pyx_n_s_put_bool_nonblocking_locals_lamb, ((PyObject*)__pyx_cur_scope), __pyx_n_s_common_params_pyx, __pyx_d, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 111, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_target, __pyx_t_4) < 0) __PYX_ERR(0, 111, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 111, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_start); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = NULL;
- __pyx_t_5 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_4)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_4);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- __pyx_t_5 = 1;
- }
- }
- {
- PyObject *__pyx_callargs[1] = {__pyx_t_4, };
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "common/params_pyx.pyx":110
- * threading.Thread(target=lambda: Params(d).put(key, val)).start()
- *
- * def put_bool_nonblocking(key, bool val, d=""): # <<<<<<<<<<<<<<
- * threading.Thread(target=lambda: Params(d).put_bool(key, val)).start()
- */
-
- /* function exit code */
- __pyx_r = Py_None; __Pyx_INCREF(Py_None);
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("common.params_pyx.put_bool_nonblocking", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_DECREF((PyObject *)__pyx_cur_scope);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
static PyObject *__pyx_tp_new_6common_10params_pyx_Params(PyTypeObject *t, PyObject *a, PyObject *k) {
PyObject *o;
#if CYTHON_COMPILING_IN_LIMITED_API
@@ -9515,7 +10104,14 @@ static void __pyx_tp_dealloc_6common_10params_pyx_Params(PyObject *o) {
__Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
PyErr_Restore(etype, eval, etb);
}
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static PyMethodDef __pyx_methods_6common_10params_pyx_Params[] = {
@@ -9525,11 +10121,13 @@ static PyMethodDef __pyx_methods_6common_10params_pyx_Params[] = {
{"get_bool", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_11get_bool, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
{"put", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_13put, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6common_10params_pyx_6Params_12put},
{"put_bool", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_15put_bool, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
- {"remove", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_17remove, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
- {"get_param_path", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_19get_param_path, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
- {"all_keys", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_21all_keys, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
- {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_23__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
- {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_25__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
+ {"put_nonblocking", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_17put_nonblocking, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
+ {"put_bool_nonblocking", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_19put_bool_nonblocking, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
+ {"remove", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_21remove, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
+ {"get_param_path", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_23get_param_path, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
+ {"all_keys", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_25all_keys, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
+ {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_27__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
+ {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6common_10params_pyx_6Params_29__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
{0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
@@ -9630,339 +10228,6 @@ static PyTypeObject __pyx_type_6common_10params_pyx_Params = {
};
#endif
-static struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *__pyx_freelist_6common_10params_pyx___pyx_scope_struct__put_nonblocking[8];
-static int __pyx_freecount_6common_10params_pyx___pyx_scope_struct__put_nonblocking = 0;
-
-static PyObject *__pyx_tp_new_6common_10params_pyx___pyx_scope_struct__put_nonblocking(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- #if CYTHON_COMPILING_IN_LIMITED_API
- allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
- o = alloc_func(t, 0);
- #else
- if (CYTHON_COMPILING_IN_CPYTHON && likely((int)(__pyx_freecount_6common_10params_pyx___pyx_scope_struct__put_nonblocking > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking)))) {
- o = (PyObject*)__pyx_freelist_6common_10params_pyx___pyx_scope_struct__put_nonblocking[--__pyx_freecount_6common_10params_pyx___pyx_scope_struct__put_nonblocking];
- memset(o, 0, sizeof(struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- #endif
- return o;
-}
-
-static void __pyx_tp_dealloc_6common_10params_pyx___pyx_scope_struct__put_nonblocking(PyObject *o) {
- struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *p = (struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *)o;
- #if CYTHON_USE_TP_FINALIZE
- if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
- if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6common_10params_pyx___pyx_scope_struct__put_nonblocking) {
- if (PyObject_CallFinalizerFromDealloc(o)) return;
- }
- }
- #endif
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_d);
- Py_CLEAR(p->__pyx_v_key);
- Py_CLEAR(p->__pyx_v_val);
- if (CYTHON_COMPILING_IN_CPYTHON && ((int)(__pyx_freecount_6common_10params_pyx___pyx_scope_struct__put_nonblocking < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking)))) {
- __pyx_freelist_6common_10params_pyx___pyx_scope_struct__put_nonblocking[__pyx_freecount_6common_10params_pyx___pyx_scope_struct__put_nonblocking++] = ((struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
-}
-
-static int __pyx_tp_traverse_6common_10params_pyx___pyx_scope_struct__put_nonblocking(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *p = (struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *)o;
- if (p->__pyx_v_d) {
- e = (*v)(p->__pyx_v_d, a); if (e) return e;
- }
- if (p->__pyx_v_key) {
- e = (*v)(p->__pyx_v_key, a); if (e) return e;
- }
- if (p->__pyx_v_val) {
- e = (*v)(p->__pyx_v_val, a); if (e) return e;
- }
- return 0;
-}
-
-static int __pyx_tp_clear_6common_10params_pyx___pyx_scope_struct__put_nonblocking(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *p = (struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking *)o;
- tmp = ((PyObject*)p->__pyx_v_d);
- p->__pyx_v_d = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_key);
- p->__pyx_v_key = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_val);
- p->__pyx_v_val = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
-}
-#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_type_6common_10params_pyx___pyx_scope_struct__put_nonblocking_slots[] = {
- {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6common_10params_pyx___pyx_scope_struct__put_nonblocking},
- {Py_tp_traverse, (void *)__pyx_tp_traverse_6common_10params_pyx___pyx_scope_struct__put_nonblocking},
- {Py_tp_clear, (void *)__pyx_tp_clear_6common_10params_pyx___pyx_scope_struct__put_nonblocking},
- {Py_tp_new, (void *)__pyx_tp_new_6common_10params_pyx___pyx_scope_struct__put_nonblocking},
- {0, 0},
-};
-static PyType_Spec __pyx_type_6common_10params_pyx___pyx_scope_struct__put_nonblocking_spec = {
- "common.params_pyx.__pyx_scope_struct__put_nonblocking",
- sizeof(struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking),
- 0,
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
- __pyx_type_6common_10params_pyx___pyx_scope_struct__put_nonblocking_slots,
-};
-#else
-
-static PyTypeObject __pyx_type_6common_10params_pyx___pyx_scope_struct__put_nonblocking = {
- PyVarObject_HEAD_INIT(0, 0)
- "common.params_pyx.""__pyx_scope_struct__put_nonblocking", /*tp_name*/
- sizeof(struct __pyx_obj_6common_10params_pyx___pyx_scope_struct__put_nonblocking), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_6common_10params_pyx___pyx_scope_struct__put_nonblocking, /*tp_dealloc*/
- #if PY_VERSION_HEX < 0x030800b4
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030800b4
- 0, /*tp_vectorcall_offset*/
- #endif
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #endif
- #if PY_MAJOR_VERSION >= 3
- 0, /*tp_as_async*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_6common_10params_pyx___pyx_scope_struct__put_nonblocking, /*tp_traverse*/
- __pyx_tp_clear_6common_10params_pyx___pyx_scope_struct__put_nonblocking, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- #if !CYTHON_USE_TYPE_SPECS
- 0, /*tp_dictoffset*/
- #endif
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_6common_10params_pyx___pyx_scope_struct__put_nonblocking, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- 0, /*tp_version_tag*/
- #if PY_VERSION_HEX >= 0x030400a1
- #if CYTHON_USE_TP_FINALIZE
- 0, /*tp_finalize*/
- #else
- NULL, /*tp_finalize*/
- #endif
- #endif
- #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
- 0, /*tp_vectorcall*/
- #endif
- #if __PYX_NEED_TP_PRINT_SLOT == 1
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030C0000
- 0, /*tp_watched*/
- #endif
- #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
- 0, /*tp_pypy_flags*/
- #endif
-};
-#endif
-
-static struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *__pyx_freelist_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking[8];
-static int __pyx_freecount_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking = 0;
-
-static PyObject *__pyx_tp_new_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- #if CYTHON_COMPILING_IN_LIMITED_API
- allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
- o = alloc_func(t, 0);
- #else
- if (CYTHON_COMPILING_IN_CPYTHON && likely((int)(__pyx_freecount_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking)))) {
- o = (PyObject*)__pyx_freelist_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking[--__pyx_freecount_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking];
- memset(o, 0, sizeof(struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- #endif
- return o;
-}
-
-static void __pyx_tp_dealloc_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking(PyObject *o) {
- struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *p = (struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *)o;
- #if CYTHON_USE_TP_FINALIZE
- if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
- if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking) {
- if (PyObject_CallFinalizerFromDealloc(o)) return;
- }
- }
- #endif
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_d);
- Py_CLEAR(p->__pyx_v_key);
- if (CYTHON_COMPILING_IN_CPYTHON && ((int)(__pyx_freecount_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking)))) {
- __pyx_freelist_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking[__pyx_freecount_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking++] = ((struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
-}
-
-static int __pyx_tp_traverse_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *p = (struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *)o;
- if (p->__pyx_v_d) {
- e = (*v)(p->__pyx_v_d, a); if (e) return e;
- }
- if (p->__pyx_v_key) {
- e = (*v)(p->__pyx_v_key, a); if (e) return e;
- }
- return 0;
-}
-
-static int __pyx_tp_clear_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *p = (struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking *)o;
- tmp = ((PyObject*)p->__pyx_v_d);
- p->__pyx_v_d = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_key);
- p->__pyx_v_key = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
-}
-#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_type_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking_slots[] = {
- {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking},
- {Py_tp_traverse, (void *)__pyx_tp_traverse_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking},
- {Py_tp_clear, (void *)__pyx_tp_clear_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking},
- {Py_tp_new, (void *)__pyx_tp_new_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking},
- {0, 0},
-};
-static PyType_Spec __pyx_type_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking_spec = {
- "common.params_pyx.__pyx_scope_struct_1_put_bool_nonblocking",
- sizeof(struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking),
- 0,
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
- __pyx_type_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking_slots,
-};
-#else
-
-static PyTypeObject __pyx_type_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking = {
- PyVarObject_HEAD_INIT(0, 0)
- "common.params_pyx.""__pyx_scope_struct_1_put_bool_nonblocking", /*tp_name*/
- sizeof(struct __pyx_obj_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking, /*tp_dealloc*/
- #if PY_VERSION_HEX < 0x030800b4
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030800b4
- 0, /*tp_vectorcall_offset*/
- #endif
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #endif
- #if PY_MAJOR_VERSION >= 3
- 0, /*tp_as_async*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking, /*tp_traverse*/
- __pyx_tp_clear_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- #if !CYTHON_USE_TYPE_SPECS
- 0, /*tp_dictoffset*/
- #endif
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- 0, /*tp_version_tag*/
- #if PY_VERSION_HEX >= 0x030400a1
- #if CYTHON_USE_TP_FINALIZE
- 0, /*tp_finalize*/
- #else
- NULL, /*tp_finalize*/
- #endif
- #endif
- #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
- 0, /*tp_vectorcall*/
- #endif
- #if __PYX_NEED_TP_PRINT_SLOT == 1
- 0, /*tp_print*/
- #endif
- #if PY_VERSION_HEX >= 0x030C0000
- 0, /*tp_watched*/
- #endif
- #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
- 0, /*tp_pypy_flags*/
- #endif
-};
-#endif
-
static int __pyx_tp_traverse___Pyx_EnumMeta(PyObject *o, visitproc v, void *a) {
int e;
if (!(&PyType_Type)->tp_traverse); else { e = (&PyType_Type)->tp_traverse(o,v,a); if (e) return e; }
@@ -10129,6 +10394,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_CLEAR_ON_MANAGER_START, __pyx_k_CLEAR_ON_MANAGER_START, sizeof(__pyx_k_CLEAR_ON_MANAGER_START), 0, 0, 1, 1},
{&__pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION, __pyx_k_CLEAR_ON_OFFROAD_TRANSITION, sizeof(__pyx_k_CLEAR_ON_OFFROAD_TRANSITION), 0, 0, 1, 1},
{&__pyx_n_s_CLEAR_ON_ONROAD_TRANSITION, __pyx_k_CLEAR_ON_ONROAD_TRANSITION, sizeof(__pyx_k_CLEAR_ON_ONROAD_TRANSITION), 0, 0, 1, 1},
+ {&__pyx_n_s_DEVELOPMENT_ONLY, __pyx_k_DEVELOPMENT_ONLY, sizeof(__pyx_k_DEVELOPMENT_ONLY), 0, 0, 1, 1},
{&__pyx_n_s_EnumBase, __pyx_k_EnumBase, sizeof(__pyx_k_EnumBase), 0, 0, 1, 1},
{&__pyx_n_s_EnumType, __pyx_k_EnumType, sizeof(__pyx_k_EnumType), 0, 0, 1, 1},
{&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0, __pyx_k_Incompatible_checksums_0x_x_vs_0, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0), 0, 0, 1, 0},
@@ -10150,6 +10416,8 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_Params_get_param_path, __pyx_k_Params_get_param_path, sizeof(__pyx_k_Params_get_param_path), 0, 0, 1, 1},
{&__pyx_n_s_Params_put, __pyx_k_Params_put, sizeof(__pyx_k_Params_put), 0, 0, 1, 1},
{&__pyx_n_s_Params_put_bool, __pyx_k_Params_put_bool, sizeof(__pyx_k_Params_put_bool), 0, 0, 1, 1},
+ {&__pyx_n_s_Params_put_bool_nonblocking, __pyx_k_Params_put_bool_nonblocking, sizeof(__pyx_k_Params_put_bool_nonblocking), 0, 0, 1, 1},
+ {&__pyx_n_s_Params_put_nonblocking, __pyx_k_Params_put_nonblocking, sizeof(__pyx_k_Params_put_nonblocking), 0, 0, 1, 1},
{&__pyx_n_s_Params_remove, __pyx_k_Params_remove, sizeof(__pyx_k_Params_remove), 0, 0, 1, 1},
{&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1},
{&__pyx_n_s_Pyx_EnumBase, __pyx_k_Pyx_EnumBase, sizeof(__pyx_k_Pyx_EnumBase), 0, 0, 1, 1},
@@ -10162,14 +10430,12 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_Pyx_FlagBase___new, __pyx_k_Pyx_FlagBase___new, sizeof(__pyx_k_Pyx_FlagBase___new), 0, 0, 1, 1},
{&__pyx_n_s_Pyx_FlagBase___repr, __pyx_k_Pyx_FlagBase___repr, sizeof(__pyx_k_Pyx_FlagBase___repr), 0, 0, 1, 1},
{&__pyx_n_s_Pyx_FlagBase___str, __pyx_k_Pyx_FlagBase___str, sizeof(__pyx_k_Pyx_FlagBase___str), 0, 0, 1, 1},
- {&__pyx_n_s_Thread, __pyx_k_Thread, sizeof(__pyx_k_Thread), 0, 0, 1, 1},
{&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
{&__pyx_n_s_UnknownKeyName, __pyx_k_UnknownKeyName, sizeof(__pyx_k_UnknownKeyName), 0, 0, 1, 1},
{&__pyx_kp_s_Unknown_enum_value_s, __pyx_k_Unknown_enum_value_s, sizeof(__pyx_k_Unknown_enum_value_s), 0, 0, 1, 0},
{&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
- {&__pyx_n_s__21, __pyx_k__21, sizeof(__pyx_k__21), 0, 0, 1, 1},
{&__pyx_kp_u__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 1, 0, 0},
- {&__pyx_n_s__51, __pyx_k__51, sizeof(__pyx_k__51), 0, 0, 1, 1},
+ {&__pyx_n_s__46, __pyx_k__46, sizeof(__pyx_k__46), 0, 0, 1, 1},
{&__pyx_n_s_all_keys, __pyx_k_all_keys, sizeof(__pyx_k_all_keys), 0, 0, 1, 1},
{&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1},
{&__pyx_n_s_block, __pyx_k_block, sizeof(__pyx_k_block), 0, 0, 1, 1},
@@ -10180,7 +10446,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
{&__pyx_n_s_cls, __pyx_k_cls, sizeof(__pyx_k_cls), 0, 0, 1, 1},
{&__pyx_n_s_collections, __pyx_k_collections, sizeof(__pyx_k_collections), 0, 0, 1, 1},
- {&__pyx_n_s_common_params_pyx, __pyx_k_common_params_pyx, sizeof(__pyx_k_common_params_pyx), 0, 0, 1, 1},
+ {&__pyx_kp_s_common_params_pyx, __pyx_k_common_params_pyx, sizeof(__pyx_k_common_params_pyx), 0, 0, 1, 0},
{&__pyx_kp_s_common_params_pyx_pyx, __pyx_k_common_params_pyx_pyx, sizeof(__pyx_k_common_params_pyx_pyx), 0, 0, 1, 0},
{&__pyx_n_s_d, __pyx_k_d, sizeof(__pyx_k_d), 0, 0, 1, 1},
{&__pyx_n_s_dat, __pyx_k_dat, sizeof(__pyx_k_dat), 0, 0, 1, 1},
@@ -10204,7 +10470,6 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
{&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1},
{&__pyx_n_s_init_subclass, __pyx_k_init_subclass, sizeof(__pyx_k_init_subclass), 0, 0, 1, 1},
- {&__pyx_n_s_initializing, __pyx_k_initializing, sizeof(__pyx_k_initializing), 0, 0, 1, 1},
{&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1},
{&__pyx_kp_u_isenabled, __pyx_k_isenabled, sizeof(__pyx_k_isenabled), 0, 1, 0, 0},
{&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1},
@@ -10227,9 +10492,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_put, __pyx_k_put, sizeof(__pyx_k_put), 0, 0, 1, 1},
{&__pyx_n_s_put_bool, __pyx_k_put_bool, sizeof(__pyx_k_put_bool), 0, 0, 1, 1},
{&__pyx_n_s_put_bool_nonblocking, __pyx_k_put_bool_nonblocking, sizeof(__pyx_k_put_bool_nonblocking), 0, 0, 1, 1},
- {&__pyx_n_s_put_bool_nonblocking_locals_lamb, __pyx_k_put_bool_nonblocking_locals_lamb, sizeof(__pyx_k_put_bool_nonblocking_locals_lamb), 0, 0, 1, 1},
{&__pyx_n_s_put_nonblocking, __pyx_k_put_nonblocking, sizeof(__pyx_k_put_nonblocking), 0, 0, 1, 1},
- {&__pyx_n_s_put_nonblocking_locals_lambda, __pyx_k_put_nonblocking_locals_lambda, sizeof(__pyx_k_put_nonblocking_locals_lambda), 0, 0, 1, 1},
{&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1},
{&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1},
{&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1},
@@ -10251,15 +10514,11 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
{&__pyx_n_s_set_name, __pyx_k_set_name, sizeof(__pyx_k_set_name), 0, 0, 1, 1},
{&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1},
{&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1},
- {&__pyx_n_s_spec, __pyx_k_spec, sizeof(__pyx_k_spec), 0, 0, 1, 1},
- {&__pyx_n_s_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 0, 1, 1},
{&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1},
{&__pyx_n_s_str, __pyx_k_str, sizeof(__pyx_k_str), 0, 0, 1, 1},
{&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0},
{&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1},
- {&__pyx_n_s_target, __pyx_k_target, sizeof(__pyx_k_target), 0, 0, 1, 1},
{&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
- {&__pyx_n_s_threading, __pyx_k_threading, sizeof(__pyx_k_threading), 0, 0, 1, 1},
{&__pyx_n_s_tx_type, __pyx_k_tx_type, sizeof(__pyx_k_tx_type), 0, 0, 1, 1},
{&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},
{&__pyx_n_s_use_setstate, __pyx_k_use_setstate, sizeof(__pyx_k_use_setstate), 0, 0, 1, 1},
@@ -10273,7 +10532,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
}
/* #### Code section: cached_builtins ### */
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
- __pyx_builtin_KeyboardInterrupt = __Pyx_GetBuiltinName(__pyx_n_s_KeyboardInterrupt); if (!__pyx_builtin_KeyboardInterrupt) __PYX_ERR(0, 65, __pyx_L1_error)
+ __pyx_builtin_KeyboardInterrupt = __Pyx_GetBuiltinName(__pyx_n_s_KeyboardInterrupt); if (!__pyx_builtin_KeyboardInterrupt) __PYX_ERR(0, 67, __pyx_L1_error)
__pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 2, __pyx_L1_error)
__pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(1, 68, __pyx_L1_error)
__pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(1, 76, __pyx_L1_error)
@@ -10331,7 +10590,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
__Pyx_GOTREF(__pyx_tuple__9);
__Pyx_GIVEREF(__pyx_tuple__9);
__pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_new, 28, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(1, 28, __pyx_L1_error)
- __pyx_tuple__11 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(1, 28, __pyx_L1_error)
+ __pyx_tuple__11 = PyTuple_Pack(1, Py_None); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(1, 28, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__11);
__Pyx_GIVEREF(__pyx_tuple__11);
@@ -10364,9 +10623,6 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* if v == value:
*/
__pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_new, 49, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(1, 49, __pyx_L1_error)
- __pyx_tuple__16 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(1, 49, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__16);
- __Pyx_GIVEREF(__pyx_tuple__16);
/* "EnumBase":62
* cls.__members__[name] = res
@@ -10375,7 +10631,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
* def __str__(self):
*/
- __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_repr, 62, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(1, 62, __pyx_L1_error)
+ __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_repr, 62, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(1, 62, __pyx_L1_error)
/* "EnumBase":64
* def __repr__(self):
@@ -10384,143 +10640,160 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* return "%s.%s" % (self.__class__.__name__, self.name)
*
*/
- __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_str, 64, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(1, 64, __pyx_L1_error)
+ __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_str, 64, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(1, 64, __pyx_L1_error)
/* "(tree fragment)":1
* def __pyx_unpickle___Pyx_EnumMeta(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_tuple__19 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(1, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__19);
- __Pyx_GIVEREF(__pyx_tuple__19);
- __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __pyx_tuple__18 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__18);
+ __Pyx_GIVEREF(__pyx_tuple__18);
+ __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(1, 1, __pyx_L1_error)
- /* "common/params_pyx.pyx":29
+ /* "common/params_pyx.pyx":31
*
*
* def ensure_bytes(v): # <<<<<<<<<<<<<<
* return v.encode() if isinstance(v, str) else v;
*
*/
- __pyx_tuple__22 = PyTuple_Pack(1, __pyx_n_s_v); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 29, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__22);
- __Pyx_GIVEREF(__pyx_tuple__22);
- __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_ensure_bytes, 29, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(0, 29, __pyx_L1_error)
+ __pyx_tuple__20 = PyTuple_Pack(1, __pyx_n_s_v); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 31, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__20);
+ __Pyx_GIVEREF(__pyx_tuple__20);
+ __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_ensure_bytes, 31, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 31, __pyx_L1_error)
- /* "common/params_pyx.pyx":46
+ /* "common/params_pyx.pyx":48
* del self.p
*
* def clear_all(self, tx_type=ParamKeyType.ALL): # <<<<<<<<<<<<<<
* self.p.clearAll(tx_type)
*
*/
- __pyx_tuple__24 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_tx_type); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 46, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__24);
- __Pyx_GIVEREF(__pyx_tuple__24);
- __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_clear_all, 46, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 46, __pyx_L1_error)
+ __pyx_tuple__22 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_tx_type); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__22);
+ __Pyx_GIVEREF(__pyx_tuple__22);
+ __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_clear_all, 48, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(0, 48, __pyx_L1_error)
- /* "common/params_pyx.pyx":49
+ /* "common/params_pyx.pyx":51
* self.p.clearAll(tx_type)
*
* def check_key(self, key): # <<<<<<<<<<<<<<
* key = ensure_bytes(key)
* if not self.p.checkKey(key):
*/
- __pyx_tuple__26 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 49, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__26);
- __Pyx_GIVEREF(__pyx_tuple__26);
- __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_check_key, 49, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 49, __pyx_L1_error)
+ __pyx_tuple__24 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 51, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__24);
+ __Pyx_GIVEREF(__pyx_tuple__24);
+ __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_check_key, 51, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 51, __pyx_L1_error)
- /* "common/params_pyx.pyx":55
+ /* "common/params_pyx.pyx":57
* return key
*
* def get(self, key, bool block=False, encoding=None): # <<<<<<<<<<<<<<
* cdef string k = self.check_key(key)
* cdef string val
*/
- __pyx_tuple__28 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_block, __pyx_n_s_encoding, __pyx_n_s_k, __pyx_n_s_val); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(0, 55, __pyx_L1_error)
+ __pyx_tuple__26 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_block, __pyx_n_s_encoding, __pyx_n_s_k, __pyx_n_s_val); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 57, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__26);
+ __Pyx_GIVEREF(__pyx_tuple__26);
+ __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_get, 57, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 57, __pyx_L1_error)
+ __pyx_tuple__28 = PyTuple_Pack(2, Py_False, Py_None); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(0, 57, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__28);
__Pyx_GIVEREF(__pyx_tuple__28);
- __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_get, 55, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(0, 55, __pyx_L1_error)
- __pyx_tuple__30 = PyTuple_Pack(2, Py_False, Py_None); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 55, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__30);
- __Pyx_GIVEREF(__pyx_tuple__30);
- /* "common/params_pyx.pyx":71
+ /* "common/params_pyx.pyx":73
* return val if encoding is None else val.decode(encoding)
*
* def get_bool(self, key, bool block=False): # <<<<<<<<<<<<<<
* cdef string k = self.check_key(key)
* cdef bool r
*/
- __pyx_tuple__31 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_block, __pyx_n_s_k, __pyx_n_s_r); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 71, __pyx_L1_error)
+ __pyx_tuple__29 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_block, __pyx_n_s_k, __pyx_n_s_r); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 73, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__29);
+ __Pyx_GIVEREF(__pyx_tuple__29);
+ __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_get_bool, 73, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(0, 73, __pyx_L1_error)
+ __pyx_tuple__31 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 73, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__31);
__Pyx_GIVEREF(__pyx_tuple__31);
- __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_get_bool, 71, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 71, __pyx_L1_error)
- __pyx_tuple__33 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 71, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__33);
- __Pyx_GIVEREF(__pyx_tuple__33);
- /* "common/params_pyx.pyx":78
+ /* "common/params_pyx.pyx":80
* return r
*
* def put(self, key, dat): # <<<<<<<<<<<<<<
* """
* Warning: This function blocks until the param is written to disk!
*/
- __pyx_tuple__34 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_dat, __pyx_n_s_k, __pyx_n_s_dat_bytes); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 78, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__34);
- __Pyx_GIVEREF(__pyx_tuple__34);
- __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_put, 78, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(0, 78, __pyx_L1_error)
+ __pyx_tuple__32 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_dat, __pyx_n_s_k, __pyx_n_s_dat_bytes); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 80, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__32);
+ __Pyx_GIVEREF(__pyx_tuple__32);
+ __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_put, 80, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 80, __pyx_L1_error)
- /* "common/params_pyx.pyx":90
+ /* "common/params_pyx.pyx":92
* self.p.put(k, dat_bytes)
*
* def put_bool(self, key, bool val): # <<<<<<<<<<<<<<
* cdef string k = self.check_key(key)
* with nogil:
*/
- __pyx_tuple__36 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_val, __pyx_n_s_k); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 90, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__36);
- __Pyx_GIVEREF(__pyx_tuple__36);
- __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_put_bool, 90, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 90, __pyx_L1_error)
+ __pyx_tuple__34 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_val, __pyx_n_s_k); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 92, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__34);
+ __Pyx_GIVEREF(__pyx_tuple__34);
+ __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_put_bool, 92, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(0, 92, __pyx_L1_error)
- /* "common/params_pyx.pyx":95
+ /* "common/params_pyx.pyx":97
* self.p.putBool(k, val)
*
+ * def put_nonblocking(self, key, dat): # <<<<<<<<<<<<<<
+ * cdef string k = self.check_key(key)
+ * cdef string dat_bytes = ensure_bytes(dat)
+ */
+ __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_put_nonblocking, 97, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(0, 97, __pyx_L1_error)
+
+ /* "common/params_pyx.pyx":103
+ * self.p.putNonBlocking(k, dat_bytes)
+ *
+ * def put_bool_nonblocking(self, key, bool val): # <<<<<<<<<<<<<<
+ * cdef string k = self.check_key(key)
+ * with nogil:
+ */
+ __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_put_bool_nonblocking, 103, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 103, __pyx_L1_error)
+
+ /* "common/params_pyx.pyx":108
+ * self.p.putBoolNonBlocking(k, val)
+ *
* def remove(self, key): # <<<<<<<<<<<<<<
* cdef string k = self.check_key(key)
* with nogil:
*/
- __pyx_tuple__38 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_k); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 95, __pyx_L1_error)
+ __pyx_tuple__38 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_k); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 108, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__38);
__Pyx_GIVEREF(__pyx_tuple__38);
- __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_remove, 95, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 95, __pyx_L1_error)
+ __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_remove, 108, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 108, __pyx_L1_error)
- /* "common/params_pyx.pyx":100
+ /* "common/params_pyx.pyx":113
* self.p.remove(k)
*
* def get_param_path(self, key=""): # <<<<<<<<<<<<<<
* cdef string key_bytes = ensure_bytes(key)
* return self.p.getParamPath(key_bytes).decode("utf-8")
*/
- __pyx_tuple__40 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_key_bytes); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 100, __pyx_L1_error)
+ __pyx_tuple__40 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_key_bytes); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 113, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__40);
__Pyx_GIVEREF(__pyx_tuple__40);
- __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_get_param_path, 100, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 100, __pyx_L1_error)
- __pyx_tuple__42 = PyTuple_Pack(1, __pyx_kp_u_); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 100, __pyx_L1_error)
+ __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_get_param_path, 113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 113, __pyx_L1_error)
+ __pyx_tuple__42 = PyTuple_Pack(1, __pyx_kp_u_); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 113, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__42);
__Pyx_GIVEREF(__pyx_tuple__42);
- /* "common/params_pyx.pyx":104
+ /* "common/params_pyx.pyx":117
* return self.p.getParamPath(key_bytes).decode("utf-8")
*
* def all_keys(self): # <<<<<<<<<<<<<<
* return self.p.allKeys()
- *
*/
- __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_all_keys, 104, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 104, __pyx_L1_error)
+ __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_all_keys, 117, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 117, __pyx_L1_error)
/* "(tree fragment)":1
* def __reduce_cython__(self): # <<<<<<<<<<<<<<
@@ -10536,32 +10809,6 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
__pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__7, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(1, 3, __pyx_L1_error)
-
- /* "common/params_pyx.pyx":107
- * return self.p.allKeys()
- *
- * def put_nonblocking(key, val, d=""): # <<<<<<<<<<<<<<
- * threading.Thread(target=lambda: Params(d).put(key, val)).start()
- *
- */
- __pyx_tuple__46 = PyTuple_Pack(3, __pyx_n_s_key, __pyx_n_s_val, __pyx_n_s_d); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 107, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__46);
- __Pyx_GIVEREF(__pyx_tuple__46);
- __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_put_nonblocking, 107, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 107, __pyx_L1_error)
- __pyx_tuple__48 = PyTuple_Pack(1, ((PyObject*)__pyx_kp_u_)); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(0, 107, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__48);
- __Pyx_GIVEREF(__pyx_tuple__48);
-
- /* "common/params_pyx.pyx":110
- * threading.Thread(target=lambda: Params(d).put(key, val)).start()
- *
- * def put_bool_nonblocking(key, bool val, d=""): # <<<<<<<<<<<<<<
- * threading.Thread(target=lambda: Params(d).put_bool(key, val)).start()
- */
- __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_common_params_pyx_pyx, __pyx_n_s_put_bool_nonblocking, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 110, __pyx_L1_error)
- __pyx_tuple__50 = PyTuple_Pack(1, ((PyObject*)__pyx_kp_u_)); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(0, 110, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__50);
- __Pyx_GIVEREF(__pyx_tuple__50);
__Pyx_RefNannyFinishContext();
return 0;
__pyx_L1_error:;
@@ -10633,15 +10880,15 @@ static int __Pyx_modinit_type_init_code(void) {
__Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
/*--- Type init code ---*/
#if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_6common_10params_pyx_Params = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6common_10params_pyx_Params_spec, NULL); if (unlikely(!__pyx_ptype_6common_10params_pyx_Params)) __PYX_ERR(0, 35, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6common_10params_pyx_Params_spec, __pyx_ptype_6common_10params_pyx_Params) < 0) __PYX_ERR(0, 35, __pyx_L1_error)
+ __pyx_ptype_6common_10params_pyx_Params = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6common_10params_pyx_Params_spec, NULL); if (unlikely(!__pyx_ptype_6common_10params_pyx_Params)) __PYX_ERR(0, 37, __pyx_L1_error)
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6common_10params_pyx_Params_spec, __pyx_ptype_6common_10params_pyx_Params) < 0) __PYX_ERR(0, 37, __pyx_L1_error)
#else
__pyx_ptype_6common_10params_pyx_Params = &__pyx_type_6common_10params_pyx_Params;
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
#endif
#if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_6common_10params_pyx_Params) < 0) __PYX_ERR(0, 35, __pyx_L1_error)
+ if (__Pyx_PyType_Ready(__pyx_ptype_6common_10params_pyx_Params) < 0) __PYX_ERR(0, 37, __pyx_L1_error)
#endif
#if PY_MAJOR_VERSION < 3
__pyx_ptype_6common_10params_pyx_Params->tp_print = 0;
@@ -10651,47 +10898,9 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_ptype_6common_10params_pyx_Params->tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
#endif
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Params, (PyObject *) __pyx_ptype_6common_10params_pyx_Params) < 0) __PYX_ERR(0, 35, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Params, (PyObject *) __pyx_ptype_6common_10params_pyx_Params) < 0) __PYX_ERR(0, 37, __pyx_L1_error)
#if !CYTHON_COMPILING_IN_LIMITED_API
- if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_6common_10params_pyx_Params) < 0) __PYX_ERR(0, 35, __pyx_L1_error)
- #endif
- #if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6common_10params_pyx___pyx_scope_struct__put_nonblocking_spec, NULL); if (unlikely(!__pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking)) __PYX_ERR(0, 107, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6common_10params_pyx___pyx_scope_struct__put_nonblocking_spec, __pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking) < 0) __PYX_ERR(0, 107, __pyx_L1_error)
- #else
- __pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking = &__pyx_type_6common_10params_pyx___pyx_scope_struct__put_nonblocking;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- #endif
- #if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking) < 0) __PYX_ERR(0, 107, __pyx_L1_error)
- #endif
- #if PY_MAJOR_VERSION < 3
- __pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking->tp_print = 0;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking->tp_dictoffset && __pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking->tp_getattro == PyObject_GenericGetAttr)) {
- __pyx_ptype_6common_10params_pyx___pyx_scope_struct__put_nonblocking->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
- }
- #endif
- #if CYTHON_USE_TYPE_SPECS
- __pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking_spec, NULL); if (unlikely(!__pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking)) __PYX_ERR(0, 110, __pyx_L1_error)
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking_spec, __pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking) < 0) __PYX_ERR(0, 110, __pyx_L1_error)
- #else
- __pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking = &__pyx_type_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- #endif
- #if !CYTHON_USE_TYPE_SPECS
- if (__Pyx_PyType_Ready(__pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking) < 0) __PYX_ERR(0, 110, __pyx_L1_error)
- #endif
- #if PY_MAJOR_VERSION < 3
- __pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking->tp_print = 0;
- #endif
- #if !CYTHON_COMPILING_IN_LIMITED_API
- if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking->tp_dictoffset && __pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking->tp_getattro == PyObject_GenericGetAttr)) {
- __pyx_ptype_6common_10params_pyx___pyx_scope_struct_1_put_bool_nonblocking->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
- }
+ if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_6common_10params_pyx_Params) < 0) __PYX_ERR(0, 37, __pyx_L1_error)
#endif
#if CYTHON_USE_TYPE_SPECS
__pyx_t_1 = PyTuple_Pack(1, (PyObject *)(&PyType_Type)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 16, __pyx_L1_error)
@@ -10923,6 +11132,7 @@ static CYTHON_SMALL_CODE int __pyx_pymod_exec_params_pyx(PyObject *__pyx_pyinit_
PyObject *__pyx_t_6 = NULL;
PyObject *__pyx_t_7 = NULL;
PyObject *__pyx_t_8 = NULL;
+ PyObject *__pyx_t_9 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
@@ -10960,10 +11170,8 @@ static CYTHON_SMALL_CODE int __pyx_pymod_exec_params_pyx(PyObject *__pyx_pyinit_
CYTHON_UNUSED_VAR(__pyx_t_1);
__pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
Py_INCREF(__pyx_d);
- __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
- Py_INCREF(__pyx_b);
- __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
- Py_INCREF(__pyx_cython_runtime);
+ __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
+ __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#if CYTHON_REFNANNY
__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
@@ -10975,7 +11183,7 @@ if (!__Pyx_RefNanny) {
}
#endif
__Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_params_pyx(void)", 0);
- if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+ if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#ifdef __Pxy_PyFrame_Initialize_Offsets
__Pxy_PyFrame_Initialize_Offsets();
#endif
@@ -11084,7 +11292,7 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_OrderedDict);
__Pyx_GIVEREF(__pyx_n_s_OrderedDict);
- PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_OrderedDict);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_OrderedDict)) __PYX_ERR(1, 13, __pyx_L1_error);
__pyx_t_4 = __Pyx_Import(__pyx_n_s_collections, __pyx_t_3, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -11106,7 +11314,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_EnumMeta_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Pyx_EnumMeta___reduce_cython, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__6)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem((PyObject *)__pyx_ptype___Pyx_EnumMeta->tp_dict, __pyx_n_s_reduce_cython, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype___Pyx_EnumMeta, __pyx_n_s_reduce_cython, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
PyType_Modified(__pyx_ptype___Pyx_EnumMeta);
@@ -11118,7 +11326,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_EnumMeta_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Pyx_EnumMeta___setstate_cython, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem((PyObject *)__pyx_ptype___Pyx_EnumMeta->tp_dict, __pyx_n_s_setstate_cython, __pyx_t_4) < 0) __PYX_ERR(1, 16, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype___Pyx_EnumMeta, __pyx_n_s_setstate_cython, __pyx_t_4) < 0) __PYX_ERR(1, 16, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
PyType_Modified(__pyx_ptype___Pyx_EnumMeta);
@@ -11133,7 +11341,7 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF((PyObject *)(&PyInt_Type));
__Pyx_GIVEREF((PyObject *)(&PyInt_Type));
- PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)(&PyInt_Type)));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(1, 27, __pyx_L1_error);
__pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 27, __pyx_L1_error)
@@ -11220,7 +11428,7 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_IntEnum);
__Pyx_GIVEREF(__pyx_n_s_IntEnum);
- PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_IntEnum);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_IntEnum)) __PYX_ERR(1, 45, __pyx_L1_error);
__pyx_t_5 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_3, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 45, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -11253,7 +11461,7 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF((PyObject *)(&PyInt_Type));
__Pyx_GIVEREF((PyObject *)(&PyInt_Type));
- PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)(&PyInt_Type)));
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(1, 48, __pyx_L1_error);
__pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 48, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 48, __pyx_L1_error)
@@ -11274,7 +11482,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_FlagBase_1__new__, __Pyx_CYFUNCTION_STATICMETHOD, __pyx_n_s_Pyx_FlagBase___new, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__15)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 49, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__16);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__11);
if (__Pyx_SetNewInClass(__pyx_t_4, __pyx_n_s_new, __pyx_t_5) < 0) __PYX_ERR(1, 49, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -11285,7 +11493,7 @@ if (!__Pyx_RefNanny) {
* return "<%s.%s: %d>" % (self.__class__.__name__, self.name, self)
* def __str__(self):
*/
- __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_FlagBase_3__repr__, 0, __pyx_n_s_Pyx_FlagBase___repr, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 62, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_FlagBase_3__repr__, 0, __pyx_n_s_Pyx_FlagBase___repr, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 62, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_repr, __pyx_t_5) < 0) __PYX_ERR(1, 62, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -11297,7 +11505,7 @@ if (!__Pyx_RefNanny) {
* return "%s.%s" % (self.__class__.__name__, self.name)
*
*/
- __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_FlagBase_5__str__, 0, __pyx_n_s_Pyx_FlagBase___str, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 64, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_14__Pyx_FlagBase_5__str__, 0, __pyx_n_s_Pyx_FlagBase___str, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 64, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_str, __pyx_t_5) < 0) __PYX_ERR(1, 64, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -11339,7 +11547,7 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_IntFlag);
__Pyx_GIVEREF(__pyx_n_s_IntFlag);
- PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_IntFlag);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_IntFlag)) __PYX_ERR(1, 68, __pyx_L1_error);
__pyx_t_6 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_3, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 68, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -11366,7 +11574,7 @@ if (!__Pyx_RefNanny) {
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_1__pyx_unpickle___Pyx_EnumMeta, 0, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__20)); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_8EnumBase_1__pyx_unpickle___Pyx_EnumMeta, 0, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta, NULL, __pyx_n_s_EnumBase, __pyx_d, ((PyObject *)__pyx_codeobj__19)); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle___Pyx_EnumMeta, __pyx_t_6) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -11409,9 +11617,9 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_PERSISTENT);
__Pyx_GIVEREF(__pyx_n_s_PERSISTENT);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_PERSISTENT);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_PERSISTENT)) __PYX_ERR(1, 81, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6)) __PYX_ERR(1, 81, __pyx_L1_error);
__pyx_t_6 = 0;
/* "EnumType":82
@@ -11427,9 +11635,9 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_n_s_CLEAR_ON_MANAGER_START);
__Pyx_GIVEREF(__pyx_n_s_CLEAR_ON_MANAGER_START);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_s_CLEAR_ON_MANAGER_START);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_s_CLEAR_ON_MANAGER_START)) __PYX_ERR(1, 82, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6)) __PYX_ERR(1, 82, __pyx_L1_error);
__pyx_t_6 = 0;
/* "EnumType":83
@@ -11437,7 +11645,7 @@ if (!__Pyx_RefNanny) {
* ('CLEAR_ON_MANAGER_START', __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_MANAGER_START)),
* ('CLEAR_ON_ONROAD_TRANSITION', __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION)), # <<<<<<<<<<<<<<
* ('CLEAR_ON_OFFROAD_TRANSITION', __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION)),
- * ('ALL', __Pyx_PyInt_From_enum__ParamKeyType(ALL)),
+ * ('DEVELOPMENT_ONLY', __Pyx_PyInt_From_enum__ParamKeyType(DEVELOPMENT_ONLY)),
*/
__pyx_t_6 = __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 83, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
@@ -11445,17 +11653,17 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_n_s_CLEAR_ON_ONROAD_TRANSITION);
__Pyx_GIVEREF(__pyx_n_s_CLEAR_ON_ONROAD_TRANSITION);
- PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_n_s_CLEAR_ON_ONROAD_TRANSITION);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_n_s_CLEAR_ON_ONROAD_TRANSITION)) __PYX_ERR(1, 83, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6)) __PYX_ERR(1, 83, __pyx_L1_error);
__pyx_t_6 = 0;
/* "EnumType":84
* ('CLEAR_ON_MANAGER_START', __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_MANAGER_START)),
* ('CLEAR_ON_ONROAD_TRANSITION', __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION)),
* ('CLEAR_ON_OFFROAD_TRANSITION', __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION)), # <<<<<<<<<<<<<<
+ * ('DEVELOPMENT_ONLY', __Pyx_PyInt_From_enum__ParamKeyType(DEVELOPMENT_ONLY)),
* ('ALL', __Pyx_PyInt_From_enum__ParamKeyType(ALL)),
- *
*/
__pyx_t_6 = __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 84, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
@@ -11463,27 +11671,45 @@ if (!__Pyx_RefNanny) {
__Pyx_GOTREF(__pyx_t_7);
__Pyx_INCREF(__pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION);
__Pyx_GIVEREF(__pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION);
- PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION)) __PYX_ERR(1, 84, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6)) __PYX_ERR(1, 84, __pyx_L1_error);
__pyx_t_6 = 0;
/* "EnumType":85
* ('CLEAR_ON_ONROAD_TRANSITION', __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION)),
* ('CLEAR_ON_OFFROAD_TRANSITION', __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION)),
+ * ('DEVELOPMENT_ONLY', __Pyx_PyInt_From_enum__ParamKeyType(DEVELOPMENT_ONLY)), # <<<<<<<<<<<<<<
+ * ('ALL', __Pyx_PyInt_From_enum__ParamKeyType(ALL)),
+ *
+ */
+ __pyx_t_6 = __Pyx_PyInt_From_enum__ParamKeyType(DEVELOPMENT_ONLY); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 85, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 85, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_INCREF(__pyx_n_s_DEVELOPMENT_ONLY);
+ __Pyx_GIVEREF(__pyx_n_s_DEVELOPMENT_ONLY);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_n_s_DEVELOPMENT_ONLY)) __PYX_ERR(1, 85, __pyx_L1_error);
+ __Pyx_GIVEREF(__pyx_t_6);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6)) __PYX_ERR(1, 85, __pyx_L1_error);
+ __pyx_t_6 = 0;
+
+ /* "EnumType":86
+ * ('CLEAR_ON_OFFROAD_TRANSITION', __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION)),
+ * ('DEVELOPMENT_ONLY', __Pyx_PyInt_From_enum__ParamKeyType(DEVELOPMENT_ONLY)),
* ('ALL', __Pyx_PyInt_From_enum__ParamKeyType(ALL)), # <<<<<<<<<<<<<<
*
* ], module=__Pyx_globals.get("__module__", 'common.params_pyx'))
*/
- __pyx_t_6 = __Pyx_PyInt_From_enum__ParamKeyType(ALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 85, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyInt_From_enum__ParamKeyType(ALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 86, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 85, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 86, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
__Pyx_INCREF(__pyx_n_s_ALL);
__Pyx_GIVEREF(__pyx_n_s_ALL);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_n_s_ALL);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_n_s_ALL)) __PYX_ERR(1, 86, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_6)) __PYX_ERR(1, 86, __pyx_L1_error);
__pyx_t_6 = 0;
/* "EnumType":80
@@ -11493,49 +11719,52 @@ if (!__Pyx_RefNanny) {
* ('PERSISTENT', __Pyx_PyInt_From_enum__ParamKeyType(PERSISTENT)),
* ('CLEAR_ON_MANAGER_START', __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_MANAGER_START)),
*/
- __pyx_t_6 = PyList_New(5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 80, __pyx_L1_error)
+ __pyx_t_6 = PyList_New(6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 80, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_3);
- PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_3);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_3)) __PYX_ERR(1, 80, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4)) __PYX_ERR(1, 80, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_5);
- PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5)) __PYX_ERR(1, 80, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_7);
- PyList_SET_ITEM(__pyx_t_6, 3, __pyx_t_7);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 3, __pyx_t_7)) __PYX_ERR(1, 80, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_8);
- PyList_SET_ITEM(__pyx_t_6, 4, __pyx_t_8);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 4, __pyx_t_8)) __PYX_ERR(1, 80, __pyx_L1_error);
+ __Pyx_GIVEREF(__pyx_t_9);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 5, __pyx_t_9)) __PYX_ERR(1, 80, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_4 = 0;
__pyx_t_5 = 0;
__pyx_t_7 = 0;
__pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 80, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_9 = 0;
+ __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 80, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
__Pyx_INCREF(__pyx_n_s_ParamKeyType);
__Pyx_GIVEREF(__pyx_n_s_ParamKeyType);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_n_s_ParamKeyType);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_n_s_ParamKeyType)) __PYX_ERR(1, 80, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_6)) __PYX_ERR(1, 80, __pyx_L1_error);
__pyx_t_6 = 0;
- /* "EnumType":87
+ /* "EnumType":88
* ('ALL', __Pyx_PyInt_From_enum__ParamKeyType(ALL)),
*
* ], module=__Pyx_globals.get("__module__", 'common.params_pyx')) # <<<<<<<<<<<<<<
*
* if PY_VERSION_HEX >= 0x030B0000:
*/
- __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 87, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 88, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (unlikely(__Pyx_globals == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
- __PYX_ERR(1, 87, __pyx_L1_error)
+ __PYX_ERR(1, 88, __pyx_L1_error)
}
- __pyx_t_7 = __Pyx_PyDict_GetItemDefault(__Pyx_globals, __pyx_n_s_module, __pyx_n_s_common_params_pyx); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 87, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_module_2, __pyx_t_7) < 0) __PYX_ERR(1, 87, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_8 = __Pyx_PyDict_GetItemDefault(__Pyx_globals, __pyx_n_s_module, __pyx_kp_s_common_params_pyx); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 88, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_module_2, __pyx_t_8) < 0) __PYX_ERR(1, 88, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "EnumType":80
*
@@ -11544,14 +11773,14 @@ if (!__Pyx_RefNanny) {
* ('PERSISTENT', __Pyx_PyInt_From_enum__ParamKeyType(PERSISTENT)),
* ('CLEAR_ON_MANAGER_START', __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_MANAGER_START)),
*/
- __pyx_t_7 = __Pyx_PyObject_Call(__Pyx_FlagBase, __pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 80, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = __Pyx_PyObject_Call(__Pyx_FlagBase, __pyx_t_9, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 80, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ParamKeyType, __pyx_t_7) < 0) __PYX_ERR(1, 80, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_ParamKeyType, __pyx_t_8) < 0) __PYX_ERR(1, 80, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "EnumType":89
+ /* "EnumType":90
* ], module=__Pyx_globals.get("__module__", 'common.params_pyx'))
*
* if PY_VERSION_HEX >= 0x030B0000: # <<<<<<<<<<<<<<
@@ -11561,28 +11790,28 @@ if (!__Pyx_RefNanny) {
__pyx_t_2 = (PY_VERSION_HEX >= 0x030B0000);
if (__pyx_t_2) {
- /* "EnumType":94
+ /* "EnumType":95
*
*
* ParamKeyType._member_names_ = list(ParamKeyType.__members__) # <<<<<<<<<<<<<<
*
* __Pyx_globals['PERSISTENT'] = ParamKeyType.PERSISTENT
*/
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 94, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_members); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 94, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 95, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_members); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 95, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = __Pyx_PySequence_ListKeepNew(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 94, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = __Pyx_PySequence_ListKeepNew(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 95, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 94, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 95, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_PyObject_SetAttrStr(__pyx_t_6, __pyx_n_s_member_names, __pyx_t_7) < 0) __PYX_ERR(1, 94, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (__Pyx_PyObject_SetAttrStr(__pyx_t_6, __pyx_n_s_member_names, __pyx_t_8) < 0) __PYX_ERR(1, 95, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "EnumType":89
+ /* "EnumType":90
* ], module=__Pyx_globals.get("__module__", 'common.params_pyx'))
*
* if PY_VERSION_HEX >= 0x030B0000: # <<<<<<<<<<<<<<
@@ -11591,100 +11820,119 @@ if (!__Pyx_RefNanny) {
*/
}
- /* "EnumType":96
+ /* "EnumType":97
* ParamKeyType._member_names_ = list(ParamKeyType.__members__)
*
* __Pyx_globals['PERSISTENT'] = ParamKeyType.PERSISTENT # <<<<<<<<<<<<<<
* __Pyx_globals['CLEAR_ON_MANAGER_START'] = ParamKeyType.CLEAR_ON_MANAGER_START
* __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_ONROAD_TRANSITION
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 96, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 97, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_PERSISTENT); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 96, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_PERSISTENT); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 97, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(__Pyx_globals == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 96, __pyx_L1_error)
+ __PYX_ERR(1, 97, __pyx_L1_error)
}
- if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_PERSISTENT, __pyx_t_7) < 0))) __PYX_ERR(1, 96, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_PERSISTENT, __pyx_t_8) < 0))) __PYX_ERR(1, 97, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "EnumType":97
+ /* "EnumType":98
*
* __Pyx_globals['PERSISTENT'] = ParamKeyType.PERSISTENT
* __Pyx_globals['CLEAR_ON_MANAGER_START'] = ParamKeyType.CLEAR_ON_MANAGER_START # <<<<<<<<<<<<<<
* __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_ONROAD_TRANSITION
* __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION
*/
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 97, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_CLEAR_ON_MANAGER_START); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 97, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 98, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_CLEAR_ON_MANAGER_START); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 98, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(__Pyx_globals == Py_None)) {
- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 97, __pyx_L1_error)
- }
- if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CLEAR_ON_MANAGER_START, __pyx_t_6) < 0))) __PYX_ERR(1, 97, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
- /* "EnumType":98
- * __Pyx_globals['PERSISTENT'] = ParamKeyType.PERSISTENT
- * __Pyx_globals['CLEAR_ON_MANAGER_START'] = ParamKeyType.CLEAR_ON_MANAGER_START
- * __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_ONROAD_TRANSITION # <<<<<<<<<<<<<<
- * __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION
- * __Pyx_globals['ALL'] = ParamKeyType.ALL
- */
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 98, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_CLEAR_ON_ONROAD_TRANSITION); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 98, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(__Pyx_globals == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(1, 98, __pyx_L1_error)
}
- if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CLEAR_ON_ONROAD_TRANSITION, __pyx_t_7) < 0))) __PYX_ERR(1, 98, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CLEAR_ON_MANAGER_START, __pyx_t_6) < 0))) __PYX_ERR(1, 98, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "EnumType":99
+ * __Pyx_globals['PERSISTENT'] = ParamKeyType.PERSISTENT
* __Pyx_globals['CLEAR_ON_MANAGER_START'] = ParamKeyType.CLEAR_ON_MANAGER_START
- * __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_ONROAD_TRANSITION
- * __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION # <<<<<<<<<<<<<<
- * __Pyx_globals['ALL'] = ParamKeyType.ALL
- * else:
+ * __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_ONROAD_TRANSITION # <<<<<<<<<<<<<<
+ * __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION
+ * __Pyx_globals['DEVELOPMENT_ONLY'] = ParamKeyType.DEVELOPMENT_ONLY
*/
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 99, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 99, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_CLEAR_ON_ONROAD_TRANSITION); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 99, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(__Pyx_globals == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(1, 99, __pyx_L1_error)
}
- if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION, __pyx_t_6) < 0))) __PYX_ERR(1, 99, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CLEAR_ON_ONROAD_TRANSITION, __pyx_t_8) < 0))) __PYX_ERR(1, 99, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "EnumType":100
+ * __Pyx_globals['CLEAR_ON_MANAGER_START'] = ParamKeyType.CLEAR_ON_MANAGER_START
* __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_ONROAD_TRANSITION
- * __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION
- * __Pyx_globals['ALL'] = ParamKeyType.ALL # <<<<<<<<<<<<<<
- * else:
- * class ParamKeyType(__Pyx_FlagBase):
+ * __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION # <<<<<<<<<<<<<<
+ * __Pyx_globals['DEVELOPMENT_ONLY'] = ParamKeyType.DEVELOPMENT_ONLY
+ * __Pyx_globals['ALL'] = ParamKeyType.ALL
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 100, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 100, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 100, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 100, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(__Pyx_globals == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(1, 100, __pyx_L1_error)
}
- if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ALL, __pyx_t_7) < 0))) __PYX_ERR(1, 100, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION, __pyx_t_6) < 0))) __PYX_ERR(1, 100, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+ /* "EnumType":101
+ * __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_ONROAD_TRANSITION
+ * __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION
+ * __Pyx_globals['DEVELOPMENT_ONLY'] = ParamKeyType.DEVELOPMENT_ONLY # <<<<<<<<<<<<<<
+ * __Pyx_globals['ALL'] = ParamKeyType.ALL
+ * else:
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 101, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_DEVELOPMENT_ONLY); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 101, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ if (unlikely(__Pyx_globals == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ __PYX_ERR(1, 101, __pyx_L1_error)
+ }
+ if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_DEVELOPMENT_ONLY, __pyx_t_8) < 0))) __PYX_ERR(1, 101, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+ /* "EnumType":102
+ * __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION
+ * __Pyx_globals['DEVELOPMENT_ONLY'] = ParamKeyType.DEVELOPMENT_ONLY
+ * __Pyx_globals['ALL'] = ParamKeyType.ALL # <<<<<<<<<<<<<<
+ * else:
+ * class ParamKeyType(__Pyx_FlagBase):
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 102, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_ALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 102, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (unlikely(__Pyx_globals == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ __PYX_ERR(1, 102, __pyx_L1_error)
+ }
+ if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ALL, __pyx_t_6) < 0))) __PYX_ERR(1, 102, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "EnumType":77
*
@@ -11696,7 +11944,7 @@ if (!__Pyx_RefNanny) {
goto __pyx_L5;
}
- /* "EnumType":102
+ /* "EnumType":104
* __Pyx_globals['ALL'] = ParamKeyType.ALL
* else:
* class ParamKeyType(__Pyx_FlagBase): # <<<<<<<<<<<<<<
@@ -11704,366 +11952,409 @@ if (!__Pyx_RefNanny) {
* __Pyx_globals['PERSISTENT'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(PERSISTENT), 'PERSISTENT')
*/
/*else*/ {
- __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 102, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 104, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__Pyx_FlagBase);
__Pyx_GIVEREF(__Pyx_FlagBase);
- PyTuple_SET_ITEM(__pyx_t_7, 0, __Pyx_FlagBase);
- __pyx_t_6 = __Pyx_PEP560_update_bases(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 102, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = __Pyx_CalculateMetaclass(NULL, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 102, __pyx_L1_error)
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __Pyx_FlagBase)) __PYX_ERR(1, 104, __pyx_L1_error);
+ __pyx_t_8 = __Pyx_PEP560_update_bases(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 104, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_8, __pyx_t_6, __pyx_n_s_ParamKeyType, __pyx_n_s_ParamKeyType, (PyObject *) NULL, __pyx_n_s_EnumType, (PyObject *) NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 102, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- if (__pyx_t_6 != __pyx_t_7) {
- if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_7) < 0))) __PYX_ERR(1, 102, __pyx_L1_error)
- }
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = __Pyx_Py3ClassCreate(__pyx_t_8, __pyx_n_s_ParamKeyType, __pyx_t_6, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 102, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CalculateMetaclass(NULL, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 104, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_7 = __Pyx_Py3MetaclassPrepare(__pyx_t_9, __pyx_t_8, __pyx_n_s_ParamKeyType, __pyx_n_s_ParamKeyType, (PyObject *) NULL, __pyx_n_s_EnumType, (PyObject *) NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 104, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ParamKeyType, __pyx_t_7) < 0) __PYX_ERR(1, 102, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (__pyx_t_8 != __pyx_t_6) {
+ if (unlikely((PyDict_SetItemString(__pyx_t_7, "__orig_bases__", __pyx_t_6) < 0))) __PYX_ERR(1, 104, __pyx_L1_error)
+ }
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_9, __pyx_n_s_ParamKeyType, __pyx_t_8, __pyx_t_7, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 104, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_ParamKeyType, __pyx_t_6) < 0) __PYX_ERR(1, 104, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "EnumType":104
+ /* "EnumType":106
* class ParamKeyType(__Pyx_FlagBase):
* pass
* __Pyx_globals['PERSISTENT'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(PERSISTENT), 'PERSISTENT') # <<<<<<<<<<<<<<
* __Pyx_globals['CLEAR_ON_MANAGER_START'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_MANAGER_START), 'CLEAR_ON_MANAGER_START')
* __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION), 'CLEAR_ON_ONROAD_TRANSITION')
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 104, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = __Pyx_PyInt_From_enum__ParamKeyType(PERSISTENT); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 104, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 104, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_GIVEREF(__pyx_t_8);
- PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8);
+ __pyx_t_9 = __Pyx_PyInt_From_enum__ParamKeyType(PERSISTENT); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 106, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 106, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_GIVEREF(__pyx_t_9);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_9)) __PYX_ERR(1, 106, __pyx_L1_error);
__Pyx_INCREF(__pyx_n_s_PERSISTENT);
__Pyx_GIVEREF(__pyx_n_s_PERSISTENT);
- PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_PERSISTENT);
- __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 104, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_n_s_PERSISTENT)) __PYX_ERR(1, 106, __pyx_L1_error);
+ __pyx_t_9 = 0;
+ __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_7, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 106, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(__Pyx_globals == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 104, __pyx_L1_error)
+ __PYX_ERR(1, 106, __pyx_L1_error)
}
- if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_PERSISTENT, __pyx_t_8) < 0))) __PYX_ERR(1, 104, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_PERSISTENT, __pyx_t_9) < 0))) __PYX_ERR(1, 106, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "EnumType":105
+ /* "EnumType":107
* pass
* __Pyx_globals['PERSISTENT'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(PERSISTENT), 'PERSISTENT')
* __Pyx_globals['CLEAR_ON_MANAGER_START'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_MANAGER_START), 'CLEAR_ON_MANAGER_START') # <<<<<<<<<<<<<<
* __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION), 'CLEAR_ON_ONROAD_TRANSITION')
* __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION), 'CLEAR_ON_OFFROAD_TRANSITION')
*/
- __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 105, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 107, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_7 = __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_MANAGER_START); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 107, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_5 = __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_MANAGER_START); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 105, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 105, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_GIVEREF(__pyx_t_5);
- PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_7);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7)) __PYX_ERR(1, 107, __pyx_L1_error);
__Pyx_INCREF(__pyx_n_s_CLEAR_ON_MANAGER_START);
__Pyx_GIVEREF(__pyx_n_s_CLEAR_ON_MANAGER_START);
- PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_n_s_CLEAR_ON_MANAGER_START);
- __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 105, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_n_s_CLEAR_ON_MANAGER_START)) __PYX_ERR(1, 107, __pyx_L1_error);
+ __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 107, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(__Pyx_globals == Py_None)) {
- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 105, __pyx_L1_error)
- }
- if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CLEAR_ON_MANAGER_START, __pyx_t_5) < 0))) __PYX_ERR(1, 105, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
- /* "EnumType":106
- * __Pyx_globals['PERSISTENT'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(PERSISTENT), 'PERSISTENT')
- * __Pyx_globals['CLEAR_ON_MANAGER_START'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_MANAGER_START), 'CLEAR_ON_MANAGER_START')
- * __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION), 'CLEAR_ON_ONROAD_TRANSITION') # <<<<<<<<<<<<<<
- * __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION), 'CLEAR_ON_OFFROAD_TRANSITION')
- * __Pyx_globals['ALL'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(ALL), 'ALL')
- */
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 106, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 106, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 106, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6);
- __Pyx_INCREF(__pyx_n_s_CLEAR_ON_ONROAD_TRANSITION);
- __Pyx_GIVEREF(__pyx_n_s_CLEAR_ON_ONROAD_TRANSITION);
- PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_n_s_CLEAR_ON_ONROAD_TRANSITION);
- __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 106, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(__Pyx_globals == Py_None)) {
- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 106, __pyx_L1_error)
- }
- if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CLEAR_ON_ONROAD_TRANSITION, __pyx_t_6) < 0))) __PYX_ERR(1, 106, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
- /* "EnumType":107
- * __Pyx_globals['CLEAR_ON_MANAGER_START'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_MANAGER_START), 'CLEAR_ON_MANAGER_START')
- * __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION), 'CLEAR_ON_ONROAD_TRANSITION')
- * __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION), 'CLEAR_ON_OFFROAD_TRANSITION') # <<<<<<<<<<<<<<
- * __Pyx_globals['ALL'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(ALL), 'ALL')
- *
- */
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 107, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 107, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 107, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_GIVEREF(__pyx_t_8);
- PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8);
- __Pyx_INCREF(__pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION);
- __Pyx_GIVEREF(__pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION);
- PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION);
- __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 107, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(__Pyx_globals == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(1, 107, __pyx_L1_error)
}
- if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION, __pyx_t_8) < 0))) __PYX_ERR(1, 107, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CLEAR_ON_MANAGER_START, __pyx_t_7) < 0))) __PYX_ERR(1, 107, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "EnumType":108
- * __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION), 'CLEAR_ON_ONROAD_TRANSITION')
+ * __Pyx_globals['PERSISTENT'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(PERSISTENT), 'PERSISTENT')
+ * __Pyx_globals['CLEAR_ON_MANAGER_START'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_MANAGER_START), 'CLEAR_ON_MANAGER_START')
+ * __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION), 'CLEAR_ON_ONROAD_TRANSITION') # <<<<<<<<<<<<<<
* __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION), 'CLEAR_ON_OFFROAD_TRANSITION')
- * __Pyx_globals['ALL'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(ALL), 'ALL') # <<<<<<<<<<<<<<
- *
+ * __Pyx_globals['DEVELOPMENT_ONLY'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(DEVELOPMENT_ONLY), 'DEVELOPMENT_ONLY')
*/
- __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 108, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 108, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_8 = __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 108, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_5 = __Pyx_PyInt_From_enum__ParamKeyType(ALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_GIVEREF(__pyx_t_5);
- PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5);
- __Pyx_INCREF(__pyx_n_s_ALL);
- __Pyx_GIVEREF(__pyx_n_s_ALL);
- PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_n_s_ALL);
- __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 108, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 108, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_GIVEREF(__pyx_t_8);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8)) __PYX_ERR(1, 108, __pyx_L1_error);
+ __Pyx_INCREF(__pyx_n_s_CLEAR_ON_ONROAD_TRANSITION);
+ __Pyx_GIVEREF(__pyx_n_s_CLEAR_ON_ONROAD_TRANSITION);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_n_s_CLEAR_ON_ONROAD_TRANSITION)) __PYX_ERR(1, 108, __pyx_L1_error);
+ __pyx_t_8 = 0;
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 108, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (unlikely(__Pyx_globals == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(1, 108, __pyx_L1_error)
}
- if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ALL, __pyx_t_5) < 0))) __PYX_ERR(1, 108, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CLEAR_ON_ONROAD_TRANSITION, __pyx_t_8) < 0))) __PYX_ERR(1, 108, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+ /* "EnumType":109
+ * __Pyx_globals['CLEAR_ON_MANAGER_START'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_MANAGER_START), 'CLEAR_ON_MANAGER_START')
+ * __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION), 'CLEAR_ON_ONROAD_TRANSITION')
+ * __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION), 'CLEAR_ON_OFFROAD_TRANSITION') # <<<<<<<<<<<<<<
+ * __Pyx_globals['DEVELOPMENT_ONLY'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(DEVELOPMENT_ONLY), 'DEVELOPMENT_ONLY')
+ * __Pyx_globals['ALL'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(ALL), 'ALL')
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 109, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_9 = __Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 109, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 109, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_GIVEREF(__pyx_t_9);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_9)) __PYX_ERR(1, 109, __pyx_L1_error);
+ __Pyx_INCREF(__pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION);
+ __Pyx_GIVEREF(__pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION)) __PYX_ERR(1, 109, __pyx_L1_error);
+ __pyx_t_9 = 0;
+ __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_7, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 109, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (unlikely(__Pyx_globals == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ __PYX_ERR(1, 109, __pyx_L1_error)
+ }
+ if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_CLEAR_ON_OFFROAD_TRANSITION, __pyx_t_9) < 0))) __PYX_ERR(1, 109, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+ /* "EnumType":110
+ * __Pyx_globals['CLEAR_ON_ONROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_ONROAD_TRANSITION), 'CLEAR_ON_ONROAD_TRANSITION')
+ * __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION), 'CLEAR_ON_OFFROAD_TRANSITION')
+ * __Pyx_globals['DEVELOPMENT_ONLY'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(DEVELOPMENT_ONLY), 'DEVELOPMENT_ONLY') # <<<<<<<<<<<<<<
+ * __Pyx_globals['ALL'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(ALL), 'ALL')
+ *
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 110, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_7 = __Pyx_PyInt_From_enum__ParamKeyType(DEVELOPMENT_ONLY); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 110, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 110, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_GIVEREF(__pyx_t_7);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7)) __PYX_ERR(1, 110, __pyx_L1_error);
+ __Pyx_INCREF(__pyx_n_s_DEVELOPMENT_ONLY);
+ __Pyx_GIVEREF(__pyx_n_s_DEVELOPMENT_ONLY);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_n_s_DEVELOPMENT_ONLY)) __PYX_ERR(1, 110, __pyx_L1_error);
+ __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 110, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (unlikely(__Pyx_globals == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ __PYX_ERR(1, 110, __pyx_L1_error)
+ }
+ if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_DEVELOPMENT_ONLY, __pyx_t_7) < 0))) __PYX_ERR(1, 110, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+ /* "EnumType":111
+ * __Pyx_globals['CLEAR_ON_OFFROAD_TRANSITION'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(CLEAR_ON_OFFROAD_TRANSITION), 'CLEAR_ON_OFFROAD_TRANSITION')
+ * __Pyx_globals['DEVELOPMENT_ONLY'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(DEVELOPMENT_ONLY), 'DEVELOPMENT_ONLY')
+ * __Pyx_globals['ALL'] = ParamKeyType(__Pyx_PyInt_From_enum__ParamKeyType(ALL), 'ALL') # <<<<<<<<<<<<<<
+ *
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_ParamKeyType); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 111, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_8 = __Pyx_PyInt_From_enum__ParamKeyType(ALL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 111, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 111, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_GIVEREF(__pyx_t_8);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8)) __PYX_ERR(1, 111, __pyx_L1_error);
+ __Pyx_INCREF(__pyx_n_s_ALL);
+ __Pyx_GIVEREF(__pyx_n_s_ALL);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_n_s_ALL)) __PYX_ERR(1, 111, __pyx_L1_error);
+ __pyx_t_8 = 0;
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 111, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ if (unlikely(__Pyx_globals == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ __PYX_ERR(1, 111, __pyx_L1_error)
+ }
+ if (unlikely((PyDict_SetItem(__Pyx_globals, __pyx_n_s_ALL, __pyx_t_8) < 0))) __PYX_ERR(1, 111, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__pyx_L5:;
- /* "common/params_pyx.pyx":6
- * from libcpp.string cimport string
- * from libcpp.vector cimport vector
- * import threading # <<<<<<<<<<<<<<
- *
- * cdef extern from "common/params.h":
- */
- __pyx_t_5 = __Pyx_ImportDottedModule(__pyx_n_s_threading, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_threading, __pyx_t_5) < 0) __PYX_ERR(0, 6, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
- /* "common/params_pyx.pyx":29
+ /* "common/params_pyx.pyx":31
*
*
* def ensure_bytes(v): # <<<<<<<<<<<<<<
* return v.encode() if isinstance(v, str) else v;
*
*/
- __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_1ensure_bytes, 0, __pyx_n_s_ensure_bytes, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__23)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 29, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ensure_bytes, __pyx_t_5) < 0) __PYX_ERR(0, 29, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_1ensure_bytes, 0, __pyx_n_s_ensure_bytes, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__21)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_ensure_bytes, __pyx_t_8) < 0) __PYX_ERR(0, 31, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "common/params_pyx.pyx":32
+ /* "common/params_pyx.pyx":34
* return v.encode() if isinstance(v, str) else v;
*
* class UnknownKeyName(Exception): # <<<<<<<<<<<<<<
* pass
*
*/
- __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 32, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
__Pyx_INCREF((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]));
__Pyx_GIVEREF((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]));
- PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
- __pyx_t_6 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 32, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = __Pyx_CalculateMetaclass(NULL, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_7 = __Pyx_Py3MetaclassPrepare(__pyx_t_8, __pyx_t_6, __pyx_n_s_UnknownKeyName, __pyx_n_s_UnknownKeyName, (PyObject *) NULL, __pyx_n_s_common_params_pyx, (PyObject *) NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32, __pyx_L1_error)
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])))) __PYX_ERR(0, 34, __pyx_L1_error);
+ __pyx_t_9 = __Pyx_PEP560_update_bases(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 34, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- if (__pyx_t_6 != __pyx_t_5) {
- if (unlikely((PyDict_SetItemString(__pyx_t_7, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(0, 32, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_t_9, __pyx_n_s_UnknownKeyName, __pyx_n_s_UnknownKeyName, (PyObject *) NULL, __pyx_kp_s_common_params_pyx, (PyObject *) NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 34, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ if (__pyx_t_9 != __pyx_t_8) {
+ if (unlikely((PyDict_SetItemString(__pyx_t_6, "__orig_bases__", __pyx_t_8) < 0))) __PYX_ERR(0, 34, __pyx_L1_error)
}
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_8, __pyx_n_s_UnknownKeyName, __pyx_t_6, __pyx_t_7, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 32, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_UnknownKeyName, __pyx_t_5) < 0) __PYX_ERR(0, 32, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_UnknownKeyName, __pyx_t_9, __pyx_t_6, NULL, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UnknownKeyName, __pyx_t_8) < 0) __PYX_ERR(0, 34, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "common/params_pyx.pyx":46
+ /* "common/params_pyx.pyx":48
* del self.p
*
* def clear_all(self, tx_type=ParamKeyType.ALL): # <<<<<<<<<<<<<<
* self.p.clearAll(tx_type)
*
*/
- __pyx_t_6 = __Pyx_Enum_ParamKeyType_to_py(ALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_k__4 = __pyx_t_6;
- __Pyx_GIVEREF(__pyx_t_6);
- __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_Enum_ParamKeyType_to_py(ALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6);
- __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_5clear_all, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_clear_all, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__25)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_t_8);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_10params_pyx_Params->tp_dict, __pyx_n_s_clear_all, __pyx_t_6) < 0) __PYX_ERR(0, 46, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_9 = __Pyx_Enum_ParamKeyType_to_py(ALL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_k__4 = __pyx_t_9;
+ __Pyx_GIVEREF(__pyx_t_9);
+ __pyx_t_9 = 0;
+ __pyx_t_9 = __Pyx_Enum_ParamKeyType_to_py(ALL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_GIVEREF(__pyx_t_9);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_9)) __PYX_ERR(0, 48, __pyx_L1_error);
+ __pyx_t_9 = 0;
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_5clear_all, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_clear_all, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__23)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_t_7);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_10params_pyx_Params, __pyx_n_s_clear_all, __pyx_t_9) < 0) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
PyType_Modified(__pyx_ptype_6common_10params_pyx_Params);
- /* "common/params_pyx.pyx":49
+ /* "common/params_pyx.pyx":51
* self.p.clearAll(tx_type)
*
* def check_key(self, key): # <<<<<<<<<<<<<<
* key = ensure_bytes(key)
* if not self.p.checkKey(key):
*/
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_7check_key, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_check_key, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__27)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 49, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_10params_pyx_Params->tp_dict, __pyx_n_s_check_key, __pyx_t_6) < 0) __PYX_ERR(0, 49, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_7check_key, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_check_key, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__25)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 51, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_10params_pyx_Params, __pyx_n_s_check_key, __pyx_t_9) < 0) __PYX_ERR(0, 51, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
PyType_Modified(__pyx_ptype_6common_10params_pyx_Params);
- /* "common/params_pyx.pyx":55
+ /* "common/params_pyx.pyx":57
* return key
*
* def get(self, key, bool block=False, encoding=None): # <<<<<<<<<<<<<<
* cdef string k = self.check_key(key)
* cdef string val
*/
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_9get, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_get, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__29)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 55, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_tuple__30);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_10params_pyx_Params->tp_dict, __pyx_n_s_get, __pyx_t_6) < 0) __PYX_ERR(0, 55, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_9get, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_get, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__27)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 57, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__28);
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_10params_pyx_Params, __pyx_n_s_get, __pyx_t_9) < 0) __PYX_ERR(0, 57, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
PyType_Modified(__pyx_ptype_6common_10params_pyx_Params);
- /* "common/params_pyx.pyx":71
+ /* "common/params_pyx.pyx":73
* return val if encoding is None else val.decode(encoding)
*
* def get_bool(self, key, bool block=False): # <<<<<<<<<<<<<<
* cdef string k = self.check_key(key)
* cdef bool r
*/
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_11get_bool, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_get_bool, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 71, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_tuple__33);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_10params_pyx_Params->tp_dict, __pyx_n_s_get_bool, __pyx_t_6) < 0) __PYX_ERR(0, 71, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_11get_bool, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_get_bool, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 73, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__31);
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_10params_pyx_Params, __pyx_n_s_get_bool, __pyx_t_9) < 0) __PYX_ERR(0, 73, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
PyType_Modified(__pyx_ptype_6common_10params_pyx_Params);
- /* "common/params_pyx.pyx":78
+ /* "common/params_pyx.pyx":80
* return r
*
* def put(self, key, dat): # <<<<<<<<<<<<<<
* """
* Warning: This function blocks until the param is written to disk!
*/
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_13put, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_put, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__35)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 78, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_10params_pyx_Params->tp_dict, __pyx_n_s_put, __pyx_t_6) < 0) __PYX_ERR(0, 78, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_13put, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_put, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 80, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_10params_pyx_Params, __pyx_n_s_put, __pyx_t_9) < 0) __PYX_ERR(0, 80, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
PyType_Modified(__pyx_ptype_6common_10params_pyx_Params);
- /* "common/params_pyx.pyx":90
+ /* "common/params_pyx.pyx":92
* self.p.put(k, dat_bytes)
*
* def put_bool(self, key, bool val): # <<<<<<<<<<<<<<
* cdef string k = self.check_key(key)
* with nogil:
*/
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_15put_bool, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_put_bool, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 90, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_10params_pyx_Params->tp_dict, __pyx_n_s_put_bool, __pyx_t_6) < 0) __PYX_ERR(0, 90, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_15put_bool, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_put_bool, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__35)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 92, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_10params_pyx_Params, __pyx_n_s_put_bool, __pyx_t_9) < 0) __PYX_ERR(0, 92, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
PyType_Modified(__pyx_ptype_6common_10params_pyx_Params);
- /* "common/params_pyx.pyx":95
+ /* "common/params_pyx.pyx":97
* self.p.putBool(k, val)
*
+ * def put_nonblocking(self, key, dat): # <<<<<<<<<<<<<<
+ * cdef string k = self.check_key(key)
+ * cdef string dat_bytes = ensure_bytes(dat)
+ */
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_17put_nonblocking, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_put_nonblocking, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__36)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 97, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_10params_pyx_Params, __pyx_n_s_put_nonblocking, __pyx_t_9) < 0) __PYX_ERR(0, 97, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ PyType_Modified(__pyx_ptype_6common_10params_pyx_Params);
+
+ /* "common/params_pyx.pyx":103
+ * self.p.putNonBlocking(k, dat_bytes)
+ *
+ * def put_bool_nonblocking(self, key, bool val): # <<<<<<<<<<<<<<
+ * cdef string k = self.check_key(key)
+ * with nogil:
+ */
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_19put_bool_nonblocking, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_put_bool_nonblocking, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 103, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_10params_pyx_Params, __pyx_n_s_put_bool_nonblocking, __pyx_t_9) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ PyType_Modified(__pyx_ptype_6common_10params_pyx_Params);
+
+ /* "common/params_pyx.pyx":108
+ * self.p.putBoolNonBlocking(k, val)
+ *
* def remove(self, key): # <<<<<<<<<<<<<<
* cdef string k = self.check_key(key)
* with nogil:
*/
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_17remove, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_remove, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 95, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_10params_pyx_Params->tp_dict, __pyx_n_s_remove, __pyx_t_6) < 0) __PYX_ERR(0, 95, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_21remove, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_remove, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 108, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_10params_pyx_Params, __pyx_n_s_remove, __pyx_t_9) < 0) __PYX_ERR(0, 108, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
PyType_Modified(__pyx_ptype_6common_10params_pyx_Params);
- /* "common/params_pyx.pyx":100
+ /* "common/params_pyx.pyx":113
* self.p.remove(k)
*
* def get_param_path(self, key=""): # <<<<<<<<<<<<<<
* cdef string key_bytes = ensure_bytes(key)
* return self.p.getParamPath(key_bytes).decode("utf-8")
*/
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_19get_param_path, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_get_param_path, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 100, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_tuple__42);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_10params_pyx_Params->tp_dict, __pyx_n_s_get_param_path, __pyx_t_6) < 0) __PYX_ERR(0, 100, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_23get_param_path, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_get_param_path, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 113, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__42);
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_10params_pyx_Params, __pyx_n_s_get_param_path, __pyx_t_9) < 0) __PYX_ERR(0, 113, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
PyType_Modified(__pyx_ptype_6common_10params_pyx_Params);
- /* "common/params_pyx.pyx":104
+ /* "common/params_pyx.pyx":117
* return self.p.getParamPath(key_bytes).decode("utf-8")
*
* def all_keys(self): # <<<<<<<<<<<<<<
* return self.p.allKeys()
- *
*/
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_21all_keys, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_all_keys, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 104, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_10params_pyx_Params->tp_dict, __pyx_n_s_all_keys, __pyx_t_6) < 0) __PYX_ERR(0, 104, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_25all_keys, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params_all_keys, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 117, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_10params_pyx_Params, __pyx_n_s_all_keys, __pyx_t_9) < 0) __PYX_ERR(0, 117, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
PyType_Modified(__pyx_ptype_6common_10params_pyx_Params);
/* "(tree fragment)":1
@@ -12071,10 +12362,10 @@ if (!__Pyx_RefNanny) {
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
* def __setstate_cython__(self, __pyx_state):
*/
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_23__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params___reduce_cython, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_6) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_27__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params___reduce_cython, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_9) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
/* "(tree fragment)":3
* def __reduce_cython__(self):
@@ -12082,45 +12373,20 @@ if (!__Pyx_RefNanny) {
* def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
* raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_25__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params___setstate_cython, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_6) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
- /* "common/params_pyx.pyx":107
- * return self.p.allKeys()
- *
- * def put_nonblocking(key, val, d=""): # <<<<<<<<<<<<<<
- * threading.Thread(target=lambda: Params(d).put(key, val)).start()
- *
- */
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_3put_nonblocking, 0, __pyx_n_s_put_nonblocking, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__47)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_tuple__48);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_put_nonblocking, __pyx_t_6) < 0) __PYX_ERR(0, 107, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
- /* "common/params_pyx.pyx":110
- * threading.Thread(target=lambda: Params(d).put(key, val)).start()
- *
- * def put_bool_nonblocking(key, bool val, d=""): # <<<<<<<<<<<<<<
- * threading.Thread(target=lambda: Params(d).put_bool(key, val)).start()
- */
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_5put_bool_nonblocking, 0, __pyx_n_s_put_bool_nonblocking, NULL, __pyx_n_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__49)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 110, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_tuple__50);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_put_bool_nonblocking, __pyx_t_6) < 0) __PYX_ERR(0, 110, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6common_10params_pyx_6Params_29__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Params___setstate_cython, NULL, __pyx_kp_s_common_params_pyx, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 3, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_9) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
/* "common/params_pyx.pyx":1
* # distutils: language = c++ # <<<<<<<<<<<<<<
* # cython: language_level = 3
* from libcpp cimport bool
*/
- __pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_6) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_9) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
/*--- Wrapped vars code ---*/
@@ -12132,6 +12398,7 @@ if (!__Pyx_RefNanny) {
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
+ __Pyx_XDECREF(__pyx_t_9);
if (__pyx_m) {
if (__pyx_d && stringtab_initialized) {
__Pyx_AddTraceback("init common.params_pyx", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -12253,6 +12520,8 @@ static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObjec
tmp_value = tstate->current_exception;
tstate->current_exception = value;
Py_XDECREF(tmp_value);
+ Py_XDECREF(type);
+ Py_XDECREF(tb);
#else
PyObject *tmp_type, *tmp_value, *tmp_tb;
tmp_type = tstate->curexc_type;
@@ -12310,14 +12579,20 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject
#endif
/* PyObjectGetAttrStrNoError */
+#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
__Pyx_PyErr_Clear();
}
+#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
PyObject *result;
+#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
+ (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
+ return result;
+#else
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1
PyTypeObject* tp = Py_TYPE(obj);
if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
@@ -12329,6 +12604,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, P
__Pyx_PyObject_GetAttrStr_ClearAttributeError();
}
return result;
+#endif
}
/* GetBuiltinName */
@@ -12380,7 +12656,7 @@ static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
{
PyObject *result;
#if !CYTHON_AVOID_BORROWED_REFS
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
__PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
if (likely(result)) {
@@ -12459,9 +12735,15 @@ static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args,
PyObject *result;
assert(kwargs == NULL || PyDict_Check(kwargs));
nk = kwargs ? PyDict_Size(kwargs) : 0;
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) {
return NULL;
}
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) {
+ return NULL;
+ }
+ #endif
if (
#if PY_MAJOR_VERSION >= 3
co->co_kwonlyargcount == 0 &&
@@ -12538,8 +12820,13 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
ternaryfunc call = Py_TYPE(func)->tp_call;
if (unlikely(!call))
return PyObject_Call(func, arg, kw);
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
return NULL;
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
+ return NULL;
+ #endif
result = (*call)(func, arg, kw);
Py_LeaveRecursiveCall();
if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
@@ -12556,10 +12843,15 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
PyObject *self, *result;
PyCFunction cfunc;
- cfunc = PyCFunction_GET_FUNCTION(func);
- self = PyCFunction_GET_SELF(func);
+ cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
+ self = __Pyx_CyOrPyCFunction_GET_SELF(func);
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
return NULL;
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
+ return NULL;
+ #endif
result = cfunc(self, arg);
Py_LeaveRecursiveCall();
if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
@@ -12572,42 +12864,33 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject
#endif
/* PyObjectFastCall */
+#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API
static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) {
PyObject *argstuple;
- PyObject *result;
+ PyObject *result = 0;
size_t i;
argstuple = PyTuple_New((Py_ssize_t)nargs);
if (unlikely(!argstuple)) return NULL;
for (i = 0; i < nargs; i++) {
Py_INCREF(args[i]);
- PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]);
+ if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad;
}
result = __Pyx_PyObject_Call(func, argstuple, kwargs);
+ bad:
Py_DECREF(argstuple);
return result;
}
+#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) {
Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs);
#if CYTHON_COMPILING_IN_CPYTHON
if (nargs == 0 && kwargs == NULL) {
-#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
- if (__Pyx_IsCyOrPyCFunction(func))
-#else
- if (PyCFunction_Check(func))
-#endif
- {
- if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
- return __Pyx_PyObject_CallMethO(func, NULL);
- }
- }
+ if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
+ return __Pyx_PyObject_CallMethO(func, NULL);
}
else if (nargs == 1 && kwargs == NULL) {
- if (PyCFunction_Check(func))
- {
- if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
- return __Pyx_PyObject_CallMethO(func, args[0]);
- }
- }
+ if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
+ return __Pyx_PyObject_CallMethO(func, args[0]);
}
#endif
#if PY_VERSION_HEX < 0x030800B1
@@ -12631,21 +12914,31 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObj
}
#endif
#endif
- #if CYTHON_VECTORCALL
- vectorcallfunc f = _PyVectorcall_Function(func);
- if (f) {
- return f(func, args, (size_t)nargs, kwargs);
+ if (kwargs == NULL) {
+ #if CYTHON_VECTORCALL
+ #if PY_VERSION_HEX < 0x03090000
+ vectorcallfunc f = _PyVectorcall_Function(func);
+ #else
+ vectorcallfunc f = PyVectorcall_Function(func);
+ #endif
+ if (f) {
+ return f(func, args, (size_t)nargs, NULL);
+ }
+ #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
+ if (__Pyx_CyFunction_CheckExact(func)) {
+ __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
+ if (f) return f(func, args, (size_t)nargs, NULL);
+ }
+ #endif
}
- #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
- if (__Pyx_CyFunction_CheckExact(func)) {
- __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
- if (f) return f(func, args, (size_t)nargs, kwargs);
- }
- #endif
if (nargs == 0) {
return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs);
}
+ #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
+ return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs);
+ #else
return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
+ #endif
}
/* TupleAndListFromArray */
@@ -12853,6 +13146,24 @@ static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyO
}
return NULL; // not found (no exception set)
}
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
+static CYTHON_UNUSED PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) {
+ Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames);
+ PyObject *dict;
+ dict = PyDict_New();
+ if (unlikely(!dict))
+ return NULL;
+ for (i=0; i= PyTuple_GET_SIZE(kwds)) break;
+ Py_ssize_t size;
+#if CYTHON_ASSUME_SAFE_MACROS
+ size = PyTuple_GET_SIZE(kwds);
+#else
+ size = PyTuple_Size(kwds);
+ if (size < 0) goto bad;
+#endif
+ if (pos >= size) break;
+#if CYTHON_AVOID_BORROWED_REFS
+ key = __Pyx_PySequence_ITEM(kwds, pos);
+ if (!key) goto bad;
+#elif CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kwds, pos);
+#else
+ key = PyTuple_GetItem(kwds, pos);
+ if (!key) goto bad;
+#endif
value = kwvalues[pos];
pos++;
}
else
{
if (!PyDict_Next(kwds, &pos, &key, &value)) break;
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(key);
+#endif
}
name = first_kw_arg;
while (*name && (**name != key)) name++;
if (*name) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(value); // transfer ownership of value to values
+ Py_DECREF(key);
+#endif
+ key = NULL;
+ value = NULL;
continue;
}
+#if !CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(key);
+#endif
+ Py_INCREF(value);
name = first_kw_arg;
#if PY_MAJOR_VERSION < 3
if (likely(PyString_Check(key))) {
@@ -12934,6 +13275,9 @@ static int __Pyx_ParseOptionalKeywords(
if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
&& _PyString_Eq(**name, key)) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ value = NULL; // ownership transferred to values
+#endif
break;
}
name++;
@@ -12963,6 +13307,9 @@ static int __Pyx_ParseOptionalKeywords(
if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
if (cmp == 0) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ value = NULL; // ownership transferred to values
+#endif
break;
}
name++;
@@ -12989,6 +13336,8 @@ static int __Pyx_ParseOptionalKeywords(
goto invalid_keyword;
}
}
+ Py_XDECREF(key);
+ Py_XDECREF(value);
return 0;
arg_passed_twice:
__Pyx_RaiseDoubleKeywordsError(function_name, key);
@@ -13008,6 +13357,8 @@ invalid_keyword:
function_name, key);
#endif
bad:
+ Py_XDECREF(key);
+ Py_XDECREF(value);
return -1;
}
@@ -13148,7 +13499,9 @@ static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) {
__Pyx_TypeName obj_type_name;
if (likely(PyType_Check(obj))) {
PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_n_s_class_getitem);
- if (meth) {
+ if (!meth) {
+ PyErr_Clear();
+ } else {
PyObject *result = __Pyx_PyObject_CallOneArg(meth, key);
Py_DECREF(meth);
return result;
@@ -13188,15 +13541,32 @@ static int __Pyx_CheckKeywordStrings(
return 1;
#else
if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kw))) {
- if (unlikely(PyTuple_GET_SIZE(kw) == 0))
+ Py_ssize_t kwsize;
+#if CYTHON_ASSUME_SAFE_MACROS
+ kwsize = PyTuple_GET_SIZE(kw);
+#else
+ kwsize = PyTuple_Size(kw);
+ if (kwsize < 0) return 0;
+#endif
+ if (unlikely(kwsize == 0))
return 1;
if (!kw_allowed) {
+#if CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kw, 0);
+#else
+ key = PyTuple_GetItem(kw, pos);
+ if (!key) return 0;
+#endif
goto invalid_keyword;
}
#if PY_VERSION_HEX < 0x03090000
- for (pos = 0; pos < PyTuple_GET_SIZE(kw); pos++) {
+ for (pos = 0; pos < kwsize; pos++) {
+#if CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kw, pos);
+#else
+ key = PyTuple_GetItem(kw, pos);
+ if (!key) return 0;
+#endif
if (unlikely(!PyUnicode_Check(key)))
goto invalid_keyword_type;
}
@@ -13232,6 +13602,7 @@ invalid_keyword:
}
/* GetAttr3 */
+#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
@@ -13241,9 +13612,14 @@ static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
Py_INCREF(d);
return d;
}
+#endif
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
PyObject *r;
-#if CYTHON_USE_TYPE_SLOTS
+#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
+ int res = PyObject_GetOptionalAttr(o, n, &r);
+ return (res != 0) ? r : __Pyx_NewRef(d);
+#else
+ #if CYTHON_USE_TYPE_SLOTS
if (likely(PyString_Check(n))) {
r = __Pyx_PyObject_GetAttrStrNoError(o, n);
if (unlikely(!r) && likely(!PyErr_Occurred())) {
@@ -13251,9 +13627,10 @@ static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject
}
return r;
}
-#endif
+ #endif
r = PyObject_GetAttr(o, n);
return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
+#endif
}
/* RaiseUnexpectedTypeError */
@@ -13451,14 +13828,9 @@ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
{
#if PY_MAJOR_VERSION >= 3
if (level == -1) {
- if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
- #if CYTHON_COMPILING_IN_LIMITED_API
- module = PyImport_ImportModuleLevelObject(
- name, empty_dict, empty_dict, from_list, 1);
- #else
+ if (strchr(__Pyx_MODULE_NAME, '.') != NULL) {
module = PyImport_ImportModuleLevelObject(
name, __pyx_d, empty_dict, from_list, 1);
- #endif
if (unlikely(!module)) {
if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError)))
goto bad;
@@ -13477,14 +13849,9 @@ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL);
Py_DECREF(py_level);
#else
- #if CYTHON_COMPILING_IN_LIMITED_API
- module = PyImport_ImportModuleLevelObject(
- name, empty_dict, empty_dict, from_list, level);
- #else
module = PyImport_ImportModuleLevelObject(
name, __pyx_d, empty_dict, from_list, level);
#endif
- #endif
}
}
bad:
@@ -13553,6 +13920,7 @@ static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
}
/* HasAttr */
+#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
PyObject *r;
if (unlikely(!__Pyx_PyBaseString_Check(n))) {
@@ -13569,6 +13937,7 @@ static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
return 1;
}
}
+#endif
/* decode_c_bytes */
static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes(
@@ -13597,11 +13966,6 @@ static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes(
}
}
-/* RaiseClosureNameError */
-static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) {
- PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
-}
-
/* FixUpExtensionType */
#if CYTHON_USE_TYPE_SPECS
static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) {
@@ -13675,1059 +14039,10 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
}
#endif
-/* FetchSharedCythonModule */
-static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
- PyObject *abi_module = PyImport_AddModule((char*) __PYX_ABI_MODULE_NAME);
- if (unlikely(!abi_module)) return NULL;
- Py_INCREF(abi_module);
- return abi_module;
-}
-
-/* FetchCommonType */
-static int __Pyx_VerifyCachedType(PyObject *cached_type,
- const char *name,
- Py_ssize_t basicsize,
- Py_ssize_t expected_basicsize) {
- if (!PyType_Check(cached_type)) {
- PyErr_Format(PyExc_TypeError,
- "Shared Cython type %.200s is not a type object", name);
- return -1;
- }
- if (basicsize != expected_basicsize) {
- PyErr_Format(PyExc_TypeError,
- "Shared Cython type %.200s has the wrong size, try recompiling",
- name);
- return -1;
- }
- return 0;
-}
-#if !CYTHON_USE_TYPE_SPECS
-static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
- PyObject* abi_module;
- const char* object_name;
- PyTypeObject *cached_type = NULL;
- abi_module = __Pyx_FetchSharedCythonABIModule();
- if (!abi_module) return NULL;
- object_name = strrchr(type->tp_name, '.');
- object_name = object_name ? object_name+1 : type->tp_name;
- cached_type = (PyTypeObject*) PyObject_GetAttrString(abi_module, object_name);
- if (cached_type) {
- if (__Pyx_VerifyCachedType(
- (PyObject *)cached_type,
- object_name,
- cached_type->tp_basicsize,
- type->tp_basicsize) < 0) {
- goto bad;
- }
- goto done;
- }
- if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
- PyErr_Clear();
- if (PyType_Ready(type) < 0) goto bad;
- if (PyObject_SetAttrString(abi_module, object_name, (PyObject *)type) < 0)
- goto bad;
- Py_INCREF(type);
- cached_type = type;
-done:
- Py_DECREF(abi_module);
- return cached_type;
-bad:
- Py_XDECREF(cached_type);
- cached_type = NULL;
- goto done;
-}
-#else
-static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) {
- PyObject *abi_module, *cached_type = NULL;
- const char* object_name = strrchr(spec->name, '.');
- object_name = object_name ? object_name+1 : spec->name;
- abi_module = __Pyx_FetchSharedCythonABIModule();
- if (!abi_module) return NULL;
- cached_type = PyObject_GetAttrString(abi_module, object_name);
- if (cached_type) {
- Py_ssize_t basicsize;
-#if CYTHON_COMPILING_IN_LIMITED_API
- PyObject *py_basicsize;
- py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__");
- if (unlikely(!py_basicsize)) goto bad;
- basicsize = PyLong_AsSsize_t(py_basicsize);
- Py_DECREF(py_basicsize);
- py_basicsize = 0;
- if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
-#else
- basicsize = likely(PyType_Check(cached_type)) ? ((PyTypeObject*) cached_type)->tp_basicsize : -1;
-#endif
- if (__Pyx_VerifyCachedType(
- cached_type,
- object_name,
- basicsize,
- spec->basicsize) < 0) {
- goto bad;
- }
- goto done;
- }
- if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
- PyErr_Clear();
- CYTHON_UNUSED_VAR(module);
- cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases);
- if (unlikely(!cached_type)) goto bad;
- if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad;
- if (PyObject_SetAttrString(abi_module, object_name, cached_type) < 0) goto bad;
-done:
- Py_DECREF(abi_module);
- assert(cached_type == NULL || PyType_Check(cached_type));
- return (PyTypeObject *) cached_type;
-bad:
- Py_XDECREF(cached_type);
- cached_type = NULL;
- goto done;
-}
-#endif
-
-/* PyVectorcallFastCallDict */
-#if CYTHON_METH_FASTCALL
-static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
-{
- PyObject *res = NULL;
- PyObject *kwnames;
- PyObject **newargs;
- PyObject **kwvalues;
- Py_ssize_t i, pos;
- size_t j;
- PyObject *key, *value;
- unsigned long keys_are_strings;
- Py_ssize_t nkw = PyDict_GET_SIZE(kw);
- newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0]));
- if (unlikely(newargs == NULL)) {
- PyErr_NoMemory();
- return NULL;
- }
- for (j = 0; j < nargs; j++) newargs[j] = args[j];
- kwnames = PyTuple_New(nkw);
- if (unlikely(kwnames == NULL)) {
- PyMem_Free(newargs);
- return NULL;
- }
- kwvalues = newargs + nargs;
- pos = i = 0;
- keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS;
- while (PyDict_Next(kw, &pos, &key, &value)) {
- keys_are_strings &= Py_TYPE(key)->tp_flags;
- Py_INCREF(key);
- Py_INCREF(value);
- PyTuple_SET_ITEM(kwnames, i, key);
- kwvalues[i] = value;
- i++;
- }
- if (unlikely(!keys_are_strings)) {
- PyErr_SetString(PyExc_TypeError, "keywords must be strings");
- goto cleanup;
- }
- res = vc(func, newargs, nargs, kwnames);
-cleanup:
- Py_DECREF(kwnames);
- for (i = 0; i < nkw; i++)
- Py_DECREF(kwvalues[i]);
- PyMem_Free(newargs);
- return res;
-}
-static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
-{
- if (likely(kw == NULL) || PyDict_GET_SIZE(kw) == 0) {
- return vc(func, args, nargs, NULL);
- }
- return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw);
-}
-#endif
-
-/* CythonFunctionShared */
-static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
-#if PY_VERSION_HEX < 0x030900B1
- __Pyx_Py_XDECREF_SET(
- __Pyx_CyFunction_GetClassObj(f),
- ((classobj) ? __Pyx_NewRef(classobj) : NULL));
-#else
- __Pyx_Py_XDECREF_SET(
- ((PyCMethodObject *) (f))->mm_class,
- (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL));
-#endif
-}
-static PyObject *
-__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
-{
- CYTHON_UNUSED_VAR(closure);
- if (unlikely(op->func_doc == NULL)) {
- if (((PyCFunctionObject*)op)->m_ml->ml_doc) {
-#if PY_MAJOR_VERSION >= 3
- op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
-#else
- op->func_doc = PyString_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
-#endif
- if (unlikely(op->func_doc == NULL))
- return NULL;
- } else {
- Py_INCREF(Py_None);
- return Py_None;
- }
- }
- Py_INCREF(op->func_doc);
- return op->func_doc;
-}
-static int
-__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context)
-{
- CYTHON_UNUSED_VAR(context);
- if (value == NULL) {
- value = Py_None;
- }
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(op->func_doc, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context)
-{
- CYTHON_UNUSED_VAR(context);
- if (unlikely(op->func_name == NULL)) {
-#if PY_MAJOR_VERSION >= 3
- op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
-#else
- op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
-#endif
- if (unlikely(op->func_name == NULL))
- return NULL;
- }
- Py_INCREF(op->func_name);
- return op->func_name;
-}
-static int
-__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context)
-{
- CYTHON_UNUSED_VAR(context);
-#if PY_MAJOR_VERSION >= 3
- if (unlikely(value == NULL || !PyUnicode_Check(value)))
-#else
- if (unlikely(value == NULL || !PyString_Check(value)))
-#endif
- {
- PyErr_SetString(PyExc_TypeError,
- "__name__ must be set to a string object");
- return -1;
- }
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(op->func_name, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context)
-{
- CYTHON_UNUSED_VAR(context);
- Py_INCREF(op->func_qualname);
- return op->func_qualname;
-}
-static int
-__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context)
-{
- CYTHON_UNUSED_VAR(context);
-#if PY_MAJOR_VERSION >= 3
- if (unlikely(value == NULL || !PyUnicode_Check(value)))
-#else
- if (unlikely(value == NULL || !PyString_Check(value)))
-#endif
- {
- PyErr_SetString(PyExc_TypeError,
- "__qualname__ must be set to a string object");
- return -1;
- }
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(op->func_qualname, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context)
-{
- CYTHON_UNUSED_VAR(context);
- if (unlikely(op->func_dict == NULL)) {
- op->func_dict = PyDict_New();
- if (unlikely(op->func_dict == NULL))
- return NULL;
- }
- Py_INCREF(op->func_dict);
- return op->func_dict;
-}
-static int
-__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context)
-{
- CYTHON_UNUSED_VAR(context);
- if (unlikely(value == NULL)) {
- PyErr_SetString(PyExc_TypeError,
- "function's dictionary may not be deleted");
- return -1;
- }
- if (unlikely(!PyDict_Check(value))) {
- PyErr_SetString(PyExc_TypeError,
- "setting function's dictionary to a non-dict");
- return -1;
- }
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(op->func_dict, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context)
-{
- CYTHON_UNUSED_VAR(context);
- Py_INCREF(op->func_globals);
- return op->func_globals;
-}
-static PyObject *
-__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context)
-{
- CYTHON_UNUSED_VAR(op);
- CYTHON_UNUSED_VAR(context);
- Py_INCREF(Py_None);
- return Py_None;
-}
-static PyObject *
-__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context)
-{
- PyObject* result = (op->func_code) ? op->func_code : Py_None;
- CYTHON_UNUSED_VAR(context);
- Py_INCREF(result);
- return result;
-}
-static int
-__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
- int result = 0;
- PyObject *res = op->defaults_getter((PyObject *) op);
- if (unlikely(!res))
- return -1;
- #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
- Py_INCREF(op->defaults_tuple);
- op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
- Py_INCREF(op->defaults_kwdict);
- #else
- op->defaults_tuple = PySequence_ITEM(res, 0);
- if (unlikely(!op->defaults_tuple)) result = -1;
- else {
- op->defaults_kwdict = PySequence_ITEM(res, 1);
- if (unlikely(!op->defaults_kwdict)) result = -1;
- }
- #endif
- Py_DECREF(res);
- return result;
-}
-static int
-__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
- CYTHON_UNUSED_VAR(context);
- if (!value) {
- value = Py_None;
- } else if (unlikely(value != Py_None && !PyTuple_Check(value))) {
- PyErr_SetString(PyExc_TypeError,
- "__defaults__ must be set to a tuple object");
- return -1;
- }
- PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not "
- "currently affect the values used in function calls", 1);
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(op->defaults_tuple, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) {
- PyObject* result = op->defaults_tuple;
- CYTHON_UNUSED_VAR(context);
- if (unlikely(!result)) {
- if (op->defaults_getter) {
- if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
- result = op->defaults_tuple;
- } else {
- result = Py_None;
- }
- }
- Py_INCREF(result);
- return result;
-}
-static int
-__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
- CYTHON_UNUSED_VAR(context);
- if (!value) {
- value = Py_None;
- } else if (unlikely(value != Py_None && !PyDict_Check(value))) {
- PyErr_SetString(PyExc_TypeError,
- "__kwdefaults__ must be set to a dict object");
- return -1;
- }
- PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not "
- "currently affect the values used in function calls", 1);
- Py_INCREF(value);
- __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) {
- PyObject* result = op->defaults_kwdict;
- CYTHON_UNUSED_VAR(context);
- if (unlikely(!result)) {
- if (op->defaults_getter) {
- if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
- result = op->defaults_kwdict;
- } else {
- result = Py_None;
- }
- }
- Py_INCREF(result);
- return result;
-}
-static int
-__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
- CYTHON_UNUSED_VAR(context);
- if (!value || value == Py_None) {
- value = NULL;
- } else if (unlikely(!PyDict_Check(value))) {
- PyErr_SetString(PyExc_TypeError,
- "__annotations__ must be set to a dict object");
- return -1;
- }
- Py_XINCREF(value);
- __Pyx_Py_XDECREF_SET(op->func_annotations, value);
- return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) {
- PyObject* result = op->func_annotations;
- CYTHON_UNUSED_VAR(context);
- if (unlikely(!result)) {
- result = PyDict_New();
- if (unlikely(!result)) return NULL;
- op->func_annotations = result;
- }
- Py_INCREF(result);
- return result;
-}
-static PyObject *
-__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) {
- int is_coroutine;
- CYTHON_UNUSED_VAR(context);
- if (op->func_is_coroutine) {
- return __Pyx_NewRef(op->func_is_coroutine);
- }
- is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE;
-#if PY_VERSION_HEX >= 0x03050000
- if (is_coroutine) {
- PyObject *module, *fromlist, *marker = __pyx_n_s_is_coroutine;
- fromlist = PyList_New(1);
- if (unlikely(!fromlist)) return NULL;
- Py_INCREF(marker);
- PyList_SET_ITEM(fromlist, 0, marker);
- module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0);
- Py_DECREF(fromlist);
- if (unlikely(!module)) goto ignore;
- op->func_is_coroutine = __Pyx_PyObject_GetAttrStr(module, marker);
- Py_DECREF(module);
- if (likely(op->func_is_coroutine)) {
- return __Pyx_NewRef(op->func_is_coroutine);
- }
-ignore:
- PyErr_Clear();
- }
-#endif
- op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine);
- return __Pyx_NewRef(op->func_is_coroutine);
-}
-static PyGetSetDef __pyx_CyFunction_getsets[] = {
- {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
- {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
- {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
- {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
- {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
- {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
- {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
- {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
- {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
- {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
- {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
- {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
- {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
- {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
- {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
- {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
- {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
- {(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
- {0, 0, 0, 0, 0}
-};
-static PyMemberDef __pyx_CyFunction_members[] = {
- {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
-#if CYTHON_USE_TYPE_SPECS
- {(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0},
-#if CYTHON_METH_FASTCALL
-#if CYTHON_BACKPORT_VECTORCALL
- {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0},
-#else
- {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
-#endif
-#endif
-#if PY_VERSION_HEX < 0x030500A0
- {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0},
-#else
- {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
-#endif
-#endif
- {0, 0, 0, 0, 0}
-};
-static PyObject *
-__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args)
-{
- CYTHON_UNUSED_VAR(args);
-#if PY_MAJOR_VERSION >= 3
- Py_INCREF(m->func_qualname);
- return m->func_qualname;
-#else
- return PyString_FromString(((PyCFunctionObject*)m)->m_ml->ml_name);
-#endif
-}
-static PyMethodDef __pyx_CyFunction_methods[] = {
- {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
- {0, 0, 0, 0}
-};
-#if PY_VERSION_HEX < 0x030500A0
-#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
-#else
-#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
-#endif
-static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
- PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
- PyCFunctionObject *cf = (PyCFunctionObject*) op;
- if (unlikely(op == NULL))
- return NULL;
- op->flags = flags;
- __Pyx_CyFunction_weakreflist(op) = NULL;
- cf->m_ml = ml;
- cf->m_self = (PyObject *) op;
- Py_XINCREF(closure);
- op->func_closure = closure;
- Py_XINCREF(module);
- cf->m_module = module;
- op->func_dict = NULL;
- op->func_name = NULL;
- Py_INCREF(qualname);
- op->func_qualname = qualname;
- op->func_doc = NULL;
-#if PY_VERSION_HEX < 0x030900B1
- op->func_classobj = NULL;
-#else
- ((PyCMethodObject*)op)->mm_class = NULL;
-#endif
- op->func_globals = globals;
- Py_INCREF(op->func_globals);
- Py_XINCREF(code);
- op->func_code = code;
- op->defaults_pyobjects = 0;
- op->defaults_size = 0;
- op->defaults = NULL;
- op->defaults_tuple = NULL;
- op->defaults_kwdict = NULL;
- op->defaults_getter = NULL;
- op->func_annotations = NULL;
- op->func_is_coroutine = NULL;
-#if CYTHON_METH_FASTCALL
- switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) {
- case METH_NOARGS:
- __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS;
- break;
- case METH_O:
- __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O;
- break;
- case METH_METHOD | METH_FASTCALL | METH_KEYWORDS:
- __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD;
- break;
- case METH_FASTCALL | METH_KEYWORDS:
- __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS;
- break;
- case METH_VARARGS | METH_KEYWORDS:
- __Pyx_CyFunction_func_vectorcall(op) = NULL;
- break;
- default:
- PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
- Py_DECREF(op);
- return NULL;
- }
-#endif
- return (PyObject *) op;
-}
-static int
-__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
-{
- Py_CLEAR(m->func_closure);
- Py_CLEAR(((PyCFunctionObject*)m)->m_module);
- Py_CLEAR(m->func_dict);
- Py_CLEAR(m->func_name);
- Py_CLEAR(m->func_qualname);
- Py_CLEAR(m->func_doc);
- Py_CLEAR(m->func_globals);
- Py_CLEAR(m->func_code);
-#if PY_VERSION_HEX < 0x030900B1
- Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
-#else
- {
- PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class;
- ((PyCMethodObject *) (m))->mm_class = NULL;
- Py_XDECREF(cls);
- }
-#endif
- Py_CLEAR(m->defaults_tuple);
- Py_CLEAR(m->defaults_kwdict);
- Py_CLEAR(m->func_annotations);
- Py_CLEAR(m->func_is_coroutine);
- if (m->defaults) {
- PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
- int i;
- for (i = 0; i < m->defaults_pyobjects; i++)
- Py_XDECREF(pydefaults[i]);
- PyObject_Free(m->defaults);
- m->defaults = NULL;
- }
- return 0;
-}
-static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m)
-{
- if (__Pyx_CyFunction_weakreflist(m) != NULL)
- PyObject_ClearWeakRefs((PyObject *) m);
- __Pyx_CyFunction_clear(m);
- __Pyx_PyHeapTypeObject_GC_Del(m);
-}
-static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
-{
- PyObject_GC_UnTrack(m);
- __Pyx__CyFunction_dealloc(m);
-}
-static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
-{
- Py_VISIT(m->func_closure);
- Py_VISIT(((PyCFunctionObject*)m)->m_module);
- Py_VISIT(m->func_dict);
- Py_VISIT(m->func_name);
- Py_VISIT(m->func_qualname);
- Py_VISIT(m->func_doc);
- Py_VISIT(m->func_globals);
- Py_VISIT(m->func_code);
- Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
- Py_VISIT(m->defaults_tuple);
- Py_VISIT(m->defaults_kwdict);
- Py_VISIT(m->func_is_coroutine);
- if (m->defaults) {
- PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
- int i;
- for (i = 0; i < m->defaults_pyobjects; i++)
- Py_VISIT(pydefaults[i]);
- }
- return 0;
-}
-static PyObject*
-__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
-{
-#if PY_MAJOR_VERSION >= 3
- return PyUnicode_FromFormat("",
- op->func_qualname, (void *)op);
-#else
- return PyString_FromFormat("",
- PyString_AsString(op->func_qualname), (void *)op);
-#endif
-}
-static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
- PyCFunctionObject* f = (PyCFunctionObject*)func;
- PyCFunction meth = f->m_ml->ml_meth;
- Py_ssize_t size;
- switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
- case METH_VARARGS:
- if (likely(kw == NULL || PyDict_Size(kw) == 0))
- return (*meth)(self, arg);
- break;
- case METH_VARARGS | METH_KEYWORDS:
- return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw);
- case METH_NOARGS:
- if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
- size = PyTuple_GET_SIZE(arg);
- if (likely(size == 0))
- return (*meth)(self, NULL);
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
- f->m_ml->ml_name, size);
- return NULL;
- }
- break;
- case METH_O:
- if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
- size = PyTuple_GET_SIZE(arg);
- if (likely(size == 1)) {
- PyObject *result, *arg0;
- #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- arg0 = PyTuple_GET_ITEM(arg, 0);
- #else
- arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
- #endif
- result = (*meth)(self, arg0);
- #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
- Py_DECREF(arg0);
- #endif
- return result;
- }
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
- f->m_ml->ml_name, size);
- return NULL;
- }
- break;
- default:
- PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
- return NULL;
- }
- PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
- f->m_ml->ml_name);
- return NULL;
-}
-static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
- return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw);
-}
-static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
- PyObject *result;
- __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
-#if CYTHON_METH_FASTCALL
- __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc);
- if (vc) {
-#if CYTHON_ASSUME_SAFE_MACROS
- return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw);
-#else
- (void) &__Pyx_PyVectorcall_FastCallDict;
- return PyVectorcall_Call(func, args, kw);
-#endif
- }
-#endif
- if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
- Py_ssize_t argc;
- PyObject *new_args;
- PyObject *self;
- argc = PyTuple_GET_SIZE(args);
- new_args = PyTuple_GetSlice(args, 1, argc);
- if (unlikely(!new_args))
- return NULL;
- self = PyTuple_GetItem(args, 0);
- if (unlikely(!self)) {
- Py_DECREF(new_args);
-#if PY_MAJOR_VERSION > 2
- PyErr_Format(PyExc_TypeError,
- "unbound method %.200S() needs an argument",
- cyfunc->func_qualname);
-#else
- PyErr_SetString(PyExc_TypeError,
- "unbound method needs an argument");
-#endif
- return NULL;
- }
- result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
- Py_DECREF(new_args);
- } else {
- result = __Pyx_CyFunction_Call(func, args, kw);
- }
- return result;
-}
-#if CYTHON_METH_FASTCALL
-static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames)
-{
- int ret = 0;
- if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
- if (unlikely(nargs < 1)) {
- PyErr_Format(PyExc_TypeError, "%.200s() needs an argument",
- ((PyCFunctionObject*)cyfunc)->m_ml->ml_name);
- return -1;
- }
- ret = 1;
- }
- if (unlikely(kwnames) && unlikely(PyTuple_GET_SIZE(kwnames))) {
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes no keyword arguments", ((PyCFunctionObject*)cyfunc)->m_ml->ml_name);
- return -1;
- }
- return ret;
-}
-static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
-{
- __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
- PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
-#if CYTHON_BACKPORT_VECTORCALL
- Py_ssize_t nargs = (Py_ssize_t)nargsf;
-#else
- Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
-#endif
- PyObject *self;
- switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
- case 1:
- self = args[0];
- args += 1;
- nargs -= 1;
- break;
- case 0:
- self = ((PyCFunctionObject*)cyfunc)->m_self;
- break;
- default:
- return NULL;
- }
- if (unlikely(nargs != 0)) {
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
- def->ml_name, nargs);
- return NULL;
- }
- return def->ml_meth(self, NULL);
-}
-static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
-{
- __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
- PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
-#if CYTHON_BACKPORT_VECTORCALL
- Py_ssize_t nargs = (Py_ssize_t)nargsf;
-#else
- Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
-#endif
- PyObject *self;
- switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
- case 1:
- self = args[0];
- args += 1;
- nargs -= 1;
- break;
- case 0:
- self = ((PyCFunctionObject*)cyfunc)->m_self;
- break;
- default:
- return NULL;
- }
- if (unlikely(nargs != 1)) {
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
- def->ml_name, nargs);
- return NULL;
- }
- return def->ml_meth(self, args[0]);
-}
-static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
-{
- __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
- PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
-#if CYTHON_BACKPORT_VECTORCALL
- Py_ssize_t nargs = (Py_ssize_t)nargsf;
-#else
- Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
-#endif
- PyObject *self;
- switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
- case 1:
- self = args[0];
- args += 1;
- nargs -= 1;
- break;
- case 0:
- self = ((PyCFunctionObject*)cyfunc)->m_self;
- break;
- default:
- return NULL;
- }
- return ((_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames);
-}
-static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
-{
- __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
- PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
- PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc);
-#if CYTHON_BACKPORT_VECTORCALL
- Py_ssize_t nargs = (Py_ssize_t)nargsf;
-#else
- Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
-#endif
- PyObject *self;
- switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
- case 1:
- self = args[0];
- args += 1;
- nargs -= 1;
- break;
- case 0:
- self = ((PyCFunctionObject*)cyfunc)->m_self;
- break;
- default:
- return NULL;
- }
- return ((__Pyx_PyCMethod)(void(*)(void))def->ml_meth)(self, cls, args, (size_t)nargs, kwnames);
-}
-#endif
-#if CYTHON_USE_TYPE_SPECS
-static PyType_Slot __pyx_CyFunctionType_slots[] = {
- {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc},
- {Py_tp_repr, (void *)__Pyx_CyFunction_repr},
- {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod},
- {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse},
- {Py_tp_clear, (void *)__Pyx_CyFunction_clear},
- {Py_tp_methods, (void *)__pyx_CyFunction_methods},
- {Py_tp_members, (void *)__pyx_CyFunction_members},
- {Py_tp_getset, (void *)__pyx_CyFunction_getsets},
- {Py_tp_descr_get, (void *)__Pyx_PyMethod_New},
- {0, 0},
-};
-static PyType_Spec __pyx_CyFunctionType_spec = {
- __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
- sizeof(__pyx_CyFunctionObject),
- 0,
-#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
- Py_TPFLAGS_METHOD_DESCRIPTOR |
-#endif
-#if (defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL)
- _Py_TPFLAGS_HAVE_VECTORCALL |
-#endif
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
- __pyx_CyFunctionType_slots
-};
-#else
-static PyTypeObject __pyx_CyFunctionType_type = {
- PyVarObject_HEAD_INIT(0, 0)
- __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
- sizeof(__pyx_CyFunctionObject),
- 0,
- (destructor) __Pyx_CyFunction_dealloc,
-#if !CYTHON_METH_FASTCALL
- 0,
-#elif CYTHON_BACKPORT_VECTORCALL
- (printfunc)offsetof(__pyx_CyFunctionObject, func_vectorcall),
-#else
- offsetof(PyCFunctionObject, vectorcall),
-#endif
- 0,
- 0,
-#if PY_MAJOR_VERSION < 3
- 0,
-#else
- 0,
-#endif
- (reprfunc) __Pyx_CyFunction_repr,
- 0,
- 0,
- 0,
- 0,
- __Pyx_CyFunction_CallAsMethod,
- 0,
- 0,
- 0,
- 0,
-#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
- Py_TPFLAGS_METHOD_DESCRIPTOR |
-#endif
-#ifdef _Py_TPFLAGS_HAVE_VECTORCALL
- _Py_TPFLAGS_HAVE_VECTORCALL |
-#endif
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
- 0,
- (traverseproc) __Pyx_CyFunction_traverse,
- (inquiry) __Pyx_CyFunction_clear,
- 0,
-#if PY_VERSION_HEX < 0x030500A0
- offsetof(__pyx_CyFunctionObject, func_weakreflist),
-#else
- offsetof(PyCFunctionObject, m_weakreflist),
-#endif
- 0,
- 0,
- __pyx_CyFunction_methods,
- __pyx_CyFunction_members,
- __pyx_CyFunction_getsets,
- 0,
- 0,
- __Pyx_PyMethod_New,
- 0,
- offsetof(__pyx_CyFunctionObject, func_dict),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
-#if PY_VERSION_HEX >= 0x030400a1
- 0,
-#endif
-#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
- 0,
-#endif
-#if __PYX_NEED_TP_PRINT_SLOT
- 0,
-#endif
-#if PY_VERSION_HEX >= 0x030C0000
- 0,
-#endif
-#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
- 0,
-#endif
-};
-#endif
-static int __pyx_CyFunction_init(PyObject *module) {
-#if CYTHON_USE_TYPE_SPECS
- __pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL);
-#else
- CYTHON_UNUSED_VAR(module);
- __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
-#endif
- if (unlikely(__pyx_CyFunctionType == NULL)) {
- return -1;
- }
- return 0;
-}
-static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
- __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
- m->defaults = PyObject_Malloc(size);
- if (unlikely(!m->defaults))
- return PyErr_NoMemory();
- memset(m->defaults, 0, size);
- m->defaults_pyobjects = pyobjects;
- m->defaults_size = size;
- return m->defaults;
-}
-static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
- __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
- m->defaults_tuple = tuple;
- Py_INCREF(tuple);
-}
-static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
- __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
- m->defaults_kwdict = dict;
- Py_INCREF(dict);
-}
-static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
- __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
- m->func_annotations = dict;
- Py_INCREF(dict);
-}
-
-/* CythonFunction */
-static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname,
- PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
- PyObject *op = __Pyx_CyFunction_Init(
- PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType),
- ml, flags, qualname, closure, module, globals, code
- );
- if (likely(op)) {
- PyObject_GC_Track(op);
- }
- return op;
-}
-
/* PyObjectCallNoArg */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
- PyObject *arg = NULL;
- return __Pyx_PyObject_FastCall(func, (&arg)+1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
+ PyObject *arg[2] = {NULL, NULL};
+ return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}
/* PyObjectGetMethod */
@@ -14850,16 +14165,33 @@ bad:
/* ValidateBasesTuple */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) {
- Py_ssize_t i, n = PyTuple_GET_SIZE(bases);
+ Py_ssize_t i, n;
+#if CYTHON_ASSUME_SAFE_MACROS
+ n = PyTuple_GET_SIZE(bases);
+#else
+ n = PyTuple_Size(bases);
+ if (n < 0) return -1;
+#endif
for (i = 1; i < n; i++)
{
+#if CYTHON_AVOID_BORROWED_REFS
+ PyObject *b0 = PySequence_GetItem(bases, i);
+ if (!b0) return -1;
+#elif CYTHON_ASSUME_SAFE_MACROS
PyObject *b0 = PyTuple_GET_ITEM(bases, i);
+#else
+ PyObject *b0 = PyTuple_GetItem(bases, i);
+ if (!b0) return -1;
+#endif
PyTypeObject *b;
#if PY_MAJOR_VERSION < 3
if (PyClass_Check(b0))
{
PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class",
PyString_AS_STRING(((PyClassObject*)b0)->cl_name));
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
#endif
@@ -14870,8 +14202,27 @@ static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffs
PyErr_Format(PyExc_TypeError,
"base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name);
__Pyx_DECREF_TypeName(b_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
+#if !CYTHON_USE_TYPE_SLOTS
+ if (dictoffset == 0) {
+ PyErr_Format(PyExc_TypeError,
+ "extension type '%s.200s': "
+ "unable to validate whether bases have a __dict__ "
+ "when CYTHON_USE_TYPE_SLOTS is off "
+ "(likely because you are building in the limited API). "
+ "Therefore, all extension types with multiple bases "
+ "must add 'cdef dict __dict__' in this compilation mode",
+ type_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
+ return -1;
+ }
+#else
if (dictoffset == 0 && b->tp_dictoffset)
{
__Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
@@ -14882,8 +14233,15 @@ static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffs
"or add '__slots__ = [...]' to the base type",
type_name, b_name);
__Pyx_DECREF_TypeName(b_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
+#endif
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
}
return 0;
}
@@ -15134,6 +14492,1183 @@ __PYX_GOOD:
}
#endif
+/* FetchSharedCythonModule */
+static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
+ return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME);
+}
+
+/* FetchCommonType */
+static int __Pyx_VerifyCachedType(PyObject *cached_type,
+ const char *name,
+ Py_ssize_t basicsize,
+ Py_ssize_t expected_basicsize) {
+ if (!PyType_Check(cached_type)) {
+ PyErr_Format(PyExc_TypeError,
+ "Shared Cython type %.200s is not a type object", name);
+ return -1;
+ }
+ if (basicsize != expected_basicsize) {
+ PyErr_Format(PyExc_TypeError,
+ "Shared Cython type %.200s has the wrong size, try recompiling",
+ name);
+ return -1;
+ }
+ return 0;
+}
+#if !CYTHON_USE_TYPE_SPECS
+static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
+ PyObject* abi_module;
+ const char* object_name;
+ PyTypeObject *cached_type = NULL;
+ abi_module = __Pyx_FetchSharedCythonABIModule();
+ if (!abi_module) return NULL;
+ object_name = strrchr(type->tp_name, '.');
+ object_name = object_name ? object_name+1 : type->tp_name;
+ cached_type = (PyTypeObject*) PyObject_GetAttrString(abi_module, object_name);
+ if (cached_type) {
+ if (__Pyx_VerifyCachedType(
+ (PyObject *)cached_type,
+ object_name,
+ cached_type->tp_basicsize,
+ type->tp_basicsize) < 0) {
+ goto bad;
+ }
+ goto done;
+ }
+ if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
+ PyErr_Clear();
+ if (PyType_Ready(type) < 0) goto bad;
+ if (PyObject_SetAttrString(abi_module, object_name, (PyObject *)type) < 0)
+ goto bad;
+ Py_INCREF(type);
+ cached_type = type;
+done:
+ Py_DECREF(abi_module);
+ return cached_type;
+bad:
+ Py_XDECREF(cached_type);
+ cached_type = NULL;
+ goto done;
+}
+#else
+static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) {
+ PyObject *abi_module, *cached_type = NULL;
+ const char* object_name = strrchr(spec->name, '.');
+ object_name = object_name ? object_name+1 : spec->name;
+ abi_module = __Pyx_FetchSharedCythonABIModule();
+ if (!abi_module) return NULL;
+ cached_type = PyObject_GetAttrString(abi_module, object_name);
+ if (cached_type) {
+ Py_ssize_t basicsize;
+#if CYTHON_COMPILING_IN_LIMITED_API
+ PyObject *py_basicsize;
+ py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__");
+ if (unlikely(!py_basicsize)) goto bad;
+ basicsize = PyLong_AsSsize_t(py_basicsize);
+ Py_DECREF(py_basicsize);
+ py_basicsize = 0;
+ if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
+#else
+ basicsize = likely(PyType_Check(cached_type)) ? ((PyTypeObject*) cached_type)->tp_basicsize : -1;
+#endif
+ if (__Pyx_VerifyCachedType(
+ cached_type,
+ object_name,
+ basicsize,
+ spec->basicsize) < 0) {
+ goto bad;
+ }
+ goto done;
+ }
+ if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
+ PyErr_Clear();
+ CYTHON_UNUSED_VAR(module);
+ cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases);
+ if (unlikely(!cached_type)) goto bad;
+ if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad;
+ if (PyObject_SetAttrString(abi_module, object_name, cached_type) < 0) goto bad;
+done:
+ Py_DECREF(abi_module);
+ assert(cached_type == NULL || PyType_Check(cached_type));
+ return (PyTypeObject *) cached_type;
+bad:
+ Py_XDECREF(cached_type);
+ cached_type = NULL;
+ goto done;
+}
+#endif
+
+/* PyVectorcallFastCallDict */
+#if CYTHON_METH_FASTCALL
+static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
+{
+ PyObject *res = NULL;
+ PyObject *kwnames;
+ PyObject **newargs;
+ PyObject **kwvalues;
+ Py_ssize_t i, pos;
+ size_t j;
+ PyObject *key, *value;
+ unsigned long keys_are_strings;
+ Py_ssize_t nkw = PyDict_GET_SIZE(kw);
+ newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0]));
+ if (unlikely(newargs == NULL)) {
+ PyErr_NoMemory();
+ return NULL;
+ }
+ for (j = 0; j < nargs; j++) newargs[j] = args[j];
+ kwnames = PyTuple_New(nkw);
+ if (unlikely(kwnames == NULL)) {
+ PyMem_Free(newargs);
+ return NULL;
+ }
+ kwvalues = newargs + nargs;
+ pos = i = 0;
+ keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS;
+ while (PyDict_Next(kw, &pos, &key, &value)) {
+ keys_are_strings &= Py_TYPE(key)->tp_flags;
+ Py_INCREF(key);
+ Py_INCREF(value);
+ PyTuple_SET_ITEM(kwnames, i, key);
+ kwvalues[i] = value;
+ i++;
+ }
+ if (unlikely(!keys_are_strings)) {
+ PyErr_SetString(PyExc_TypeError, "keywords must be strings");
+ goto cleanup;
+ }
+ res = vc(func, newargs, nargs, kwnames);
+cleanup:
+ Py_DECREF(kwnames);
+ for (i = 0; i < nkw; i++)
+ Py_DECREF(kwvalues[i]);
+ PyMem_Free(newargs);
+ return res;
+}
+static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
+{
+ if (likely(kw == NULL) || PyDict_GET_SIZE(kw) == 0) {
+ return vc(func, args, nargs, NULL);
+ }
+ return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw);
+}
+#endif
+
+/* CythonFunctionShared */
+#if CYTHON_COMPILING_IN_LIMITED_API
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
+ if (__Pyx_CyFunction_Check(func)) {
+ return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc;
+ } else if (PyCFunction_Check(func)) {
+ return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
+ }
+ return 0;
+}
+#else
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
+ return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
+}
+#endif
+static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
+ __Pyx_Py_XDECREF_SET(
+ __Pyx_CyFunction_GetClassObj(f),
+ ((classobj) ? __Pyx_NewRef(classobj) : NULL));
+#else
+ __Pyx_Py_XDECREF_SET(
+ ((PyCMethodObject *) (f))->mm_class,
+ (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL));
+#endif
+}
+static PyObject *
+__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
+{
+ CYTHON_UNUSED_VAR(closure);
+ if (unlikely(op->func_doc == NULL)) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func_doc = PyObject_GetAttrString(op->func, "__doc__");
+ if (unlikely(!op->func_doc)) return NULL;
+#else
+ if (((PyCFunctionObject*)op)->m_ml->ml_doc) {
+#if PY_MAJOR_VERSION >= 3
+ op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
+#else
+ op->func_doc = PyString_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
+#endif
+ if (unlikely(op->func_doc == NULL))
+ return NULL;
+ } else {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+#endif
+ }
+ Py_INCREF(op->func_doc);
+ return op->func_doc;
+}
+static int
+__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context)
+{
+ CYTHON_UNUSED_VAR(context);
+ if (value == NULL) {
+ value = Py_None;
+ }
+ Py_INCREF(value);
+ __Pyx_Py_XDECREF_SET(op->func_doc, value);
+ return 0;
+}
+static PyObject *
+__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context)
+{
+ CYTHON_UNUSED_VAR(context);
+ if (unlikely(op->func_name == NULL)) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func_name = PyObject_GetAttrString(op->func, "__name__");
+#elif PY_MAJOR_VERSION >= 3
+ op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
+#else
+ op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
+#endif
+ if (unlikely(op->func_name == NULL))
+ return NULL;
+ }
+ Py_INCREF(op->func_name);
+ return op->func_name;
+}
+static int
+__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context)
+{
+ CYTHON_UNUSED_VAR(context);
+#if PY_MAJOR_VERSION >= 3
+ if (unlikely(value == NULL || !PyUnicode_Check(value)))
+#else
+ if (unlikely(value == NULL || !PyString_Check(value)))
+#endif
+ {
+ PyErr_SetString(PyExc_TypeError,
+ "__name__ must be set to a string object");
+ return -1;
+ }
+ Py_INCREF(value);
+ __Pyx_Py_XDECREF_SET(op->func_name, value);
+ return 0;
+}
+static PyObject *
+__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context)
+{
+ CYTHON_UNUSED_VAR(context);
+ Py_INCREF(op->func_qualname);
+ return op->func_qualname;
+}
+static int
+__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context)
+{
+ CYTHON_UNUSED_VAR(context);
+#if PY_MAJOR_VERSION >= 3
+ if (unlikely(value == NULL || !PyUnicode_Check(value)))
+#else
+ if (unlikely(value == NULL || !PyString_Check(value)))
+#endif
+ {
+ PyErr_SetString(PyExc_TypeError,
+ "__qualname__ must be set to a string object");
+ return -1;
+ }
+ Py_INCREF(value);
+ __Pyx_Py_XDECREF_SET(op->func_qualname, value);
+ return 0;
+}
+static PyObject *
+__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context)
+{
+ CYTHON_UNUSED_VAR(context);
+ if (unlikely(op->func_dict == NULL)) {
+ op->func_dict = PyDict_New();
+ if (unlikely(op->func_dict == NULL))
+ return NULL;
+ }
+ Py_INCREF(op->func_dict);
+ return op->func_dict;
+}
+static int
+__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context)
+{
+ CYTHON_UNUSED_VAR(context);
+ if (unlikely(value == NULL)) {
+ PyErr_SetString(PyExc_TypeError,
+ "function's dictionary may not be deleted");
+ return -1;
+ }
+ if (unlikely(!PyDict_Check(value))) {
+ PyErr_SetString(PyExc_TypeError,
+ "setting function's dictionary to a non-dict");
+ return -1;
+ }
+ Py_INCREF(value);
+ __Pyx_Py_XDECREF_SET(op->func_dict, value);
+ return 0;
+}
+static PyObject *
+__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context)
+{
+ CYTHON_UNUSED_VAR(context);
+ Py_INCREF(op->func_globals);
+ return op->func_globals;
+}
+static PyObject *
+__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context)
+{
+ CYTHON_UNUSED_VAR(op);
+ CYTHON_UNUSED_VAR(context);
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+static PyObject *
+__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context)
+{
+ PyObject* result = (op->func_code) ? op->func_code : Py_None;
+ CYTHON_UNUSED_VAR(context);
+ Py_INCREF(result);
+ return result;
+}
+static int
+__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
+ int result = 0;
+ PyObject *res = op->defaults_getter((PyObject *) op);
+ if (unlikely(!res))
+ return -1;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
+ Py_INCREF(op->defaults_tuple);
+ op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
+ Py_INCREF(op->defaults_kwdict);
+ #else
+ op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0);
+ if (unlikely(!op->defaults_tuple)) result = -1;
+ else {
+ op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1);
+ if (unlikely(!op->defaults_kwdict)) result = -1;
+ }
+ #endif
+ Py_DECREF(res);
+ return result;
+}
+static int
+__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
+ CYTHON_UNUSED_VAR(context);
+ if (!value) {
+ value = Py_None;
+ } else if (unlikely(value != Py_None && !PyTuple_Check(value))) {
+ PyErr_SetString(PyExc_TypeError,
+ "__defaults__ must be set to a tuple object");
+ return -1;
+ }
+ PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not "
+ "currently affect the values used in function calls", 1);
+ Py_INCREF(value);
+ __Pyx_Py_XDECREF_SET(op->defaults_tuple, value);
+ return 0;
+}
+static PyObject *
+__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) {
+ PyObject* result = op->defaults_tuple;
+ CYTHON_UNUSED_VAR(context);
+ if (unlikely(!result)) {
+ if (op->defaults_getter) {
+ if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
+ result = op->defaults_tuple;
+ } else {
+ result = Py_None;
+ }
+ }
+ Py_INCREF(result);
+ return result;
+}
+static int
+__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
+ CYTHON_UNUSED_VAR(context);
+ if (!value) {
+ value = Py_None;
+ } else if (unlikely(value != Py_None && !PyDict_Check(value))) {
+ PyErr_SetString(PyExc_TypeError,
+ "__kwdefaults__ must be set to a dict object");
+ return -1;
+ }
+ PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not "
+ "currently affect the values used in function calls", 1);
+ Py_INCREF(value);
+ __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value);
+ return 0;
+}
+static PyObject *
+__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) {
+ PyObject* result = op->defaults_kwdict;
+ CYTHON_UNUSED_VAR(context);
+ if (unlikely(!result)) {
+ if (op->defaults_getter) {
+ if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
+ result = op->defaults_kwdict;
+ } else {
+ result = Py_None;
+ }
+ }
+ Py_INCREF(result);
+ return result;
+}
+static int
+__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
+ CYTHON_UNUSED_VAR(context);
+ if (!value || value == Py_None) {
+ value = NULL;
+ } else if (unlikely(!PyDict_Check(value))) {
+ PyErr_SetString(PyExc_TypeError,
+ "__annotations__ must be set to a dict object");
+ return -1;
+ }
+ Py_XINCREF(value);
+ __Pyx_Py_XDECREF_SET(op->func_annotations, value);
+ return 0;
+}
+static PyObject *
+__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) {
+ PyObject* result = op->func_annotations;
+ CYTHON_UNUSED_VAR(context);
+ if (unlikely(!result)) {
+ result = PyDict_New();
+ if (unlikely(!result)) return NULL;
+ op->func_annotations = result;
+ }
+ Py_INCREF(result);
+ return result;
+}
+static PyObject *
+__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) {
+ int is_coroutine;
+ CYTHON_UNUSED_VAR(context);
+ if (op->func_is_coroutine) {
+ return __Pyx_NewRef(op->func_is_coroutine);
+ }
+ is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE;
+#if PY_VERSION_HEX >= 0x03050000
+ if (is_coroutine) {
+ PyObject *module, *fromlist, *marker = __pyx_n_s_is_coroutine;
+ fromlist = PyList_New(1);
+ if (unlikely(!fromlist)) return NULL;
+ Py_INCREF(marker);
+#if CYTHON_ASSUME_SAFE_MACROS
+ PyList_SET_ITEM(fromlist, 0, marker);
+#else
+ if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
+ Py_DECREF(marker);
+ Py_DECREF(fromlist);
+ return NULL;
+ }
+#endif
+ module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0);
+ Py_DECREF(fromlist);
+ if (unlikely(!module)) goto ignore;
+ op->func_is_coroutine = __Pyx_PyObject_GetAttrStr(module, marker);
+ Py_DECREF(module);
+ if (likely(op->func_is_coroutine)) {
+ return __Pyx_NewRef(op->func_is_coroutine);
+ }
+ignore:
+ PyErr_Clear();
+ }
+#endif
+ op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine);
+ return __Pyx_NewRef(op->func_is_coroutine);
+}
+#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *
+__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) {
+ CYTHON_UNUSED_VAR(context);
+ return PyObject_GetAttrString(op->func, "__module__");
+}
+static int
+__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
+ CYTHON_UNUSED_VAR(context);
+ return PyObject_SetAttrString(op->func, "__module__", value);
+}
+#endif
+static PyGetSetDef __pyx_CyFunction_getsets[] = {
+ {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
+ {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
+ {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
+ {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
+ {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
+ {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
+ {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
+ {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
+ {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
+ {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
+ {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
+ {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
+ {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
+ {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
+ {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
+ {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
+ {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
+ {(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
+#if CYTHON_COMPILING_IN_LIMITED_API
+ {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0},
+#endif
+ {0, 0, 0, 0, 0}
+};
+static PyMemberDef __pyx_CyFunction_members[] = {
+#if !CYTHON_COMPILING_IN_LIMITED_API
+ {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
+#endif
+#if CYTHON_USE_TYPE_SPECS
+ {(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0},
+#if CYTHON_METH_FASTCALL
+#if CYTHON_BACKPORT_VECTORCALL
+ {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0},
+#else
+#if !CYTHON_COMPILING_IN_LIMITED_API
+ {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
+#endif
+#endif
+#endif
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
+ {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0},
+#else
+ {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
+#endif
+#endif
+ {0, 0, 0, 0, 0}
+};
+static PyObject *
+__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args)
+{
+ CYTHON_UNUSED_VAR(args);
+#if PY_MAJOR_VERSION >= 3
+ Py_INCREF(m->func_qualname);
+ return m->func_qualname;
+#else
+ return PyString_FromString(((PyCFunctionObject*)m)->m_ml->ml_name);
+#endif
+}
+static PyMethodDef __pyx_CyFunction_methods[] = {
+ {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
+ {0, 0, 0, 0}
+};
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
+#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
+#else
+#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
+#endif
+static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
+ PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
+#if !CYTHON_COMPILING_IN_LIMITED_API
+ PyCFunctionObject *cf = (PyCFunctionObject*) op;
+#endif
+ if (unlikely(op == NULL))
+ return NULL;
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func = PyCFunction_NewEx(ml, (PyObject*)op, module);
+ if (unlikely(!op->func)) return NULL;
+#endif
+ op->flags = flags;
+ __Pyx_CyFunction_weakreflist(op) = NULL;
+#if !CYTHON_COMPILING_IN_LIMITED_API
+ cf->m_ml = ml;
+ cf->m_self = (PyObject *) op;
+#endif
+ Py_XINCREF(closure);
+ op->func_closure = closure;
+#if !CYTHON_COMPILING_IN_LIMITED_API
+ Py_XINCREF(module);
+ cf->m_module = module;
+#endif
+ op->func_dict = NULL;
+ op->func_name = NULL;
+ Py_INCREF(qualname);
+ op->func_qualname = qualname;
+ op->func_doc = NULL;
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
+ op->func_classobj = NULL;
+#else
+ ((PyCMethodObject*)op)->mm_class = NULL;
+#endif
+ op->func_globals = globals;
+ Py_INCREF(op->func_globals);
+ Py_XINCREF(code);
+ op->func_code = code;
+ op->defaults_pyobjects = 0;
+ op->defaults_size = 0;
+ op->defaults = NULL;
+ op->defaults_tuple = NULL;
+ op->defaults_kwdict = NULL;
+ op->defaults_getter = NULL;
+ op->func_annotations = NULL;
+ op->func_is_coroutine = NULL;
+#if CYTHON_METH_FASTCALL
+ switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) {
+ case METH_NOARGS:
+ __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS;
+ break;
+ case METH_O:
+ __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O;
+ break;
+ case METH_METHOD | METH_FASTCALL | METH_KEYWORDS:
+ __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD;
+ break;
+ case METH_FASTCALL | METH_KEYWORDS:
+ __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS;
+ break;
+ case METH_VARARGS | METH_KEYWORDS:
+ __Pyx_CyFunction_func_vectorcall(op) = NULL;
+ break;
+ default:
+ PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
+ Py_DECREF(op);
+ return NULL;
+ }
+#endif
+ return (PyObject *) op;
+}
+static int
+__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
+{
+ Py_CLEAR(m->func_closure);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ Py_CLEAR(m->func);
+#else
+ Py_CLEAR(((PyCFunctionObject*)m)->m_module);
+#endif
+ Py_CLEAR(m->func_dict);
+ Py_CLEAR(m->func_name);
+ Py_CLEAR(m->func_qualname);
+ Py_CLEAR(m->func_doc);
+ Py_CLEAR(m->func_globals);
+ Py_CLEAR(m->func_code);
+#if !CYTHON_COMPILING_IN_LIMITED_API
+#if PY_VERSION_HEX < 0x030900B1
+ Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
+#else
+ {
+ PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class;
+ ((PyCMethodObject *) (m))->mm_class = NULL;
+ Py_XDECREF(cls);
+ }
+#endif
+#endif
+ Py_CLEAR(m->defaults_tuple);
+ Py_CLEAR(m->defaults_kwdict);
+ Py_CLEAR(m->func_annotations);
+ Py_CLEAR(m->func_is_coroutine);
+ if (m->defaults) {
+ PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
+ int i;
+ for (i = 0; i < m->defaults_pyobjects; i++)
+ Py_XDECREF(pydefaults[i]);
+ PyObject_Free(m->defaults);
+ m->defaults = NULL;
+ }
+ return 0;
+}
+static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m)
+{
+ if (__Pyx_CyFunction_weakreflist(m) != NULL)
+ PyObject_ClearWeakRefs((PyObject *) m);
+ __Pyx_CyFunction_clear(m);
+ __Pyx_PyHeapTypeObject_GC_Del(m);
+}
+static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
+{
+ PyObject_GC_UnTrack(m);
+ __Pyx__CyFunction_dealloc(m);
+}
+static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
+{
+ Py_VISIT(m->func_closure);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ Py_VISIT(m->func);
+#else
+ Py_VISIT(((PyCFunctionObject*)m)->m_module);
+#endif
+ Py_VISIT(m->func_dict);
+ Py_VISIT(m->func_name);
+ Py_VISIT(m->func_qualname);
+ Py_VISIT(m->func_doc);
+ Py_VISIT(m->func_globals);
+ Py_VISIT(m->func_code);
+#if !CYTHON_COMPILING_IN_LIMITED_API
+ Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
+#endif
+ Py_VISIT(m->defaults_tuple);
+ Py_VISIT(m->defaults_kwdict);
+ Py_VISIT(m->func_is_coroutine);
+ if (m->defaults) {
+ PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
+ int i;
+ for (i = 0; i < m->defaults_pyobjects; i++)
+ Py_VISIT(pydefaults[i]);
+ }
+ return 0;
+}
+static PyObject*
+__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
+{
+#if PY_MAJOR_VERSION >= 3
+ return PyUnicode_FromFormat("",
+ op->func_qualname, (void *)op);
+#else
+ return PyString_FromFormat("",
+ PyString_AsString(op->func_qualname), (void *)op);
+#endif
+}
+static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ PyObject *f = ((__pyx_CyFunctionObject*)func)->func;
+ PyObject *py_name = NULL;
+ PyCFunction meth;
+ int flags;
+ meth = PyCFunction_GetFunction(f);
+ if (unlikely(!meth)) return NULL;
+ flags = PyCFunction_GetFlags(f);
+ if (unlikely(flags < 0)) return NULL;
+#else
+ PyCFunctionObject* f = (PyCFunctionObject*)func;
+ PyCFunction meth = f->m_ml->ml_meth;
+ int flags = f->m_ml->ml_flags;
+#endif
+ Py_ssize_t size;
+ switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
+ case METH_VARARGS:
+ if (likely(kw == NULL || PyDict_Size(kw) == 0))
+ return (*meth)(self, arg);
+ break;
+ case METH_VARARGS | METH_KEYWORDS:
+ return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw);
+ case METH_NOARGS:
+ if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
+#if CYTHON_ASSUME_SAFE_MACROS
+ size = PyTuple_GET_SIZE(arg);
+#else
+ size = PyTuple_Size(arg);
+ if (unlikely(size < 0)) return NULL;
+#endif
+ if (likely(size == 0))
+ return (*meth)(self, NULL);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError,
+ "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ py_name, size);
+ Py_DECREF(py_name);
+#else
+ PyErr_Format(PyExc_TypeError,
+ "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ f->m_ml->ml_name, size);
+#endif
+ return NULL;
+ }
+ break;
+ case METH_O:
+ if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
+#if CYTHON_ASSUME_SAFE_MACROS
+ size = PyTuple_GET_SIZE(arg);
+#else
+ size = PyTuple_Size(arg);
+ if (unlikely(size < 0)) return NULL;
+#endif
+ if (likely(size == 1)) {
+ PyObject *result, *arg0;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ arg0 = PyTuple_GET_ITEM(arg, 0);
+ #else
+ arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
+ #endif
+ result = (*meth)(self, arg0);
+ #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
+ Py_DECREF(arg0);
+ #endif
+ return result;
+ }
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError,
+ "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ py_name, size);
+ Py_DECREF(py_name);
+#else
+ PyErr_Format(PyExc_TypeError,
+ "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ f->m_ml->ml_name, size);
+#endif
+ return NULL;
+ }
+ break;
+ default:
+ PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
+ return NULL;
+ }
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments",
+ py_name);
+ Py_DECREF(py_name);
+#else
+ PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
+ f->m_ml->ml_name);
+#endif
+ return NULL;
+}
+static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
+ PyObject *self, *result;
+#if CYTHON_COMPILING_IN_LIMITED_API
+ self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func);
+ if (unlikely(!self) && PyErr_Occurred()) return NULL;
+#else
+ self = ((PyCFunctionObject*)func)->m_self;
+#endif
+ result = __Pyx_CyFunction_CallMethod(func, self, arg, kw);
+ return result;
+}
+static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
+ PyObject *result;
+ __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
+#if CYTHON_METH_FASTCALL
+ __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc);
+ if (vc) {
+#if CYTHON_ASSUME_SAFE_MACROS
+ return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw);
+#else
+ (void) &__Pyx_PyVectorcall_FastCallDict;
+ return PyVectorcall_Call(func, args, kw);
+#endif
+ }
+#endif
+ if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
+ Py_ssize_t argc;
+ PyObject *new_args;
+ PyObject *self;
+#if CYTHON_ASSUME_SAFE_MACROS
+ argc = PyTuple_GET_SIZE(args);
+#else
+ argc = PyTuple_Size(args);
+ if (unlikely(!argc) < 0) return NULL;
+#endif
+ new_args = PyTuple_GetSlice(args, 1, argc);
+ if (unlikely(!new_args))
+ return NULL;
+ self = PyTuple_GetItem(args, 0);
+ if (unlikely(!self)) {
+ Py_DECREF(new_args);
+#if PY_MAJOR_VERSION > 2
+ PyErr_Format(PyExc_TypeError,
+ "unbound method %.200S() needs an argument",
+ cyfunc->func_qualname);
+#else
+ PyErr_SetString(PyExc_TypeError,
+ "unbound method needs an argument");
+#endif
+ return NULL;
+ }
+ result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
+ Py_DECREF(new_args);
+ } else {
+ result = __Pyx_CyFunction_Call(func, args, kw);
+ }
+ return result;
+}
+#if CYTHON_METH_FASTCALL
+static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames)
+{
+ int ret = 0;
+ if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
+ if (unlikely(nargs < 1)) {
+ PyErr_Format(PyExc_TypeError, "%.200s() needs an argument",
+ ((PyCFunctionObject*)cyfunc)->m_ml->ml_name);
+ return -1;
+ }
+ ret = 1;
+ }
+ if (unlikely(kwnames) && unlikely(PyTuple_GET_SIZE(kwnames))) {
+ PyErr_Format(PyExc_TypeError,
+ "%.200s() takes no keyword arguments", ((PyCFunctionObject*)cyfunc)->m_ml->ml_name);
+ return -1;
+ }
+ return ret;
+}
+static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
+{
+ __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
+ PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
+#if CYTHON_BACKPORT_VECTORCALL
+ Py_ssize_t nargs = (Py_ssize_t)nargsf;
+#else
+ Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
+#endif
+ PyObject *self;
+ switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
+ case 1:
+ self = args[0];
+ args += 1;
+ nargs -= 1;
+ break;
+ case 0:
+ self = ((PyCFunctionObject*)cyfunc)->m_self;
+ break;
+ default:
+ return NULL;
+ }
+ if (unlikely(nargs != 0)) {
+ PyErr_Format(PyExc_TypeError,
+ "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ def->ml_name, nargs);
+ return NULL;
+ }
+ return def->ml_meth(self, NULL);
+}
+static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
+{
+ __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
+ PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
+#if CYTHON_BACKPORT_VECTORCALL
+ Py_ssize_t nargs = (Py_ssize_t)nargsf;
+#else
+ Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
+#endif
+ PyObject *self;
+ switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
+ case 1:
+ self = args[0];
+ args += 1;
+ nargs -= 1;
+ break;
+ case 0:
+ self = ((PyCFunctionObject*)cyfunc)->m_self;
+ break;
+ default:
+ return NULL;
+ }
+ if (unlikely(nargs != 1)) {
+ PyErr_Format(PyExc_TypeError,
+ "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ def->ml_name, nargs);
+ return NULL;
+ }
+ return def->ml_meth(self, args[0]);
+}
+static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
+{
+ __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
+ PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
+#if CYTHON_BACKPORT_VECTORCALL
+ Py_ssize_t nargs = (Py_ssize_t)nargsf;
+#else
+ Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
+#endif
+ PyObject *self;
+ switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
+ case 1:
+ self = args[0];
+ args += 1;
+ nargs -= 1;
+ break;
+ case 0:
+ self = ((PyCFunctionObject*)cyfunc)->m_self;
+ break;
+ default:
+ return NULL;
+ }
+ return ((_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames);
+}
+static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
+{
+ __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
+ PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
+ PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc);
+#if CYTHON_BACKPORT_VECTORCALL
+ Py_ssize_t nargs = (Py_ssize_t)nargsf;
+#else
+ Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
+#endif
+ PyObject *self;
+ switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
+ case 1:
+ self = args[0];
+ args += 1;
+ nargs -= 1;
+ break;
+ case 0:
+ self = ((PyCFunctionObject*)cyfunc)->m_self;
+ break;
+ default:
+ return NULL;
+ }
+ return ((__Pyx_PyCMethod)(void(*)(void))def->ml_meth)(self, cls, args, (size_t)nargs, kwnames);
+}
+#endif
+#if CYTHON_USE_TYPE_SPECS
+static PyType_Slot __pyx_CyFunctionType_slots[] = {
+ {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc},
+ {Py_tp_repr, (void *)__Pyx_CyFunction_repr},
+ {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod},
+ {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse},
+ {Py_tp_clear, (void *)__Pyx_CyFunction_clear},
+ {Py_tp_methods, (void *)__pyx_CyFunction_methods},
+ {Py_tp_members, (void *)__pyx_CyFunction_members},
+ {Py_tp_getset, (void *)__pyx_CyFunction_getsets},
+ {Py_tp_descr_get, (void *)__Pyx_PyMethod_New},
+ {0, 0},
+};
+static PyType_Spec __pyx_CyFunctionType_spec = {
+ __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
+ sizeof(__pyx_CyFunctionObject),
+ 0,
+#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
+ Py_TPFLAGS_METHOD_DESCRIPTOR |
+#endif
+#if (defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL)
+ _Py_TPFLAGS_HAVE_VECTORCALL |
+#endif
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
+ __pyx_CyFunctionType_slots
+};
+#else
+static PyTypeObject __pyx_CyFunctionType_type = {
+ PyVarObject_HEAD_INIT(0, 0)
+ __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
+ sizeof(__pyx_CyFunctionObject),
+ 0,
+ (destructor) __Pyx_CyFunction_dealloc,
+#if !CYTHON_METH_FASTCALL
+ 0,
+#elif CYTHON_BACKPORT_VECTORCALL
+ (printfunc)offsetof(__pyx_CyFunctionObject, func_vectorcall),
+#else
+ offsetof(PyCFunctionObject, vectorcall),
+#endif
+ 0,
+ 0,
+#if PY_MAJOR_VERSION < 3
+ 0,
+#else
+ 0,
+#endif
+ (reprfunc) __Pyx_CyFunction_repr,
+ 0,
+ 0,
+ 0,
+ 0,
+ __Pyx_CyFunction_CallAsMethod,
+ 0,
+ 0,
+ 0,
+ 0,
+#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
+ Py_TPFLAGS_METHOD_DESCRIPTOR |
+#endif
+#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL
+ _Py_TPFLAGS_HAVE_VECTORCALL |
+#endif
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
+ 0,
+ (traverseproc) __Pyx_CyFunction_traverse,
+ (inquiry) __Pyx_CyFunction_clear,
+ 0,
+#if PY_VERSION_HEX < 0x030500A0
+ offsetof(__pyx_CyFunctionObject, func_weakreflist),
+#else
+ offsetof(PyCFunctionObject, m_weakreflist),
+#endif
+ 0,
+ 0,
+ __pyx_CyFunction_methods,
+ __pyx_CyFunction_members,
+ __pyx_CyFunction_getsets,
+ 0,
+ 0,
+ __Pyx_PyMethod_New,
+ 0,
+ offsetof(__pyx_CyFunctionObject, func_dict),
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+#if PY_VERSION_HEX >= 0x030400a1
+ 0,
+#endif
+#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
+ 0,
+#endif
+#if __PYX_NEED_TP_PRINT_SLOT
+ 0,
+#endif
+#if PY_VERSION_HEX >= 0x030C0000
+ 0,
+#endif
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+ 0,
+#endif
+};
+#endif
+static int __pyx_CyFunction_init(PyObject *module) {
+#if CYTHON_USE_TYPE_SPECS
+ __pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL);
+#else
+ CYTHON_UNUSED_VAR(module);
+ __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
+#endif
+ if (unlikely(__pyx_CyFunctionType == NULL)) {
+ return -1;
+ }
+ return 0;
+}
+static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
+ __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
+ m->defaults = PyObject_Malloc(size);
+ if (unlikely(!m->defaults))
+ return PyErr_NoMemory();
+ memset(m->defaults, 0, size);
+ m->defaults_pyobjects = pyobjects;
+ m->defaults_size = size;
+ return m->defaults;
+}
+static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
+ __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
+ m->defaults_tuple = tuple;
+ Py_INCREF(tuple);
+}
+static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
+ __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
+ m->defaults_kwdict = dict;
+ Py_INCREF(dict);
+}
+static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
+ __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
+ m->func_annotations = dict;
+ Py_INCREF(dict);
+}
+
+/* CythonFunction */
+static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname,
+ PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
+ PyObject *op = __Pyx_CyFunction_Init(
+ PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType),
+ ml, flags, qualname, closure, module, globals, code
+ );
+ if (likely(op)) {
+ PyObject_GC_Track(op);
+ }
+ return op;
+}
+
/* Py3UpdateBases */
static PyObject*
__Pyx_PEP560_update_bases(PyObject *bases)
@@ -15219,10 +15754,21 @@ static int __Pyx_SetNewInClass(PyObject *ns, PyObject *name, PyObject *value) {
/* CalculateMetaclass */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
- Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases);
+ Py_ssize_t i, nbases;
+#if CYTHON_ASSUME_SAFE_MACROS
+ nbases = PyTuple_GET_SIZE(bases);
+#else
+ nbases = PyTuple_Size(bases);
+ if (nbases < 0) return NULL;
+#endif
for (i=0; i < nbases; i++) {
PyTypeObject *tmptype;
+#if CYTHON_ASSUME_SAFE_MACROS
PyObject *tmp = PyTuple_GET_ITEM(bases, i);
+#else
+ PyObject *tmp = PyTuple_GetItem(bases, i);
+ if (!tmp) return NULL;
+#endif
tmptype = Py_TYPE(tmp);
#if PY_MAJOR_VERSION < 3
if (tmptype == &PyClass_Type)
@@ -15522,7 +16068,7 @@ static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
#if PY_MAJOR_VERSION >= 3
if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type)))
#else
- if (likely(!PyCFunction_Check(method)))
+ if (likely(!__Pyx_CyOrPyCFunction_Check(method)))
#endif
{
PyMethodDescrObject *descr = (PyMethodDescrObject*) method;
@@ -15530,9 +16076,7 @@ static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS);
} else
#endif
-#if defined(CYTHON_COMPILING_IN_PYPY)
-#elif PY_VERSION_HEX >= 0x03090000
- if (PyCFunction_CheckExact(method))
+#if CYTHON_COMPILING_IN_PYPY
#else
if (PyCFunction_Check(method))
#endif
@@ -15699,134 +16243,6 @@ static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObjec
return value;
}
-/* ImportDottedModule */
-#if PY_MAJOR_VERSION >= 3
-static PyObject *__Pyx__ImportDottedModule_Error(PyObject *name, PyObject *parts_tuple, Py_ssize_t count) {
- PyObject *partial_name = NULL, *slice = NULL, *sep = NULL;
- if (unlikely(PyErr_Occurred())) {
- PyErr_Clear();
- }
- if (likely(PyTuple_GET_SIZE(parts_tuple) == count)) {
- partial_name = name;
- } else {
- slice = PySequence_GetSlice(parts_tuple, 0, count);
- if (unlikely(!slice))
- goto bad;
- sep = PyUnicode_FromStringAndSize(".", 1);
- if (unlikely(!sep))
- goto bad;
- partial_name = PyUnicode_Join(sep, slice);
- }
- PyErr_Format(
-#if PY_MAJOR_VERSION < 3
- PyExc_ImportError,
- "No module named '%s'", PyString_AS_STRING(partial_name));
-#else
-#if PY_VERSION_HEX >= 0x030600B1
- PyExc_ModuleNotFoundError,
-#else
- PyExc_ImportError,
-#endif
- "No module named '%U'", partial_name);
-#endif
-bad:
- Py_XDECREF(sep);
- Py_XDECREF(slice);
- Py_XDECREF(partial_name);
- return NULL;
-}
-#endif
-#if PY_MAJOR_VERSION >= 3
-static PyObject *__Pyx__ImportDottedModule_Lookup(PyObject *name) {
- PyObject *imported_module;
-#if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400)
- PyObject *modules = PyImport_GetModuleDict();
- if (unlikely(!modules))
- return NULL;
- imported_module = __Pyx_PyDict_GetItemStr(modules, name);
- Py_XINCREF(imported_module);
-#else
- imported_module = PyImport_GetModule(name);
-#endif
- return imported_module;
-}
-#endif
-#if PY_MAJOR_VERSION >= 3
-static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple) {
- Py_ssize_t i, nparts;
- nparts = PyTuple_GET_SIZE(parts_tuple);
- for (i=1; i < nparts && module; i++) {
- PyObject *part, *submodule;
-#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- part = PyTuple_GET_ITEM(parts_tuple, i);
-#else
- part = PySequence_ITEM(parts_tuple, i);
-#endif
- submodule = __Pyx_PyObject_GetAttrStrNoError(module, part);
-#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
- Py_DECREF(part);
-#endif
- Py_DECREF(module);
- module = submodule;
- }
- if (unlikely(!module)) {
- return __Pyx__ImportDottedModule_Error(name, parts_tuple, i);
- }
- return module;
-}
-#endif
-static PyObject *__Pyx__ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
-#if PY_MAJOR_VERSION < 3
- PyObject *module, *from_list, *star = __pyx_n_s__21;
- CYTHON_UNUSED_VAR(parts_tuple);
- from_list = PyList_New(1);
- if (unlikely(!from_list))
- return NULL;
- Py_INCREF(star);
- PyList_SET_ITEM(from_list, 0, star);
- module = __Pyx_Import(name, from_list, 0);
- Py_DECREF(from_list);
- return module;
-#else
- PyObject *imported_module;
- PyObject *module = __Pyx_Import(name, NULL, 0);
- if (!parts_tuple || unlikely(!module))
- return module;
- imported_module = __Pyx__ImportDottedModule_Lookup(name);
- if (likely(imported_module)) {
- Py_DECREF(module);
- return imported_module;
- }
- PyErr_Clear();
- return __Pyx_ImportDottedModule_WalkParts(module, name, parts_tuple);
-#endif
-}
-static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030400B1
- PyObject *module = __Pyx__ImportDottedModule_Lookup(name);
- if (likely(module)) {
- PyObject *spec = __Pyx_PyObject_GetAttrStrNoError(module, __pyx_n_s_spec);
- if (likely(spec)) {
- PyObject *unsafe = __Pyx_PyObject_GetAttrStrNoError(spec, __pyx_n_s_initializing);
- if (likely(!unsafe || !__Pyx_PyObject_IsTrue(unsafe))) {
- Py_DECREF(spec);
- spec = NULL;
- }
- Py_XDECREF(unsafe);
- }
- if (likely(!spec)) {
- PyErr_Clear();
- return module;
- }
- Py_DECREF(spec);
- Py_DECREF(module);
- } else if (PyErr_Occurred()) {
- PyErr_Clear();
- }
-#endif
- return __Pyx__ImportDottedModule(name, parts_tuple);
-}
-
/* CLineInTraceback */
#ifndef CYTHON_CLINE_IN_TRACEBACK
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) {
@@ -15956,20 +16372,93 @@ static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
-#if PY_VERSION_HEX >= 0x030b00a6
+#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
#ifndef Py_BUILD_CORE
#define Py_BUILD_CORE 1
#endif
#include "internal/pycore_frame.h"
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict,
+ PyObject *firstlineno, PyObject *name) {
+ PyObject *replace = NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL;
+ replace = PyObject_GetAttrString(code, "replace");
+ if (likely(replace)) {
+ PyObject *result;
+ result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict);
+ Py_DECREF(replace);
+ return result;
+ }
+ PyErr_Clear();
+ #if __PYX_LIMITED_VERSION_HEX < 0x030780000
+ {
+ PyObject *compiled = NULL, *result = NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL;
+ compiled = Py_CompileString(
+ "out = type(code)(\n"
+ " code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n"
+ " code.co_flags, code.co_code, code.co_consts, code.co_names,\n"
+ " code.co_varnames, code.co_filename, co_name, co_firstlineno,\n"
+ " code.co_lnotab)\n", "", Py_file_input);
+ if (!compiled) return NULL;
+ result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict);
+ Py_DECREF(compiled);
+ if (!result) PyErr_Print();
+ Py_DECREF(result);
+ result = PyDict_GetItemString(scratch_dict, "out");
+ if (result) Py_INCREF(result);
+ return result;
+ }
+ #else
+ return NULL;
+ #endif
+}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
int py_line, const char *filename) {
+ PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL;
+ PyObject *replace = NULL, *getframe = NULL, *frame = NULL;
+ PyObject *exc_type, *exc_value, *exc_traceback;
+ int success = 0;
if (c_line) {
(void) __pyx_cfilenm;
(void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line);
}
- _PyTraceback_Add(funcname, filename, py_line);
+ PyErr_Fetch(&exc_type, &exc_value, &exc_traceback);
+ code_object = Py_CompileString("_getframe()", filename, Py_eval_input);
+ if (unlikely(!code_object)) goto bad;
+ py_py_line = PyLong_FromLong(py_line);
+ if (unlikely(!py_py_line)) goto bad;
+ py_funcname = PyUnicode_FromString(funcname);
+ if (unlikely(!py_funcname)) goto bad;
+ dict = PyDict_New();
+ if (unlikely(!dict)) goto bad;
+ {
+ PyObject *old_code_object = code_object;
+ code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname);
+ Py_DECREF(old_code_object);
+ }
+ if (unlikely(!code_object)) goto bad;
+ getframe = PySys_GetObject("_getframe");
+ if (unlikely(!getframe)) goto bad;
+ if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad;
+ frame = PyEval_EvalCode(code_object, dict, dict);
+ if (unlikely(!frame) || frame == Py_None) goto bad;
+ success = 1;
+ bad:
+ PyErr_Restore(exc_type, exc_value, exc_traceback);
+ Py_XDECREF(code_object);
+ Py_XDECREF(py_py_line);
+ Py_XDECREF(py_funcname);
+ Py_XDECREF(dict);
+ Py_XDECREF(replace);
+ if (success) {
+ PyTraceBack_Here(
+ (struct _frame*)frame);
+ }
+ Py_XDECREF(frame);
}
#else
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
@@ -16305,8 +16794,34 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__ParamKeyType(enum ParamKey
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(enum ParamKeyType),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum ParamKeyType));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -16343,8 +16858,34 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(int),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(int));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -16518,7 +17059,7 @@ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -16654,8 +17195,34 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(long),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -16668,7 +17235,8 @@ __Pyx_PyType_GetName(PyTypeObject* tp)
__pyx_n_s_name_2);
if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) {
PyErr_Clear();
- Py_XSETREF(name, __Pyx_NewRef(__pyx_n_s__51));
+ Py_XDECREF(name);
+ name = __Pyx_NewRef(__pyx_n_s__46);
}
return name;
}
@@ -16844,7 +17412,7 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -17064,41 +17632,50 @@ static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObj
#endif
/* CheckBinaryVersion */
-static int __Pyx_check_binary_version(void) {
- char ctversion[5];
- int same=1, i, found_dot;
- const char* rt_from_call = Py_GetVersion();
- PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
- found_dot = 0;
- for (i = 0; i < 4; i++) {
- if (!ctversion[i]) {
- same = (rt_from_call[i] < '0' || rt_from_call[i] > '9');
- break;
+static unsigned long __Pyx_get_runtime_version(void) {
+#if __PYX_LIMITED_VERSION_HEX >= 0x030B00A4
+ return Py_Version & ~0xFFUL;
+#else
+ const char* rt_version = Py_GetVersion();
+ unsigned long version = 0;
+ unsigned long factor = 0x01000000UL;
+ unsigned int digit = 0;
+ int i = 0;
+ while (factor) {
+ while ('0' <= rt_version[i] && rt_version[i] <= '9') {
+ digit = digit * 10 + (unsigned int) (rt_version[i] - '0');
+ ++i;
}
- if (rt_from_call[i] != ctversion[i]) {
- same = 0;
+ version += factor * digit;
+ if (rt_version[i] != '.')
break;
- }
+ digit = 0;
+ factor >>= 8;
+ ++i;
}
- if (!same) {
- char rtversion[5] = {'\0'};
+ return version;
+#endif
+}
+static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) {
+ const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
+ if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
+ return 0;
+ if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
+ return 1;
+ {
char message[200];
- for (i=0; i<4; ++i) {
- if (rt_from_call[i] == '.') {
- if (found_dot) break;
- found_dot = 1;
- } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') {
- break;
- }
- rtversion[i] = rt_from_call[i];
- }
PyOS_snprintf(message, sizeof(message),
- "compile time version %s of module '%.100s' "
- "does not match runtime version %s",
- ctversion, __Pyx_MODULE_NAME, rtversion);
+ "compile time Python version %d.%d "
+ "of module '%.100s' "
+ "%s "
+ "runtime version %d.%d",
+ (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF),
+ __Pyx_MODULE_NAME,
+ (allow_newer) ? "was newer than" : "does not match",
+ (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF)
+ );
return PyErr_WarnEx(NULL, message, 1);
}
- return 0;
}
/* InitStrings */
@@ -17144,8 +17721,24 @@ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
return 0;
}
+#include
+static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
+ size_t len = strlen(s);
+ if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) {
+ PyErr_SetString(PyExc_OverflowError, "byte string is too long");
+ return -1;
+ }
+ return (Py_ssize_t) len;
+}
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
- return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
+ Py_ssize_t len = __Pyx_ssize_strlen(c_str);
+ if (unlikely(len < 0)) return NULL;
+ return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
+}
+static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) {
+ Py_ssize_t len = __Pyx_ssize_strlen(c_str);
+ if (unlikely(len < 0)) return NULL;
+ return PyByteArray_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
Py_ssize_t ignore;
diff --git a/common/params_pyx.pyx b/common/params_pyx.pyx
index de52c490b..47d2075df 100644
--- a/common/params_pyx.pyx
+++ b/common/params_pyx.pyx
@@ -3,7 +3,6 @@
from libcpp cimport bool
from libcpp.string cimport string
from libcpp.vector cimport vector
-import threading
cdef extern from "common/params.h":
cpdef enum ParamKeyType:
@@ -11,6 +10,7 @@ cdef extern from "common/params.h":
CLEAR_ON_MANAGER_START
CLEAR_ON_ONROAD_TRANSITION
CLEAR_ON_OFFROAD_TRANSITION
+ DEVELOPMENT_ONLY
ALL
cdef cppclass c_Params "Params":
@@ -19,6 +19,8 @@ cdef extern from "common/params.h":
bool getBool(string, bool) nogil
int remove(string) nogil
int put(string, string) nogil
+ void putNonBlocking(string, string) nogil
+ void putBoolNonBlocking(string, bool) nogil
int putBool(string, bool) nogil
bool checkKey(string) nogil
string getParamPath(string) nogil
@@ -79,7 +81,7 @@ cdef class Params:
"""
Warning: This function blocks until the param is written to disk!
In very rare cases this can take over a second, and your code will hang.
- Use the put_nonblocking helper function in time sensitive code, but
+ Use the put_nonblocking, put_bool_nonblocking in time sensitive code, but
in general try to avoid writing params as much as possible.
"""
cdef string k = self.check_key(key)
@@ -92,6 +94,17 @@ cdef class Params:
with nogil:
self.p.putBool(k, val)
+ def put_nonblocking(self, key, dat):
+ cdef string k = self.check_key(key)
+ cdef string dat_bytes = ensure_bytes(dat)
+ with nogil:
+ self.p.putNonBlocking(k, dat_bytes)
+
+ def put_bool_nonblocking(self, key, bool val):
+ cdef string k = self.check_key(key)
+ with nogil:
+ self.p.putBoolNonBlocking(k, val)
+
def remove(self, key):
cdef string k = self.check_key(key)
with nogil:
@@ -103,9 +116,3 @@ cdef class Params:
def all_keys(self):
return self.p.allKeys()
-
-def put_nonblocking(key, val, d=""):
- threading.Thread(target=lambda: Params(d).put(key, val)).start()
-
-def put_bool_nonblocking(key, bool val, d=""):
- threading.Thread(target=lambda: Params(d).put_bool(key, val)).start()
diff --git a/common/params_pyx.so b/common/params_pyx.so
index 6ada6e564..0129e11fe 100755
Binary files a/common/params_pyx.so and b/common/params_pyx.so differ
diff --git a/common/prefix.py b/common/prefix.py
new file mode 100644
index 000000000..c1744e8ff
--- /dev/null
+++ b/common/prefix.py
@@ -0,0 +1,46 @@
+import os
+import shutil
+import uuid
+
+from typing import Optional
+
+from openpilot.common.params import Params
+from openpilot.system.hardware.hw import Paths
+
+class OpenpilotPrefix:
+ def __init__(self, prefix: Optional[str] = None, clean_dirs_on_exit: bool = True):
+ self.prefix = prefix if prefix else str(uuid.uuid4().hex[0:15])
+ self.msgq_path = os.path.join('/dev/shm', self.prefix)
+ self.clean_dirs_on_exit = clean_dirs_on_exit
+
+ def __enter__(self):
+ self.original_prefix = os.environ.get('OPENPILOT_PREFIX', None)
+ os.environ['OPENPILOT_PREFIX'] = self.prefix
+ try:
+ os.mkdir(self.msgq_path)
+ except FileExistsError:
+ pass
+ os.makedirs(Paths.log_root(), exist_ok=True)
+
+ return self
+
+ def __exit__(self, exc_type, exc_obj, exc_tb):
+ if self.clean_dirs_on_exit:
+ self.clean_dirs()
+ try:
+ del os.environ['OPENPILOT_PREFIX']
+ if self.original_prefix is not None:
+ os.environ['OPENPILOT_PREFIX'] = self.original_prefix
+ except KeyError:
+ pass
+ return False
+
+ def clean_dirs(self):
+ symlink_path = Params().get_param_path()
+ if os.path.exists(symlink_path):
+ shutil.rmtree(os.path.realpath(symlink_path), ignore_errors=True)
+ os.remove(symlink_path)
+ shutil.rmtree(self.msgq_path, ignore_errors=True)
+ shutil.rmtree(Paths.log_root(), ignore_errors=True)
+ shutil.rmtree(Paths.download_cache_root(), ignore_errors=True)
+ shutil.rmtree(Paths.comma_home(), ignore_errors=True)
diff --git a/common/retry.py b/common/retry.py
new file mode 100644
index 000000000..9bd4ac952
--- /dev/null
+++ b/common/retry.py
@@ -0,0 +1,30 @@
+import time
+import functools
+
+from openpilot.common.swaglog import cloudlog
+
+
+def retry(attempts=3, delay=1.0, ignore_failure=False):
+ def decorator(func):
+ @functools.wraps(func)
+ def wrapper(*args, **kwargs):
+ for _ in range(attempts):
+ try:
+ return func(*args, **kwargs)
+ except Exception:
+ cloudlog.exception(f"{func.__name__} failed, trying again")
+ time.sleep(delay)
+
+ if ignore_failure:
+ cloudlog.error(f"{func.__name__} failed after retry")
+ else:
+ raise Exception(f"{func.__name__} failed after retry")
+ return wrapper
+ return decorator
+
+
+if __name__ == "__main__":
+ @retry(attempts=10)
+ def abc():
+ raise ValueError("abc failed :(")
+ abc()
diff --git a/system/swaglog.py b/common/swaglog.py
similarity index 100%
rename from system/swaglog.py
rename to common/swaglog.py
diff --git a/common/time.py b/common/time.py
index b9da106fd..c8ef9cd38 100644
--- a/common/time.py
+++ b/common/time.py
@@ -3,4 +3,4 @@ import datetime
MIN_DATE = datetime.datetime(year=2023, month=6, day=1)
def system_time_valid():
- return datetime.datetime.now() > MIN_DATE
\ No newline at end of file
+ return datetime.datetime.now() > MIN_DATE
diff --git a/common/transformations/transformations.cpp b/common/transformations/transformations.cpp
index 9e97350b8..3c93244df 100644
--- a/common/transformations/transformations.cpp
+++ b/common/transformations/transformations.cpp
@@ -1,4 +1,4 @@
-/* Generated by Cython 3.0.0 */
+/* Generated by Cython 3.0.5 */
/* BEGIN: Cython Metadata
{
@@ -46,10 +46,15 @@ END: Cython Metadata */
#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
#error Cython requires Python 2.7+ or Python 3.3+.
#else
-#define CYTHON_ABI "3_0_0"
+#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API
+#define __PYX_EXTRA_ABI_MODULE_NAME "limited"
+#else
+#define __PYX_EXTRA_ABI_MODULE_NAME ""
+#endif
+#define CYTHON_ABI "3_0_5" __PYX_EXTRA_ABI_MODULE_NAME
#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
-#define CYTHON_HEX_VERSION 0x030000F0
+#define CYTHON_HEX_VERSION 0x030005F0
#define CYTHON_FUTURE_DIVISION 1
#include
#ifndef offsetof
@@ -82,6 +87,7 @@ END: Cython Metadata */
#ifndef Py_HUGE_VAL
#define Py_HUGE_VAL HUGE_VAL
#endif
+#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
#if defined(GRAALVM_PYTHON)
/* For very preliminary testing purposes. Most variables are set the same as PyPy.
The existence of this section does not imply that anything works or is even tested */
@@ -148,8 +154,9 @@ END: Cython Metadata */
#define CYTHON_COMPILING_IN_NOGIL 0
#undef CYTHON_USE_TYPE_SLOTS
#define CYTHON_USE_TYPE_SLOTS 0
- #undef CYTHON_USE_TYPE_SPECS
- #define CYTHON_USE_TYPE_SPECS 0
+ #ifndef CYTHON_USE_TYPE_SPECS
+ #define CYTHON_USE_TYPE_SPECS 0
+ #endif
#undef CYTHON_USE_PYTYPE_LOOKUP
#define CYTHON_USE_PYTYPE_LOOKUP 0
#if PY_VERSION_HEX < 0x03050000
@@ -201,6 +208,10 @@ END: Cython Metadata */
#define CYTHON_UPDATE_DESCRIPTOR_DOC 0
#endif
#elif defined(CYTHON_LIMITED_API)
+ #ifdef Py_LIMITED_API
+ #undef __PYX_LIMITED_VERSION_HEX
+ #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
+ #endif
#define CYTHON_COMPILING_IN_PYPY 0
#define CYTHON_COMPILING_IN_CPYTHON 0
#define CYTHON_COMPILING_IN_LIMITED_API 1
@@ -248,7 +259,7 @@ END: Cython Metadata */
#undef CYTHON_USE_MODULE_STATE
#define CYTHON_USE_MODULE_STATE 1
#ifndef CYTHON_USE_TP_FINALIZE
- #define CYTHON_USE_TP_FINALIZE 1
+ #define CYTHON_USE_TP_FINALIZE 0
#endif
#undef CYTHON_USE_DICT_VERSIONS
#define CYTHON_USE_DICT_VERSIONS 0
@@ -470,6 +481,14 @@ END: Cython Metadata */
# define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
+#ifndef CYTHON_USE_CPP_STD_MOVE
+ #if defined(__cplusplus) && (\
+ __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
+ #define CYTHON_USE_CPP_STD_MOVE 1
+ #else
+ #define CYTHON_USE_CPP_STD_MOVE 0
+ #endif
+#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#ifdef _MSC_VER
#ifndef _MSC_STDINT_H_
@@ -585,59 +604,91 @@ class __Pyx_FakeReference {
#else
#define __Pyx_BUILTIN_MODULE_NAME "builtins"
#define __Pyx_DefaultClassType PyType_Type
-#if PY_VERSION_HEX >= 0x030B00A1
- static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
+#if CYTHON_COMPILING_IN_LIMITED_API
+ static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
PyObject *code, PyObject *c, PyObject* n, PyObject *v,
PyObject *fv, PyObject *cell, PyObject* fn,
PyObject *name, int fline, PyObject *lnos) {
- PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
- PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *empty=NULL;
- const char *fn_cstr=NULL;
- const char *name_cstr=NULL;
- PyCodeObject *co=NULL, *result=NULL;
+ PyObject *exception_table = NULL;
+ PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
+ #if __PYX_LIMITED_VERSION_HEX < 0x030B0000
+ PyObject *version_info; // borrowed
+ #endif
+ PyObject *py_minor_version = NULL;
+ long minor_version = 0;
PyObject *type, *value, *traceback;
PyErr_Fetch(&type, &value, &traceback);
- if (!(kwds=PyDict_New())) goto end;
- if (!(argcount=PyLong_FromLong(a))) goto end;
- if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
- if (!(posonlyargcount=PyLong_FromLong(p))) goto end;
- if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end;
- if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
- if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end;
- if (!(nlocals=PyLong_FromLong(l))) goto end;
- if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
- if (!(stacksize=PyLong_FromLong(s))) goto end;
- if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end;
- if (!(flags=PyLong_FromLong(f))) goto end;
- if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
- if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
- if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
- if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
- if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto end;
- if (!(empty = PyTuple_New(0))) goto end;
- result = (PyCodeObject*) PyObject_Call(replace, empty, kwds);
+ #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000
+ minor_version = 11; // we don't yet need to distinguish between versions > 11
+ #else
+ if (!(version_info = PySys_GetObject("version_info"))) goto end;
+ if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
+ minor_version = PyLong_AsLong(py_minor_version);
+ if (minor_version == -1 && PyErr_Occurred()) goto end;
+ #endif
+ if (!(types_module = PyImport_ImportModule("types"))) goto end;
+ if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
+ if (minor_version <= 7) {
+ (void)p;
+ result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code,
+ c, n, v, fn, name, fline, lnos, fv, cell);
+ } else if (minor_version <= 10) {
+ result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code,
+ c, n, v, fn, name, fline, lnos, fv, cell);
+ } else {
+ if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
+ result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code,
+ c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
+ }
end:
- Py_XDECREF((PyObject*) co);
- Py_XDECREF(kwds);
- Py_XDECREF(argcount);
- Py_XDECREF(posonlyargcount);
- Py_XDECREF(kwonlyargcount);
- Py_XDECREF(nlocals);
- Py_XDECREF(stacksize);
- Py_XDECREF(replace);
- Py_XDECREF(empty);
+ Py_XDECREF(code_type);
+ Py_XDECREF(exception_table);
+ Py_XDECREF(types_module);
+ Py_XDECREF(py_minor_version);
if (type) {
PyErr_Restore(type, value, traceback);
}
return result;
}
+ #ifndef CO_OPTIMIZED
+ #define CO_OPTIMIZED 0x0001
+ #endif
+ #ifndef CO_NEWLOCALS
+ #define CO_NEWLOCALS 0x0002
+ #endif
+ #ifndef CO_VARARGS
+ #define CO_VARARGS 0x0004
+ #endif
+ #ifndef CO_VARKEYWORDS
+ #define CO_VARKEYWORDS 0x0008
+ #endif
+ #ifndef CO_ASYNC_GENERATOR
+ #define CO_ASYNC_GENERATOR 0x0200
+ #endif
+ #ifndef CO_GENERATOR
+ #define CO_GENERATOR 0x0020
+ #endif
+ #ifndef CO_COROUTINE
+ #define CO_COROUTINE 0x0080
+ #endif
+#elif PY_VERSION_HEX >= 0x030B0000
+ static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
+ PyObject *code, PyObject *c, PyObject* n, PyObject *v,
+ PyObject *fv, PyObject *cell, PyObject* fn,
+ PyObject *name, int fline, PyObject *lnos) {
+ PyCodeObject *result;
+ PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0); // we don't have access to __pyx_empty_bytes here
+ if (!empty_bytes) return NULL;
+ result =
+ #if PY_VERSION_HEX >= 0x030C0000
+ PyUnstable_Code_NewWithPosOnlyArgs
+ #else
+ PyCode_NewWithPosOnlyArgs
+ #endif
+ (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes);
+ Py_DECREF(empty_bytes);
+ return result;
+ }
#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
#define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
@@ -737,7 +788,32 @@ class __Pyx_FakeReference {
#define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0
#define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n))
#endif
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_MAJOR_VERSION >= 0x030900B1
+#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func)
+#else
+#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func)
+#endif
+#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func)
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth)
+#elif !CYTHON_COMPILING_IN_LIMITED_API
+#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func)
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags)
+static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
+ return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
+}
+#endif
+static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
+#else
+ return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
+#endif
+}
+#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc)
+#if __PYX_LIMITED_VERSION_HEX < 0x030900B1
#define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b))
typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
#else
@@ -763,6 +839,8 @@ class __Pyx_FakeReference {
#define __Pyx_PyThreadState_Current PyThreadState_Get()
#elif !CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_Current PyThreadState_GET()
+#elif PY_VERSION_HEX >= 0x030d00A1
+ #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
#elif PY_VERSION_HEX >= 0x03060000
#define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#elif PY_VERSION_HEX >= 0x03000000
@@ -838,7 +916,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
}
#endif
#endif
-#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n) PyDict_New()
@@ -850,7 +928,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
#define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
#endif
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && CYTHON_USE_UNICODE_INTERNALS
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
@@ -887,6 +965,11 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
#define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature)
#define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next
#endif
+#if CYTHON_COMPILING_IN_LIMITED_API
+ #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v)
+#else
+ #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v)
+#endif
#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000
#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\
PyTypeObject *type = Py_TYPE(obj);\
@@ -1013,9 +1096,34 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
#define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
+ #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
#define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
+ #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
+ #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
+ #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
+ #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
+ #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
+ #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
+ #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
#else
+ #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
#define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
+ #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
+ #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
+ #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
+ #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
+ #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
+ #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
+ #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
+#endif
+#if PY_VERSION_HEX >= 0x030d00A1
+ #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
+#else
+ static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
+ PyObject *module = PyImport_AddModule(name);
+ Py_XINCREF(module);
+ return module;
+ }
#endif
#if PY_MAJOR_VERSION >= 3
#define PyIntObject PyLongObject
@@ -1177,9 +1285,10 @@ static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
#else
#define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
+static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
-#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
+static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
@@ -1295,6 +1404,7 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
#endif
#endif
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+#include
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
PyObject* sys;
@@ -1345,6 +1455,7 @@ bad:
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+#include
static char* __PYX_DEFAULT_STRING_ENCODING;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
PyObject* sys;
@@ -1419,6 +1530,11 @@ static const char *__pyx_f[] = {
"type.pxd",
};
/* #### Code section: utility_code_proto_before_types ### */
+/* ForceInitThreads.proto */
+#ifndef __PYX_FORCE_INIT_THREADS
+ #define __PYX_FORCE_INIT_THREADS 0
+#endif
+
/* BufferFormatStructs.proto */
struct __Pyx_StructField_;
#define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0)
@@ -1456,7 +1572,7 @@ typedef struct {
/* #### Code section: numeric_typedefs ### */
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":731
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":730
* # in Cython to enable them only on the right systems.
*
* ctypedef npy_int8 int8_t # <<<<<<<<<<<<<<
@@ -1465,7 +1581,7 @@ typedef struct {
*/
typedef npy_int8 __pyx_t_5numpy_int8_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":732
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":731
*
* ctypedef npy_int8 int8_t
* ctypedef npy_int16 int16_t # <<<<<<<<<<<<<<
@@ -1474,7 +1590,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t;
*/
typedef npy_int16 __pyx_t_5numpy_int16_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":733
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":732
* ctypedef npy_int8 int8_t
* ctypedef npy_int16 int16_t
* ctypedef npy_int32 int32_t # <<<<<<<<<<<<<<
@@ -1483,7 +1599,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t;
*/
typedef npy_int32 __pyx_t_5numpy_int32_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":734
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":733
* ctypedef npy_int16 int16_t
* ctypedef npy_int32 int32_t
* ctypedef npy_int64 int64_t # <<<<<<<<<<<<<<
@@ -1492,7 +1608,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t;
*/
typedef npy_int64 __pyx_t_5numpy_int64_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":738
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":737
* #ctypedef npy_int128 int128_t
*
* ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<<
@@ -1501,7 +1617,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t;
*/
typedef npy_uint8 __pyx_t_5numpy_uint8_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":739
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":738
*
* ctypedef npy_uint8 uint8_t
* ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<<
@@ -1510,7 +1626,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t;
*/
typedef npy_uint16 __pyx_t_5numpy_uint16_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":740
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":739
* ctypedef npy_uint8 uint8_t
* ctypedef npy_uint16 uint16_t
* ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<<
@@ -1519,7 +1635,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t;
*/
typedef npy_uint32 __pyx_t_5numpy_uint32_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":741
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":740
* ctypedef npy_uint16 uint16_t
* ctypedef npy_uint32 uint32_t
* ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<<
@@ -1528,7 +1644,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t;
*/
typedef npy_uint64 __pyx_t_5numpy_uint64_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":745
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":744
* #ctypedef npy_uint128 uint128_t
*
* ctypedef npy_float32 float32_t # <<<<<<<<<<<<<<
@@ -1537,7 +1653,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t;
*/
typedef npy_float32 __pyx_t_5numpy_float32_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":746
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":745
*
* ctypedef npy_float32 float32_t
* ctypedef npy_float64 float64_t # <<<<<<<<<<<<<<
@@ -1546,61 +1662,43 @@ typedef npy_float32 __pyx_t_5numpy_float32_t;
*/
typedef npy_float64 __pyx_t_5numpy_float64_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":755
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":754
* # The int types are mapped a bit surprising --
* # numpy.int corresponds to 'l' and numpy.long to 'q'
* ctypedef npy_long int_t # <<<<<<<<<<<<<<
- * ctypedef npy_longlong long_t
- * ctypedef npy_longlong longlong_t
- */
-typedef npy_long __pyx_t_5numpy_int_t;
-
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":756
- * # numpy.int corresponds to 'l' and numpy.long to 'q'
- * ctypedef npy_long int_t
- * ctypedef npy_longlong long_t # <<<<<<<<<<<<<<
* ctypedef npy_longlong longlong_t
*
*/
-typedef npy_longlong __pyx_t_5numpy_long_t;
+typedef npy_long __pyx_t_5numpy_int_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":757
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":755
+ * # numpy.int corresponds to 'l' and numpy.long to 'q'
* ctypedef npy_long int_t
- * ctypedef npy_longlong long_t
* ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<<
*
* ctypedef npy_ulong uint_t
*/
typedef npy_longlong __pyx_t_5numpy_longlong_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":759
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":757
* ctypedef npy_longlong longlong_t
*
* ctypedef npy_ulong uint_t # <<<<<<<<<<<<<<
- * ctypedef npy_ulonglong ulong_t
* ctypedef npy_ulonglong ulonglong_t
+ *
*/
typedef npy_ulong __pyx_t_5numpy_uint_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":760
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":758
*
* ctypedef npy_ulong uint_t
- * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<<
- * ctypedef npy_ulonglong ulonglong_t
- *
- */
-typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
-
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":761
- * ctypedef npy_ulong uint_t
- * ctypedef npy_ulonglong ulong_t
* ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<<
*
* ctypedef npy_intp intp_t
*/
typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":763
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":760
* ctypedef npy_ulonglong ulonglong_t
*
* ctypedef npy_intp intp_t # <<<<<<<<<<<<<<
@@ -1609,7 +1707,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
*/
typedef npy_intp __pyx_t_5numpy_intp_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":764
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":761
*
* ctypedef npy_intp intp_t
* ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<<
@@ -1618,7 +1716,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t;
*/
typedef npy_uintp __pyx_t_5numpy_uintp_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":766
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":763
* ctypedef npy_uintp uintp_t
*
* ctypedef npy_double float_t # <<<<<<<<<<<<<<
@@ -1627,7 +1725,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t;
*/
typedef npy_double __pyx_t_5numpy_float_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":767
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":764
*
* ctypedef npy_double float_t
* ctypedef npy_double double_t # <<<<<<<<<<<<<<
@@ -1636,7 +1734,7 @@ typedef npy_double __pyx_t_5numpy_float_t;
*/
typedef npy_double __pyx_t_5numpy_double_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":768
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":765
* ctypedef npy_double float_t
* ctypedef npy_double double_t
* ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<<
@@ -1674,7 +1772,7 @@ static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(do
/*--- Type declarations ---*/
struct __pyx_obj_6common_15transformations_15transformations_LocalCoord;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":770
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":767
* ctypedef npy_longdouble longdouble_t
*
* ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<<
@@ -1683,7 +1781,7 @@ struct __pyx_obj_6common_15transformations_15transformations_LocalCoord;
*/
typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":771
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":768
*
* ctypedef npy_cfloat cfloat_t
* ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<<
@@ -1692,7 +1790,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
*/
typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":772
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":769
* ctypedef npy_cfloat cfloat_t
* ctypedef npy_cdouble cdouble_t
* ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<<
@@ -1701,7 +1799,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
*/
typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":774
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":771
* ctypedef npy_clongdouble clongdouble_t
*
* ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<<
@@ -1964,7 +2062,7 @@ static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args,
#if !CYTHON_VECTORCALL
#if PY_VERSION_HEX >= 0x03080000
#include "frameobject.h"
-#if PY_VERSION_HEX >= 0x030b00a6
+#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
#ifndef Py_BUILD_CORE
#define Py_BUILD_CORE 1
#endif
@@ -2018,20 +2116,34 @@ static Py_ssize_t __Pyx_minusones[] = { -1, -1, -1, -1, -1, -1, -1, -1 };
static Py_ssize_t __Pyx_zeros[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
/* AssertionsEnabled.proto */
-#define __Pyx_init_assertions_enabled()
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
- #define __pyx_assertions_enabled() (1)
-#elif PY_VERSION_HEX < 0x03080000 || CYTHON_COMPILING_IN_PYPY || defined(Py_LIMITED_API)
- #define __pyx_assertions_enabled() (!Py_OptimizeFlag)
-#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030900A6
+ #define __Pyx_init_assertions_enabled() (0)
+ #define __pyx_assertions_enabled() (1)
+#elif CYTHON_COMPILING_IN_LIMITED_API || (CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030C0000)
static int __pyx_assertions_enabled_flag;
#define __pyx_assertions_enabled() (__pyx_assertions_enabled_flag)
- #undef __Pyx_init_assertions_enabled
- static void __Pyx_init_assertions_enabled(void) {
- __pyx_assertions_enabled_flag = ! _PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
+ static int __Pyx_init_assertions_enabled(void) {
+ PyObject *builtins, *debug, *debug_str;
+ int flag;
+ builtins = PyEval_GetBuiltins();
+ if (!builtins) goto bad;
+ debug_str = PyUnicode_FromStringAndSize("__debug__", 9);
+ if (!debug_str) goto bad;
+ debug = PyObject_GetItem(builtins, debug_str);
+ Py_DECREF(debug_str);
+ if (!debug) goto bad;
+ flag = PyObject_IsTrue(debug);
+ Py_DECREF(debug);
+ if (flag == -1) goto bad;
+ __pyx_assertions_enabled_flag = flag;
+ return 0;
+ bad:
+ __pyx_assertions_enabled_flag = 1;
+ return -1;
}
#else
- #define __pyx_assertions_enabled() (!Py_OptimizeFlag)
+ #define __Pyx_init_assertions_enabled() (0)
+ #define __pyx_assertions_enabled() (!Py_OptimizeFlag)
#endif
/* GetItemInt.proto */
@@ -2072,7 +2184,20 @@ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int eq
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
/* fastcall.proto */
-#define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
+#if CYTHON_AVOID_BORROWED_REFS
+ #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i)
+#elif CYTHON_ASSUME_SAFE_MACROS
+ #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
+#else
+ #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i)
+#endif
+#if CYTHON_AVOID_BORROWED_REFS
+ #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg)
+ #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg)
+#else
+ #define __Pyx_Arg_NewRef_VARARGS(arg) arg // no-op
+ #define __Pyx_Arg_XDECREF_VARARGS(arg) // no-op - arg is borrowed
+#endif
#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
#define __Pyx_KwValues_VARARGS(args, nargs) NULL
#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s)
@@ -2082,15 +2207,23 @@ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int
#define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds)
#define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s);
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
+ static CYTHON_UNUSED PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
+ #else
#define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
+ #endif
+ #define __Pyx_Arg_NewRef_FASTCALL(arg) arg // no-op, __Pyx_Arg_FASTCALL is direct and this needs
+ #define __Pyx_Arg_XDECREF_FASTCALL(arg) // no-op - arg was returned from array
#else
#define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS
#define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
#define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS
#define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS
#define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS
+ #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg)
+ #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg)
#endif
-#if CYTHON_COMPILING_IN_CPYTHON
+#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start)
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start)
#else
@@ -2112,7 +2245,7 @@ static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
/* MoveIfSupported.proto */
-#if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)
+#if CYTHON_USE_CPP_STD_MOVE
#include
#define __PYX_STD_MOVE_IF_SUPPORTED(x) std::move(x)
#else
@@ -2170,22 +2303,22 @@ static int __Pyx_setup_reduce(PyObject* type_obj);
#endif
/* TypeImport.proto */
-#ifndef __PYX_HAVE_RT_ImportType_proto_3_0_0
-#define __PYX_HAVE_RT_ImportType_proto_3_0_0
+#ifndef __PYX_HAVE_RT_ImportType_proto_3_0_5
+#define __PYX_HAVE_RT_ImportType_proto_3_0_5
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
#include
#endif
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L
-#define __PYX_GET_STRUCT_ALIGNMENT_3_0_0(s) alignof(s)
+#define __PYX_GET_STRUCT_ALIGNMENT_3_0_5(s) alignof(s)
#else
-#define __PYX_GET_STRUCT_ALIGNMENT_3_0_0(s) sizeof(void*)
+#define __PYX_GET_STRUCT_ALIGNMENT_3_0_5(s) sizeof(void*)
#endif
-enum __Pyx_ImportType_CheckSize_3_0_0 {
- __Pyx_ImportType_CheckSize_Error_3_0_0 = 0,
- __Pyx_ImportType_CheckSize_Warn_3_0_0 = 1,
- __Pyx_ImportType_CheckSize_Ignore_3_0_0 = 2
+enum __Pyx_ImportType_CheckSize_3_0_5 {
+ __Pyx_ImportType_CheckSize_Error_3_0_5 = 0,
+ __Pyx_ImportType_CheckSize_Warn_3_0_5 = 1,
+ __Pyx_ImportType_CheckSize_Ignore_3_0_5 = 2
};
-static PyTypeObject *__Pyx_ImportType_3_0_0(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_0 check_size);
+static PyTypeObject *__Pyx_ImportType_3_0_5(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_5 check_size);
#endif
/* Import.proto */
@@ -2208,7 +2341,22 @@ static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec
#endif
/* PyMethodNew.proto */
-#if PY_MAJOR_VERSION >= 3
+#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
+ PyObject *typesModule=NULL, *methodType=NULL, *result=NULL;
+ CYTHON_UNUSED_VAR(typ);
+ if (!self)
+ return __Pyx_NewRef(func);
+ typesModule = PyImport_ImportModule("types");
+ if (!typesModule) return NULL;
+ methodType = PyObject_GetAttrString(typesModule, "MethodType");
+ Py_DECREF(typesModule);
+ if (!methodType) return NULL;
+ result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL);
+ Py_DECREF(methodType);
+ return result;
+}
+#elif PY_MAJOR_VERSION >= 3
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
CYTHON_UNUSED_VAR(typ);
if (!self)
@@ -2232,7 +2380,7 @@ static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, _
#define __Pyx_CYFUNCTION_COROUTINE 0x08
#define __Pyx_CyFunction_GetClosure(f)\
(((__pyx_CyFunctionObject *) (f))->func_closure)
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_GetClassObj(f)\
(((__pyx_CyFunctionObject *) (f))->func_classobj)
#else
@@ -2246,7 +2394,10 @@ static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, _
#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
typedef struct {
-#if PY_VERSION_HEX < 0x030900B1
+#if CYTHON_COMPILING_IN_LIMITED_API
+ PyObject_HEAD
+ PyObject *func;
+#elif PY_VERSION_HEX < 0x030900B1
PyCFunctionObject func;
#else
PyCMethodObject func;
@@ -2254,7 +2405,7 @@ typedef struct {
#if CYTHON_BACKPORT_VECTORCALL
__pyx_vectorcallfunc func_vectorcall;
#endif
-#if PY_VERSION_HEX < 0x030500A0
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
PyObject *func_weakreflist;
#endif
PyObject *func_dict;
@@ -2264,7 +2415,7 @@ typedef struct {
PyObject *func_globals;
PyObject *func_code;
PyObject *func_closure;
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
PyObject *func_classobj;
#endif
void *defaults;
@@ -2277,9 +2428,13 @@ typedef struct {
PyObject *func_annotations;
PyObject *func_is_coroutine;
} __pyx_CyFunctionObject;
+#undef __Pyx_CyOrPyCFunction_Check
#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType)
-#define __Pyx_IsCyOrPyCFunction(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
+#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
#define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType)
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc);
+#undef __Pyx_IsSameCFunction
+#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc)
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
int flags, PyObject* qualname,
PyObject *closure,
@@ -2517,7 +2672,8 @@ static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObj
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
/* CheckBinaryVersion.proto */
-static int __Pyx_check_binary_version(void);
+static unsigned long __Pyx_get_runtime_version(void);
+static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);
/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
@@ -3485,7 +3641,7 @@ static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArray
PyArray_Descr *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyArray_Descr *__pyx_t_1;
- __Pyx_RefNannySetupContext("descr", 0);
+ __Pyx_RefNannySetupContext("descr", 1);
/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":254
* """Returns an owned reference to the dtype of the array.
@@ -3685,7 +3841,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data_data(PyArrayObject *__p
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":776
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":773
* ctypedef npy_cdouble complex_t
*
* cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
@@ -3700,9 +3856,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":777
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":774
*
* cdef inline object PyArray_MultiIterNew1(a):
* return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<<
@@ -3710,13 +3866,13 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
* cdef inline object PyArray_MultiIterNew2(a, b):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 777, __pyx_L1_error)
+ __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 774, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":776
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":773
* ctypedef npy_cdouble complex_t
*
* cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
@@ -3735,7 +3891,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":779
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":776
* return PyArray_MultiIterNew(1, a)
*
* cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
@@ -3750,9 +3906,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":780
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":777
*
* cdef inline object PyArray_MultiIterNew2(a, b):
* return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<<
@@ -3760,13 +3916,13 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
* cdef inline object PyArray_MultiIterNew3(a, b, c):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 780, __pyx_L1_error)
+ __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 777, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":779
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":776
* return PyArray_MultiIterNew(1, a)
*
* cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
@@ -3785,7 +3941,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":782
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":779
* return PyArray_MultiIterNew(2, a, b)
*
* cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
@@ -3800,9 +3956,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":783
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":780
*
* cdef inline object PyArray_MultiIterNew3(a, b, c):
* return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<<
@@ -3810,13 +3966,13 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
* cdef inline object PyArray_MultiIterNew4(a, b, c, d):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 783, __pyx_L1_error)
+ __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 780, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":782
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":779
* return PyArray_MultiIterNew(2, a, b)
*
* cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
@@ -3835,7 +3991,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":785
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":782
* return PyArray_MultiIterNew(3, a, b, c)
*
* cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
@@ -3850,9 +4006,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":786
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":783
*
* cdef inline object PyArray_MultiIterNew4(a, b, c, d):
* return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<<
@@ -3860,13 +4016,13 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
* cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 786, __pyx_L1_error)
+ __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 783, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":785
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":782
* return PyArray_MultiIterNew(3, a, b, c)
*
* cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
@@ -3885,7 +4041,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":788
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":785
* return PyArray_MultiIterNew(4, a, b, c, d)
*
* cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
@@ -3900,9 +4056,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":789
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":786
*
* cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
* return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<<
@@ -3910,13 +4066,13 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
* cdef inline tuple PyDataType_SHAPE(dtype d):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 789, __pyx_L1_error)
+ __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":788
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":785
* return PyArray_MultiIterNew(4, a, b, c, d)
*
* cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
@@ -3935,7 +4091,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":791
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":788
* return PyArray_MultiIterNew(5, a, b, c, d, e)
*
* cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<<
@@ -3947,9 +4103,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
- __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0);
+ __Pyx_RefNannySetupContext("PyDataType_SHAPE", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":792
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":789
*
* cdef inline tuple PyDataType_SHAPE(dtype d):
* if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<<
@@ -3959,7 +4115,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
__pyx_t_1 = PyDataType_HASSUBARRAY(__pyx_v_d);
if (__pyx_t_1) {
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":793
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":790
* cdef inline tuple PyDataType_SHAPE(dtype d):
* if PyDataType_HASSUBARRAY(d):
* return d.subarray.shape # <<<<<<<<<<<<<<
@@ -3971,7 +4127,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
__pyx_r = ((PyObject*)__pyx_v_d->subarray->shape);
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":792
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":789
*
* cdef inline tuple PyDataType_SHAPE(dtype d):
* if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<<
@@ -3980,7 +4136,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
*/
}
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":795
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":792
* return d.subarray.shape
* else:
* return () # <<<<<<<<<<<<<<
@@ -3994,7 +4150,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
goto __pyx_L0;
}
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":791
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":788
* return PyArray_MultiIterNew(5, a, b, c, d, e)
*
* cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<<
@@ -4009,7 +4165,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":970
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":967
* int _import_umath() except -1
*
* cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
@@ -4018,10 +4174,12 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
*/
static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("set_array_base", 0);
+ int __pyx_t_1;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":971
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":968
*
* cdef inline void set_array_base(ndarray arr, object base):
* Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<<
@@ -4030,16 +4188,16 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
*/
Py_INCREF(__pyx_v_base);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":972
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":969
* cdef inline void set_array_base(ndarray arr, object base):
* Py_INCREF(base) # important to do this before stealing the reference below!
* PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<<
*
* cdef inline object get_array_base(ndarray arr):
*/
- (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base));
+ __pyx_t_1 = PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(2, 969, __pyx_L1_error)
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":970
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":967
* int _import_umath() except -1
*
* cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
@@ -4048,10 +4206,13 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_AddTraceback("numpy.set_array_base", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_L0:;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":974
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":971
* PyArray_SetBaseObject(arr, base)
*
* cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
@@ -4064,9 +4225,9 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
- __Pyx_RefNannySetupContext("get_array_base", 0);
+ __Pyx_RefNannySetupContext("get_array_base", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":975
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":972
*
* cdef inline object get_array_base(ndarray arr):
* base = PyArray_BASE(arr) # <<<<<<<<<<<<<<
@@ -4075,7 +4236,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
*/
__pyx_v_base = PyArray_BASE(__pyx_v_arr);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":976
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":973
* cdef inline object get_array_base(ndarray arr):
* base = PyArray_BASE(arr)
* if base is NULL: # <<<<<<<<<<<<<<
@@ -4085,7 +4246,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
__pyx_t_1 = (__pyx_v_base == NULL);
if (__pyx_t_1) {
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":977
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":974
* base = PyArray_BASE(arr)
* if base is NULL:
* return None # <<<<<<<<<<<<<<
@@ -4096,7 +4257,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":976
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":973
* cdef inline object get_array_base(ndarray arr):
* base = PyArray_BASE(arr)
* if base is NULL: # <<<<<<<<<<<<<<
@@ -4105,7 +4266,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
*/
}
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":978
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":975
* if base is NULL:
* return None
* return base # <<<<<<<<<<<<<<
@@ -4117,7 +4278,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
__pyx_r = ((PyObject *)__pyx_v_base);
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":974
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":971
* PyArray_SetBaseObject(arr, base)
*
* cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
@@ -4132,7 +4293,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":982
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":979
* # Versions of the import_* functions which are more suitable for
* # Cython code.
* cdef inline int import_array() except -1: # <<<<<<<<<<<<<<
@@ -4154,9 +4315,9 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("import_array", 0);
+ __Pyx_RefNannySetupContext("import_array", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":983
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":980
* # Cython code.
* cdef inline int import_array() except -1:
* try: # <<<<<<<<<<<<<<
@@ -4172,16 +4333,16 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":984
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":981
* cdef inline int import_array() except -1:
* try:
* __pyx_import_array() # <<<<<<<<<<<<<<
* except Exception:
* raise ImportError("numpy.core.multiarray failed to import")
*/
- __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 984, __pyx_L3_error)
+ __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 981, __pyx_L3_error)
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":983
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":980
* # Cython code.
* cdef inline int import_array() except -1:
* try: # <<<<<<<<<<<<<<
@@ -4195,7 +4356,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
goto __pyx_L8_try_end;
__pyx_L3_error:;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":985
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":982
* try:
* __pyx_import_array()
* except Exception: # <<<<<<<<<<<<<<
@@ -4205,27 +4366,27 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
__pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_4) {
__Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 985, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 982, __pyx_L5_except_error)
__Pyx_XGOTREF(__pyx_t_5);
__Pyx_XGOTREF(__pyx_t_6);
__Pyx_XGOTREF(__pyx_t_7);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":986
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":983
* __pyx_import_array()
* except Exception:
* raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<<
*
* cdef inline int import_umath() except -1:
*/
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 986, __pyx_L5_except_error)
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 983, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_Raise(__pyx_t_8, 0, 0, 0);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __PYX_ERR(2, 986, __pyx_L5_except_error)
+ __PYX_ERR(2, 983, __pyx_L5_except_error)
}
goto __pyx_L5_except_error;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":983
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":980
* # Cython code.
* cdef inline int import_array() except -1:
* try: # <<<<<<<<<<<<<<
@@ -4241,7 +4402,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
__pyx_L8_try_end:;
}
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":982
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":979
* # Versions of the import_* functions which are more suitable for
* # Cython code.
* cdef inline int import_array() except -1: # <<<<<<<<<<<<<<
@@ -4264,7 +4425,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":988
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":985
* raise ImportError("numpy.core.multiarray failed to import")
*
* cdef inline int import_umath() except -1: # <<<<<<<<<<<<<<
@@ -4286,9 +4447,9 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("import_umath", 0);
+ __Pyx_RefNannySetupContext("import_umath", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":989
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":986
*
* cdef inline int import_umath() except -1:
* try: # <<<<<<<<<<<<<<
@@ -4304,16 +4465,16 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":990
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":987
* cdef inline int import_umath() except -1:
* try:
* _import_umath() # <<<<<<<<<<<<<<
* except Exception:
* raise ImportError("numpy.core.umath failed to import")
*/
- __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 990, __pyx_L3_error)
+ __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 987, __pyx_L3_error)
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":989
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":986
*
* cdef inline int import_umath() except -1:
* try: # <<<<<<<<<<<<<<
@@ -4327,7 +4488,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
goto __pyx_L8_try_end;
__pyx_L3_error:;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":991
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":988
* try:
* _import_umath()
* except Exception: # <<<<<<<<<<<<<<
@@ -4337,27 +4498,27 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
__pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_4) {
__Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 991, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 988, __pyx_L5_except_error)
__Pyx_XGOTREF(__pyx_t_5);
__Pyx_XGOTREF(__pyx_t_6);
__Pyx_XGOTREF(__pyx_t_7);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":992
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":989
* _import_umath()
* except Exception:
* raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<<
*
* cdef inline int import_ufunc() except -1:
*/
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 992, __pyx_L5_except_error)
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 989, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_Raise(__pyx_t_8, 0, 0, 0);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __PYX_ERR(2, 992, __pyx_L5_except_error)
+ __PYX_ERR(2, 989, __pyx_L5_except_error)
}
goto __pyx_L5_except_error;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":989
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":986
*
* cdef inline int import_umath() except -1:
* try: # <<<<<<<<<<<<<<
@@ -4373,7 +4534,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
__pyx_L8_try_end:;
}
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":988
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":985
* raise ImportError("numpy.core.multiarray failed to import")
*
* cdef inline int import_umath() except -1: # <<<<<<<<<<<<<<
@@ -4396,7 +4557,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":994
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":991
* raise ImportError("numpy.core.umath failed to import")
*
* cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<<
@@ -4418,9 +4579,9 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("import_ufunc", 0);
+ __Pyx_RefNannySetupContext("import_ufunc", 1);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":995
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":992
*
* cdef inline int import_ufunc() except -1:
* try: # <<<<<<<<<<<<<<
@@ -4436,16 +4597,16 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":996
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":993
* cdef inline int import_ufunc() except -1:
* try:
* _import_umath() # <<<<<<<<<<<<<<
* except Exception:
* raise ImportError("numpy.core.umath failed to import")
*/
- __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 996, __pyx_L3_error)
+ __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 993, __pyx_L3_error)
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":995
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":992
*
* cdef inline int import_ufunc() except -1:
* try: # <<<<<<<<<<<<<<
@@ -4459,7 +4620,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
goto __pyx_L8_try_end;
__pyx_L3_error:;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":997
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":994
* try:
* _import_umath()
* except Exception: # <<<<<<<<<<<<<<
@@ -4469,27 +4630,27 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
__pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_4) {
__Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 997, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 994, __pyx_L5_except_error)
__Pyx_XGOTREF(__pyx_t_5);
__Pyx_XGOTREF(__pyx_t_6);
__Pyx_XGOTREF(__pyx_t_7);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":998
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":995
* _import_umath()
* except Exception:
* raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 998, __pyx_L5_except_error)
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 995, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_Raise(__pyx_t_8, 0, 0, 0);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __PYX_ERR(2, 998, __pyx_L5_except_error)
+ __PYX_ERR(2, 995, __pyx_L5_except_error)
}
goto __pyx_L5_except_error;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":995
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":992
*
* cdef inline int import_ufunc() except -1:
* try: # <<<<<<<<<<<<<<
@@ -4505,7 +4666,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
__pyx_L8_try_end:;
}
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":994
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":991
* raise ImportError("numpy.core.umath failed to import")
*
* cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<<
@@ -4528,7 +4689,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1001
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":998
*
*
* cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<<
@@ -4538,10 +4699,8 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_obj) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("is_timedelta64_object", 0);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1013
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1010
* bool
* """
* return PyObject_TypeCheck(obj, &PyTimedeltaArrType_Type) # <<<<<<<<<<<<<<
@@ -4551,7 +4710,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_
__pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyTimedeltaArrType_Type));
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1001
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":998
*
*
* cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<<
@@ -4561,11 +4720,10 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_
/* function exit code */
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1016
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1013
*
*
* cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<<
@@ -4575,10 +4733,8 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_
static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_obj) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("is_datetime64_object", 0);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1028
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1025
* bool
* """
* return PyObject_TypeCheck(obj, &PyDatetimeArrType_Type) # <<<<<<<<<<<<<<
@@ -4588,7 +4744,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_o
__pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyDatetimeArrType_Type));
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1016
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1013
*
*
* cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<<
@@ -4598,11 +4754,10 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_o
/* function exit code */
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1031
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1028
*
*
* cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<<
@@ -4613,7 +4768,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_o
static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *__pyx_v_obj) {
npy_datetime __pyx_r;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1038
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1035
* also needed. That can be found using `get_datetime64_unit`.
* """
* return (obj).obval # <<<<<<<<<<<<<<
@@ -4623,7 +4778,7 @@ static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *
__pyx_r = ((PyDatetimeScalarObject *)__pyx_v_obj)->obval;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1031
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1028
*
*
* cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<<
@@ -4636,7 +4791,7 @@ static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1041
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1038
*
*
* cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<<
@@ -4647,7 +4802,7 @@ static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *
static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject *__pyx_v_obj) {
npy_timedelta __pyx_r;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1045
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1042
* returns the int64 value underlying scalar numpy timedelta64 object
* """
* return (obj).obval # <<<<<<<<<<<<<<
@@ -4657,7 +4812,7 @@ static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject
__pyx_r = ((PyTimedeltaScalarObject *)__pyx_v_obj)->obval;
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1041
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1038
*
*
* cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<<
@@ -4670,7 +4825,7 @@ static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject
return __pyx_r;
}
-/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1048
+/* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1045
*
*
* cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<<
@@ -4681,7 +4836,7 @@ static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject
static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObject *__pyx_v_obj) {
NPY_DATETIMEUNIT __pyx_r;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1052
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1049
* returns the unit part of the dtype for a numpy datetime64 object.
* """
* return (obj).obmeta.base # <<<<<<<<<<<<<<
@@ -4689,7 +4844,7 @@ static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObjec
__pyx_r = ((NPY_DATETIMEUNIT)((PyDatetimeScalarObject *)__pyx_v_obj)->obmeta.base);
goto __pyx_L0;
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1048
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":1045
*
*
* cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<<
@@ -4725,7 +4880,7 @@ static PyArrayObject *__pyx_f_6common_15transformations_15transformations_matrix
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("matrix2numpy", 0);
+ __Pyx_RefNannySetupContext("matrix2numpy", 1);
/* "common/transformations/transformations.pyx":25
*
@@ -4757,11 +4912,11 @@ static PyArrayObject *__pyx_f_6common_15transformations_15transformations_matrix
__pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 26, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_2);
- PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4)) __PYX_ERR(0, 26, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_5);
- PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5)) __PYX_ERR(0, 26, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_4 = 0;
__pyx_t_5 = 0;
@@ -4782,11 +4937,11 @@ static PyArrayObject *__pyx_f_6common_15transformations_15transformations_matrix
__pyx_t_7 = PyList_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_GIVEREF(__pyx_t_5);
- PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_5);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_5)) __PYX_ERR(0, 27, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_4);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_4)) __PYX_ERR(0, 27, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_2);
- PyList_SET_ITEM(__pyx_t_7, 2, __pyx_t_2);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_7, 2, __pyx_t_2)) __PYX_ERR(0, 27, __pyx_L1_error);
__pyx_t_5 = 0;
__pyx_t_4 = 0;
__pyx_t_2 = 0;
@@ -4807,11 +4962,11 @@ static PyArrayObject *__pyx_f_6common_15transformations_15transformations_matrix
__pyx_t_8 = PyList_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_GIVEREF(__pyx_t_2);
- PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2)) __PYX_ERR(0, 28, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_4);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_4)) __PYX_ERR(0, 28, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_5);
- PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_5);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_5)) __PYX_ERR(0, 28, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_4 = 0;
__pyx_t_5 = 0;
@@ -4826,17 +4981,18 @@ static PyArrayObject *__pyx_f_6common_15transformations_15transformations_matrix
__pyx_t_5 = PyList_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_6);
- PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_6);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_6)) __PYX_ERR(0, 25, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_7);
- PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_7);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_7)) __PYX_ERR(0, 25, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_8);
- PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_8);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_8)) __PYX_ERR(0, 25, __pyx_L1_error);
__pyx_t_6 = 0;
__pyx_t_7 = 0;
__pyx_t_8 = 0;
__pyx_t_8 = NULL;
__pyx_t_9 = 0;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+ #if CYTHON_UNPACK_METHODS
+ if (unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
@@ -4846,6 +5002,7 @@ static PyArrayObject *__pyx_f_6common_15transformations_15transformations_matrix
__pyx_t_9 = 1;
}
}
+ #endif
{
PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_5};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
@@ -4898,14 +5055,12 @@ static Eigen::Matrix3d __pyx_f_6common_15transformations_15transformations_numpy
__Pyx_LocalBuf_ND __pyx_pybuffernd_m;
__Pyx_Buffer __pyx_pybuffer_m;
Eigen::Matrix3d __pyx_r;
- __Pyx_RefNannyDeclarations
npy_intp *__pyx_t_1;
int __pyx_t_2;
char *__pyx_t_3;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("numpy2matrix", 0);
__pyx_pybuffer_m.pybuffer.buf = NULL;
__pyx_pybuffer_m.refcount = 0;
__pyx_pybuffernd_m.data = NULL;
@@ -4925,7 +5080,7 @@ static Eigen::Matrix3d __pyx_f_6common_15transformations_15transformations_numpy
*/
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(__pyx_assertions_enabled())) {
- __pyx_t_1 = __pyx_f_5numpy_7ndarray_5shape_shape(((PyArrayObject *)__pyx_v_m)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 32, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_5numpy_7ndarray_5shape_shape(((PyArrayObject *)__pyx_v_m)); if (unlikely(__pyx_t_1 == ((npy_intp *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 32, __pyx_L1_error)
__pyx_t_2 = ((__pyx_t_1[0]) == 3);
if (unlikely(!__pyx_t_2)) {
__Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
@@ -4945,7 +5100,7 @@ static Eigen::Matrix3d __pyx_f_6common_15transformations_15transformations_numpy
*/
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(__pyx_assertions_enabled())) {
- __pyx_t_1 = __pyx_f_5numpy_7ndarray_5shape_shape(((PyArrayObject *)__pyx_v_m)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 33, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_5numpy_7ndarray_5shape_shape(((PyArrayObject *)__pyx_v_m)); if (unlikely(__pyx_t_1 == ((npy_intp *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 33, __pyx_L1_error)
__pyx_t_2 = ((__pyx_t_1[1]) == 3);
if (unlikely(!__pyx_t_2)) {
__Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0);
@@ -4989,7 +5144,6 @@ static Eigen::Matrix3d __pyx_f_6common_15transformations_15transformations_numpy
__pyx_L0:;
__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_m.rcbuffer->pybuffer);
__pyx_L2:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5010,7 +5164,7 @@ static struct ECEF __pyx_f_6common_15transformations_15transformations_list2ecef
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("list2ecef", 0);
+ __Pyx_RefNannySetupContext("list2ecef", 1);
/* "common/transformations/transformations.pyx":38
* cdef ECEF list2ecef(ecef):
@@ -5096,7 +5250,7 @@ static struct NED __pyx_f_6common_15transformations_15transformations_list2ned(P
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("list2ned", 0);
+ __Pyx_RefNannySetupContext("list2ned", 1);
/* "common/transformations/transformations.pyx":45
* cdef NED list2ned(ned):
@@ -5182,7 +5336,7 @@ static struct Geodetic __pyx_f_6common_15transformations_15transformations_list2
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("list2geodetic", 0);
+ __Pyx_RefNannySetupContext("list2geodetic", 1);
/* "common/transformations/transformations.pyx":52
* cdef Geodetic list2geodetic(geodetic):
@@ -5277,18 +5431,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_euler = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("euler2quat_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_euler,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -5300,7 +5462,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_euler)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_euler)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 57, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -5315,10 +5480,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_euler = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("euler2quat_single", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 57, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.euler2quat_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -5326,6 +5499,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_euler2quat_single(__pyx_self, __pyx_v_euler);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5346,7 +5525,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_euler2quat
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("euler2quat_single", 0);
+ __Pyx_RefNannySetupContext("euler2quat_single", 1);
/* "common/transformations/transformations.pyx":58
*
@@ -5397,13 +5576,13 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_euler2quat
__pyx_t_8 = PyList_New(4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_GIVEREF(__pyx_t_1);
- PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_1);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_1)) __PYX_ERR(0, 60, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_5);
- PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_5);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_5)) __PYX_ERR(0, 60, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_6);
- PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_6);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_6)) __PYX_ERR(0, 60, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_7);
- PyList_SET_ITEM(__pyx_t_8, 3, __pyx_t_7);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 3, __pyx_t_7)) __PYX_ERR(0, 60, __pyx_L1_error);
__pyx_t_1 = 0;
__pyx_t_5 = 0;
__pyx_t_6 = 0;
@@ -5461,18 +5640,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_quat = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("quat2euler_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_quat,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -5484,7 +5671,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_quat)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_quat)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -5499,10 +5689,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_quat = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("quat2euler_single", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 62, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.quat2euler_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -5510,6 +5708,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_2quat2euler_single(__pyx_self, __pyx_v_quat);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5530,7 +5734,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_2quat2eule
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("quat2euler_single", 0);
+ __Pyx_RefNannySetupContext("quat2euler_single", 1);
/* "common/transformations/transformations.pyx":63
*
@@ -5583,11 +5787,11 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_2quat2eule
__pyx_t_8 = PyList_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_GIVEREF(__pyx_t_1);
- PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_1);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_6);
- PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_6);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_6)) __PYX_ERR(0, 65, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_7);
- PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_7);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_7)) __PYX_ERR(0, 65, __pyx_L1_error);
__pyx_t_1 = 0;
__pyx_t_6 = 0;
__pyx_t_7 = 0;
@@ -5643,18 +5847,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_quat = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("quat2rot_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_quat,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -5666,7 +5878,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_quat)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_quat)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -5681,10 +5896,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_quat = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("quat2rot_single", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 67, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.quat2rot_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -5692,6 +5915,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_4quat2rot_single(__pyx_self, __pyx_v_quat);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5709,7 +5938,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_4quat2rot_
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("quat2rot_single", 0);
+ __Pyx_RefNannySetupContext("quat2rot_single", 1);
/* "common/transformations/transformations.pyx":68
*
@@ -5804,18 +6033,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_rot = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rot2quat_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rot,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -5827,7 +6064,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rot)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rot)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -5842,10 +6082,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_rot = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("rot2quat_single", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 72, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.rot2quat_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -5853,6 +6101,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_6rot2quat_single(__pyx_self, __pyx_v_rot);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -5871,7 +6125,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_6rot2quat_
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("rot2quat_single", 0);
+ __Pyx_RefNannySetupContext("rot2quat_single", 1);
/* "common/transformations/transformations.pyx":73
*
@@ -5889,7 +6143,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_6rot2quat_
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_rot);
__Pyx_GIVEREF(__pyx_v_rot);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_rot);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_rot)) __PYX_ERR(0, 73, __pyx_L1_error);
__pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 73, __pyx_L1_error)
@@ -5937,13 +6191,13 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_6rot2quat_
__pyx_t_4 = PyList_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 75, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_5);
- PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_5)) __PYX_ERR(0, 75, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_3);
- PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(0, 75, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyList_SET_ITEM(__pyx_t_4, 2, __pyx_t_1);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 2, __pyx_t_1)) __PYX_ERR(0, 75, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_2);
- PyList_SET_ITEM(__pyx_t_4, 3, __pyx_t_2);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 3, __pyx_t_2)) __PYX_ERR(0, 75, __pyx_L1_error);
__pyx_t_5 = 0;
__pyx_t_3 = 0;
__pyx_t_1 = 0;
@@ -6001,18 +6255,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_euler = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("euler2rot_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_euler,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6024,7 +6286,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_euler)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_euler)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 77, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -6039,10 +6304,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_euler = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("euler2rot_single", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 77, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.euler2rot_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6050,6 +6323,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_8euler2rot_single(__pyx_self, __pyx_v_euler);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6066,7 +6345,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_8euler2rot
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("euler2rot_single", 0);
+ __Pyx_RefNannySetupContext("euler2rot_single", 1);
/* "common/transformations/transformations.pyx":78
*
@@ -6157,18 +6436,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_rot = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rot2euler_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rot,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6180,7 +6467,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rot)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rot)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 82, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -6195,10 +6485,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_rot = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("rot2euler_single", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 82, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.rot2euler_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6206,6 +6504,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_10rot2euler_single(__pyx_self, __pyx_v_rot);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6224,7 +6528,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10rot2eule
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("rot2euler_single", 0);
+ __Pyx_RefNannySetupContext("rot2euler_single", 1);
/* "common/transformations/transformations.pyx":83
*
@@ -6242,7 +6546,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10rot2eule
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_rot);
__Pyx_GIVEREF(__pyx_v_rot);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_rot);
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_rot)) __PYX_ERR(0, 83, __pyx_L1_error);
__pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 83, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 83, __pyx_L1_error)
@@ -6288,11 +6592,11 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10rot2eule
__pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 85, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_5);
- PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_5);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_5)) __PYX_ERR(0, 85, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_3);
- PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_3)) __PYX_ERR(0, 85, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_1);
- PyList_SET_ITEM(__pyx_t_2, 2, __pyx_t_1);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error);
__pyx_t_5 = 0;
__pyx_t_3 = 0;
__pyx_t_1 = 0;
@@ -6351,18 +6655,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
PyObject *__pyx_v_pitch = 0;
PyObject *__pyx_v_yaw = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[3] = {0,0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rot_matrix (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_roll,&__pyx_n_s_pitch,&__pyx_n_s_yaw,0};
- PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6378,19 +6690,28 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_roll)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_roll)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 87, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pitch)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pitch)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 87, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("rot_matrix", 1, 3, 3, 1); __PYX_ERR(0, 87, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
- if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_yaw)) != 0)) kw_args--;
+ if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_yaw)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 87, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("rot_matrix", 1, 3, 3, 2); __PYX_ERR(0, 87, __pyx_L3_error)
@@ -6411,10 +6732,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_pitch = values[1];
__pyx_v_yaw = values[2];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("rot_matrix", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 87, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.rot_matrix", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6422,6 +6751,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_12rot_matrix(__pyx_self, __pyx_v_roll, __pyx_v_pitch, __pyx_v_yaw);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6436,7 +6771,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_12rot_matr
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("rot_matrix", 0);
+ __Pyx_RefNannySetupContext("rot_matrix", 1);
/* "common/transformations/transformations.pyx":88
*
@@ -6501,18 +6836,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
PyObject *__pyx_v_ecef_init = 0;
PyObject *__pyx_v_ned_pose = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[2] = {0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ecef_euler_from_ned_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ecef_init,&__pyx_n_s_ned_pose,0};
- PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6526,12 +6869,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ecef_init)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ecef_init)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 90, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ned_pose)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ned_pose)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 90, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("ecef_euler_from_ned_single", 1, 2, 2, 1); __PYX_ERR(0, 90, __pyx_L3_error)
@@ -6550,10 +6899,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_ecef_init = values[0];
__pyx_v_ned_pose = values[1];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("ecef_euler_from_ned_single", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 90, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.ecef_euler_from_ned_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6561,6 +6918,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_14ecef_euler_from_ned_single(__pyx_self, __pyx_v_ecef_init, __pyx_v_ned_pose);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6582,7 +6945,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_14ecef_eul
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("ecef_euler_from_ned_single", 0);
+ __Pyx_RefNannySetupContext("ecef_euler_from_ned_single", 1);
/* "common/transformations/transformations.pyx":91
*
@@ -6641,11 +7004,11 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_14ecef_eul
__pyx_t_8 = PyList_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 95, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_GIVEREF(__pyx_t_2);
- PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2)) __PYX_ERR(0, 95, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_6);
- PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_6);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_6)) __PYX_ERR(0, 95, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_7);
- PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_7);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_7)) __PYX_ERR(0, 95, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_6 = 0;
__pyx_t_7 = 0;
@@ -6702,18 +7065,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
PyObject *__pyx_v_ecef_init = 0;
PyObject *__pyx_v_ecef_pose = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[2] = {0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ned_euler_from_ecef_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ecef_init,&__pyx_n_s_ecef_pose,0};
- PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6727,12 +7098,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ecef_init)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ecef_init)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
- if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ecef_pose)) != 0)) kw_args--;
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ecef_pose)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("ned_euler_from_ecef_single", 1, 2, 2, 1); __PYX_ERR(0, 97, __pyx_L3_error)
@@ -6751,10 +7128,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_v_ecef_init = values[0];
__pyx_v_ecef_pose = values[1];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("ned_euler_from_ecef_single", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 97, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.ned_euler_from_ecef_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6762,6 +7147,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_16ned_euler_from_ecef_single(__pyx_self, __pyx_v_ecef_init, __pyx_v_ecef_pose);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6783,7 +7174,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_16ned_eule
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("ned_euler_from_ecef_single", 0);
+ __Pyx_RefNannySetupContext("ned_euler_from_ecef_single", 1);
/* "common/transformations/transformations.pyx":98
*
@@ -6842,11 +7233,11 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_16ned_eule
__pyx_t_8 = PyList_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_GIVEREF(__pyx_t_2);
- PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2)) __PYX_ERR(0, 102, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_6);
- PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_6);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_6)) __PYX_ERR(0, 102, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_7);
- PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_7);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_7)) __PYX_ERR(0, 102, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_6 = 0;
__pyx_t_7 = 0;
@@ -6902,18 +7293,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_geodetic = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("geodetic2ecef_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_geodetic,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -6925,7 +7324,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_geodetic)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_geodetic)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 104, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -6940,10 +7342,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_geodetic = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("geodetic2ecef_single", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 104, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.geodetic2ecef_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -6951,6 +7361,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_18geodetic2ecef_single(__pyx_self, __pyx_v_geodetic);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -6968,7 +7384,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_18geodetic
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("geodetic2ecef_single", 0);
+ __Pyx_RefNannySetupContext("geodetic2ecef_single", 1);
/* "common/transformations/transformations.pyx":105
*
@@ -7006,11 +7422,11 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_18geodetic
__pyx_t_5 = PyList_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_2);
- PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(0, 107, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_3);
- PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_3)) __PYX_ERR(0, 107, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_4);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_4)) __PYX_ERR(0, 107, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_3 = 0;
__pyx_t_4 = 0;
@@ -7066,18 +7482,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_ecef = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ecef2geodetic_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ecef,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7089,7 +7513,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ecef)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ecef)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 109, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -7104,10 +7531,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_ecef = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("ecef2geodetic_single", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 109, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.ecef2geodetic_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7115,6 +7550,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_20ecef2geodetic_single(__pyx_self, __pyx_v_ecef);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7132,7 +7573,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_20ecef2geo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("ecef2geodetic_single", 0);
+ __Pyx_RefNannySetupContext("ecef2geodetic_single", 1);
/* "common/transformations/transformations.pyx":110
*
@@ -7170,11 +7611,11 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_20ecef2geo
__pyx_t_5 = PyList_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 112, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_2);
- PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_3);
- PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_3)) __PYX_ERR(0, 112, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_4);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_4)) __PYX_ERR(0, 112, __pyx_L1_error);
__pyx_t_2 = 0;
__pyx_t_3 = 0;
__pyx_t_4 = 0;
@@ -7217,19 +7658,25 @@ static int __pyx_pw_6common_15transformations_15transformations_10LocalCoord_1__
static int __pyx_pw_6common_15transformations_15transformations_10LocalCoord_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_geodetic = 0;
PyObject *__pyx_v_ecef = 0;
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[2] = {0,0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_geodetic,&__pyx_n_s_ecef,0};
- PyObject* values[2] = {0,0};
- values[0] = ((PyObject *)Py_None);
- values[1] = ((PyObject *)Py_None);
+ values[0] = __Pyx_Arg_NewRef_VARARGS(((PyObject *)Py_None));
+ values[1] = __Pyx_Arg_NewRef_VARARGS(((PyObject *)Py_None));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7245,14 +7692,14 @@ static int __pyx_pw_6common_15transformations_15transformations_10LocalCoord_1__
case 0:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_geodetic);
- if (value) { values[0] = value; kw_args--; }
+ if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 118, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ecef);
- if (value) { values[1] = value; kw_args--; }
+ if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 118, __pyx_L3_error)
}
}
@@ -7273,10 +7720,18 @@ static int __pyx_pw_6common_15transformations_15transformations_10LocalCoord_1__
__pyx_v_geodetic = values[0];
__pyx_v_ecef = values[1];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 118, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.LocalCoord.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
@@ -7284,13 +7739,18 @@ static int __pyx_pw_6common_15transformations_15transformations_10LocalCoord_1__
__pyx_r = __pyx_pf_6common_15transformations_15transformations_10LocalCoord___init__(((struct __pyx_obj_6common_15transformations_15transformations_LocalCoord *)__pyx_v_self), __pyx_v_geodetic, __pyx_v_ecef);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_6common_15transformations_15transformations_10LocalCoord___init__(struct __pyx_obj_6common_15transformations_15transformations_LocalCoord *__pyx_v_self, PyObject *__pyx_v_geodetic, PyObject *__pyx_v_ecef) {
int __pyx_r;
- __Pyx_RefNannyDeclarations
int __pyx_t_1;
int __pyx_t_2;
struct Geodetic __pyx_t_3;
@@ -7298,7 +7758,6 @@ static int __pyx_pf_6common_15transformations_15transformations_10LocalCoord___i
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__init__", 0);
/* "common/transformations/transformations.pyx":119
*
@@ -7402,7 +7861,6 @@ static int __pyx_pf_6common_15transformations_15transformations_10LocalCoord___i
__Pyx_AddTraceback("common.transformations.transformations.LocalCoord.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
- __Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7417,10 +7875,11 @@ static int __pyx_pf_6common_15transformations_15transformations_10LocalCoord___i
/* Python wrapper */
static PyObject *__pyx_pw_6common_15transformations_15transformations_10LocalCoord_15ned2ecef_matrix_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_15transformations_15transformations_10LocalCoord_15ned2ecef_matrix_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_15transformations_15transformations_10LocalCoord_15ned2ecef_matrix___get__(((struct __pyx_obj_6common_15transformations_15transformations_LocalCoord *)__pyx_v_self));
/* function exit code */
@@ -7435,7 +7894,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "common/transformations/transformations.pyx":127
* @property
@@ -7481,10 +7940,11 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
/* Python wrapper */
static PyObject *__pyx_pw_6common_15transformations_15transformations_10LocalCoord_15ecef2ned_matrix_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_15transformations_15transformations_10LocalCoord_15ecef2ned_matrix_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_15transformations_15transformations_10LocalCoord_15ecef2ned_matrix___get__(((struct __pyx_obj_6common_15transformations_15transformations_LocalCoord *)__pyx_v_self));
/* function exit code */
@@ -7499,7 +7959,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "common/transformations/transformations.pyx":131
* @property
@@ -7545,10 +8005,11 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
/* Python wrapper */
static PyObject *__pyx_pw_6common_15transformations_15transformations_10LocalCoord_20ned_from_ecef_matrix_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_15transformations_15transformations_10LocalCoord_20ned_from_ecef_matrix_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_15transformations_15transformations_10LocalCoord_20ned_from_ecef_matrix___get__(((struct __pyx_obj_6common_15transformations_15transformations_LocalCoord *)__pyx_v_self));
/* function exit code */
@@ -7563,7 +8024,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "common/transformations/transformations.pyx":135
* @property
@@ -7609,10 +8070,11 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
/* Python wrapper */
static PyObject *__pyx_pw_6common_15transformations_15transformations_10LocalCoord_20ecef_from_ned_matrix_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6common_15transformations_15transformations_10LocalCoord_20ecef_from_ned_matrix_1__get__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_r = __pyx_pf_6common_15transformations_15transformations_10LocalCoord_20ecef_from_ned_matrix___get__(((struct __pyx_obj_6common_15transformations_15transformations_LocalCoord *)__pyx_v_self));
/* function exit code */
@@ -7627,7 +8089,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__get__", 1);
/* "common/transformations/transformations.pyx":139
* @property
@@ -7688,18 +8150,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_geodetic = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("from_geodetic (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_geodetic,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7711,7 +8181,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_geodetic)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_geodetic)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 141, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -7726,10 +8199,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_geodetic = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("from_geodetic", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 141, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.LocalCoord.from_geodetic", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7737,6 +8218,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_10LocalCoord_2from_geodetic(((PyTypeObject*)__pyx_v_cls), __pyx_v_geodetic);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7749,7 +8236,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("from_geodetic", 0);
+ __Pyx_RefNannySetupContext("from_geodetic", 1);
/* "common/transformations/transformations.pyx":143
* @classmethod
@@ -7815,18 +8302,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_ecef = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("from_ecef (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ecef,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7838,7 +8333,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ecef)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ecef)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 145, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -7853,10 +8351,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_ecef = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("from_ecef", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 145, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.LocalCoord.from_ecef", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7864,6 +8370,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_10LocalCoord_4from_ecef(((PyTypeObject*)__pyx_v_cls), __pyx_v_ecef);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -7876,7 +8388,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("from_ecef", 0);
+ __Pyx_RefNannySetupContext("from_ecef", 1);
/* "common/transformations/transformations.pyx":147
* @classmethod
@@ -7942,18 +8454,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_ecef = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ecef2ned_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ecef,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -7965,7 +8485,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ecef)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ecef)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 149, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -7980,10 +8503,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_ecef = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("ecef2ned_single", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 149, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.LocalCoord.ecef2ned_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -7991,6 +8522,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_10LocalCoord_6ecef2ned_single(((struct __pyx_obj_6common_15transformations_15transformations_LocalCoord *)__pyx_v_self), __pyx_v_ecef);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -8009,7 +8546,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("ecef2ned_single", 0);
+ __Pyx_RefNannySetupContext("ecef2ned_single", 1);
/* "common/transformations/transformations.pyx":150
*
@@ -8066,11 +8603,11 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
__pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_3);
- PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_3);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_3)) __PYX_ERR(0, 153, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4)) __PYX_ERR(0, 153, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_5);
- PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5)) __PYX_ERR(0, 153, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_4 = 0;
__pyx_t_5 = 0;
@@ -8126,18 +8663,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_ned = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ned2ecef_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ned,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -8149,7 +8694,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ned)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ned)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 155, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -8164,10 +8712,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_ned = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("ned2ecef_single", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 155, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.LocalCoord.ned2ecef_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -8175,6 +8731,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_10LocalCoord_8ned2ecef_single(((struct __pyx_obj_6common_15transformations_15transformations_LocalCoord *)__pyx_v_self), __pyx_v_ned);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -8193,7 +8755,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("ned2ecef_single", 0);
+ __Pyx_RefNannySetupContext("ned2ecef_single", 1);
/* "common/transformations/transformations.pyx":156
*
@@ -8250,11 +8812,11 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
__pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 159, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_3);
- PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_3);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_3)) __PYX_ERR(0, 159, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4)) __PYX_ERR(0, 159, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_5);
- PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5)) __PYX_ERR(0, 159, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_4 = 0;
__pyx_t_5 = 0;
@@ -8310,18 +8872,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_geodetic = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("geodetic2ned_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_geodetic,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -8333,7 +8903,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_geodetic)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_geodetic)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 161, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -8348,10 +8921,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_geodetic = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("geodetic2ned_single", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 161, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.LocalCoord.geodetic2ned_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -8359,6 +8940,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_10LocalCoord_10geodetic2ned_single(((struct __pyx_obj_6common_15transformations_15transformations_LocalCoord *)__pyx_v_self), __pyx_v_geodetic);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -8377,7 +8964,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("geodetic2ned_single", 0);
+ __Pyx_RefNannySetupContext("geodetic2ned_single", 1);
/* "common/transformations/transformations.pyx":162
*
@@ -8434,11 +9021,11 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
__pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 165, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_3);
- PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_3);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_3)) __PYX_ERR(0, 165, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4)) __PYX_ERR(0, 165, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_5);
- PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5)) __PYX_ERR(0, 165, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_4 = 0;
__pyx_t_5 = 0;
@@ -8494,18 +9081,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
PyObject *__pyx_v_ned = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ned2geodetic_single (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ned,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -8517,7 +9112,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ned)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ned)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 167, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -8532,10 +9130,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v_ned = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("ned2geodetic_single", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 167, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.LocalCoord.ned2geodetic_single", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -8543,6 +9149,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_10LocalCoord_12ned2geodetic_single(((struct __pyx_obj_6common_15transformations_15transformations_LocalCoord *)__pyx_v_self), __pyx_v_ned);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -8561,7 +9173,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("ned2geodetic_single", 0);
+ __Pyx_RefNannySetupContext("ned2geodetic_single", 1);
/* "common/transformations/transformations.pyx":168
*
@@ -8618,11 +9230,11 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
__pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_3);
- PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_3);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_4);
- PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4)) __PYX_ERR(0, 171, __pyx_L1_error);
__Pyx_GIVEREF(__pyx_t_5);
- PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5);
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5)) __PYX_ERR(0, 171, __pyx_L1_error);
__pyx_t_3 = 0;
__pyx_t_4 = 0;
__pyx_t_5 = 0;
@@ -8662,9 +9274,10 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
/* Python wrapper */
static void __pyx_pw_6common_15transformations_15transformations_10LocalCoord_15__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_6common_15transformations_15transformations_10LocalCoord_15__dealloc__(PyObject *__pyx_v_self) {
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
+ __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__pyx_pf_6common_15transformations_15transformations_10LocalCoord_14__dealloc__(((struct __pyx_obj_6common_15transformations_15transformations_LocalCoord *)__pyx_v_self));
/* function exit code */
@@ -8672,8 +9285,6 @@ static void __pyx_pw_6common_15transformations_15transformations_10LocalCoord_15
}
static void __pyx_pf_6common_15transformations_15transformations_10LocalCoord_14__dealloc__(struct __pyx_obj_6common_15transformations_15transformations_LocalCoord *__pyx_v_self) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__dealloc__", 0);
/* "common/transformations/transformations.pyx":174
*
@@ -8690,7 +9301,6 @@ static void __pyx_pf_6common_15transformations_15transformations_10LocalCoord_14
*/
/* function exit code */
- __Pyx_RefNannyFinishContext();
}
/* "(tree fragment)":1
@@ -8716,12 +9326,20 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
@@ -8738,7 +9356,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
/* "(tree fragment)":2
* def __reduce_cython__(self):
@@ -8789,18 +9407,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
) {
CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
#if !CYTHON_METH_FASTCALL
- CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ CYTHON_UNUSED Py_ssize_t __pyx_nargs;
#endif
- CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
+ PyObject* values[1] = {0};
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+ #if !CYTHON_METH_FASTCALL
+ #if CYTHON_ASSUME_SAFE_MACROS
+ __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
+ #else
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
+ #endif
+ #endif
+ __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
- PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
@@ -8812,7 +9438,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
- if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
+ (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
+ kw_args--;
+ }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
@@ -8827,10 +9456,18 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
}
__pyx_v___pyx_state = values[0];
}
- goto __pyx_L4_argument_unpacking_done;
+ goto __pyx_L6_skip;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
+ __pyx_L6_skip:;
+ goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_AddTraceback("common.transformations.transformations.LocalCoord.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
@@ -8838,6 +9475,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
__pyx_r = __pyx_pf_6common_15transformations_15transformations_10LocalCoord_18__setstate_cython__(((struct __pyx_obj_6common_15transformations_15transformations_LocalCoord *)__pyx_v_self), __pyx_v___pyx_state);
/* function exit code */
+ {
+ Py_ssize_t __pyx_temp;
+ for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
+ __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
+ }
+ }
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -8848,7 +9491,7 @@ static PyObject *__pyx_pf_6common_15transformations_15transformations_10LocalCoo
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
/* "(tree fragment)":4
* raise TypeError, "self.lc cannot be converted to a Python object for pickling"
@@ -8906,7 +9549,14 @@ static void __pyx_tp_dealloc_6common_15transformations_15transformations_LocalCo
__Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
PyErr_Restore(etype, eval, etb);
}
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
(*Py_TYPE(o)->tp_free)(o);
+ #else
+ {
+ freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
+ if (tp_free) tp_free(o);
+ }
+ #endif
}
static PyObject *__pyx_getprop_6common_15transformations_15transformations_10LocalCoord_ned2ecef_matrix(PyObject *o, CYTHON_UNUSED void *x) {
@@ -9156,7 +9806,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
__pyx_builtin_AssertionError = __Pyx_GetBuiltinName(__pyx_n_s_AssertionError); if (!__pyx_builtin_AssertionError) __PYX_ERR(0, 32, __pyx_L1_error)
__pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 2, __pyx_L1_error)
- __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(2, 986, __pyx_L1_error)
+ __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(2, 983, __pyx_L1_error)
return 0;
__pyx_L1_error:;
return -1;
@@ -9167,25 +9817,25 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":986
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":983
* __pyx_import_array()
* except Exception:
* raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<<
*
* cdef inline int import_umath() except -1:
*/
- __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_u_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple_)) __PYX_ERR(2, 986, __pyx_L1_error)
+ __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_u_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple_)) __PYX_ERR(2, 983, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple_);
__Pyx_GIVEREF(__pyx_tuple_);
- /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":992
+ /* "../../usr/local/pyenv/versions/3.11.4/lib/python3.11/site-packages/numpy/__init__.cython-30.pxd":989
* _import_umath()
* except Exception:
* raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<<
*
* cdef inline int import_ufunc() except -1:
*/
- __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_u_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(2, 992, __pyx_L1_error)
+ __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_u_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(2, 989, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__2);
__Pyx_GIVEREF(__pyx_tuple__2);
@@ -9431,7 +10081,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) {
static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
/* AssertionsEnabled.init */
- __Pyx_init_assertions_enabled();
+ if (likely(__Pyx_init_assertions_enabled() == 0)); else
if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)
@@ -9443,7 +10093,7 @@ if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)
* numpy._import_array
*/
#ifdef NPY_FEATURE_VERSION
-#if !NO_IMPORT_ARRAY
+#ifndef NO_IMPORT_ARRAY
if (unlikely(_import_array() == -1)) {
PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import "
"(auto-generated because you didn't call 'numpy.import_array()' after cimporting numpy; "
@@ -9539,33 +10189,33 @@ static int __Pyx_modinit_type_import_code(void) {
/*--- Type import code ---*/
__pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_0_0(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",
+ __pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_0_5(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",
#if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
- sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyTypeObject),
+ sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyTypeObject),
#elif CYTHON_COMPILING_IN_LIMITED_API
- sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyTypeObject),
+ sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyTypeObject),
#else
- sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyHeapTypeObject),
+ sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyHeapTypeObject),
#endif
- __Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(3, 9, __pyx_L1_error)
+ __Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(3, 9, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 202, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_ptype_5numpy_dtype = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyArray_Descr),__Pyx_ImportType_CheckSize_Ignore_3_0_0); if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(2, 202, __pyx_L1_error)
- __pyx_ptype_5numpy_flatiter = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyArrayIterObject),__Pyx_ImportType_CheckSize_Ignore_3_0_0); if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(2, 225, __pyx_L1_error)
- __pyx_ptype_5numpy_broadcast = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyArrayMultiIterObject),__Pyx_ImportType_CheckSize_Ignore_3_0_0); if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(2, 229, __pyx_L1_error)
- __pyx_ptype_5numpy_ndarray = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyArrayObject),__Pyx_ImportType_CheckSize_Ignore_3_0_0); if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(2, 238, __pyx_L1_error)
- __pyx_ptype_5numpy_generic = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "generic", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_generic) __PYX_ERR(2, 812, __pyx_L1_error)
- __pyx_ptype_5numpy_number = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "number", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_number) __PYX_ERR(2, 814, __pyx_L1_error)
- __pyx_ptype_5numpy_integer = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "integer", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_integer) __PYX_ERR(2, 816, __pyx_L1_error)
- __pyx_ptype_5numpy_signedinteger = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "signedinteger", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_signedinteger) __PYX_ERR(2, 818, __pyx_L1_error)
- __pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "unsignedinteger", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(2, 820, __pyx_L1_error)
- __pyx_ptype_5numpy_inexact = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "inexact", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_inexact) __PYX_ERR(2, 822, __pyx_L1_error)
- __pyx_ptype_5numpy_floating = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "floating", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_floating) __PYX_ERR(2, 824, __pyx_L1_error)
- __pyx_ptype_5numpy_complexfloating = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "complexfloating", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_complexfloating) __PYX_ERR(2, 826, __pyx_L1_error)
- __pyx_ptype_5numpy_flexible = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "flexible", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_flexible) __PYX_ERR(2, 828, __pyx_L1_error)
- __pyx_ptype_5numpy_character = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "character", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_0); if (!__pyx_ptype_5numpy_character) __PYX_ERR(2, 830, __pyx_L1_error)
- __pyx_ptype_5numpy_ufunc = __Pyx_ImportType_3_0_0(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_0(PyUFuncObject),__Pyx_ImportType_CheckSize_Ignore_3_0_0); if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(2, 868, __pyx_L1_error)
+ __pyx_ptype_5numpy_dtype = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyArray_Descr),__Pyx_ImportType_CheckSize_Ignore_3_0_5); if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(2, 202, __pyx_L1_error)
+ __pyx_ptype_5numpy_flatiter = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyArrayIterObject),__Pyx_ImportType_CheckSize_Ignore_3_0_5); if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(2, 225, __pyx_L1_error)
+ __pyx_ptype_5numpy_broadcast = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyArrayMultiIterObject),__Pyx_ImportType_CheckSize_Ignore_3_0_5); if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(2, 229, __pyx_L1_error)
+ __pyx_ptype_5numpy_ndarray = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyArrayObject),__Pyx_ImportType_CheckSize_Ignore_3_0_5); if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(2, 238, __pyx_L1_error)
+ __pyx_ptype_5numpy_generic = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "generic", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_generic) __PYX_ERR(2, 809, __pyx_L1_error)
+ __pyx_ptype_5numpy_number = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "number", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_number) __PYX_ERR(2, 811, __pyx_L1_error)
+ __pyx_ptype_5numpy_integer = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "integer", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_integer) __PYX_ERR(2, 813, __pyx_L1_error)
+ __pyx_ptype_5numpy_signedinteger = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "signedinteger", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_signedinteger) __PYX_ERR(2, 815, __pyx_L1_error)
+ __pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "unsignedinteger", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(2, 817, __pyx_L1_error)
+ __pyx_ptype_5numpy_inexact = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "inexact", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_inexact) __PYX_ERR(2, 819, __pyx_L1_error)
+ __pyx_ptype_5numpy_floating = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "floating", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_floating) __PYX_ERR(2, 821, __pyx_L1_error)
+ __pyx_ptype_5numpy_complexfloating = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "complexfloating", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_complexfloating) __PYX_ERR(2, 823, __pyx_L1_error)
+ __pyx_ptype_5numpy_flexible = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "flexible", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_flexible) __PYX_ERR(2, 825, __pyx_L1_error)
+ __pyx_ptype_5numpy_character = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "character", sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyObject),__Pyx_ImportType_CheckSize_Warn_3_0_5); if (!__pyx_ptype_5numpy_character) __PYX_ERR(2, 827, __pyx_L1_error)
+ __pyx_ptype_5numpy_ufunc = __Pyx_ImportType_3_0_5(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_5(PyUFuncObject),__Pyx_ImportType_CheckSize_Ignore_3_0_5); if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(2, 865, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_RefNannyFinishContext();
return 0;
@@ -9792,10 +10442,8 @@ static CYTHON_SMALL_CODE int __pyx_pymod_exec_transformations(PyObject *__pyx_py
CYTHON_UNUSED_VAR(__pyx_t_1);
__pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
Py_INCREF(__pyx_d);
- __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
- Py_INCREF(__pyx_b);
- __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
- Py_INCREF(__pyx_cython_runtime);
+ __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
+ __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#if CYTHON_REFNANNY
__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
@@ -9807,7 +10455,7 @@ if (!__Pyx_RefNanny) {
}
#endif
__Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_transformations(void)", 0);
- if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+ if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#ifdef __Pxy_PyFrame_Initialize_Offsets
__Pxy_PyFrame_Initialize_Offsets();
#endif
@@ -10025,7 +10673,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6common_15transformations_15transformations_10LocalCoord_3from_geodetic, __Pyx_CYFUNCTION_CLASSMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_LocalCoord_from_geodetic, NULL, __pyx_n_s_common_transformations_transform_2, __pyx_d, ((PyObject *)__pyx_codeobj__27)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 141, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord->tp_dict, __pyx_n_s_from_geodetic, __pyx_t_2) < 0) __PYX_ERR(0, 141, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord, __pyx_n_s_from_geodetic, __pyx_t_2) < 0) __PYX_ERR(0, 141, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
PyType_Modified(__pyx_ptype_6common_15transformations_15transformations_LocalCoord);
__Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord, __pyx_n_s_from_geodetic); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 141, __pyx_L1_error)
@@ -10033,7 +10681,7 @@ if (!__Pyx_RefNanny) {
__pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 141, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord->tp_dict, __pyx_n_s_from_geodetic, __pyx_t_3) < 0) __PYX_ERR(0, 141, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord, __pyx_n_s_from_geodetic, __pyx_t_3) < 0) __PYX_ERR(0, 141, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6common_15transformations_15transformations_LocalCoord);
@@ -10046,7 +10694,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6common_15transformations_15transformations_10LocalCoord_5from_ecef, __Pyx_CYFUNCTION_CLASSMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_LocalCoord_from_ecef, NULL, __pyx_n_s_common_transformations_transform_2, __pyx_d, ((PyObject *)__pyx_codeobj__29)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 145, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord->tp_dict, __pyx_n_s_from_ecef, __pyx_t_3) < 0) __PYX_ERR(0, 145, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord, __pyx_n_s_from_ecef, __pyx_t_3) < 0) __PYX_ERR(0, 145, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyType_Modified(__pyx_ptype_6common_15transformations_15transformations_LocalCoord);
__Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord, __pyx_n_s_from_ecef); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 145, __pyx_L1_error)
@@ -10054,7 +10702,7 @@ if (!__Pyx_RefNanny) {
__pyx_t_2 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 145, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord->tp_dict, __pyx_n_s_from_ecef, __pyx_t_2) < 0) __PYX_ERR(0, 145, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord, __pyx_n_s_from_ecef, __pyx_t_2) < 0) __PYX_ERR(0, 145, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
PyType_Modified(__pyx_ptype_6common_15transformations_15transformations_LocalCoord);
@@ -10067,7 +10715,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6common_15transformations_15transformations_10LocalCoord_7ecef2ned_single, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_LocalCoord_ecef2ned_single, NULL, __pyx_n_s_common_transformations_transform_2, __pyx_d, ((PyObject *)__pyx_codeobj__31)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord->tp_dict, __pyx_n_s_ecef2ned_single, __pyx_t_2) < 0) __PYX_ERR(0, 149, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord, __pyx_n_s_ecef2ned_single, __pyx_t_2) < 0) __PYX_ERR(0, 149, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
PyType_Modified(__pyx_ptype_6common_15transformations_15transformations_LocalCoord);
@@ -10080,7 +10728,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6common_15transformations_15transformations_10LocalCoord_9ned2ecef_single, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_LocalCoord_ned2ecef_single, NULL, __pyx_n_s_common_transformations_transform_2, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord->tp_dict, __pyx_n_s_ned2ecef_single, __pyx_t_2) < 0) __PYX_ERR(0, 155, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord, __pyx_n_s_ned2ecef_single, __pyx_t_2) < 0) __PYX_ERR(0, 155, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
PyType_Modified(__pyx_ptype_6common_15transformations_15transformations_LocalCoord);
@@ -10093,7 +10741,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6common_15transformations_15transformations_10LocalCoord_11geodetic2ned_single, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_LocalCoord_geodetic2ned_single, NULL, __pyx_n_s_common_transformations_transform_2, __pyx_d, ((PyObject *)__pyx_codeobj__35)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord->tp_dict, __pyx_n_s_geodetic2ned_single, __pyx_t_2) < 0) __PYX_ERR(0, 161, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord, __pyx_n_s_geodetic2ned_single, __pyx_t_2) < 0) __PYX_ERR(0, 161, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
PyType_Modified(__pyx_ptype_6common_15transformations_15transformations_LocalCoord);
@@ -10106,7 +10754,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6common_15transformations_15transformations_10LocalCoord_13ned2geodetic_single, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_LocalCoord_ned2geodetic_single, NULL, __pyx_n_s_common_transformations_transform_2, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 167, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord->tp_dict, __pyx_n_s_ned2geodetic_single, __pyx_t_2) < 0) __PYX_ERR(0, 167, __pyx_L1_error)
+ if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_6common_15transformations_15transformations_LocalCoord, __pyx_n_s_ned2geodetic_single, __pyx_t_2) < 0) __PYX_ERR(0, 167, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
PyType_Modified(__pyx_ptype_6common_15transformations_15transformations_LocalCoord);
@@ -10268,6 +10916,8 @@ static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObjec
tmp_value = tstate->current_exception;
tstate->current_exception = value;
Py_XDECREF(tmp_value);
+ Py_XDECREF(type);
+ Py_XDECREF(tb);
#else
PyObject *tmp_type, *tmp_value, *tmp_tb;
tmp_type = tstate->curexc_type;
@@ -10325,14 +10975,20 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject
#endif
/* PyObjectGetAttrStrNoError */
+#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
__Pyx_PyErr_Clear();
}
+#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
PyObject *result;
+#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
+ (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
+ return result;
+#else
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1
PyTypeObject* tp = Py_TYPE(obj);
if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
@@ -10344,6 +11000,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, P
__Pyx_PyObject_GetAttrStr_ClearAttributeError();
}
return result;
+#endif
}
/* GetBuiltinName */
@@ -10544,8 +11201,13 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
ternaryfunc call = Py_TYPE(func)->tp_call;
if (unlikely(!call))
return PyObject_Call(func, arg, kw);
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
return NULL;
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
+ return NULL;
+ #endif
result = (*call)(func, arg, kw);
Py_LeaveRecursiveCall();
if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
@@ -10753,7 +11415,7 @@ static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
{
PyObject *result;
#if !CYTHON_AVOID_BORROWED_REFS
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
__PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
if (likely(result)) {
@@ -10832,9 +11494,15 @@ static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args,
PyObject *result;
assert(kwargs == NULL || PyDict_Check(kwargs));
nk = kwargs ? PyDict_Size(kwargs) : 0;
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) {
return NULL;
}
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) {
+ return NULL;
+ }
+ #endif
if (
#if PY_MAJOR_VERSION >= 3
co->co_kwonlyargcount == 0 &&
@@ -10909,10 +11577,15 @@ done:
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
PyObject *self, *result;
PyCFunction cfunc;
- cfunc = PyCFunction_GET_FUNCTION(func);
- self = PyCFunction_GET_SELF(func);
+ cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
+ self = __Pyx_CyOrPyCFunction_GET_SELF(func);
+ #if PY_MAJOR_VERSION < 3
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
return NULL;
+ #else
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
+ return NULL;
+ #endif
result = cfunc(self, arg);
Py_LeaveRecursiveCall();
if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
@@ -10925,42 +11598,33 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject
#endif
/* PyObjectFastCall */
+#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API
static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) {
PyObject *argstuple;
- PyObject *result;
+ PyObject *result = 0;
size_t i;
argstuple = PyTuple_New((Py_ssize_t)nargs);
if (unlikely(!argstuple)) return NULL;
for (i = 0; i < nargs; i++) {
Py_INCREF(args[i]);
- PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]);
+ if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad;
}
result = __Pyx_PyObject_Call(func, argstuple, kwargs);
+ bad:
Py_DECREF(argstuple);
return result;
}
+#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) {
Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs);
#if CYTHON_COMPILING_IN_CPYTHON
if (nargs == 0 && kwargs == NULL) {
-#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
- if (__Pyx_IsCyOrPyCFunction(func))
-#else
- if (PyCFunction_Check(func))
-#endif
- {
- if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
- return __Pyx_PyObject_CallMethO(func, NULL);
- }
- }
+ if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
+ return __Pyx_PyObject_CallMethO(func, NULL);
}
else if (nargs == 1 && kwargs == NULL) {
- if (PyCFunction_Check(func))
- {
- if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
- return __Pyx_PyObject_CallMethO(func, args[0]);
- }
- }
+ if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
+ return __Pyx_PyObject_CallMethO(func, args[0]);
}
#endif
#if PY_VERSION_HEX < 0x030800B1
@@ -10984,21 +11648,31 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObj
}
#endif
#endif
- #if CYTHON_VECTORCALL
- vectorcallfunc f = _PyVectorcall_Function(func);
- if (f) {
- return f(func, args, (size_t)nargs, kwargs);
+ if (kwargs == NULL) {
+ #if CYTHON_VECTORCALL
+ #if PY_VERSION_HEX < 0x03090000
+ vectorcallfunc f = _PyVectorcall_Function(func);
+ #else
+ vectorcallfunc f = PyVectorcall_Function(func);
+ #endif
+ if (f) {
+ return f(func, args, (size_t)nargs, NULL);
+ }
+ #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
+ if (__Pyx_CyFunction_CheckExact(func)) {
+ __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
+ if (f) return f(func, args, (size_t)nargs, NULL);
+ }
+ #endif
}
- #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
- if (__Pyx_CyFunction_CheckExact(func)) {
- __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
- if (f) return f(func, args, (size_t)nargs, kwargs);
- }
- #endif
if (nargs == 0) {
return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs);
}
+ #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
+ return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs);
+ #else
return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
+ #endif
}
/* ExtTypeTest */
@@ -11357,7 +12031,7 @@ static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {
ctx->is_complex = 0;
return 0;
}
-static PyObject *
+static int
__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)
{
const char *ts = *tsp;
@@ -11366,9 +12040,9 @@ __pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)
if (ctx->new_count != 1) {
PyErr_SetString(PyExc_ValueError,
"Cannot handle repeated arrays in format string");
- return NULL;
+ return -1;
}
- if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+ if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return -1;
ndim = ctx->head->field->type->ndim;
while (*ts && *ts != ')') {
switch (*ts) {
@@ -11376,29 +12050,35 @@ __pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)
default: break;
}
number = __Pyx_BufFmt_ExpectNumber(&ts);
- if (number == -1) return NULL;
- if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i])
- return PyErr_Format(PyExc_ValueError,
+ if (number == -1) return -1;
+ if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i]) {
+ PyErr_Format(PyExc_ValueError,
"Expected a dimension of size %zu, got %d",
ctx->head->field->type->arraysize[i], number);
- if (*ts != ',' && *ts != ')')
- return PyErr_Format(PyExc_ValueError,
+ return -1;
+ }
+ if (*ts != ',' && *ts != ')') {
+ PyErr_Format(PyExc_ValueError,
"Expected a comma in format string, got '%c'", *ts);
+ return -1;
+ }
if (*ts == ',') ts++;
i++;
}
- if (i != ndim)
- return PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d",
+ if (i != ndim) {
+ PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d",
ctx->head->field->type->ndim, i);
+ return -1;
+ }
if (!*ts) {
PyErr_SetString(PyExc_ValueError,
"Unexpected end of format string, expected ')'");
- return NULL;
+ return -1;
}
ctx->is_valid_array = 1;
ctx->new_count = 1;
*tsp = ++ts;
- return Py_None;
+ return 0;
}
static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) {
int got_Z = 0;
@@ -11524,7 +12204,7 @@ static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const cha
++ts;
break;
case '(':
- if (!__pyx_buffmt_parse_array(ctx, &ts)) return NULL;
+ if (__pyx_buffmt_parse_array(ctx, &ts) < 0) return NULL;
break;
default:
{
@@ -11883,6 +12563,24 @@ static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyO
}
return NULL; // not found (no exception set)
}
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
+static CYTHON_UNUSED PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) {
+ Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames);
+ PyObject *dict;
+ dict = PyDict_New();
+ if (unlikely(!dict))
+ return NULL;
+ for (i=0; i= PyTuple_GET_SIZE(kwds)) break;
+ Py_ssize_t size;
+#if CYTHON_ASSUME_SAFE_MACROS
+ size = PyTuple_GET_SIZE(kwds);
+#else
+ size = PyTuple_Size(kwds);
+ if (size < 0) goto bad;
+#endif
+ if (pos >= size) break;
+#if CYTHON_AVOID_BORROWED_REFS
+ key = __Pyx_PySequence_ITEM(kwds, pos);
+ if (!key) goto bad;
+#elif CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kwds, pos);
+#else
+ key = PyTuple_GetItem(kwds, pos);
+ if (!key) goto bad;
+#endif
value = kwvalues[pos];
pos++;
}
else
{
if (!PyDict_Next(kwds, &pos, &key, &value)) break;
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(key);
+#endif
}
name = first_kw_arg;
while (*name && (**name != key)) name++;
if (*name) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(value); // transfer ownership of value to values
+ Py_DECREF(key);
+#endif
+ key = NULL;
+ value = NULL;
continue;
}
+#if !CYTHON_AVOID_BORROWED_REFS
+ Py_INCREF(key);
+#endif
+ Py_INCREF(value);
name = first_kw_arg;
#if PY_MAJOR_VERSION < 3
if (likely(PyString_Check(key))) {
@@ -11938,6 +12666,9 @@ static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyO
if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
&& _PyString_Eq(**name, key)) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ value = NULL; // ownership transferred to values
+#endif
break;
}
name++;
@@ -11967,6 +12698,9 @@ static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyO
if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
if (cmp == 0) {
values[name-argnames] = value;
+#if CYTHON_AVOID_BORROWED_REFS
+ value = NULL; // ownership transferred to values
+#endif
break;
}
name++;
@@ -11993,6 +12727,8 @@ static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyO
goto invalid_keyword;
}
}
+ Py_XDECREF(key);
+ Py_XDECREF(value);
return 0;
arg_passed_twice:
__Pyx_RaiseDoubleKeywordsError(function_name, key);
@@ -12012,6 +12748,8 @@ invalid_keyword:
function_name, key);
#endif
bad:
+ Py_XDECREF(key);
+ Py_XDECREF(value);
return -1;
}
@@ -12055,15 +12793,32 @@ bad:
return 1;
#else
if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kw))) {
- if (unlikely(PyTuple_GET_SIZE(kw) == 0))
+ Py_ssize_t kwsize;
+#if CYTHON_ASSUME_SAFE_MACROS
+ kwsize = PyTuple_GET_SIZE(kw);
+#else
+ kwsize = PyTuple_Size(kw);
+ if (kwsize < 0) return 0;
+#endif
+ if (unlikely(kwsize == 0))
return 1;
if (!kw_allowed) {
+#if CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kw, 0);
+#else
+ key = PyTuple_GetItem(kw, pos);
+ if (!key) return 0;
+#endif
goto invalid_keyword;
}
#if PY_VERSION_HEX < 0x03090000
- for (pos = 0; pos < PyTuple_GET_SIZE(kw); pos++) {
+ for (pos = 0; pos < kwsize; pos++) {
+#if CYTHON_ASSUME_SAFE_MACROS
key = PyTuple_GET_ITEM(kw, pos);
+#else
+ key = PyTuple_GetItem(kw, pos);
+ if (!key) return 0;
+#endif
if (unlikely(!PyUnicode_Check(key)))
goto invalid_keyword_type;
}
@@ -12173,8 +12928,8 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
/* PyObjectCallNoArg */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
- PyObject *arg = NULL;
- return __Pyx_PyObject_FastCall(func, (&arg)+1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
+ PyObject *arg[2] = {NULL, NULL};
+ return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}
/* PyObjectCallOneArg */
@@ -12303,16 +13058,33 @@ bad:
/* ValidateBasesTuple */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) {
- Py_ssize_t i, n = PyTuple_GET_SIZE(bases);
+ Py_ssize_t i, n;
+#if CYTHON_ASSUME_SAFE_MACROS
+ n = PyTuple_GET_SIZE(bases);
+#else
+ n = PyTuple_Size(bases);
+ if (n < 0) return -1;
+#endif
for (i = 1; i < n; i++)
{
+#if CYTHON_AVOID_BORROWED_REFS
+ PyObject *b0 = PySequence_GetItem(bases, i);
+ if (!b0) return -1;
+#elif CYTHON_ASSUME_SAFE_MACROS
PyObject *b0 = PyTuple_GET_ITEM(bases, i);
+#else
+ PyObject *b0 = PyTuple_GetItem(bases, i);
+ if (!b0) return -1;
+#endif
PyTypeObject *b;
#if PY_MAJOR_VERSION < 3
if (PyClass_Check(b0))
{
PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class",
PyString_AS_STRING(((PyClassObject*)b0)->cl_name));
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
#endif
@@ -12323,8 +13095,27 @@ static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffs
PyErr_Format(PyExc_TypeError,
"base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name);
__Pyx_DECREF_TypeName(b_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
+#if !CYTHON_USE_TYPE_SLOTS
+ if (dictoffset == 0) {
+ PyErr_Format(PyExc_TypeError,
+ "extension type '%s.200s': "
+ "unable to validate whether bases have a __dict__ "
+ "when CYTHON_USE_TYPE_SLOTS is off "
+ "(likely because you are building in the limited API). "
+ "Therefore, all extension types with multiple bases "
+ "must add 'cdef dict __dict__' in this compilation mode",
+ type_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
+ return -1;
+ }
+#else
if (dictoffset == 0 && b->tp_dictoffset)
{
__Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
@@ -12335,8 +13126,15 @@ static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffs
"or add '__slots__ = [...]' to the base type",
type_name, b_name);
__Pyx_DECREF_TypeName(b_name);
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
return -1;
}
+#endif
+#if CYTHON_AVOID_BORROWED_REFS
+ Py_DECREF(b0);
+#endif
}
return 0;
}
@@ -12588,10 +13386,10 @@ __PYX_GOOD:
#endif
/* TypeImport */
- #ifndef __PYX_HAVE_RT_ImportType_3_0_0
-#define __PYX_HAVE_RT_ImportType_3_0_0
-static PyTypeObject *__Pyx_ImportType_3_0_0(PyObject *module, const char *module_name, const char *class_name,
- size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_0 check_size)
+ #ifndef __PYX_HAVE_RT_ImportType_3_0_5
+#define __PYX_HAVE_RT_ImportType_3_0_5
+static PyTypeObject *__Pyx_ImportType_3_0_5(PyObject *module, const char *module_name, const char *class_name,
+ size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_5 check_size)
{
PyObject *result = 0;
char warning[200];
@@ -12645,7 +13443,7 @@ static PyTypeObject *__Pyx_ImportType_3_0_0(PyObject *module, const char *module
module_name, class_name, size, basicsize+itemsize);
goto bad;
}
- if (check_size == __Pyx_ImportType_CheckSize_Error_3_0_0 &&
+ if (check_size == __Pyx_ImportType_CheckSize_Error_3_0_5 &&
((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) {
PyErr_Format(PyExc_ValueError,
"%.200s.%.200s size changed, may indicate binary incompatibility. "
@@ -12653,7 +13451,7 @@ static PyTypeObject *__Pyx_ImportType_3_0_0(PyObject *module, const char *module
module_name, class_name, size, basicsize, basicsize+itemsize);
goto bad;
}
- else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_0_0 && (size_t)basicsize > size) {
+ else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_0_5 && (size_t)basicsize > size) {
PyOS_snprintf(warning, sizeof(warning),
"%s.%s size changed, may indicate binary incompatibility. "
"Expected %zd from C header, got %zd from PyObject",
@@ -12690,14 +13488,9 @@ bad:
{
#if PY_MAJOR_VERSION >= 3
if (level == -1) {
- if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
- #if CYTHON_COMPILING_IN_LIMITED_API
- module = PyImport_ImportModuleLevelObject(
- name, empty_dict, empty_dict, from_list, 1);
- #else
+ if (strchr(__Pyx_MODULE_NAME, '.') != NULL) {
module = PyImport_ImportModuleLevelObject(
name, __pyx_d, empty_dict, from_list, 1);
- #endif
if (unlikely(!module)) {
if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError)))
goto bad;
@@ -12716,14 +13509,9 @@ bad:
name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL);
Py_DECREF(py_level);
#else
- #if CYTHON_COMPILING_IN_LIMITED_API
- module = PyImport_ImportModuleLevelObject(
- name, empty_dict, empty_dict, from_list, level);
- #else
module = PyImport_ImportModuleLevelObject(
name, __pyx_d, empty_dict, from_list, level);
#endif
- #endif
}
}
bad:
@@ -12865,10 +13653,7 @@ static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple)
/* FetchSharedCythonModule */
static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
- PyObject *abi_module = PyImport_AddModule((char*) __PYX_ABI_MODULE_NAME);
- if (unlikely(!abi_module)) return NULL;
- Py_INCREF(abi_module);
- return abi_module;
+ return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME);
}
/* FetchCommonType */
@@ -13029,8 +13814,22 @@ static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, _
#endif
/* CythonFunctionShared */
- static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
-#if PY_VERSION_HEX < 0x030900B1
+ #if CYTHON_COMPILING_IN_LIMITED_API
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
+ if (__Pyx_CyFunction_Check(func)) {
+ return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc;
+ } else if (PyCFunction_Check(func)) {
+ return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
+ }
+ return 0;
+}
+#else
+static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
+ return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
+}
+#endif
+static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
__Pyx_Py_XDECREF_SET(
__Pyx_CyFunction_GetClassObj(f),
((classobj) ? __Pyx_NewRef(classobj) : NULL));
@@ -13045,6 +13844,10 @@ __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
{
CYTHON_UNUSED_VAR(closure);
if (unlikely(op->func_doc == NULL)) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func_doc = PyObject_GetAttrString(op->func, "__doc__");
+ if (unlikely(!op->func_doc)) return NULL;
+#else
if (((PyCFunctionObject*)op)->m_ml->ml_doc) {
#if PY_MAJOR_VERSION >= 3
op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
@@ -13057,6 +13860,7 @@ __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
Py_INCREF(Py_None);
return Py_None;
}
+#endif
}
Py_INCREF(op->func_doc);
return op->func_doc;
@@ -13077,7 +13881,9 @@ __Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context)
{
CYTHON_UNUSED_VAR(context);
if (unlikely(op->func_name == NULL)) {
-#if PY_MAJOR_VERSION >= 3
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func_name = PyObject_GetAttrString(op->func, "__name__");
+#elif PY_MAJOR_VERSION >= 3
op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
#else
op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
@@ -13196,10 +14002,10 @@ __Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
Py_INCREF(op->defaults_kwdict);
#else
- op->defaults_tuple = PySequence_ITEM(res, 0);
+ op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0);
if (unlikely(!op->defaults_tuple)) result = -1;
else {
- op->defaults_kwdict = PySequence_ITEM(res, 1);
+ op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1);
if (unlikely(!op->defaults_kwdict)) result = -1;
}
#endif
@@ -13308,7 +14114,15 @@ __Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) {
fromlist = PyList_New(1);
if (unlikely(!fromlist)) return NULL;
Py_INCREF(marker);
+#if CYTHON_ASSUME_SAFE_MACROS
PyList_SET_ITEM(fromlist, 0, marker);
+#else
+ if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
+ Py_DECREF(marker);
+ Py_DECREF(fromlist);
+ return NULL;
+ }
+#endif
module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0);
Py_DECREF(fromlist);
if (unlikely(!module)) goto ignore;
@@ -13324,6 +14138,18 @@ ignore:
op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine);
return __Pyx_NewRef(op->func_is_coroutine);
}
+#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *
+__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) {
+ CYTHON_UNUSED_VAR(context);
+ return PyObject_GetAttrString(op->func, "__module__");
+}
+static int
+__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
+ CYTHON_UNUSED_VAR(context);
+ return PyObject_SetAttrString(op->func, "__module__", value);
+}
+#endif
static PyGetSetDef __pyx_CyFunction_getsets[] = {
{(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
{(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
@@ -13343,20 +14169,27 @@ static PyGetSetDef __pyx_CyFunction_getsets[] = {
{(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
{(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
{(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
+#if CYTHON_COMPILING_IN_LIMITED_API
+ {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0},
+#endif
{0, 0, 0, 0, 0}
};
static PyMemberDef __pyx_CyFunction_members[] = {
+#if !CYTHON_COMPILING_IN_LIMITED_API
{(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
+#endif
#if CYTHON_USE_TYPE_SPECS
{(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0},
#if CYTHON_METH_FASTCALL
#if CYTHON_BACKPORT_VECTORCALL
{(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0},
#else
+#if !CYTHON_COMPILING_IN_LIMITED_API
{(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
#endif
#endif
-#if PY_VERSION_HEX < 0x030500A0
+#endif
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
{(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0},
#else
{(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
@@ -13379,30 +14212,40 @@ static PyMethodDef __pyx_CyFunction_methods[] = {
{"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
{0, 0, 0, 0}
};
-#if PY_VERSION_HEX < 0x030500A0
+#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
#else
#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
#endif
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
+#if !CYTHON_COMPILING_IN_LIMITED_API
PyCFunctionObject *cf = (PyCFunctionObject*) op;
+#endif
if (unlikely(op == NULL))
return NULL;
+#if CYTHON_COMPILING_IN_LIMITED_API
+ op->func = PyCFunction_NewEx(ml, (PyObject*)op, module);
+ if (unlikely(!op->func)) return NULL;
+#endif
op->flags = flags;
__Pyx_CyFunction_weakreflist(op) = NULL;
+#if !CYTHON_COMPILING_IN_LIMITED_API
cf->m_ml = ml;
cf->m_self = (PyObject *) op;
+#endif
Py_XINCREF(closure);
op->func_closure = closure;
+#if !CYTHON_COMPILING_IN_LIMITED_API
Py_XINCREF(module);
cf->m_module = module;
+#endif
op->func_dict = NULL;
op->func_name = NULL;
Py_INCREF(qualname);
op->func_qualname = qualname;
op->func_doc = NULL;
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
op->func_classobj = NULL;
#else
((PyCMethodObject*)op)->mm_class = NULL;
@@ -13448,13 +14291,18 @@ static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
{
Py_CLEAR(m->func_closure);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ Py_CLEAR(m->func);
+#else
Py_CLEAR(((PyCFunctionObject*)m)->m_module);
+#endif
Py_CLEAR(m->func_dict);
Py_CLEAR(m->func_name);
Py_CLEAR(m->func_qualname);
Py_CLEAR(m->func_doc);
Py_CLEAR(m->func_globals);
Py_CLEAR(m->func_code);
+#if !CYTHON_COMPILING_IN_LIMITED_API
#if PY_VERSION_HEX < 0x030900B1
Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
#else
@@ -13463,6 +14311,7 @@ __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
((PyCMethodObject *) (m))->mm_class = NULL;
Py_XDECREF(cls);
}
+#endif
#endif
Py_CLEAR(m->defaults_tuple);
Py_CLEAR(m->defaults_kwdict);
@@ -13493,14 +14342,20 @@ static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
{
Py_VISIT(m->func_closure);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ Py_VISIT(m->func);
+#else
Py_VISIT(((PyCFunctionObject*)m)->m_module);
+#endif
Py_VISIT(m->func_dict);
Py_VISIT(m->func_name);
Py_VISIT(m->func_qualname);
Py_VISIT(m->func_doc);
Py_VISIT(m->func_globals);
Py_VISIT(m->func_code);
+#if !CYTHON_COMPILING_IN_LIMITED_API
Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
+#endif
Py_VISIT(m->defaults_tuple);
Py_VISIT(m->defaults_kwdict);
Py_VISIT(m->func_is_coroutine);
@@ -13524,10 +14379,22 @@ __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
#endif
}
static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ PyObject *f = ((__pyx_CyFunctionObject*)func)->func;
+ PyObject *py_name = NULL;
+ PyCFunction meth;
+ int flags;
+ meth = PyCFunction_GetFunction(f);
+ if (unlikely(!meth)) return NULL;
+ flags = PyCFunction_GetFlags(f);
+ if (unlikely(flags < 0)) return NULL;
+#else
PyCFunctionObject* f = (PyCFunctionObject*)func;
PyCFunction meth = f->m_ml->ml_meth;
+ int flags = f->m_ml->ml_flags;
+#endif
Py_ssize_t size;
- switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
+ switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
case METH_VARARGS:
if (likely(kw == NULL || PyDict_Size(kw) == 0))
return (*meth)(self, arg);
@@ -13536,24 +14403,43 @@ static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, Py
return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw);
case METH_NOARGS:
if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
+#if CYTHON_ASSUME_SAFE_MACROS
size = PyTuple_GET_SIZE(arg);
+#else
+ size = PyTuple_Size(arg);
+ if (unlikely(size < 0)) return NULL;
+#endif
if (likely(size == 0))
return (*meth)(self, NULL);
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError,
+ "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ py_name, size);
+ Py_DECREF(py_name);
+#else
PyErr_Format(PyExc_TypeError,
"%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
f->m_ml->ml_name, size);
+#endif
return NULL;
}
break;
case METH_O:
if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
+#if CYTHON_ASSUME_SAFE_MACROS
size = PyTuple_GET_SIZE(arg);
+#else
+ size = PyTuple_Size(arg);
+ if (unlikely(size < 0)) return NULL;
+#endif
if (likely(size == 1)) {
PyObject *result, *arg0;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
arg0 = PyTuple_GET_ITEM(arg, 0);
#else
- arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
+ arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
#endif
result = (*meth)(self, arg0);
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
@@ -13561,9 +14447,18 @@ static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, Py
#endif
return result;
}
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError,
+ "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ py_name, size);
+ Py_DECREF(py_name);
+#else
PyErr_Format(PyExc_TypeError,
"%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
f->m_ml->ml_name, size);
+#endif
return NULL;
}
break;
@@ -13571,12 +14466,28 @@ static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, Py
PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
return NULL;
}
+#if CYTHON_COMPILING_IN_LIMITED_API
+ py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
+ if (!py_name) return NULL;
+ PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments",
+ py_name);
+ Py_DECREF(py_name);
+#else
PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
f->m_ml->ml_name);
+#endif
return NULL;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
- return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw);
+ PyObject *self, *result;
+#if CYTHON_COMPILING_IN_LIMITED_API
+ self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func);
+ if (unlikely(!self) && PyErr_Occurred()) return NULL;
+#else
+ self = ((PyCFunctionObject*)func)->m_self;
+#endif
+ result = __Pyx_CyFunction_CallMethod(func, self, arg, kw);
+ return result;
}
static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
PyObject *result;
@@ -13596,7 +14507,12 @@ static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, P
Py_ssize_t argc;
PyObject *new_args;
PyObject *self;
+#if CYTHON_ASSUME_SAFE_MACROS
argc = PyTuple_GET_SIZE(args);
+#else
+ argc = PyTuple_Size(args);
+ if (unlikely(!argc) < 0) return NULL;
+#endif
new_args = PyTuple_GetSlice(args, 1, argc);
if (unlikely(!new_args))
return NULL;
@@ -13809,7 +14725,7 @@ static PyTypeObject __pyx_CyFunctionType_type = {
#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
Py_TPFLAGS_METHOD_DESCRIPTOR |
#endif
-#ifdef _Py_TPFLAGS_HAVE_VECTORCALL
+#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL
_Py_TPFLAGS_HAVE_VECTORCALL |
#endif
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
@@ -14105,20 +15021,93 @@ static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
-#if PY_VERSION_HEX >= 0x030b00a6
+#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
#ifndef Py_BUILD_CORE
#define Py_BUILD_CORE 1
#endif
#include "internal/pycore_frame.h"
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
+static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict,
+ PyObject *firstlineno, PyObject *name) {
+ PyObject *replace = NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL;
+ replace = PyObject_GetAttrString(code, "replace");
+ if (likely(replace)) {
+ PyObject *result;
+ result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict);
+ Py_DECREF(replace);
+ return result;
+ }
+ PyErr_Clear();
+ #if __PYX_LIMITED_VERSION_HEX < 0x030780000
+ {
+ PyObject *compiled = NULL, *result = NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL;
+ if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL;
+ compiled = Py_CompileString(
+ "out = type(code)(\n"
+ " code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n"
+ " code.co_flags, code.co_code, code.co_consts, code.co_names,\n"
+ " code.co_varnames, code.co_filename, co_name, co_firstlineno,\n"
+ " code.co_lnotab)\n", "", Py_file_input);
+ if (!compiled) return NULL;
+ result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict);
+ Py_DECREF(compiled);
+ if (!result) PyErr_Print();
+ Py_DECREF(result);
+ result = PyDict_GetItemString(scratch_dict, "out");
+ if (result) Py_INCREF(result);
+ return result;
+ }
+ #else
+ return NULL;
+ #endif
+}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
int py_line, const char *filename) {
+ PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL;
+ PyObject *replace = NULL, *getframe = NULL, *frame = NULL;
+ PyObject *exc_type, *exc_value, *exc_traceback;
+ int success = 0;
if (c_line) {
(void) __pyx_cfilenm;
(void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line);
}
- _PyTraceback_Add(funcname, filename, py_line);
+ PyErr_Fetch(&exc_type, &exc_value, &exc_traceback);
+ code_object = Py_CompileString("_getframe()", filename, Py_eval_input);
+ if (unlikely(!code_object)) goto bad;
+ py_py_line = PyLong_FromLong(py_line);
+ if (unlikely(!py_py_line)) goto bad;
+ py_funcname = PyUnicode_FromString(funcname);
+ if (unlikely(!py_funcname)) goto bad;
+ dict = PyDict_New();
+ if (unlikely(!dict)) goto bad;
+ {
+ PyObject *old_code_object = code_object;
+ code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname);
+ Py_DECREF(old_code_object);
+ }
+ if (unlikely(!code_object)) goto bad;
+ getframe = PySys_GetObject("_getframe");
+ if (unlikely(!getframe)) goto bad;
+ if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad;
+ frame = PyEval_EvalCode(code_object, dict, dict);
+ if (unlikely(!frame) || frame == Py_None) goto bad;
+ success = 1;
+ bad:
+ PyErr_Restore(exc_type, exc_value, exc_traceback);
+ Py_XDECREF(code_object);
+ Py_XDECREF(py_py_line);
+ Py_XDECREF(py_funcname);
+ Py_XDECREF(dict);
+ Py_XDECREF(replace);
+ if (success) {
+ PyTraceBack_Here(
+ (struct _frame*)frame);
+ }
+ Py_XDECREF(frame);
}
#else
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
@@ -14586,8 +15575,34 @@ static void __Pyx_ReleaseBuffer(Py_buffer *view) {
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
+#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
return _PyLong_FromByteArray(bytes, sizeof(long),
little, !is_unsigned);
+#else
+ PyObject *from_bytes, *result = NULL;
+ PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
+ if (!from_bytes) return NULL;
+ py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long));
+ if (!py_bytes) goto limited_bad;
+ order_str = PyUnicode_FromString(little ? "little" : "big");
+ if (!order_str) goto limited_bad;
+ arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
+ if (!arg_tuple) goto limited_bad;
+ if (!is_unsigned) {
+ kwds = PyDict_New();
+ if (!kwds) goto limited_bad;
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
+ }
+ result = PyObject_Call(from_bytes, arg_tuple, kwds);
+ limited_bad:
+ Py_XDECREF(kwds);
+ Py_XDECREF(arg_tuple);
+ Py_XDECREF(order_str);
+ Py_XDECREF(py_bytes);
+ Py_XDECREF(from_bytes);
+ return result;
+#endif
}
}
@@ -14600,7 +15615,8 @@ __Pyx_PyType_GetName(PyTypeObject* tp)
__pyx_n_s_name);
if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) {
PyErr_Clear();
- Py_XSETREF(name, __Pyx_NewRef(__pyx_n_s__42));
+ Py_XDECREF(name);
+ name = __Pyx_NewRef(__pyx_n_s__42);
}
return name;
}
@@ -14798,7 +15814,7 @@ __Pyx_PyType_GetName(PyTypeObject* tp)
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -15071,7 +16087,7 @@ raise_neg_overflow:
#endif
if (likely(v)) {
int ret = -1;
-#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
+#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -15291,41 +16307,50 @@ static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObj
#endif
/* CheckBinaryVersion */
- static int __Pyx_check_binary_version(void) {
- char ctversion[5];
- int same=1, i, found_dot;
- const char* rt_from_call = Py_GetVersion();
- PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
- found_dot = 0;
- for (i = 0; i < 4; i++) {
- if (!ctversion[i]) {
- same = (rt_from_call[i] < '0' || rt_from_call[i] > '9');
- break;
+ static unsigned long __Pyx_get_runtime_version(void) {
+#if __PYX_LIMITED_VERSION_HEX >= 0x030B00A4
+ return Py_Version & ~0xFFUL;
+#else
+ const char* rt_version = Py_GetVersion();
+ unsigned long version = 0;
+ unsigned long factor = 0x01000000UL;
+ unsigned int digit = 0;
+ int i = 0;
+ while (factor) {
+ while ('0' <= rt_version[i] && rt_version[i] <= '9') {
+ digit = digit * 10 + (unsigned int) (rt_version[i] - '0');
+ ++i;
}
- if (rt_from_call[i] != ctversion[i]) {
- same = 0;
+ version += factor * digit;
+ if (rt_version[i] != '.')
break;
- }
+ digit = 0;
+ factor >>= 8;
+ ++i;
}
- if (!same) {
- char rtversion[5] = {'\0'};
+ return version;
+#endif
+}
+static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) {
+ const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
+ if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
+ return 0;
+ if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
+ return 1;
+ {
char message[200];
- for (i=0; i<4; ++i) {
- if (rt_from_call[i] == '.') {
- if (found_dot) break;
- found_dot = 1;
- } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') {
- break;
- }
- rtversion[i] = rt_from_call[i];
- }
PyOS_snprintf(message, sizeof(message),
- "compile time version %s of module '%.100s' "
- "does not match runtime version %s",
- ctversion, __Pyx_MODULE_NAME, rtversion);
+ "compile time Python version %d.%d "
+ "of module '%.100s' "
+ "%s "
+ "runtime version %d.%d",
+ (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF),
+ __Pyx_MODULE_NAME,
+ (allow_newer) ? "was newer than" : "does not match",
+ (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF)
+ );
return PyErr_WarnEx(NULL, message, 1);
}
- return 0;
}
/* InitStrings */
@@ -15371,8 +16396,24 @@ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
return 0;
}
+#include
+static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
+ size_t len = strlen(s);
+ if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) {
+ PyErr_SetString(PyExc_OverflowError, "byte string is too long");
+ return -1;
+ }
+ return (Py_ssize_t) len;
+}
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
- return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
+ Py_ssize_t len = __Pyx_ssize_strlen(c_str);
+ if (unlikely(len < 0)) return NULL;
+ return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
+}
+static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) {
+ Py_ssize_t len = __Pyx_ssize_strlen(c_str);
+ if (unlikely(len < 0)) return NULL;
+ return PyByteArray_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
Py_ssize_t ignore;
diff --git a/common/transformations/transformations.so b/common/transformations/transformations.so
index 42b44f67a..bb6a61d53 100755
Binary files a/common/transformations/transformations.so and b/common/transformations/transformations.so differ
diff --git a/common/version.h b/common/version.h
index 163b22e7a..3cb29b683 100644
--- a/common/version.h
+++ b/common/version.h
@@ -1 +1 @@
-#define COMMA_VERSION "2023.11.20"
+#define COMMA_VERSION "2023.12.23"
diff --git a/common/window.py b/common/window.py
new file mode 100644
index 000000000..95886c0c9
--- /dev/null
+++ b/common/window.py
@@ -0,0 +1,61 @@
+import sys
+import pygame
+import cv2
+
+class Window:
+ def __init__(self, w, h, caption="window", double=False, halve=False):
+ self.w = w
+ self.h = h
+ pygame.display.init()
+ pygame.display.set_caption(caption)
+ self.double = double
+ self.halve = halve
+ if self.double:
+ self.rw, self.rh = w*2, h*2
+ elif self.halve:
+ self.rw, self.rh = w//2, h//2
+ else:
+ self.rw, self.rh = w, h
+ self.screen = pygame.display.set_mode((self.rw, self.rh))
+ pygame.display.flip()
+
+ # hack for xmonad, it shrinks the window by 6 pixels after the display.flip
+ if self.screen.get_width() != self.rw:
+ self.screen = pygame.display.set_mode((self.rw+(self.rw-self.screen.get_width()), self.rh+(self.rh-self.screen.get_height())))
+ pygame.display.flip()
+
+ def draw(self, out):
+ pygame.event.pump()
+ if self.double:
+ out2 = cv2.resize(out, (self.w*2, self.h*2))
+ pygame.surfarray.blit_array(self.screen, out2.swapaxes(0, 1))
+ elif self.halve:
+ out2 = cv2.resize(out, (self.w//2, self.h//2))
+ pygame.surfarray.blit_array(self.screen, out2.swapaxes(0, 1))
+ else:
+ pygame.surfarray.blit_array(self.screen, out.swapaxes(0, 1))
+ pygame.display.flip()
+
+ def getkey(self):
+ while 1:
+ event = pygame.event.wait()
+ if event.type == pygame.QUIT:
+ pygame.quit()
+ sys.exit()
+ if event.type == pygame.KEYDOWN:
+ return event.key
+
+ def getclick(self):
+ for event in pygame.event.get():
+ if event.type == pygame.MOUSEBUTTONDOWN:
+ mx, my = pygame.mouse.get_pos()
+ return mx, my
+
+if __name__ == "__main__":
+ import numpy as np
+ win = Window(200, 200, double=True)
+ img: np.ndarray = np.zeros((200, 200, 3), np.uint8)
+ while 1:
+ print("draw")
+ img += 1
+ win.draw(img)
diff --git a/docs/CARS.md b/docs/CARS.md
index eb7f88d73..e48f4765b 100644
--- a/docs/CARS.md
+++ b/docs/CARS.md
@@ -4,19 +4,19 @@
A supported vehicle is one that just works when you install a comma device. All supported cars provide a better experience than any stock system. Supported vehicles reference the US market unless otherwise specified.
-# 267 Supported Cars
+# 273 Supported Cars
|Make|Model|Supported Package|ACC|No ACC accel below|No ALC below|Steering Torque|Resume from stop| Hardware Needed |Video|
|---|---|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|Acura|ILX 2016-19|AcuraWatch Plus|openpilot|25 mph|25 mph|[](##)|[](##)|Parts - 1 Honda Nidec connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Acura|RDX 2016-18|AcuraWatch Plus|openpilot|25 mph|12 mph|[](##)|[](##)|Parts - 1 Honda Nidec connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Acura|RDX 2019-22|All|openpilot available[1 ](#footnotes)|0 mph|3 mph|[](##)|[](##)|Parts - 1 Honda Bosch A connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Audi|A3 2014-19|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Audi|A3 Sportback e-tron 2017-18|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Audi|Q2 2018|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Audi|Q3 2019-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Audi|RS3 2018|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Audi|S3 2015-17|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Audi|A3 2014-19|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Audi|A3 Sportback e-tron 2017-18|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Audi|Q2 2018|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Audi|Q3 2019-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Audi|RS3 2018|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Audi|S3 2015-17|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Buick|LaCrosse 2017-19[4 ](#footnotes)|Driver Confidence Package 2|openpilot|18 mph|7 mph|[](##)|[](##)|Parts - 1 OBD-II connector - 1 comma 3X - 2 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Cadillac|Escalade 2017[4 ](#footnotes)|Driver Assist Package|openpilot|0 mph|7 mph|[](##)|[](##)|Parts - 1 OBD-II connector - 1 comma 3X - 2 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Cadillac|Escalade ESV 2016[4 ](#footnotes)|Adaptive Cruise Control (ACC) & LKAS|openpilot|0 mph|7 mph|[](##)|[](##)|Parts - 1 OBD-II connector - 1 comma 3X - 2 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
@@ -34,7 +34,7 @@ A supported vehicle is one that just works when you install a comma device. All
|comma|body|All|openpilot|0 mph|0 mph|[](##)|[](##)|None||
|Ford|Bronco Sport 2021-22|Co-Pilot360 Assist+|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Ford Q3 connector - 1 RJ45 cable (7 ft) - 1 angled mount (8 degrees) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Ford|Escape 2020-22|Co-Pilot360 Assist+|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Ford Q3 connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Ford|Explorer 2020-22|Co-Pilot360 Assist+|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Ford Q3 connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Ford|Explorer 2020-23|Co-Pilot360 Assist+|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Ford Q3 connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Ford|Focus 2018[3 ](#footnotes)|Adaptive Cruise Control with Lane Centering|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Ford Q3 connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Ford|Kuga 2020-22|Adaptive Cruise Control with Lane Centering|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Ford Q3 connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Ford|Maverick 2022|LARIAT Luxury|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Ford Q3 connector - 1 RJ45 cable (7 ft) - 1 angled mount (8 degrees) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
@@ -73,6 +73,7 @@ A supported vehicle is one that just works when you install a comma device. All
|Honda|Pilot 2016-22|Honda Sensing|openpilot|25 mph|12 mph|[](##)|[](##)|Parts - 1 Honda Nidec connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Honda|Ridgeline 2017-23|Honda Sensing|openpilot|25 mph|12 mph|[](##)|[](##)|Parts - 1 Honda Nidec connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Azera 2022|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai K connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Hyundai|Azera Hybrid 2019|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai C connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Azera Hybrid 2020|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai K connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Custin 2023|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai K connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Elantra 2017-18|Smart Cruise Control (SCC)|Stock|19 mph|32 mph|[](##)|[](##)|Parts - 1 Hyundai B connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
@@ -96,25 +97,26 @@ A supported vehicle is one that just works when you install a comma device. All
|Hyundai|Kona Electric 2018-21|Smart Cruise Control (SCC)|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai G connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Kona Electric 2022-23|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai O connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Kona Electric (with HDA II, Korea only) 2023[6 ](#footnotes)|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai R connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|Hyundai|Kona Hybrid 2020|Smart Cruise Control (SCC)|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai I connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
+|Hyundai|Kona Hybrid 2020|Smart Cruise Control (SCC)|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai I connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Palisade 2020-22|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai H connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|Hyundai|Santa Cruz 2022-23[6 ](#footnotes)|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai N connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Hyundai|Santa Fe 2019-20|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai D connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Hyundai|Santa Cruz 2022-23[6 ](#footnotes)|Smart Cruise Control (SCC)|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai N connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Hyundai|Santa Fe 2019-20|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai D connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
|Hyundai|Santa Fe 2021-23|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai L connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
|Hyundai|Santa Fe Hybrid 2022-23|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai L connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Santa Fe Plug-in Hybrid 2022-23|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai L connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Sonata 2018-19|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai E connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Sonata 2020-23|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai A connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
|Hyundai|Sonata Hybrid 2020-23|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai A connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Hyundai|Staria 2023[6 ](#footnotes)|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai K connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Tucson 2021|Smart Cruise Control (SCC)|openpilot available[1 ](#footnotes)|19 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai L connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Hyundai|Tucson 2022[6 ](#footnotes)|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai N connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Hyundai|Tucson 2023[6 ](#footnotes)|All|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai N connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Hyundai|Tucson 2022[6 ](#footnotes)|Smart Cruise Control (SCC)|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai N connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Hyundai|Tucson 2023[6 ](#footnotes)|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai N connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Tucson Diesel 2019|Smart Cruise Control (SCC)|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai L connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Tucson Hybrid 2022-24[6 ](#footnotes)|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai N connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Hyundai|Veloster 2019-20|Smart Cruise Control (SCC)|Stock|5 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai E connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Jeep|Grand Cherokee 2016-18|Adaptive Cruise Control (ACC)|Stock|0 mph|9 mph|[](##)|[](##)|Parts - 1 FCA connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
|Jeep|Grand Cherokee 2019-21|Adaptive Cruise Control (ACC)|Stock|0 mph|39 mph|[](##)|[](##)|Parts - 1 FCA connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|Kia|Carnival 2023-24[6 ](#footnotes)|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai A connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Kia|Carnival 2022-24[6 ](#footnotes)|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai A connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Kia|Carnival (China only) 2023[6 ](#footnotes)|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai K connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Kia|Ceed 2019|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai E connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Kia|EV6 (Southeast Asia only) 2022-23[6 ](#footnotes)|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai P connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
@@ -134,6 +136,7 @@ A supported vehicle is one that just works when you install a comma device. All
|Kia|Niro Hybrid 2023[6 ](#footnotes)|Smart Cruise Control (SCC)|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai A connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Kia|Niro Plug-in Hybrid 2018-19|All|Stock|10 mph|32 mph|[](##)|[](##)|Parts - 1 Hyundai C connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Kia|Niro Plug-in Hybrid 2020|All|Stock|0 mph|32 mph|[](##)|[](##)|Parts - 1 Hyundai D connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Kia|Niro Plug-in Hybrid 2022|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai F connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Kia|Optima 2017|Advanced Smart Cruise Control|Stock|0 mph|32 mph|[](##)|[](##)|Parts - 1 Hyundai B connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Kia|Optima 2019-20|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai G connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Kia|Optima Hybrid 2019|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai H connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
@@ -143,16 +146,17 @@ A supported vehicle is one that just works when you install a comma device. All
|Kia|Sorento 2021-23[6 ](#footnotes)|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai K connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Kia|Sorento Hybrid 2021-23[6 ](#footnotes)|All|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai A connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Kia|Sorento Plug-in Hybrid 2022-23[6 ](#footnotes)|All|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai A connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Kia|Sportage 2023[6 ](#footnotes)|Smart Cruise Control (SCC)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai N connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Kia|Sportage 2023[6 ](#footnotes)|Smart Cruise Control (SCC)|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai N connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Kia|Sportage Hybrid 2023[6 ](#footnotes)|Smart Cruise Control (SCC)|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai N connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Kia|Stinger 2018-20|Smart Cruise Control (SCC)|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai C connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|Kia|Stinger 2022|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai K connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Kia|Stinger 2022-23|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai K connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Kia|Telluride 2020-22|All|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Hyundai H connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Lexus|CT Hybrid 2017-18|Lexus Safety System+|openpilot available[2 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Lexus|ES 2017-18|All|openpilot available[2 ](#footnotes)|19 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Lexus|ES 2019-24|All|openpilot|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Lexus|ES Hybrid 2017-18|All|openpilot available[2 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Lexus|ES Hybrid 2019-23|All|openpilot|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
+|Lexus|GS F 2016|All|Stock|19 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Lexus|IS 2017-19|All|Stock|19 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Lexus|IS 2022-23|All|openpilot|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Lexus|NX 2018-19|All|openpilot available[2 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
@@ -168,8 +172,8 @@ A supported vehicle is one that just works when you install a comma device. All
|Lexus|RX Hybrid 2020-22|All|openpilot|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Lexus|UX Hybrid 2019-23|All|openpilot|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Lincoln|Aviator 2020-21|Co-Pilot360 Plus|openpilot available[1 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 Ford Q3 connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|MAN|eTGE 2020-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|MAN|TGE 2017-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
+|MAN|eTGE 2020-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
+|MAN|TGE 2017-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
|Mazda|CX-5 2022-24|All|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Mazda connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Mazda|CX-9 2021-23|All|Stock|0 mph|28 mph|[](##)|[](##)|Parts - 1 Mazda connector - 1 RJ45 cable (7 ft) - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
|Nissan|Altima 2019-20|ProPILOT Assist|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Nissan B connector - 1 RJ45 cable (7 ft) - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
@@ -177,26 +181,26 @@ A supported vehicle is one that just works when you install a comma device. All
|Nissan|Rogue 2018-20|ProPILOT Assist|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Nissan A connector - 1 RJ45 cable (7 ft) - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Nissan|X-Trail 2017|ProPILOT Assist|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 Nissan A connector - 1 RJ45 cable (7 ft) - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Ram|1500 2019-23|Adaptive Cruise Control (ACC)|Stock|0 mph|32 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Ram connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|SEAT|Ateca 2018|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|SEAT|Leon 2014-20|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Subaru|Ascent 2019-21|All[7 ](#footnotes)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
-|Subaru|Crosstrek 2018-19|EyeSight Driver Assistance[7 ](#footnotes)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) | |
-|Subaru|Crosstrek 2020-23|EyeSight Driver Assistance[7 ](#footnotes)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
-|Subaru|Forester 2019-21|All[7 ](#footnotes)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
-|Subaru|Impreza 2017-19|EyeSight Driver Assistance[7 ](#footnotes)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
-|Subaru|Impreza 2020-22|EyeSight Driver Assistance[7 ](#footnotes)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
+|SEAT|Ateca 2018|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|SEAT|Leon 2014-20|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Subaru|Ascent 2019-21|All[7 ](#footnotes)|openpilot available[1,8 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
+|Subaru|Crosstrek 2018-19|EyeSight Driver Assistance[7 ](#footnotes)|openpilot available[1,8 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) | |
+|Subaru|Crosstrek 2020-23|EyeSight Driver Assistance[7 ](#footnotes)|openpilot available[1,8 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
+|Subaru|Forester 2019-21|All[7 ](#footnotes)|openpilot available[1,8 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
+|Subaru|Impreza 2017-19|EyeSight Driver Assistance[7 ](#footnotes)|openpilot available[1,8 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
+|Subaru|Impreza 2020-22|EyeSight Driver Assistance[7 ](#footnotes)|openpilot available[1,8 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
|Subaru|Legacy 2020-22|All[7 ](#footnotes)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru B connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
|Subaru|Outback 2020-22|All[7 ](#footnotes)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru B connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
-|Subaru|XV 2018-19|EyeSight Driver Assistance[7 ](#footnotes)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) | |
-|Subaru|XV 2020-21|EyeSight Driver Assistance[7 ](#footnotes)|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
-|Škoda|Fabia 2022-23[11 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [13 ](#footnotes)||
-|Škoda|Kamiq 2021[9,11 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [13 ](#footnotes)||
-|Škoda|Karoq 2019-23[11 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Škoda|Kodiaq 2017-23[11 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Škoda|Octavia 2015-19[11 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Škoda|Octavia RS 2016[11 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Škoda|Scala 2020-23[11 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [13 ](#footnotes)||
-|Škoda|Superb 2015-22[11 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Subaru|XV 2018-19|EyeSight Driver Assistance[7 ](#footnotes)|openpilot available[1,8 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) | |
+|Subaru|XV 2020-21|EyeSight Driver Assistance[7 ](#footnotes)|openpilot available[1,8 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Subaru A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here Tools - 1 Pry Tool - 1 Socket Wrench 8mm or 5/16" (deep) ||
+|Škoda|Fabia 2022-23[12 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [14 ](#footnotes)||
+|Škoda|Kamiq 2021-23[10,12 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [14 ](#footnotes)||
+|Škoda|Karoq 2019-23[12 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Škoda|Kodiaq 2017-23[12 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Škoda|Octavia 2015-19[12 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Škoda|Octavia RS 2016[12 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Škoda|Scala 2020-23[12 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [14 ](#footnotes)||
+|Škoda|Superb 2015-22[12 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Toyota|Alphard 2019-20|All|openpilot|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Toyota|Alphard Hybrid 2021|All|openpilot|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Toyota|Avalon 2016|Toyota Safety Sense P|openpilot available[2 ](#footnotes)|19 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
@@ -209,8 +213,8 @@ A supported vehicle is one that just works when you install a comma device. All
|Toyota|C-HR 2021|All|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Toyota|C-HR Hybrid 2017-20|All|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Toyota|C-HR Hybrid 2021-22|All|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Toyota|Camry 2018-20|All|Stock|0 mph[8 ](#footnotes)|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|Toyota|Camry 2021-23|All|openpilot|0 mph[8 ](#footnotes)|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Toyota|Camry 2018-20|All|Stock|0 mph[9 ](#footnotes)|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
+|Toyota|Camry 2021-24|All|openpilot|0 mph[9 ](#footnotes)|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Toyota|Camry Hybrid 2018-20|All|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
|Toyota|Camry Hybrid 2021-24|All|openpilot|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Toyota|Corolla 2017-19|All|openpilot available[2 ](#footnotes)|19 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
@@ -235,46 +239,48 @@ A supported vehicle is one that just works when you install a comma device. All
|Toyota|RAV4 2017-18|All|openpilot available[2 ](#footnotes)|19 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Toyota|RAV4 2019-21|All|openpilot|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
|Toyota|RAV4 2022|All|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Toyota|RAV4 2023|All|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Toyota|RAV4 Hybrid 2016|Toyota Safety Sense P|openpilot available[2 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
|Toyota|RAV4 Hybrid 2017-18|All|openpilot available[2 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
|Toyota|RAV4 Hybrid 2019-21|All|openpilot|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Toyota|RAV4 Hybrid 2022|All|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
+|Toyota|RAV4 Hybrid 2023|All|Stock|0 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
|Toyota|Sienna 2018-20|All|openpilot available[2 ](#footnotes)|19 mph|0 mph|[](##)|[](##)|Parts - 1 RJ45 cable (7 ft) - 1 Toyota A connector - 1 comma 3X - 1 comma power v2 - 1 harness box - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|Volkswagen|Arteon 2018-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|Volkswagen|Arteon eHybrid 2020-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|Volkswagen|Arteon R 2020-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|Volkswagen|Atlas 2018-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Atlas Cross Sport 2021-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|California 2021-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Caravelle 2020|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|CC 2018-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|Volkswagen|Crafter 2017-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|Volkswagen|e-Crafter 2018-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|Volkswagen|e-Golf 2014-20|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Golf 2015-20|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Golf Alltrack 2015-19|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Golf GTD 2015-20|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Golf GTE 2015-20|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Golf GTI 2015-21|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Golf R 2015-19|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Golf SportsVan 2015-20|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Grand California 2019-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
-|Volkswagen|Jetta 2018-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Jetta GLI 2021-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Passat 2015-22[10 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Passat Alltrack 2015-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Passat GTE 2015-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Polo 2018-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [13 ](#footnotes)||
-|Volkswagen|Polo GTI 2018-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [13 ](#footnotes)||
-|Volkswagen|T-Cross 2021|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [13 ](#footnotes)||
-|Volkswagen|T-Roc 2021|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [13 ](#footnotes)||
-|Volkswagen|Taos 2022-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Teramont 2018-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Teramont Cross Sport 2021-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Teramont X 2021-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Tiguan 2018-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Tiguan eHybrid 2021-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
-|Volkswagen|Touran 2016-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,12 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Arteon 2018-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
+|Volkswagen|Arteon eHybrid 2020-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
+|Volkswagen|Arteon R 2020-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
+|Volkswagen|Atlas 2018-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Atlas Cross Sport 2020-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|California 2021-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Caravelle 2020|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|CC 2018-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
+|Volkswagen|Crafter 2017-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
+|Volkswagen|e-Crafter 2018-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
+|Volkswagen|e-Golf 2014-20|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Golf 2015-20|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Golf Alltrack 2015-19|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Golf GTD 2015-20|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Golf GTE 2015-20|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Golf GTI 2015-21|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Golf R 2015-19|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Golf SportsVan 2015-20|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Grand California 2019-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|31 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 angled mount (8 degrees) - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 right angle OBD-C cable (1.5 ft)Buy Here | |
+|Volkswagen|Jetta 2018-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Jetta GLI 2021-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Passat 2015-22[11 ](#footnotes)|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Passat Alltrack 2015-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Passat GTE 2015-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Polo 2018-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [14 ](#footnotes)||
+|Volkswagen|Polo GTI 2018-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [14 ](#footnotes)||
+|Volkswagen|T-Cross 2021|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [14 ](#footnotes)||
+|Volkswagen|T-Roc 2018-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here [14 ](#footnotes)||
+|Volkswagen|Taos 2022-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Teramont 2018-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Teramont Cross Sport 2021-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Teramont X 2021-22|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Tiguan 2018-24|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Tiguan eHybrid 2021-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
+|Volkswagen|Touran 2016-23|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[1,13 ](#footnotes)|0 mph|0 mph|[](##)|[](##)|Parts - 1 J533 connector - 1 USB-C coupler - 1 comma 3X - 1 harness box - 1 long OBD-C cable - 1 mount - 1 right angle OBD-C cable (1.5 ft)Buy Here ||
### Footnotes
1 openpilot Longitudinal Control (Alpha) is available behind a toggle; the toggle is only available in non-release branches such as `devel` or `master-ci`.
@@ -284,12 +290,13 @@ A supported vehicle is one that just works when you install a comma device. All
5 2019 Honda Civic 1.6L Diesel Sedan does not have ALC below 12mph.
6 Requires a CAN FD panda kit if not using comma 3X for this CAN FD car .
7 In the non-US market, openpilot requires the car to come equipped with EyeSight with Lane Keep Assistance.
-8 openpilot operates above 28mph for Camry 4CYL L, 4CYL LE and 4CYL SE which don't have Full-Speed Range Dynamic Radar Cruise Control.
-9 Not including the China market Kamiq, which is based on the (currently) unsupported PQ34 platform.
-10 Refers only to the MQB-based European B8 Passat, not the NMS Passat in the USA/China/Mideast markets.
-11 Some Škoda vehicles are equipped with heated windshields, which are known to block GPS signal needed for some comma 3X functionality.
-12 Only available for vehicles using a gateway (J533) harness. At this time, vehicles using a camera harness are limited to using stock ACC.
-13 Model-years 2022 and beyond may have a combined CAN gateway and BCM, which is supported by openpilot in software, but doesn't yet have a harness available from the comma store.
+8 Enabling longitudinal control (alpha) will disable all EyeSight functionality, including AEB, LDW, and RAB.
+9 openpilot operates above 28mph for Camry 4CYL L, 4CYL LE and 4CYL SE which don't have Full-Speed Range Dynamic Radar Cruise Control.
+10 Not including the China market Kamiq, which is based on the (currently) unsupported PQ34 platform.
+11 Refers only to the MQB-based European B8 Passat, not the NMS Passat in the USA/China/Mideast markets.
+12 Some Škoda vehicles are equipped with heated windshields, which are known to block GPS signal needed for some comma 3X functionality.
+13 Only available for vehicles using a gateway (J533) harness. At this time, vehicles using a camera harness are limited to using stock ACC.
+14 Model-years 2022 and beyond may have a combined CAN gateway and BCM, which is supported by openpilot in software, but doesn't yet have a harness available from the comma store.
## Community Maintained Cars
Although they're not upstream, the community has openpilot running on other makes and models. See the 'Community Supported Models' section of each make [on our wiki](https://wiki.comma.ai/).
@@ -318,7 +325,7 @@ If your car has the following packages or features, then it's a good candidate f
### FlexRay
-All the cars that openpilot supports use a [CAN bus](https://en.wikipedia.org/wiki/CAN_bus) for communication between all the car's computers, however a CAN bus isn't the only way that the cars in your computer can communicate. Most, if not all, vehicles from the following manufacturers use [FlexRay](https://en.wikipedia.org/wiki/FlexRay) instead of a CAN bus: **BMW, Mercedes, Audi, Land Rover, and some Volvo**. These cars may one day be supported, but we have no immediate plans to support FlexRay.
+All the cars that openpilot supports use a [CAN bus](https://en.wikipedia.org/wiki/CAN_bus) for communication between all the car's computers, however a CAN bus isn't the only way that the computers in your car can communicate. Most, if not all, vehicles from the following manufacturers use [FlexRay](https://en.wikipedia.org/wiki/FlexRay) instead of a CAN bus: **BMW, Mercedes, Audi, Land Rover, and some Volvo**. These cars may one day be supported, but we have no immediate plans to support FlexRay.
### Toyota Security
diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md
index 7a074f12d..fa80e760d 100644
--- a/docs/CONTRIBUTING.md
+++ b/docs/CONTRIBUTING.md
@@ -1,26 +1,50 @@
# How to contribute
-Our software is open source so you can solve your own problems without needing help from others. And if you solve a problem and are so kind, you can upstream it for the rest of the world to use. Check out our [post about externalization](https://blog.comma.ai/a-2020-theme-externalization/).
-
-Most open source development activity is coordinated through our [GitHub Discussions](https://github.com/commaai/openpilot/discussions) and [Discord](https://discord.comma.ai). A lot of documentation is available at https://docs.comma.ai and on our [blog](https://blog.comma.ai/).
+Our software is open source so you can solve your own problems without needing help from others. And if you solve a problem and are so kind, you can upstream it for the rest of the world to use. Check out our [post about externalization](https://blog.comma.ai/a-2020-theme-externalization/). Development activity is coordinated through our GitHub Issues, [GitHub Discussions](https://github.com/commaai/openpilot/discussions), and [Discord](https://discord.comma.ai).
### Getting Started
- * Setup your [development environment](../tools/)
- * Join our [Discord](https://discord.comma.ai)
- * Make sure you have a [GitHub account](https://github.com/signup/free)
- * Fork [our repositories](https://github.com/commaai) on GitHub
+* Setup your [development environment](../tools/)
+* Read about the [development workflow](WORKFLOW.md)
+* Join our [Discord](https://discord.comma.ai)
+* Docs are at https://docs.comma.ai and https://blog.comma.ai
+
+## What contributions are we looking for?
+
+**openpilot's priorities are [safety](SAFETY.md), stability, quality, and features, in that order.** openpilot is part of comma's mission to *solve self-driving cars while delivering shippable intermediaries*, and **all** developoment is towards that goal.
+
+### What gets merged?
+
+The probability of a pull request being merged is a function of its value to the project and the effort it will take us to get it merged.
+If a PR offers *some* value but will take lots of time to get merged, it will be closed.
+Simple, well-tested bug fixes are the easiest to merge, and new features are the hardest to get merged.
+
+All of these are examples of good PRs:
+* typo fix: https://github.com/commaai/openpilot/pull/30678
+* removing unused code: https://github.com/commaai/openpilot/pull/30573
+* simple car model port: https://github.com/commaai/openpilot/pull/30245
+* car brand port: https://github.com/commaai/openpilot/pull/23331
+
+### What doesn't get merged?
+
+* **arbitrary style changes**: code is art, and it's up to the author to make it beautiful
+* **500+ line PRs**: clean it up, break it up into smaller PRs, or both
+* **PRs without a clear goal**: every PR must have a singular and clear goal
+* **UI design changes**: we do not have a good review process for this yet
+* **New features**: We believe openpilot is mostly feature-complete, and the rest is a matter of refinement and fixing bugs. As a result of this, most feature PRs will be immediately closed, however the beauty of open source is that forks can and do offer features that upstream openpilot doesn't.
### First contribution
-Try out some of these first pull requests ideas to dive into the codebase:
-* Increase our [mypy](http://mypy-lang.org/) coverage
-* Write some documentation
-* Tackle an open [good first issue](https://github.com/commaai/openpilot/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
+Check out any [good first issue](https://github.com/commaai/openpilot/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) to get started.
+
+### What do I need to contribute?
+
+A lot of openpilot work requires only a PC, and some requires a comma device.
+Most car-related contributions require access to that car, plus a comma device installed in the car.
## Pull Requests
-Pull requests should be against the master branch. Welcomed contributions include bug reports, car ports, and any [open issue](https://github.com/commaai/openpilot/issues). If you're unsure about a contribution, feel free to open a discussion, issue, or draft PR to discuss the problem you're trying to solve.
+Pull requests should be against the master branch. If you're unsure about a contribution, feel free to open a discussion, issue, or draft PR to discuss the problem you're trying to solve.
A good pull request has all of the following:
* a clearly stated purpose
@@ -31,18 +55,11 @@ A good pull request has all of the following:
* if you've improved your car's tuning, post before and after plots
* passes the CI tests
-### Car Ports
+## Contributing without Code
-We've released a [Model Port guide](https://blog.comma.ai/openpilot-port-guide-for-toyota-models/) for porting to Toyota/Lexus models.
-
-If you port openpilot to a substantially new car brand, see this more generic [Brand Port guide](https://blog.comma.ai/how-to-write-a-car-port-for-openpilot/).
-
-## Testing
-
-### Automated Testing
-
-All PRs and commits are automatically checked by GitHub Actions. Check out `.github/workflows/` for what GitHub Actions runs. Any new tests should be added to GitHub Actions.
-
-### Code Style and Linting
-
-Code is automatically checked for style by GitHub Actions as part of the automated tests. You can also run these tests yourself by running `pre-commit run --all`.
+* Report bugs in GitHub issues.
+* Report driving issues in the `#driving-feedback` Discord channel.
+* Consider opting into driver camera uploads to improve the driver monitoring model.
+* Connect your device to Wi-Fi regularly, so that we can pull data for training better driving models.
+* Run the `nightly` branch and report issues. This branch is like `master` but it's built just like a release.
+* Annotate images in the [comma10k dateset](https://github.com/commaai/comma10k).
diff --git a/laika/__init__.py b/laika/__init__.py
deleted file mode 100644
index 1c9762b4b..000000000
--- a/laika/__init__.py
+++ /dev/null
@@ -1,9 +0,0 @@
-import logging
-import os
-
-from .astro_dog import AstroDog
-assert AstroDog is not None
-
-# setup logging
-LOGLEVEL = os.environ.get('LOGLEVEL', 'INFO').upper()
-logging.basicConfig(level=LOGLEVEL, format='%(message)s')
diff --git a/laika/astro_dog.py b/laika/astro_dog.py
deleted file mode 100644
index 14dd21ac5..000000000
--- a/laika/astro_dog.py
+++ /dev/null
@@ -1,396 +0,0 @@
-from collections import defaultdict
-from concurrent.futures import ThreadPoolExecutor
-from typing import DefaultDict, Dict, Iterable, List, Optional, Union
-
-from .constants import SECS_IN_DAY, SECS_IN_HR
-from .helpers import ConstellationId, get_constellation, get_closest, get_el_az, TimeRangeHolder
-from .ephemeris import Ephemeris, EphemerisType, GLONASSEphemeris, GPSEphemeris, PolyEphemeris, parse_sp3_orbits, parse_rinex_nav_msg_gps, \
- parse_rinex_nav_msg_glonass
-from .downloader import download_orbits_gps, download_orbits_russia_src, download_nav, download_ionex, download_dcb, download_prediction_orbits_russia_src
-from .downloader import download_cors_station
-from .trop import saast
-from .iono import IonexMap, parse_ionex, get_slant_delay
-from .dcb import DCB, parse_dcbs
-from .gps_time import GPSTime
-from .dgps import get_closest_station_names, parse_dgps
-from . import constants
-
-MAX_DGPS_DISTANCE = 100_000 # in meters, because we're not barbarians
-
-
-class AstroDog:
- '''
- auto_update: flag indicating whether laika should fetch files from web automatically
- cache_dir: directory where data files are downloaded to and cached
- dgps: flag indicating whether laika should use dgps (CORS)
- data to calculate pseudorange corrections
- valid_const: list of constellation identifiers laika will try process
- valid_ephem_types: set of ephemeris types that are allowed to use and download.
- Default is set to use all orbit ephemeris types
- clear_old_ephemeris: flag indicating if ephemeris for an individual satellite should be overwritten when new ephemeris is added.
- '''
-
- def __init__(self, auto_update=True,
- cache_dir='/tmp/gnss/',
- dgps=False,
- valid_const=(ConstellationId.GPS, ConstellationId.GLONASS),
- valid_ephem_types=EphemerisType.all_orbits(),
- clear_old_ephemeris=False):
-
- for const in valid_const:
- if not isinstance(const, ConstellationId):
- raise TypeError(f"valid_const must be a list of ConstellationId, got {const}")
-
- self.auto_update = auto_update
- self.cache_dir = cache_dir
- self.clear_old_ephemeris = clear_old_ephemeris
- self.dgps = dgps
- if not isinstance(valid_ephem_types, Iterable):
- valid_ephem_types = [valid_ephem_types]
- self.pull_orbit = len(set(EphemerisType.all_orbits()) & set(valid_ephem_types)) > 0
- self.pull_nav = EphemerisType.NAV in valid_ephem_types
- self.use_qcom_poly = EphemerisType.QCOM_POLY in valid_ephem_types
- self.valid_const = valid_const
- self.valid_ephem_types = valid_ephem_types
-
- self.orbit_fetched_times = TimeRangeHolder()
- self.navs_fetched_times = TimeRangeHolder()
- self.dcbs_fetched_times = TimeRangeHolder()
-
- self.dgps_delays = []
- self.ionex_maps: List[IonexMap] = []
- self.orbits: DefaultDict[str, List[PolyEphemeris]] = defaultdict(list)
- self.qcom_polys: DefaultDict[str, List[PolyEphemeris]] = defaultdict(list)
- self.navs: DefaultDict[str, List[Union[GPSEphemeris, GLONASSEphemeris]]] = defaultdict(list)
- self.dcbs: DefaultDict[str, List[DCB]] = defaultdict(list)
-
- self.cached_ionex: Optional[IonexMap] = None
- self.cached_dgps = None
- self.cached_orbit: DefaultDict[str, Optional[PolyEphemeris]] = defaultdict(lambda: None)
- self.cached_qcom_polys: DefaultDict[str, Optional[PolyEphemeris]] = defaultdict(lambda: None)
- self.cached_nav: DefaultDict[str, Union[GPSEphemeris, GLONASSEphemeris, None]] = defaultdict(lambda: None)
- self.cached_dcb: DefaultDict[str, Optional[DCB]] = defaultdict(lambda: None)
-
- def get_ionex(self, time) -> Optional[IonexMap]:
- ionex: Optional[IonexMap] = self._get_latest_valid_data(self.ionex_maps, self.cached_ionex, self.get_ionex_data, time)
- if ionex is None:
- if self.auto_update:
- raise RuntimeError("Pulled ionex, but still can't get valid for time " + str(time))
- else:
- self.cached_ionex = ionex
- return ionex
-
- def get_nav(self, prn, time):
- skip_download = time in self.navs_fetched_times
- nav = self._get_latest_valid_data(self.navs[prn], self.cached_nav[prn], self.get_nav_data, time, skip_download)
- if nav is not None:
- self.cached_nav[prn] = nav
- return nav
-
- @staticmethod
- def _select_valid_temporal_items(item_dict, time, cache):
- '''Returns only valid temporal item for specific time from currently fetched
- data.'''
- result = {}
- for prn, temporal_objects in item_dict.items():
- cached = cache[prn]
- if cached is not None and cached.valid(time):
- obj = cached
- else:
- obj = get_closest(time, temporal_objects)
- if obj is None or not obj.valid(time):
- continue
- cache[prn] = obj
- result[prn] = obj
- return result
-
- def get_all_ephem_prns(self):
- return set(self.orbits.keys()).union(set(self.navs.keys())).union(set(self.qcom_polys.keys()))
-
- def get_navs(self, time):
- if time not in self.navs_fetched_times:
- self.get_nav_data(time)
- return AstroDog._select_valid_temporal_items(self.navs, time, self.cached_nav)
-
- def get_orbit(self, prn: str, time: GPSTime):
- skip_download = time in self.orbit_fetched_times
- orbit = self._get_latest_valid_data(self.orbits[prn], self.cached_orbit[prn], self.get_orbit_data, time, skip_download)
- if orbit is not None:
- self.cached_orbit[prn] = orbit
- return orbit
-
- def get_qcom_poly(self, prn: str, time: GPSTime):
- poly = self._get_latest_valid_data(self.qcom_polys[prn], self.cached_qcom_polys[prn], None, time, True)
- if poly is not None:
- self.cached_qcom_polys[prn] = poly
- return poly
-
- def get_orbits(self, time):
- if time not in self.orbit_fetched_times:
- self.get_orbit_data(time)
- return AstroDog._select_valid_temporal_items(self.orbits, time, self.cached_orbit)
-
- def get_dcb(self, prn, time):
- skip_download = time in self.dcbs_fetched_times
- dcb = self._get_latest_valid_data(self.dcbs[prn], self.cached_dcb[prn], self.get_dcb_data, time, skip_download)
- if dcb is not None:
- self.cached_dcb[prn] = dcb
- return dcb
-
- def get_dgps_corrections(self, time, recv_pos):
- latest_data = self._get_latest_valid_data(self.dgps_delays, self.cached_dgps, self.get_dgps_data, time, recv_pos=recv_pos)
- if latest_data is None:
- if self.auto_update:
- raise RuntimeError("Pulled dgps, but still can't get valid for time " + str(time))
- else:
- self.cached_dgps = latest_data
- return latest_data
-
- def add_qcom_polys(self, new_ephems: Dict[str, List[Ephemeris]]):
- self._add_ephems(new_ephems, self.qcom_polys)
-
- def add_orbits(self, new_ephems: Dict[str, List[Ephemeris]]):
- self._add_ephems(new_ephems, self.orbits)
-
- def add_navs(self, new_ephems: Dict[str, List[Ephemeris]]):
- self._add_ephems(new_ephems, self.navs)
-
- def _add_ephems(self, new_ephems: Dict[str, List[Ephemeris]], ephems_dict):
- for k, v in new_ephems.items():
- if len(v) > 0:
- if self.clear_old_ephemeris:
- ephems_dict[k] = v
- else:
- ephems_dict[k].extend(v)
-
- def add_ephem_fetched_time(self, ephems, fetched_times):
- min_epochs = []
- max_epochs = []
- for v in ephems.values():
- if len(v) > 0:
- min_ephem, max_ephem = self.get_epoch_range(v)
- min_epochs.append(min_ephem)
- max_epochs.append(max_ephem)
- if len(min_epochs) > 0:
- min_epoch = min(min_epochs)
- max_epoch = max(max_epochs)
- fetched_times.add(min_epoch, max_epoch)
-
- def get_nav_data(self, time):
- def download_and_parse(constellation, parse_rinex_nav_func):
- file_path = download_nav(time, cache_dir=self.cache_dir, constellation=constellation)
- return parse_rinex_nav_func(file_path) if file_path else {}
-
- fetched_ephems = {}
-
- if ConstellationId.GPS in self.valid_const:
- fetched_ephems = download_and_parse(ConstellationId.GPS, parse_rinex_nav_msg_gps)
- if ConstellationId.GLONASS in self.valid_const:
- for k, v in download_and_parse(ConstellationId.GLONASS, parse_rinex_nav_msg_glonass).items():
- fetched_ephems.setdefault(k, []).extend(v)
- self.add_navs(fetched_ephems)
-
- if sum([len(v) for v in fetched_ephems.values()]) == 0:
- begin_day = GPSTime(time.week, SECS_IN_DAY * (time.tow // SECS_IN_DAY))
- end_day = GPSTime(time.week, SECS_IN_DAY * (1 + (time.tow // SECS_IN_DAY)))
- self.navs_fetched_times.add(begin_day, end_day)
-
- def download_parse_orbit(self, gps_time: GPSTime, skip_before_epoch=None) -> Dict[str, List[PolyEphemeris]]:
- # Download multiple days to be able to polyfit at the start-end of the day
- time_steps = [gps_time - SECS_IN_DAY, gps_time, gps_time + SECS_IN_DAY]
- with ThreadPoolExecutor() as executor:
- futures_other = [executor.submit(download_orbits_russia_src, t, self.cache_dir, self.valid_ephem_types) for t in time_steps]
- futures_gps = None
- if ConstellationId.GPS in self.valid_const:
- futures_gps = [executor.submit(download_orbits_gps, t, self.cache_dir, self.valid_ephem_types) for t in time_steps]
-
- ephems_other = parse_sp3_orbits([f.result() for f in futures_other if f.result()], self.valid_const, skip_before_epoch)
- ephems_us = parse_sp3_orbits([f.result() for f in futures_gps if f.result()], self.valid_const, skip_before_epoch) if futures_gps else {}
-
- return {k: ephems_other.get(k, []) + ephems_us.get(k, []) for k in set(list(ephems_other.keys()) + list(ephems_us.keys()))}
-
- def download_parse_prediction_orbit(self, gps_time: GPSTime):
- assert EphemerisType.ULTRA_RAPID_ORBIT in self.valid_ephem_types
- skip_until_epoch = gps_time - 2 * SECS_IN_HR
-
- result = download_prediction_orbits_russia_src(gps_time, self.cache_dir)
- if result is not None:
- result = [result]
- elif ConstellationId.GPS in self.valid_const:
- # Slower fallback. Russia src prediction orbits are published from 2022
- result = [download_orbits_gps(t, self.cache_dir, self.valid_ephem_types) for t in [gps_time - SECS_IN_DAY, gps_time]]
- if result is None:
- return {}
- return parse_sp3_orbits(result, self.valid_const, skip_until_epoch=skip_until_epoch)
-
- def get_orbit_data(self, time: GPSTime, only_predictions=False):
- if only_predictions:
- ephems_sp3 = self.download_parse_prediction_orbit(time)
- else:
- ephems_sp3 = self.download_parse_orbit(time)
- if sum([len(v) for v in ephems_sp3.values()]) < 5:
- raise RuntimeError(f'No orbit data found. For Time {time.as_datetime()} constellations {self.valid_const} valid ephem types {self.valid_ephem_types}')
- self.add_ephem_fetched_time(ephems_sp3, self.orbit_fetched_times)
- self.add_orbits(ephems_sp3)
-
- def get_dcb_data(self, time):
- file_path_dcb = download_dcb(time, cache_dir=self.cache_dir)
- dcbs = parse_dcbs(file_path_dcb, self.valid_const)
- for dcb in dcbs:
- self.dcbs[dcb.prn].append(dcb)
-
- if len(dcbs) != 0:
- min_epoch, max_epoch = self.get_epoch_range(dcbs)
- self.dcbs_fetched_times.add(min_epoch, max_epoch)
-
- def get_epoch_range(self, new_ephems):
- min_ephem = min(new_ephems, key=lambda e: e.epoch)
- max_ephem = max(new_ephems, key=lambda e: e.epoch)
- min_epoch = min_ephem.epoch - min_ephem.max_time_diff
- max_epoch = max_ephem.epoch + max_ephem.max_time_diff
- return min_epoch, max_epoch
-
- def get_ionex_data(self, time):
- file_path_ionex = download_ionex(time, cache_dir=self.cache_dir)
- ionex_maps = parse_ionex(file_path_ionex)
- for im in ionex_maps:
- self.ionex_maps.append(im)
-
- def get_dgps_data(self, time, recv_pos):
- station_names = get_closest_station_names(recv_pos, k=8, max_distance=MAX_DGPS_DISTANCE, cache_dir=self.cache_dir)
- for station_name in station_names:
- file_path_station = download_cors_station(time, station_name, cache_dir=self.cache_dir)
- if file_path_station:
- dgps = parse_dgps(station_name, file_path_station,
- self, max_distance=MAX_DGPS_DISTANCE,
- required_constellations=self.valid_const)
- if dgps is not None:
- self.dgps_delays.append(dgps)
- break
-
- def get_tgd_from_nav(self, prn, time):
- if get_constellation(prn) not in self.valid_const:
- return None
-
- eph = self.get_nav(prn, time)
-
- if eph:
- return eph.get_tgd()
- return None
-
- def get_eph(self, prn, time):
- if get_constellation(prn) not in self.valid_const:
- return None
- eph = None
- if self.pull_orbit:
- eph = self.get_orbit(prn, time)
- if not eph and self.pull_nav:
- eph = self.get_nav(prn, time)
- if not eph and self.use_qcom_poly:
- eph = self.get_qcom_poly(prn, time)
- return eph
-
- def get_sat_info(self, prn, time):
- eph = self.get_eph(prn, time)
- if eph:
- return eph.get_sat_info(time)
- return None
-
- def get_all_sat_info(self, time):
- ephs = {}
- if self.pull_orbit:
- ephs = self.get_orbits(time)
- if len(ephs) == 0 and self.pull_nav:
- ephs = self.get_navs(time)
-
- return {prn: eph.get_sat_info(time) for prn, eph in ephs.items()}
-
- def get_glonass_channel(self, prn, time):
- nav = self.get_nav(prn, time)
- if nav:
- return nav.channel
- return None
-
- def get_frequency(self, prn, time, signal='C1C'):
- if get_constellation(prn) == ConstellationId.GPS:
- switch = {'1': constants.GPS_L1,
- '2': constants.GPS_L2,
- '5': constants.GPS_L5,
- '6': constants.GALILEO_E6,
- '7': constants.GALILEO_E5B,
- '8': constants.GALILEO_E5AB}
- freq = switch.get(signal[1])
- if freq:
- return freq
- raise NotImplementedError("Dont know this GPS frequency: ", signal, prn)
- elif get_constellation(prn) == ConstellationId.GLONASS:
- n = self.get_glonass_channel(prn, time)
- if n is None:
- return None
- switch = {'1': constants.GLONASS_L1 + n * constants.GLONASS_L1_DELTA,
- '2': constants.GLONASS_L2 + n * constants.GLONASS_L2_DELTA,
- '5': constants.GLONASS_L5 + n * constants.GLONASS_L5_DELTA,
- '6': constants.GALILEO_E6,
- '7': constants.GALILEO_E5B,
- '8': constants.GALILEO_E5AB}
- freq = switch.get(signal[1])
- if freq:
- return freq
- raise NotImplementedError("Dont know this GLONASS frequency: ", signal, prn)
-
- def get_delay(self, prn, time, rcv_pos, no_dgps=False, signal='C1C', freq=None):
- sat_info = self.get_sat_info(prn, time)
- if sat_info is None:
- return None
- sat_pos = sat_info[0]
- el, az = get_el_az(rcv_pos, sat_pos)
- if el < 0.2:
- return None
- if self.dgps and not no_dgps:
- return self._get_delay_dgps(prn, rcv_pos, time)
-
- ionex = self.get_ionex(time)
- if not freq and ionex is not None:
- freq = self.get_frequency(prn, time, signal)
- dcb = self.get_dcb(prn, time)
- # When using internet we expect all data or return None
- if self.auto_update and (ionex is None or dcb is None or freq is None):
- return None
- if ionex is not None:
- iono_delay = ionex.get_delay(rcv_pos, az, el, sat_pos, time, freq)
- else:
- # 5m vertical delay is a good default
- iono_delay = get_slant_delay(rcv_pos, az, el, sat_pos, time, freq, vertical_delay=5.0)
- trop_delay = saast(rcv_pos, el)
- code_bias = dcb.get_delay(signal) if dcb is not None else 0.
- return iono_delay + trop_delay + code_bias
-
- def _get_delay_dgps(self, prn, rcv_pos, time):
- dgps_corrections = self.get_dgps_corrections(time, rcv_pos)
- if dgps_corrections is None:
- return None
- return dgps_corrections.get_delay(prn, time)
-
- def _get_latest_valid_data(self, data, latest_data, download_data_func, time, skip_download=False, recv_pos=None):
- def is_valid(latest_data):
- if recv_pos is None:
- return latest_data is not None and latest_data.valid(time)
- else:
- return latest_data is not None and latest_data.valid(time, recv_pos)
-
- if is_valid(latest_data):
- return latest_data
-
- latest_data = get_closest(time, data, recv_pos=recv_pos)
- if is_valid(latest_data):
- return latest_data
- if skip_download or not self.auto_update:
- return None
- if recv_pos is not None:
- download_data_func(time, recv_pos)
- else:
- download_data_func(time)
- latest_data = get_closest(time, data, recv_pos=recv_pos)
- if is_valid(latest_data):
- return latest_data
- return None
diff --git a/laika/constants.py b/laika/constants.py
deleted file mode 100644
index 6b6d33110..000000000
--- a/laika/constants.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# These are all from IS-GPS-200G unless otherwise noted
-
-SPEED_OF_LIGHT = 2.99792458e8 # m/s
-
-# Physical parameters of the Earth
-EARTH_GM = 3.986005e14 # m^3/s^2 (gravitational constant * mass of earth)
-EARTH_RADIUS = 6.3781e6 # m
-EARTH_ROTATION_RATE = 7.2921151467e-005 # rad/s (WGS84 earth rotation rate)
-
-# GPS system parameters:
-GPS_L1 = l1 = 1.57542e9 # Hz
-GPS_L2 = l2 = 1.22760e9 # Hz
-GPS_L5 = l5 = 1.17645e9 # Hz Also E5
-
-#GLONASS system parameters
-#TODO this is old convention
-GLONASS_L1 = 1.602e9
-GLONASS_L1_DELTA = 0.5625e6
-GLONASS_L2 = 1.246e9
-GLONASS_L2_DELTA = 0.4375e6
-GLONASS_L5 = 1.201e9
-GLONASS_L5_DELTA = 0.4375e6
-
-#Galileo system parameters: # Has additional frequencies on E6
-#Source RINEX 2.11 document
-GALILEO_E5B = 1.207140e9 # Hz
-GALILEO_E5AB = 1.191795e9 # Hz
-GALILEO_E6 = 1.27875e9 # Hz
-
-SECS_IN_MIN = 60
-SECS_IN_HR = 60*SECS_IN_MIN
-SECS_IN_DAY = 24*SECS_IN_HR
-SECS_IN_WEEK = 7*SECS_IN_DAY
-SECS_IN_YEAR = 365*SECS_IN_DAY
diff --git a/laika/dcb.py b/laika/dcb.py
deleted file mode 100644
index 06017ff4c..000000000
--- a/laika/dcb.py
+++ /dev/null
@@ -1,84 +0,0 @@
-from datetime import datetime
-from .constants import SECS_IN_HR, SECS_IN_WEEK, \
- SPEED_OF_LIGHT, GPS_L1, GPS_L2
-from .gps_time import GPSTime
-from .helpers import get_constellation
-import warnings
-
-
-class DCB:
- def __init__(self, prn, data):
- self.max_time_diff = 2*SECS_IN_WEEK
- self.prn = prn
- self.epoch = data['epoch']
- self.healthy = True
- if 'C1W_C2W' in data:
- self.C1W_C2W = data['C1W_C2W']
- elif 'C1P_C2P' in data:
- self.C1W_C2W = data['C1P_C2P']
- else:
- self.healthy = False
- if 'C1C_C1W' in data:
- self.C1C_C1W = data['C1C_C1W']
- elif 'C1C_C1P' in data:
- self.C1C_C1W = data['C1C_C1P']
- else:
- self.healthy = False
-
- def valid(self, time):
- return abs(time - self.epoch) <= self.max_time_diff and self.healthy
-
- def get_delay(self, signal):
- if signal == 'C1C':
- return (- SPEED_OF_LIGHT*1e-9*self.C1W_C2W*GPS_L2**2/(GPS_L1**2 - GPS_L2**2)
- + SPEED_OF_LIGHT*1e-9*self.C1C_C1W)
- if signal == 'C2P':
- return (- SPEED_OF_LIGHT*1e-9*self.C1W_C2W*GPS_L1**2/(GPS_L1**2 - GPS_L2**2))
- if signal == 'C1P':
- return (SPEED_OF_LIGHT*1e-9*self.C1C_C1W)
- ## Todo: update dcb database and get delay to include additional signals
- if signal == 'C2C':
- warnings.warn("Differential code bias not implemented for signal C2C", UserWarning)
- return 0
- if signal == 'C5C':
- warnings.warn("Differential code bias not implemented for signal C5C", UserWarning)
- return 0
- if signal == 'C6C':
- warnings.warn("Differential code bias not implemented for signal C6C", UserWarning)
- return 0
- if signal == 'C7C':
- warnings.warn("Differential code bias not implemented for signal C7C", UserWarning)
- return 0
- if signal == 'C8C':
- warnings.warn("Differential code bias not implemented for signal C8C", UserWarning)
- return 0
-
-
-def parse_dcbs(file_name, SUPPORTED_CONSTELLATIONS):
- with open(file_name, 'r+') as DCB_file:
- contents = DCB_file.readlines()
- data_started = False
- dcbs_dict = {}
- for line in contents:
- if not data_started:
- if line[1:4] == 'DSB':
- data_started = True
- else:
- continue
- line_components = line.split()
- if len(line_components[2]) < 3:
- break
- prn = line_components[2]
- if get_constellation(prn) not in SUPPORTED_CONSTELLATIONS:
- continue
- dcb_type = line_components[3] + '_' + line_components[4]
- epoch = GPSTime.from_datetime(datetime.strptime(line_components[5], '%Y:%j:%f')) + 12*SECS_IN_HR
- if prn not in dcbs_dict:
- dcbs_dict[prn] = {}
- dcbs_dict[prn][dcb_type] = float(line_components[8])
- dcbs_dict[prn]['epoch'] = epoch
-
- dcbs = []
- for prn in dcbs_dict:
- dcbs.append(DCB(prn, dcbs_dict[prn]))
- return dcbs
diff --git a/laika/dgps.py b/laika/dgps.py
deleted file mode 100644
index 60d4393b2..000000000
--- a/laika/dgps.py
+++ /dev/null
@@ -1,161 +0,0 @@
-import os
-import numpy as np
-from datetime import datetime
-
-from .gps_time import GPSTime
-from .constants import SECS_IN_YEAR
-from . import raw_gnss as raw
-from . import opt
-from .rinex_file import RINEXFile
-from .downloader import download_cors_coords
-from .helpers import get_constellation, ConstellationId
-
-def mean_filter(delay):
- d2 = delay.copy()
- max_step = 10
- for i in range(max_step, len(delay) - max_step):
- finite_idxs = np.where(np.isfinite(delay[i - max_step:i + max_step]))
- if max_step in finite_idxs[0]:
- step = min([max_step, finite_idxs[0][-1] - max_step, max_step - finite_idxs[0][0]])
- d2[i] = np.nanmean(delay[i - step:i + step + 1])
- return d2
-
-
-def download_and_parse_station_postions(cors_station_positions_path, cache_dir):
- if not os.path.isfile(cors_station_positions_path):
- cors_stations = {}
- coord_file_paths = download_cors_coords(cache_dir=cache_dir)
- for coord_file_path in coord_file_paths:
- try:
- station_id = coord_file_path.split('/')[-1][:4]
- with open(coord_file_path, 'r+') as coord_file:
- contents = coord_file.readlines()
- phase_center = False
- for line_number in range(len(contents)):
- if 'L1 Phase Center' in contents[line_number]:
- phase_center = True
- if not phase_center and 'ITRF2014 POSITION' in contents[line_number]:
- velocity = [float(contents[line_number+8].split()[3]),
- float(contents[line_number+9].split()[3]),
- float(contents[line_number+10].split()[3])]
- if phase_center and 'ITRF2014 POSITION' in contents[line_number]:
- epoch = GPSTime.from_datetime(datetime(2005,1,1))
- position = [float(contents[line_number+2].split()[3]),
- float(contents[line_number+3].split()[3]),
- float(contents[line_number+4].split()[3])]
- cors_stations[station_id] = [epoch, position, velocity]
- break
- except ValueError:
- pass
- cors_station_positions_file = open(cors_station_positions_path, 'wb')
- np.save(cors_station_positions_file, cors_stations)
- cors_station_positions_file.close()
-
-
-def get_closest_station_names(pos, k=5, max_distance=100000, cache_dir='/tmp/gnss/'):
- from scipy.spatial import cKDTree
-
- cors_station_positions_dict = load_cors_station_positions(cache_dir)
- station_ids = list(cors_station_positions_dict.keys())
- station_positions = []
- for station_id in station_ids:
- station_positions.append(cors_station_positions_dict[station_id][1])
- tree = cKDTree(station_positions)
- distances, idxs = tree.query(pos, k=k, distance_upper_bound=max_distance)
- return np.array(station_ids)[idxs]
-
-
-def load_cors_station_positions(cache_dir):
- cors_station_positions_path = cache_dir + 'cors_coord/cors_station_positions'
- download_and_parse_station_postions(cors_station_positions_path, cache_dir)
- with open(cors_station_positions_path, 'rb') as f:
- return np.load(f, allow_pickle=True).item() # pylint: disable=unexpected-keyword-arg
-
-
-def get_station_position(station_id, cache_dir='/tmp/gnss/', time=GPSTime.from_datetime(datetime.utcnow())):
- cors_station_positions_dict = load_cors_station_positions(cache_dir)
- epoch, pos, vel = cors_station_positions_dict[station_id]
- return ((time - epoch)/SECS_IN_YEAR)*np.array(vel) + np.array(pos)
-
-
-def parse_dgps(station_id, station_obs_file_path, dog, max_distance=100000, required_constellations=[ConstellationId.GPS]):
- station_pos = get_station_position(station_id, cache_dir=dog.cache_dir)
- obsdata = RINEXFile(station_obs_file_path)
- measurements = raw.read_rinex_obs(obsdata)
-
- # if not all constellations in first 100 epochs bail
- detected_constellations = set()
- for m in sum(measurements[:100],[]):
- detected_constellations.add(get_constellation(m.prn))
- for constellation in required_constellations:
- if constellation not in detected_constellations:
- return None
-
- proc_measurements = []
- for measurement in measurements:
- proc_measurements.append(raw.process_measurements(measurement, dog=dog))
- # sample at 30s
- if len(proc_measurements) > 2880:
- proc_measurements = proc_measurements[::int(len(proc_measurements)/2880)]
- if len(proc_measurements) != 2880:
- return None
-
- station_delays = {}
- n = len(proc_measurements)
- for signal in ['C1C', 'C2P']:
- times = []
- station_delays[signal] = {}
- for i, proc_measurement in enumerate(proc_measurements):
- times.append(proc_measurement[0].recv_time)
- Fx_pos = opt.pr_residual(proc_measurement, signal=signal)
- residual, _ = Fx_pos(list(station_pos) + [0,0])
- residual = -np.array(residual)
- for j, m in enumerate(proc_measurement):
- prn = m.prn
- if prn not in station_delays[signal]:
- station_delays[signal][prn] = np.nan*np.ones(n)
- station_delays[signal][prn][i] = residual[j]
- assert len(times) == n
-
- # TODO crude way to get dgps station's clock errors,
- # could this be biased? Only use GPS for convenience.
- model_delays = {}
- for prn in station_delays['C1C']:
- if get_constellation(prn) == ConstellationId.GPS:
- model_delays[prn] = np.nan*np.zeros(n)
- for i in range(n):
- model_delays[prn][i] = dog.get_delay(prn, times[i], station_pos, no_dgps=True)
- station_clock_errs = np.zeros(n)
- for i in range(n):
- station_clock_errs[i] = np.nanmean([(station_delays['C1C'][prn][i] - model_delays[prn][i]) for prn in model_delays])
-
- # remove clock errors and smooth out signal
- for prn in station_delays['C1C']:
- station_delays['C1C'][prn] = mean_filter(station_delays['C1C'][prn] - station_clock_errs)
- for prn in station_delays['C2P']:
- station_delays['C2P'][prn] = station_delays['C2P'][prn] - station_clock_errs
-
- return DGPSDelay(station_id, station_pos, station_delays,
- times, max_distance)
-
-
-class DGPSDelay:
- def __init__(self, station_id, station_pos,
- station_delays, station_delays_t, max_distance):
- self.id = station_id
- self.pos = station_pos
- self.delays = station_delays
- self.delays_t = station_delays_t
- self.max_distance = max_distance
-
- def get_delay(self, prn, time, signal='C1C'):
- time_index = int((time - self.delays_t[0])/30)
- assert abs(self.delays_t[time_index] - time) < 30
- if prn in self.delays[signal] and np.isfinite(self.delays[signal][prn][time_index]):
- return self.delays[signal][prn][time_index]
- return None
-
- def valid(self, time, recv_pos):
- return (np.linalg.norm(recv_pos - self.pos) <= self.max_distance and
- time - self.delays_t[0] > -30 and
- self.delays_t[-1] - time > -30)
diff --git a/laika/downloader.py b/laika/downloader.py
deleted file mode 100644
index 5943ecac4..000000000
--- a/laika/downloader.py
+++ /dev/null
@@ -1,473 +0,0 @@
-import certifi
-import ftplib
-import hatanaka
-import os
-import pycurl
-import re
-import time
-import socket
-import logging
-
-from datetime import datetime, timedelta
-from urllib.parse import urlparse
-from io import BytesIO
-from ftplib import FTP_TLS, FTP
-
-from atomicwrites import atomic_write
-
-from laika.ephemeris import EphemerisType
-from .constants import SECS_IN_HR, SECS_IN_DAY, SECS_IN_WEEK
-from .gps_time import GPSTime, tow_to_datetime
-from .helpers import ConstellationId
-
-dir_path = os.path.dirname(os.path.realpath(__file__))
-
-class DownloadFailed(Exception):
- pass
-
-
-def retryable(f):
- """
- Decorator to allow us to pass multiple URLs from which to download.
- Automatically retry the request with the next URL on failure
- """
- def wrapped(url_bases, *args, **kwargs):
- if isinstance(url_bases, str):
- # only one url passed, don't do the retry thing
- return f(url_bases, *args, **kwargs)
-
- # not a string, must be a list of url_bases
- for url_base in url_bases:
- try:
- return f(url_base, *args, **kwargs)
- except DownloadFailed as e:
- logging.warning(e)
- # none of them succeeded
- raise DownloadFailed("Multiple URL failures attempting to pull file(s)")
- return wrapped
-
-
-def ftp_connect(url):
- parsed = urlparse(url)
- assert parsed.scheme == 'ftp'
- try:
- domain = parsed.netloc
- ftp = ftplib.FTP(domain, timeout=10)
- ftp.login()
- except (OSError, ftplib.error_perm):
- raise DownloadFailed("Could not connect/auth to: " + domain)
- try:
- ftp.cwd(parsed.path)
- except ftplib.error_perm:
- raise DownloadFailed("Permission failure with folder: " + url)
- return ftp
-
-
-@retryable
-def list_dir(url):
- parsed = urlparse(url)
- if parsed.scheme == 'ftp':
- try:
- ftp = ftp_connect(url)
- return ftp.nlst()
- except ftplib.error_perm:
- raise DownloadFailed("Permission failure listing folder: " + url)
- else:
- # just connect and do simple url parsing
- listing = https_download_file(url)
- urls = re.findall(b"", listing)
- # decode the urls to normal strings. If they are complicated paths, ignore them
- return [name.decode("latin1") for name in urls if name and b"/" not in name[1:]]
-
-
-def ftp_download_files(url_base, folder_path, cacheDir, filenames):
- """
- Like download file, but more of them. Keeps a persistent FTP connection open
- to be more efficient.
- """
- folder_path_abs = os.path.join(cacheDir, folder_path)
-
- ftp = ftp_connect(url_base + folder_path)
-
- filepaths = []
- for filename in filenames:
- # os.path.join will be dumb if filename has a leading /
- # if there is a / in the filename, then it's using a different folder
- filename = filename.lstrip("/")
- if "/" in filename:
- continue
- filepath = os.path.join(folder_path_abs, filename)
- logging.debug("pulling from", url_base, "to", filepath)
-
- if not os.path.isfile(filepath):
- os.makedirs(folder_path_abs, exist_ok=True)
- try:
- ftp.retrbinary('RETR ' + filename, open(filepath, 'wb').write)
- except (ftplib.error_perm):
- raise DownloadFailed("Could not download file from: " + url_base + folder_path + filename)
- except (socket.timeout):
- raise DownloadFailed("Read timed out from: " + url_base + folder_path + filename)
- filepaths.append(filepath)
- else:
- filepaths.append(filepath)
- return filepaths
-
-
-def http_download_files(url_base, folder_path, cacheDir, filenames):
- """
- Similar to ftp_download_files, attempt to download multiple files faster than
- just downloading them one-by-one.
- Returns a list of filepaths instead of the raw data
- """
- folder_path_abs = os.path.join(cacheDir, folder_path)
-
- def write_function(disk_path, handle):
- def do_write(data):
- open(disk_path, "wb").write(data)
-
- return do_write
-
- fetcher = pycurl.CurlMulti()
- fetcher.setopt(pycurl.M_PIPELINING, 3)
- fetcher.setopt(pycurl.M_MAX_HOST_CONNECTIONS, 64)
- fetcher.setopt(pycurl.M_MAX_TOTAL_CONNECTIONS, 64)
- filepaths = []
- for filename in filenames:
- # os.path.join will be dumb if filename has a leading /
- # if there is a / in the filename, then it's using a different folder
- filename = filename.lstrip("/")
- if "/" in filename:
- continue
- filepath = os.path.join(folder_path_abs, filename)
- if not os.path.isfile(filepath):
- logging.debug("pulling from", url_base, "to", filepath)
- os.makedirs(folder_path_abs, exist_ok=True)
- url_path = url_base + folder_path + filename
- handle = pycurl.Curl()
- handle.setopt(pycurl.URL, url_path)
- handle.setopt(pycurl.CONNECTTIMEOUT, 10)
- handle.setopt(pycurl.WRITEFUNCTION, write_function(filepath, handle))
- fetcher.add_handle(handle)
- filepaths.append(filepath)
-
- requests_processing = len(filepaths)
- timeout = 10.0 # after 10 seconds of nothing happening, restart
- deadline = time.time() + timeout
- while requests_processing and time.time() < deadline:
- while True:
- ret, cur_requests_processing = fetcher.perform()
- if ret != pycurl.E_CALL_MULTI_PERFORM:
- _, success, failed = fetcher.info_read()
- break
- if requests_processing > cur_requests_processing:
- deadline = time.time() + timeout
- requests_processing = cur_requests_processing
-
- if fetcher.select(1) < 0:
- continue
-
- # if there are downloads left to be done, repeat, and don't overwrite
- _, requests_processing = fetcher.perform()
- if requests_processing > 0:
- logging.warning("some requests stalled, retrying them")
- return http_download_files(url_base, folder_path, cacheDir, filenames)
-
- return filepaths
-
-
-def https_download_file(url):
- crl = pycurl.Curl()
- crl.setopt(crl.CAINFO, certifi.where())
- crl.setopt(crl.URL, url)
- crl.setopt(crl.FOLLOWLOCATION, True)
- crl.setopt(crl.SSL_CIPHER_LIST, 'DEFAULT@SECLEVEL=1')
- crl.setopt(crl.COOKIEJAR, '/tmp/cddis_cookies')
- crl.setopt(pycurl.CONNECTTIMEOUT, 10)
-
- buf = BytesIO()
- crl.setopt(crl.WRITEDATA, buf)
- crl.perform()
- response = crl.getinfo(pycurl.RESPONSE_CODE)
- crl.close()
-
- if response != 200:
- raise DownloadFailed('HTTPS error ' + str(response))
- return buf.getvalue()
-
-
-def ftp_download_file(url):
- parsed = urlparse(url)
- is_sftp = parsed.scheme == "sftp"
- try:
- buf = BytesIO()
- with FTP_TLS(parsed.hostname) if is_sftp else FTP(parsed.hostname) as ftp:
- ftp.login(user='anonymous')
- if is_sftp:
- ftp.prot_p()
- ftp.retrbinary('RETR ' + parsed.path, buf.write)
- return buf.getvalue()
- except ftplib.all_errors as e:
- raise DownloadFailed(e)
-
-
-@retryable
-def download_files(url_base, folder_path, cacheDir, filenames):
- parsed = urlparse(url_base)
- if parsed.scheme == 'ftp':
- return ftp_download_files(url_base, folder_path, cacheDir, filenames)
- else:
- return http_download_files(url_base, folder_path, cacheDir, filenames)
-
-
-@retryable
-def download_file(url_base, folder_path, filename_zipped):
- url = url_base + folder_path + filename_zipped
- logging.debug('Downloading ' + url)
- if url.startswith('https://'):
- return https_download_file(url)
- elif url.startswith(('ftp://', 'sftp://')):
- return ftp_download_file(url)
- raise NotImplementedError('Did not find supported url scheme')
-
-
-def download_and_cache_file_return_first_success(url_bases, folder_and_file_names, cache_dir, compression='', overwrite=False, raise_error=False):
- last_error = None
- for folder_path, filename in folder_and_file_names:
- try:
- file = download_and_cache_file(url_bases, folder_path, cache_dir, filename, compression, overwrite)
- return file
- except DownloadFailed as e:
- last_error = e
-
- if last_error and raise_error:
- raise last_error
-
-
-def download_and_cache_file(url_base, folder_path: str, cache_dir: str, filename: str, compression='', overwrite=False):
- filename_zipped = filename + compression
- folder_path_abs = os.path.join(cache_dir, folder_path)
- filepath = str(hatanaka.get_decompressed_path(os.path.join(folder_path_abs, filename)))
-
- filepath_attempt = filepath + '.attempt_time'
-
- if os.path.exists(filepath_attempt):
- with open(filepath_attempt, 'r') as rf:
- last_attempt_time = float(rf.read())
- if time.time() - last_attempt_time < SECS_IN_HR:
- raise DownloadFailed(f"Too soon to try downloading {folder_path + filename_zipped} from {url_base} again since last attempt")
- if not os.path.isfile(filepath) or overwrite:
- try:
- data_zipped = download_file(url_base, folder_path, filename_zipped)
- except (DownloadFailed, pycurl.error, socket.timeout):
- unix_time = time.time()
- os.makedirs(folder_path_abs, exist_ok=True)
- with atomic_write(filepath_attempt, mode='w', overwrite=True) as wf:
- wf.write(str(unix_time))
- raise DownloadFailed(f"Could not download {folder_path + filename_zipped} from {url_base} ")
-
- os.makedirs(folder_path_abs, exist_ok=True)
- ephem_bytes = hatanaka.decompress(data_zipped)
- try:
- with atomic_write(filepath, mode='wb', overwrite=overwrite) as f:
- f.write(ephem_bytes)
- except FileExistsError:
- # Only happens when same file is downloaded in parallel by another process.
- pass
- return filepath
-
-
-# Currently, only GPS and Glonass are supported for daily and hourly data.
-CONSTELLATION_NASA_CHAR = {ConstellationId.GPS: 'n', ConstellationId.GLONASS: 'g'}
-
-
-def download_nav(time: GPSTime, cache_dir, constellation: ConstellationId):
- t = time.as_datetime()
- try:
- if constellation not in CONSTELLATION_NASA_CHAR:
- return None
- c = CONSTELLATION_NASA_CHAR[constellation]
- if GPSTime.from_datetime(datetime.utcnow()) - time > SECS_IN_DAY:
- url_bases = (
- 'https://github.com/commaai/gnss-data/raw/master/gnss/data/daily/',
- 'sftp://gdc.cddis.eosdis.nasa.gov/gnss/data/daily/',
- )
- filename = t.strftime(f"brdc%j0.%y{c}")
- folder_path = t.strftime(f'%Y/%j/%y{c}/')
- compression = '.gz' if folder_path >= '2020/335/' else '.Z'
- return download_and_cache_file(url_bases, folder_path, cache_dir+'daily_nav/', filename, compression)
- else:
- url_bases = (
- 'https://github.com/commaai/gnss-data-hourly/raw/master/',
- 'sftp://gdc.cddis.eosdis.nasa.gov/gnss/data/hourly/',
- )
- times = [t, (t - timedelta(hours=1))]
- folder_and_filenames = [(t.strftime('%Y/%j/'), t.strftime(f"hour%j0.%y{c}")) for t in times]
- compression = '.gz' if folder_and_filenames[0][0] >= '2020/336/' else '.Z'
- # always overwrite as this file is appended
- return download_and_cache_file_return_first_success(url_bases,
- folder_and_filenames, cache_dir+'hourly_nav/', compression, overwrite=True)
- except DownloadFailed:
- pass
-
-
-def download_orbits_gps_cod0(time, cache_dir, ephem_types):
- url_bases = (
- 'https://github.com/commaai/gnss-data/raw/master/gnss/products/',
- 'sftp://gdc.cddis.eosdis.nasa.gov/gnss/products/',
- )
-
- if EphemerisType.ULTRA_RAPID_ORBIT not in ephem_types:
- # TODO: raise error here
- return None
-
- tm = tow_to_datetime(time.tow, time.week).timetuple()
- doy = str(tm.tm_yday).zfill(3)
- filename = f"COD0OPSULT_{tm.tm_year}{doy}0000_02D_05M_ORB.SP3"
- # TODO: add hour management
-
- folder_path = "%i/" % time.week
- folder_file_names = [(folder_path, filename)]
- return download_and_cache_file_return_first_success(url_bases, folder_file_names, cache_dir+'cddis_products/', compression='.gz')
-
-
-def download_orbits_gps(time, cache_dir, ephem_types):
- url_bases = (
- 'https://github.com/commaai/gnss-data/raw/master/gnss/products/',
- 'sftp://gdc.cddis.eosdis.nasa.gov/gnss/products/',
- 'ftp://igs.ign.fr/pub/igs/products/',
- )
- folder_path = "%i/" % time.week
- filenames = []
- time_str = "%i%i" % (time.week, time.day)
- # Download filenames in order of quality. Final -> Rapid -> Ultra-Rapid(newest first)
- if EphemerisType.FINAL_ORBIT in ephem_types and GPSTime.from_datetime(datetime.utcnow()) - time > 3 * SECS_IN_WEEK:
- filenames.append(f"igs{time_str}.sp3")
- if EphemerisType.RAPID_ORBIT in ephem_types:
- filenames.append(f"igr{time_str}.sp3")
- if EphemerisType.ULTRA_RAPID_ORBIT in ephem_types:
- filenames.extend([f"igu{time_str}_18.sp3",
- f"igu{time_str}_12.sp3",
- f"igu{time_str}_06.sp3",
- f"igu{time_str}_00.sp3"])
- folder_file_names = [(folder_path, filename) for filename in filenames]
- ret = download_and_cache_file_return_first_success(url_bases, folder_file_names, cache_dir+'cddis_products/', compression='.Z')
- if ret is not None:
- return ret
-
- # fallback to COD0 Ultra Rapid Orbits
- return download_orbits_gps_cod0(time, cache_dir, ephem_types)
-
-
-def download_prediction_orbits_russia_src(gps_time, cache_dir):
- # Download single file that contains Ultra_Rapid predictions for GPS, GLONASS and other constellations
- t = gps_time.as_datetime()
- # Files exist starting at 29-01-2022
- if t < datetime(2022, 1, 29):
- return None
- url_bases = 'https://github.com/commaai/gnss-data-alt/raw/master/MCC/PRODUCTS/'
- folder_path = t.strftime('%y%j/ultra/')
- file_prefix = "Stark_1D_" + t.strftime('%y%m%d')
-
- # Predictions are 24H so previous day can also be used.
- prev_day = (t - timedelta(days=1))
- file_prefix_prev = "Stark_1D_" + prev_day.strftime('%y%m%d')
- folder_path_prev = prev_day.strftime('%y%j/ultra/')
-
- current_day = GPSTime.from_datetime(datetime(t.year, t.month, t.day))
- # Ultra-Orbit is published in gnss-data-alt every 10th minute past the 5,11,17,23 hour.
- # Predictions published are delayed by around 10 hours.
- # Download latest file that includes gps_time with 20 minutes margin.:
- if gps_time > current_day + 23.5 * SECS_IN_HR:
- prev_day, current_day = [], [6, 12]
- elif gps_time > current_day + 17.5 * SECS_IN_HR:
- prev_day, current_day = [], [0, 6]
- elif gps_time > current_day + 11.5 * SECS_IN_HR:
- prev_day, current_day = [18], [0]
- elif gps_time > current_day + 5.5 * SECS_IN_HR:
- prev_day, current_day = [12, 18], []
- else:
- prev_day, current_day = [6, 12], []
- # Example: Stark_1D_22060100.sp3
- folder_and_file_names = [(folder_path, file_prefix + f"{h:02}.sp3") for h in reversed(current_day)] + \
- [(folder_path_prev, file_prefix_prev + f"{h:02}.sp3") for h in reversed(prev_day)]
- return download_and_cache_file_return_first_success(url_bases, folder_and_file_names, cache_dir+'russian_products/', raise_error=True)
-
-
-def download_orbits_russia_src(time, cache_dir, ephem_types):
- # Orbits from russian source. Contains GPS, GLONASS, GALILEO, BEIDOU
- url_bases = (
- 'https://github.com/commaai/gnss-data-alt/raw/master/MCC/PRODUCTS/',
- 'ftp://ftp.glonass-iac.ru/MCC/PRODUCTS/',
- )
- t = time.as_datetime()
- folder_paths = []
- current_gps_time = GPSTime.from_datetime(datetime.utcnow())
- filename = "Sta%i%i.sp3" % (time.week, time.day)
- if EphemerisType.FINAL_ORBIT in ephem_types and current_gps_time - time > 2 * SECS_IN_WEEK:
- folder_paths.append(t.strftime('%y%j/final/'))
- if EphemerisType.RAPID_ORBIT in ephem_types:
- folder_paths.append(t.strftime('%y%j/rapid/'))
- if EphemerisType.ULTRA_RAPID_ORBIT in ephem_types:
- folder_paths.append(t.strftime('%y%j/ultra/'))
- folder_file_names = [(folder_path, filename) for folder_path in folder_paths]
- return download_and_cache_file_return_first_success(url_bases, folder_file_names, cache_dir+'russian_products/')
-
-
-def download_ionex(time, cache_dir):
- t = time.as_datetime()
- url_bases = (
- 'https://github.com/commaai/gnss-data/raw/master/gnss/products/ionex/',
- 'sftp://gdc.cddis.eosdis.nasa.gov/gnss/products/ionex/',
- 'ftp://igs.ensg.ign.fr/pub/igs/products/ionosphere/',
- 'ftp://gssc.esa.int/gnss/products/ionex/',
- )
- folder_path = t.strftime('%Y/%j/')
- filenames = [t.strftime("codg%j0.%yi"), t.strftime("c1pg%j0.%yi"), t.strftime("c2pg%j0.%yi")]
-
- folder_file_names = [(folder_path, f) for f in filenames]
- return download_and_cache_file_return_first_success(url_bases, folder_file_names, cache_dir+'ionex/', compression='.Z', raise_error=True)
-
-
-def download_dcb(time, cache_dir):
- filenames = []
- folder_paths = []
- url_bases = (
- 'https://github.com/commaai/gnss-data/raw/master/gnss/products/bias/',
- 'sftp://gdc.cddis.eosdis.nasa.gov/gnss/products/bias/',
- 'ftp://igs.ign.fr/pub/igs/products/mgex/dcb/',
- )
- # seem to be a lot of data missing, so try many days
- for time_step in [time - i * SECS_IN_DAY for i in range(14)]:
- t = time_step.as_datetime()
- folder_paths.append(t.strftime('%Y/'))
- filenames.append(t.strftime("CAS0MGXRAP_%Y%j0000_01D_01D_DCB.BSX"))
-
- return download_and_cache_file_return_first_success(url_bases, list(zip(folder_paths, filenames)), cache_dir+'dcb/', compression='.gz', raise_error=True)
-
-
-def download_cors_coords(cache_dir):
- cache_subdir = cache_dir + 'cors_coord/'
- url_bases = (
- 'https://geodesy.noaa.gov/corsdata/coord/coord_14/',
- 'https://alt.ngs.noaa.gov/corsdata/coord/coord_14/',
- )
- file_names = list_dir(url_bases)
- file_names = [file_name for file_name in file_names if file_name.endswith('coord.txt')]
- filepaths = download_files(url_bases, '', cache_subdir, file_names)
- return filepaths
-
-
-def download_cors_station(time, station_name, cache_dir):
- t = time.as_datetime()
- folder_path = t.strftime('%Y/%j/') + station_name + '/'
- filename = station_name + t.strftime("%j0.%yd")
- url_bases = (
- 'https://geodesy.noaa.gov/corsdata/rinex/',
- 'https://alt.ngs.noaa.gov/corsdata/rinex/',
- )
- try:
- filepath = download_and_cache_file(url_bases, folder_path, cache_dir+'cors_obs/', filename, compression='.gz')
- return filepath
- except DownloadFailed:
- logging.warning("File not downloaded, check availability on server.")
- return None
diff --git a/laika/ephemeris.capnp b/laika/ephemeris.capnp
deleted file mode 100644
index 540428639..000000000
--- a/laika/ephemeris.capnp
+++ /dev/null
@@ -1,106 +0,0 @@
-@0xb3ca6d2462778bb1;
-
-struct Ephemeris {
- # This is according to the rinex (2?) format
- svId @0 :UInt16;
- year @1 :UInt16;
- month @2 :UInt16;
- day @3 :UInt16;
- hour @4 :UInt16;
- minute @5 :UInt16;
- second @6 :Float32;
- af0 @7 :Float64;
- af1 @8 :Float64;
- af2 @9 :Float64;
-
- iode @10 :Float64;
- crs @11 :Float64;
- deltaN @12 :Float64;
- m0 @13 :Float64;
-
- cuc @14 :Float64;
- ecc @15 :Float64;
- cus @16 :Float64;
- a @17 :Float64; # note that this is not the root!!
-
- toe @18 :Float64;
- cic @19 :Float64;
- omega0 @20 :Float64;
- cis @21 :Float64;
-
- i0 @22 :Float64;
- crc @23 :Float64;
- omega @24 :Float64;
- omegaDot @25 :Float64;
-
- iDot @26 :Float64;
- codesL2 @27 :Float64;
- gpsWeekDEPRECATED @28 :Float64;
- l2 @29 :Float64;
-
- svAcc @30 :Float64;
- svHealth @31 :Float64;
- tgd @32 :Float64;
- iodc @33 :Float64;
-
- transmissionTime @34 :Float64;
- fitInterval @35 :Float64;
-
- toc @36 :Float64;
-
- ionoCoeffsValid @37 :Bool;
- ionoAlpha @38 :List(Float64);
- ionoBeta @39 :List(Float64);
-
- towCount @40 :UInt32;
- toeWeek @41 :UInt16;
- tocWeek @42 :UInt16;
-}
-
-struct GlonassEphemeris {
- svId @0 :UInt16;
- year @1 :UInt16;
- dayInYear @2 :UInt16;
- hour @3 :UInt16;
- minute @4 :UInt16;
- second @5 :Float32;
-
- x @6 :Float64;
- xVel @7 :Float64;
- xAccel @8 :Float64;
- y @9 :Float64;
- yVel @10 :Float64;
- yAccel @11 :Float64;
- z @12 :Float64;
- zVel @13 :Float64;
- zAccel @14 :Float64;
-
- svType @15 :UInt8;
- svURA @16 :Float32;
- age @17 :UInt8;
-
- svHealth @18 :UInt8;
- tkDEPRECATED @19 :UInt16;
- tb @20 :UInt16;
-
- tauN @21 :Float64;
- deltaTauN @22 :Float64;
- gammaN @23 :Float64;
-
- p1 @24 :UInt8;
- p2 @25 :UInt8;
- p3 @26 :UInt8;
- p4 @27 :UInt8;
-
- freqNumDEPRECATED @28 :UInt32;
-
- n4 @29 :UInt8;
- nt @30 :UInt16;
- freqNum @31 :Int16;
- tkSeconds @32 :UInt32;
-}
-
-struct EphemerisCache {
- gpsEphemerides @0 :List(Ephemeris);
- glonassEphemerides @1 :List(GlonassEphemeris);
-}
\ No newline at end of file
diff --git a/laika/ephemeris.py b/laika/ephemeris.py
deleted file mode 100644
index 116db01b5..000000000
--- a/laika/ephemeris.py
+++ /dev/null
@@ -1,498 +0,0 @@
-import warnings
-from abc import ABC, abstractmethod
-from collections import defaultdict
-from enum import IntEnum
-from typing import Dict, List, Optional
-
-import numpy as np
-import numpy.polynomial.polynomial as poly
-from datetime import datetime
-from math import sin, cos, sqrt, fabs, atan2
-
-from .gps_time import GPSTime, utc_to_gpst
-from .constants import SPEED_OF_LIGHT, SECS_IN_MIN, SECS_IN_HR, SECS_IN_DAY, \
- EARTH_ROTATION_RATE, EARTH_GM
-from .helpers import get_constellation, get_prn_from_nmea_id
-
-import capnp
-import os
-capnp.remove_import_hook()
-capnp_path = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), "ephemeris.capnp"))
-ephemeris_structs = capnp.load(capnp_path)
-
-
-def read4(f, rinex_ver):
- line = f.readline()[:-1]
- if rinex_ver == 2:
- line = ' ' + line # Shift 1 char to the right
- line = line.replace('D', 'E') # Handle bizarro float format
- return float(line[4:23]), float(line[23:42]), float(line[42:61]), float(line[61:80])
-
-
-class EphemerisType(IntEnum):
- # Matches the enum in log.capnp
- NAV = 0
- FINAL_ORBIT = 1
- RAPID_ORBIT = 2
- ULTRA_RAPID_ORBIT = 3
- QCOM_POLY = 4
-
- @staticmethod
- def all_orbits():
- return EphemerisType.FINAL_ORBIT, EphemerisType.RAPID_ORBIT, EphemerisType.ULTRA_RAPID_ORBIT
-
- @classmethod
- def from_file_name(cls, file_name: str):
- if "/final" in file_name or "/igs" in file_name:
- return EphemerisType.FINAL_ORBIT
- if "/rapid" in file_name or "/igr" in file_name:
- return EphemerisType.RAPID_ORBIT
- if "/ultra" in file_name or "/igu" in file_name or "COD0OPSULT" in file_name:
- return EphemerisType.ULTRA_RAPID_ORBIT
- raise RuntimeError(f"Ephemeris type not found in filename: {file_name}")
-
-
-class Ephemeris(ABC):
-
- def __init__(self, prn: str, epoch: GPSTime, eph_type: EphemerisType, healthy: bool, max_time_diff: float,
- file_epoch: Optional[GPSTime] = None, file_name=None):
- self.prn = prn
- self.epoch = epoch
- self.eph_type = eph_type
- self.healthy = healthy
- self.max_time_diff = max_time_diff
- self.file_epoch = file_epoch
- self.file_name = file_name
- self.file_source = '' if file_name is None else file_name.split('/')[-1][:3] # File source for the ephemeris (e.g. igu, igr, Sta)
-
- def valid(self, time):
- return abs(time - self.epoch) <= self.max_time_diff
-
- def __repr__(self):
- time = self.epoch.as_datetime().strftime('%Y-%m-%dT%H:%M:%S.%f')
- return f"<{self.__class__.__name__} from {self.prn} at {time}>"
-
- def get_sat_info(self, time: GPSTime):
- """
- Returns: (pos, vel, clock_err, clock_rate_err, ephemeris)
- """
- if not self.healthy:
- return None
- return list(self._get_sat_info(time)) + [self]
-
- @abstractmethod
- def _get_sat_info(self, time):
- pass
-
-
-class GLONASSEphemeris(Ephemeris):
- def __init__(self, data, file_name=None):
- self.epoch = GPSTime.from_glonass(data.n4, data.nt, data.tb*15*SECS_IN_MIN)
- super().__init__('R%02i' % data.svId, self.epoch, EphemerisType.NAV, data.svHealth==0, max_time_diff=25*SECS_IN_MIN, file_name=file_name)
- self.data = data
- self.epoch = GPSTime.from_glonass(data.n4, data.nt, data.tb*15 * SECS_IN_MIN)
- self.channel = data.freqNum
-
- def _get_sat_info(self, time: GPSTime):
- # see the russian doc for this:
- # http://gauss.gge.unb.ca/GLONASS.ICD.pdf
-
- eph = self.data
- tdiff = time - self.epoch
- # Clock correction (except for general relativity which is applied later)
- clock_err = -eph.tauN + tdiff * eph.gammaN
- clock_rate_err = eph.gammaN
-
- def glonass_diff_eq(state, acc):
- J2 = 1.0826257e-3
- mu = 3.9860044e14
- omega = 7.292115e-5
- ae = 6378136.0
- r = np.sqrt(state[0]**2 + state[1]**2 + state[2]**2)
- ders = np.zeros(6)
- if r**2 < 0:
- return ders
- a = 1.5 * J2 * mu * (ae**2)/ (r**5)
- b = 5 * (state[2]**2) / (r**2)
- c = -mu/(r**3) - a*(1-b)
-
- ders[0:3] = state[3:6]
- ders[3] = (c + omega**2)*state[0] + 2*omega*state[4] + acc[0]
- ders[4] = (c + omega**2)*state[1] - 2*omega*state[3] + acc[1]
- ders[5] = (c - 2*a)*state[2] + acc[2]
- return ders
-
- init_state = np.empty(6)
- init_state[0] = eph.x
- init_state[1] = eph.y
- init_state[2] = eph.z
- init_state[3] = eph.xVel
- init_state[4] = eph.yVel
- init_state[5] = eph.zVel
- init_state = 1000*init_state
- acc = 1000*np.array([eph.xAccel, eph.yAccel, eph.zAccel])
- state = init_state
- tstep = 90
- if tdiff < 0:
- tt = -tstep
- elif tdiff > 0:
- tt = tstep
- while abs(tdiff) > 1e-9:
- if abs(tdiff) < tstep:
- tt = tdiff
- k1 = glonass_diff_eq(state, acc)
- k2 = glonass_diff_eq(state + k1*tt/2, -acc)
- k3 = glonass_diff_eq(state + k2*tt/2, -acc)
- k4 = glonass_diff_eq(state + k3*tt, -acc)
- state += (k1 + 2*k2 + 2*k3 + k4)*tt/6.0
- tdiff -= tt
-
- pos = state[0:3]
- vel = state[3:6]
- return pos, vel, clock_err, clock_rate_err
-
-
-class PolyEphemeris(Ephemeris):
- def __init__(self, prn: str, data, epoch: GPSTime, ephem_type: EphemerisType,
- file_epoch: Optional[GPSTime] = None, file_name: Optional[str] = None, healthy=True, tgd=0,
- max_time_diff: int=SECS_IN_HR):
- super().__init__(prn, epoch, ephem_type, healthy, max_time_diff=max_time_diff, file_epoch=file_epoch, file_name=file_name)
- self.data = data
- self.tgd = tgd
-
- def _get_sat_info(self, time: GPSTime):
- dt = time - self.data['t0']
- deg = self.data['deg']
- deg_t = self.data['deg_t']
- indices = np.arange(deg+1)[:,np.newaxis]
- sat_pos = np.sum((dt**indices)*self.data['xyz'], axis=0)
- indices = indices[1:]
- sat_vel = np.sum(indices*(dt**(indices-1)*self.data['xyz'][1:]), axis=0)
- time_err = sum((dt**p)*self.data['clock'][deg_t-p] for p in range(deg_t+1))
- time_err_rate = sum(p*(dt**(p-1))*self.data['clock'][deg_t-p] for p in range(1,deg_t+1))
- time_err_with_rel = time_err - 2*np.inner(sat_pos, sat_vel)/SPEED_OF_LIGHT**2
- return sat_pos, sat_vel, time_err_with_rel, time_err_rate
-
-
-class GPSEphemeris(Ephemeris):
- def __init__(self, data, file_name=None):
- self.toe = GPSTime(data.toeWeek, data.toe)
- self.toc = GPSTime(data.tocWeek, data.toc)
- self.epoch = self.toc
-
- super().__init__('G%02i' % data.svId, self.epoch, EphemerisType.NAV, data.svHealth==0, max_time_diff=2*SECS_IN_HR, file_name=file_name)
- self.max_time_diff_tgd = SECS_IN_DAY
- self.data = data
- self.sqrta = np.sqrt(data.a)
-
- def get_tgd(self):
- return self.datatgd
-
- def _get_sat_info(self, time: GPSTime):
- eph = self.data
- tdiff = time - self.toc # Time of clock
- clock_err = eph.af0 + tdiff * (eph.af1 + tdiff * eph.af2)
- clock_rate_err = eph.af1 + 2 * tdiff * eph.af2\
-
- # Orbit propagation
- tdiff = time - self.toe # Time of ephemeris (might be different from time of clock)
-
- # Calculate position per IS-GPS-200D p 97 Table 20-IV
- a = self.sqrta * self.sqrta # [m] Semi-major axis
- ma_dot = sqrt(EARTH_GM / (a * a * a)) + eph.deltaN # [rad/sec] Corrected mean motion
- ma = eph.m0 + ma_dot * tdiff # [rad] Corrected mean anomaly
-
- # Iteratively solve for the Eccentric Anomaly (from Keith Alter and David Johnston)
- ea = ma # Starting value for E
-
- ea_old = 2222
- while fabs(ea - ea_old) > 1.0E-14:
- ea_old = ea
- tempd1 = 1.0 - eph.ecc * cos(ea_old)
- ea = ea + (ma - ea_old + eph.ecc * sin(ea_old)) / tempd1
- ea_dot = ma_dot / tempd1
-
- # Relativistic correction term
- einstein = -4.442807633E-10 * eph.ecc * self.sqrta * sin(ea)
-
- # Begin calc for True Anomaly and Argument of Latitude
- tempd2 = sqrt(1.0 - eph.ecc * eph.ecc)
- # [rad] Argument of Latitude = True Anomaly + Argument of Perigee
- al = atan2(tempd2 * sin(ea), cos(ea) - eph.ecc) + eph.omega
- al_dot = tempd2 * ea_dot / tempd1
-
- # Calculate corrected argument of latitude based on position
- cal = al + eph.cus * sin(2.0 * al) + eph.cuc * cos(2.0 * al)
- cal_dot = al_dot * (1.0 + 2.0 * (eph.cus * cos(2.0 * al) -
- eph.cuc * sin(2.0 * al)))
-
- # Calculate corrected radius based on argument of latitude
- r = a * tempd1 + eph.crc * cos(2.0 * al) + eph.crs * sin(2.0 * al)
- r_dot = (a * eph.ecc * sin(ea) * ea_dot +
- 2.0 * al_dot * (eph.crs * cos(2.0 * al) -
- eph.crc * sin(2.0 * al)))
-
- # Calculate inclination based on argument of latitude
- inc = (eph.i0 + eph.iDot * tdiff +
- eph.cic * cos(2.0 * al) +
- eph.cis * sin(2.0 * al))
- inc_dot = (eph.iDot +
- 2.0 * al_dot * (eph.cis * cos(2.0 * al) -
- eph.cic * sin(2.0 * al)))
-
- # Calculate position and velocity in orbital plane
- x = r * cos(cal)
- y = r * sin(cal)
- x_dot = r_dot * cos(cal) - y * cal_dot
- y_dot = r_dot * sin(cal) + x * cal_dot
-
- # Corrected longitude of ascending node
- om_dot = eph.omegaDot - EARTH_ROTATION_RATE
- om = eph.omega0 + tdiff * om_dot - EARTH_ROTATION_RATE * self.toe.tow
-
- # Compute the satellite's position in Earth-Centered Earth-Fixed coordinates
- pos = np.empty(3)
- pos[0] = x * cos(om) - y * cos(inc) * sin(om)
- pos[1] = x * sin(om) + y * cos(inc) * cos(om)
- pos[2] = y * sin(inc)
-
- tempd3 = y_dot * cos(inc) - y * sin(inc) * inc_dot
-
- # Compute the satellite's velocity in Earth-Centered Earth-Fixed coordinates
- vel = np.empty(3)
- vel[0] = -om_dot * pos[1] + x_dot * cos(om) - tempd3 * sin(om)
- vel[1] = om_dot * pos[0] + x_dot * sin(om) + tempd3 * cos(om)
- vel[2] = y * cos(inc) * inc_dot + y_dot * sin(inc)
-
- clock_err += einstein
-
- return pos, vel, clock_err, clock_rate_err
-
-
-def parse_sp3_orbits(file_names, supported_constellations, skip_until_epoch: Optional[GPSTime] = None) -> Dict[str, List[PolyEphemeris]]:
- if skip_until_epoch is None:
- skip_until_epoch = GPSTime(0, 0)
- data: Dict[str, List] = {}
- for file_name in file_names:
- if file_name is None:
- continue
- with open(file_name) as f:
- ephem_type = EphemerisType.from_file_name(file_name)
- file_epoch = None
- while True:
- line = f.readline()[:-1]
- if not line:
- break
- # epoch header
- if line[0:2] == '* ':
- year = int(line[3:7])
- month = int(line[8:10])
- day = int(line[11:13])
- hour = int(line[14:16])
- minute = int(line[17:19])
- second = int(float(line[20:31]))
- epoch = GPSTime.from_datetime(datetime(year, month, day, hour, minute, second))
- if file_epoch is None:
- file_epoch = epoch
- # pos line
- elif line[0] == 'P':
- # Skipping data can reduce the time significantly when parsing the ephemeris
- if epoch < skip_until_epoch:
- continue
- prn = line[1:4].replace(' ', '0')
- # In old SP3 files vehicle ID doesn't contain constellation
- # identifier. We assume that constellation is GPS when missing.
- if prn[0] == '0':
- prn = 'G' + prn[1:]
- if get_constellation(prn) not in supported_constellations:
- continue
- if prn not in data:
- data[prn] = []
- #TODO this is a crappy way to deal with overlapping ultra rapid
- if len(data[prn]) < 1 or epoch - data[prn][-1][1] > 0:
- parsed = [(ephem_type, file_epoch, file_name),
- epoch,
- 1e3 * float(line[4:18]),
- 1e3 * float(line[18:32]),
- 1e3 * float(line[32:46]),
- 1e-6 * float(line[46:60])]
- if (np.array(parsed[2:]) != 0).all():
- data[prn].append(parsed)
- ephems = {}
- for prn in data:
- ephems[prn] = read_prn_data(data, prn)
- return ephems
-
-
-def read_prn_data(data, prn, deg=16, deg_t=1):
- np_data_prn = np.array(data[prn], dtype=object)
- # Currently, don't even bother with satellites that have unhealthy times
- if len(np_data_prn) == 0 or (np_data_prn[:, 5] > .99).any():
- return []
- ephems = []
- for i in range(len(np_data_prn) - deg):
- epoch_index = i + deg // 2
- epoch = np_data_prn[epoch_index][1]
- measurements = np_data_prn[i:i + deg + 1, 1:5]
-
- times = (measurements[:, 0] - epoch).astype(float)
- if not (np.diff(times) != 900).any() and not (np.diff(times) != 300).any():
- continue
-
- poly_data = {}
- poly_data['t0'] = epoch
- with warnings.catch_warnings():
- warnings.simplefilter("ignore") # Ignores: UserWarning: The value of the smallest subnormal for type is zero.
- poly_data['xyz'] = poly.polyfit(times, measurements[:, 1:].astype(float), deg)
- poly_data['clock'] = [(np_data_prn[epoch_index + 1][5] - np_data_prn[epoch_index - 1][5]) / 1800, np_data_prn[epoch_index][5]]
- poly_data['deg'] = deg
- poly_data['deg_t'] = deg_t
- # It can happen that a mix of orbit ephemeris types are used in the polyfit.
- ephem_type, file_epoch, file_name = np_data_prn[epoch_index][0]
- ephems.append(PolyEphemeris(prn, poly_data, epoch, ephem_type, file_epoch, file_name, healthy=True))
- return ephems
-
-
-def parse_rinex_nav_msg_gps(file_name):
- ephems = defaultdict(list)
- got_header = False
- rinex_ver = None
- #ion_alpha = None
- #ion_beta = None
- f = open(file_name)
- while True:
- line = f.readline()[:-1]
- if not line:
- break
- if not got_header:
- if rinex_ver is None:
- if line[60:80] != "RINEX VERSION / TYPE":
- raise RuntimeError("Doesn't appear to be a RINEX file")
- rinex_ver = int(float(line[0:9]))
- if line[20] != "N":
- raise RuntimeError("Doesn't appear to be a Navigation Message file")
- #if line[60:69] == "ION ALPHA":
- # line = line.replace('D', 'E') # Handle bizarro float format
- # ion_alpha= [float(line[3:14]), float(line[15:26]), float(line[27:38]), float(line[39:50])]
- #if line[60:68] == "ION BETA":
- # line = line.replace('D', 'E') # Handle bizarro float format
- # ion_beta= [float(line[3:14]), float(line[15:26]), float(line[27:38]), float(line[39:50])]
- if line[60:73] == "END OF HEADER":
- #ion = ion_alpha + ion_beta
- got_header = True
- continue
- if rinex_ver == 3:
- if line[0] != 'G':
- continue
- if rinex_ver == 3:
- sv_id = int(line[1:3])
- epoch = GPSTime.from_datetime(datetime.strptime(line[4:23], "%y %m %d %H %M %S"))
- elif rinex_ver == 2:
- sv_id = int(line[0:2])
- # 2000 year is in RINEX file as 0, but Python requires two digit year: 00
- epoch_str = line[3:20]
- if epoch_str[0] == ' ':
- epoch_str = '0' + epoch_str[1:]
- epoch = GPSTime.from_datetime(datetime.strptime(epoch_str, "%y %m %d %H %M %S"))
- line = ' ' + line # Shift 1 char to the right
-
- line = line.replace('D', 'E') # Handle bizarro float format
- e = {'svId': sv_id}
- # TODO are TOC and TOE the same?
- e['toc'] = epoch.tow
- e['tocWeek'] = epoch.week
- e['af0'] = float(line[23:42])
- e['af1'] = float(line[42:61])
- e['af2'] = float(line[61:80])
-
- e['iode'], e['crs'], e['deltaN'], e['m0'] = read4(f, rinex_ver)
- e['cuc'], e['ecc'], e['cus'], sqrta = read4(f, rinex_ver)
- e['a'] = sqrta ** 2
- e['toe'], e['cic'], e['omega0'], e['cis'] = read4(f, rinex_ver)
- e['i0'], e['crc'], e['omega'], e['omegaDot'] = read4(f, rinex_ver)
- e['iDot'], e['codesL2'], e['toeWeek'], l2_pflag = read4(f, rinex_ver)
- e['svAcc'], e['svHealth'], e['tgd'], e['iodc'] = read4(f, rinex_ver)
- f.readline() # Discard last row
-
- data_struct = ephemeris_structs.Ephemeris.new_message(**e)
-
- ephem = GPSEphemeris(data_struct, file_name=file_name)
- ephems[ephem.prn].append(ephem)
- f.close()
- return ephems
-
-
-def parse_rinex_nav_msg_glonass(file_name):
- ephems = defaultdict(list)
- f = open(file_name)
- got_header = False
- rinex_ver = None
- while True:
- line = f.readline()[:-1]
- if not line:
- break
- if not got_header:
- if rinex_ver is None:
- if line[60:80] != "RINEX VERSION / TYPE":
- raise RuntimeError("Doesn't appear to be a RINEX file")
- rinex_ver = int(float(line[0:9]))
- if line[20] != "G":
- raise RuntimeError("Doesn't appear to be a Navigation Message file")
- if line[60:73] == "END OF HEADER":
- got_header = True
- continue
- if rinex_ver == 3:
- sv_id = int(line[1:3])
-
- epoch = utc_to_gpst(GPSTime.from_datetime(datetime.strptime(line[4:23], "%y %m %d %H %M %S")))
- elif rinex_ver == 2:
- sv_id = int(line[0:2])
- epoch = utc_to_gpst(GPSTime.from_datetime(datetime.strptime(line[3:20], "%y %m %d %H %M %S")))
- line = ' ' + line # Shift 1 char to the right
-
- line = line.replace('D', 'E') # Handle bizarro float format
- e = {'svId': sv_id}
- e['n4'], e['nt'], toe_seconds = epoch.as_glonass()
- tb = toe_seconds / (15 * SECS_IN_MIN)
-
-
- e['tb'] = tb
-
- e['tauN'] = -float(line[23:42])
- e['gammaN'] = float(line[42:61])
- e['tkSeconds'] = float(line[61:80])
-
- e['x'], e['xVel'], e['xAccel'], e['svHealth'] = read4(f, rinex_ver)
- e['y'], e['yVel'], e['yAccel'], e['freqNum'] = read4(f, rinex_ver)
- e['z'], e['zVel'], e['zAccel'], e['age'] = read4(f, rinex_ver)
-
- # TODO unclear why glonass sometimes has nav messages 3s after correct one
- if abs(tb - int(tb)) > 1e-3:
- continue
-
-
- data_struct = ephemeris_structs.GlonassEphemeris.new_message(**e)
- ephem = GLONASSEphemeris(data_struct, file_name=file_name)
-
- ephems[ephem.prn].append(ephem)
- f.close()
- return ephems
-
-
-def parse_qcom_ephem(qcom_poly):
- svId = qcom_poly.svId
- prn = get_prn_from_nmea_id(svId)
- epoch = GPSTime(qcom_poly.gpsWeek, qcom_poly.gpsTow)
-
- data = qcom_poly
- poly_data = {}
- poly_data['t0'] = epoch
- poly_data['xyz'] = np.array([
- [data.xyz0[0], data.xyzN[0], data.xyzN[1], data.xyzN[2]],
- [data.xyz0[1], data.xyzN[3], data.xyzN[4], data.xyzN[5]],
- [data.xyz0[2], data.xyzN[6], data.xyzN[7], data.xyzN[8]] ]).T
-
- poly_data['clock'] = [1e-3*data.other[3], 1e-3*data.other[2], 1e-3*data.other[1], 1e-3*data.other[0]]
- poly_data['deg'] = 3
- poly_data['deg_t'] = 3
- return PolyEphemeris(prn, poly_data, epoch, ephem_type=EphemerisType.QCOM_POLY, max_time_diff=300, file_name='qcom')
diff --git a/laika/gps_time.py b/laika/gps_time.py
deleted file mode 100644
index 293ff4548..000000000
--- a/laika/gps_time.py
+++ /dev/null
@@ -1,203 +0,0 @@
-import datetime
-
-
-def datetime_to_tow(t):
- """
- Convert a Python datetime object to GPS Week and Time Of Week.
- Does *not* convert from UTC to GPST.
- Fractional seconds are supported.
-
- Parameters
- ----------
- t : datetime
- A time to be converted, on the GPST timescale.
- mod1024 : bool, optional
- If True (default), the week number will be output in 10-bit form.
-
- Returns
- -------
- week, tow : tuple (int, float)
- The GPS week number and time-of-week.
- """
- # DateTime to GPS week and TOW
- wk_ref = datetime.datetime(2014, 2, 16, 0, 0, 0, 0, None)
- refwk = 1780
- wk = (t - wk_ref).days // 7 + refwk
- tow = ((t - wk_ref) - datetime.timedelta((wk - refwk) * 7.0)).total_seconds()
- return wk, tow
-
-
-def tow_to_datetime(tow, week):
- """
- Convert a GPS Week and Time Of Week to Python datetime object.
- Does *not* convert from GPST to UTC.
- Fractional seconds are supported.
-
- Parameters
- ----------
- tow : time of week in seconds
-
- weeks : gps week
-
-
- Returns
- -------
- t : datetime
- Python datetime
- """
- # GPS week and TOW to DateTime
- t = datetime.datetime(1980, 1, 6, 0, 0, 0, 0, None)
- t += datetime.timedelta(seconds=tow)
- t += datetime.timedelta(weeks=week)
- return t
-
-
-def get_leap_seconds(time):
- # TODO use library for this
- if time <= GPSTime.from_datetime(datetime.datetime(2006, 1, 1)):
- raise ValueError("Don't know how many leap seconds to use before 2006")
- elif time <= GPSTime.from_datetime(datetime.datetime(2009, 1, 1)):
- return 14
- elif time <= GPSTime.from_datetime(datetime.datetime(2012, 7, 1)):
- return 15
- elif time <= GPSTime.from_datetime(datetime.datetime(2015, 7, 1)):
- return 16
- elif time <= GPSTime.from_datetime(datetime.datetime(2017, 1, 1)):
- return 17
- else:
- return 18
-
-
-def gpst_to_utc(t_gpst):
- t_utc = t_gpst - get_leap_seconds(t_gpst)
- if utc_to_gpst(t_utc) - t_gpst != 0:
- return t_utc + 1
- else:
- return t_utc
-
-
-def utc_to_gpst(t_utc):
- t_gpst = t_utc + get_leap_seconds(t_utc)
- return t_gpst
-
-
-class GPSTime:
- """
- GPS time class to add and subtract [week, tow]
- """
- def __init__(self, week, tow):
- self.week = week
- self.tow = tow
- self.seconds_in_week = 604800
-
- @classmethod
- def from_datetime(cls, datetime):
- week, tow = datetime_to_tow(datetime)
- return cls(week, tow)
-
- @classmethod
- def from_glonass(cls, cycle, days, tow):
- # https://en.wikipedia.org/wiki/GLONASS
- # Day number (1 to 1461) within a four-year interval
- # starting on 1 January of the last leap year
- t = datetime.datetime(1992, 1, 1, 0, 0, 0, 0, None)
- t += datetime.timedelta(days=cycle*(365*4+1)+(days-1))
- # according to Moscow decree time.
- t -= datetime.timedelta(hours=3)
- t += datetime.timedelta(seconds=tow)
- ret = cls.from_datetime(t)
- return utc_to_gpst(ret)
-
- @classmethod
- def from_meas(cls, meas):
- return cls(meas[1], meas[2])
-
- def __sub__(self, other):
- if isinstance(other, type(self)):
- return (self.week - other.week)*self.seconds_in_week + self.tow - other.tow
- elif isinstance(other, float) or isinstance(other, int):
- new_week = self.week
- new_tow = self.tow - other
- while new_tow < 0:
- new_tow += self.seconds_in_week
- new_week -= 1
- return GPSTime(new_week, new_tow)
- raise NotImplementedError(f"subtracting {other} from {self}")
-
- def __add__(self, other):
- if isinstance(other, float) or isinstance(other, int):
- new_week = self.week
- new_tow = self.tow + other
- while new_tow >= self.seconds_in_week:
- new_tow -= self.seconds_in_week
- new_week += 1
- return GPSTime(new_week, new_tow)
- raise NotImplementedError(f"adding {other} from {self}")
-
- def __lt__(self, other):
- return self - other < 0
-
- def __gt__(self, other):
- return self - other > 0
-
- def __le__(self, other):
- return self - other <= 0
-
- def __ge__(self, other):
- return self - other >= 0
-
- def __eq__(self, other):
- return self - other == 0
-
- def as_datetime(self):
- return tow_to_datetime(self.tow, self.week)
-
- def as_glonass(self):
- time_utc = gpst_to_utc(self)
- datetime_utc = time_utc.as_datetime()
- datetime_glonass = datetime_utc + datetime.timedelta(hours=3)
-
- year = datetime_glonass.year
- cycle = (year - 1992) // 4
- days = (datetime_glonass - datetime.datetime(1992 + cycle*4, 1, 1)).days + 1
- tod = (datetime_glonass - datetime_glonass.replace(hour=0, minute=0, second=0, microsecond=0)).total_seconds()
- return cycle, days, tod
-
- def as_unix_timestamp(self):
- return (gpst_to_utc(self).as_datetime() - datetime.datetime(1970, 1, 1)).total_seconds()
-
- @property
- def day(self):
- return int(self.tow/(24*3600))
-
- def __repr__(self):
- return f"GPSTime(week={self.week}, tow={self.tow})"
-
-
-class TimeSyncer:
- """
- Converts logmonotime to gps_time and vice versa
- """
- def __init__(self, mono_time, gps_time):
- self.ref_mono_time = mono_time
- self.ref_gps_time = gps_time
-
- @classmethod
- def from_datetime(cls, datetime):
- week, tow = datetime_to_tow(datetime)
- return cls(week, tow)
-
- @classmethod
- def from_logs(cls, raw_qcom_measurement_report, clocks):
- #TODO
- #return cls(week, mono_time, gps_time)
- return None
-
- def mono2gps(self, mono_time):
- return self.ref_gps_time + mono_time - self.ref_mono_time
-
- def gps2mono(self, gps_time):
- return gps_time - self.ref_gps_time + self.ref_mono_time
-
- def __str__(self):
- return f"Reference mono time: {self.ref_mono_time} \n Reference gps time: {self.ref_gps_time}"
diff --git a/laika/helpers.py b/laika/helpers.py
deleted file mode 100644
index b8694ad2a..000000000
--- a/laika/helpers.py
+++ /dev/null
@@ -1,221 +0,0 @@
-from enum import IntEnum
-from typing import Dict
-
-import numpy as np
-from .lib.coordinates import LocalCoord
-
-
-class ConstellationId(IntEnum):
- # Int values match Ublox gnssid version 8
- GPS = 0
- SBAS = 1
- GALILEO = 2
- BEIDOU = 3
- IMES = 4
- QZNSS = 5
- GLONASS = 6
- # Not supported by Ublox:
- IRNSS = 7
-
- def to_rinex_char(self) -> str:
- # returns single character id
- return RINEX_CONSTELLATION_TO_ID[self]
-
- @classmethod
- def from_rinex_char(cls, c: str):
- if c in RINEX_ID_TO_CONSTELLATION:
- return RINEX_ID_TO_CONSTELLATION[c]
- else:
- raise ValueError("Unknown rinex constellation id: ", c)
-
- @classmethod
- def from_qcom_source(cls, report_source: int):
- if report_source == 0:
- return ConstellationId.GPS
- if report_source == 1:
- return ConstellationId.GLONASS
- if report_source == 2:
- return ConstellationId.BEIDOU
- if report_source == 6:
- return ConstellationId.SBAS
- raise NotImplementedError('Only GPS (0), GLONASS (1), BEIDOU (2) and SBAS (6) are supported from qcom, not:', {report_source})
-
-
-# From https://gpsd.gitlab.io/gpsd/NMEA.html#_satellite_ids
-# NmeaId is the unique 3 digits id for every satellite globally. (Example: 001, 201)
-# SvId is the 2 digits satellite id that is unique within a constellation. (Get the unique satellite with the constellation id. Examples: G01, R01)
-CONSTELLATION_TO_NMEA_RANGES = {
- # NmeaId ranges for each constellation with its svId offset.
- # constellation: [(start, end, svIdOffset)]
- # svId = nmeaId + offset
- ConstellationId.GPS: [(1, 32, 0)], # svId [1,32]
- ConstellationId.SBAS: [(33, 64, -32), (120, 158, -87)], # svId [1,71]
- ConstellationId.GLONASS: [(65, 96, -64)], # svId [1,31]
- ConstellationId.IMES: [(173, 182, -172)], # svId [1,9]
- ConstellationId.QZNSS: [(193, 200, -192)], # svId [1,28] # todo should be QZSS
- ConstellationId.BEIDOU: [(201, 235, -200), (401, 437, -365)], # svId 1-72
- ConstellationId.GALILEO: [(301, 336, -300)] # svId 1-36
-}
-#
-# # Source: RINEX 3.04
-RINEX_CONSTELLATION_TO_ID: Dict[ConstellationId, str] = {
- ConstellationId.GPS: 'G',
- ConstellationId.GLONASS: 'R',
- ConstellationId.SBAS: 'S',
- ConstellationId.GALILEO: 'E',
- ConstellationId.BEIDOU: 'C',
- ConstellationId.QZNSS: 'J',
- ConstellationId.IRNSS: 'I'
-}
-
-# Make above dictionary bidirectional map:
-# Now you can ask for constellation using:
-# >>> RINEX_CONSTELLATION_IDENTIFIERS['R']
-# "GLONASS"
-RINEX_ID_TO_CONSTELLATION: Dict[str, ConstellationId] = {con_id: con for con, con_id in RINEX_CONSTELLATION_TO_ID.items()}
-
-
-def get_el_az(pos, sat_pos):
- converter = LocalCoord.from_ecef(pos)
- sat_ned = converter.ecef2ned(sat_pos)
- sat_range = np.linalg.norm(sat_ned)
-
- el = np.arcsin(-sat_ned[2] / sat_range) # pylint: disable=unsubscriptable-object
- az = np.arctan2(sat_ned[1], sat_ned[0]) # pylint: disable=unsubscriptable-object
- return el, az
-
-
-def get_closest(time, candidates, recv_pos=None):
- if recv_pos is None:
- # Takes a list of object that have an epoch(GPSTime) value
- # and return the one that is closest the given time (GPSTime)
- return min(candidates, key=lambda candidate: abs(time - candidate.epoch), default=None)
-
- return min(
- (candidate for candidate in candidates if candidate.valid(time, recv_pos)),
- key=lambda candidate: np.linalg.norm(recv_pos - candidate.pos),
- default=None,
- )
-
-def get_constellation(prn: str):
- identifier = prn[0]
- return ConstellationId.from_rinex_char(identifier)
-
-def get_sv_id(prn: str):
- return int(prn[1:])
-
-def get_constellation_and_sv_id(nmea_id):
- for c, ranges in CONSTELLATION_TO_NMEA_RANGES.items():
- for (start, end, sv_id_offset) in ranges:
- if start <= nmea_id <= end:
- sv_id = nmea_id + sv_id_offset
- return c, sv_id
-
- raise ValueError(f"constellation not found for nmeaid {nmea_id}")
-
-
-def get_prn_from_nmea_id(nmea_id: int):
- c_id, sv_id = get_constellation_and_sv_id(nmea_id)
- return "%s%02d" % (c_id.to_rinex_char(), sv_id)
-
-
-def get_nmea_id_from_prn(prn: str):
- constellation = get_constellation(prn)
- sv_id = int(prn[1:]) # satellite id
- return get_nmea_id_from_constellation_and_svid(constellation, sv_id)
-
-
-def get_nmea_id_from_constellation_and_svid(constellation: ConstellationId, sv_id: int):
- ranges = CONSTELLATION_TO_NMEA_RANGES[constellation]
- for (start, end, sv_id_offset) in ranges:
- new_nmea_id = sv_id - sv_id_offset
- if start <= new_nmea_id <= end:
- return new_nmea_id
-
- raise ValueError(f"NMEA ID not found for constellation {constellation.name} with satellite id {sv_id}")
-
-
-def rinex3_obs_from_rinex2_obs(observable):
- if observable == 'P2':
- return 'C2P'
- if len(observable) == 2:
- return observable + 'C'
- raise NotImplementedError("Don't know this: " + observable)
-
-
-class TimeRangeHolder:
- '''Class to support test if date is in any of the multiple, sparse ranges'''
-
- def __init__(self):
- # Sorted list
- self._ranges = []
-
- def _previous_and_contains_index(self, time):
- prev = None
- current = None
-
- for idx, (start, end) in enumerate(self._ranges):
- # Time may be in next range
- if time > end:
- continue
-
- # Time isn't in any next range
- if time < start:
- prev = idx - 1
- current = None
- # Time is in current range
- else:
- prev = idx - 1
- current = idx
- break
-
- # Break in last loop
- if prev is None:
- prev = len(self._ranges) - 1
-
- return prev, current
-
- def add(self, start_time, end_time):
- prev_start, current_start = self._previous_and_contains_index(start_time)
- _, current_end = self._previous_and_contains_index(end_time)
-
- # Merge ranges
- if current_start is not None and current_end is not None:
- # If ranges are different then merge
- if current_start != current_end:
- new_start, _ = self._ranges[current_start]
- _, new_end = self._ranges[current_end]
- new_range = (new_start, new_end)
- # Required reversed order to correct remove
- del self._ranges[current_end]
- del self._ranges[current_start]
- self._ranges.insert(current_start, new_range)
- # Extend range - left
- elif current_start is not None:
- new_start, _ = self._ranges[current_start]
- new_range = (new_start, end_time)
- del self._ranges[current_start]
- self._ranges.insert(current_start, new_range)
- # Extend range - right
- elif current_end is not None:
- _, new_end = self._ranges[current_end]
- new_range = (start_time, new_end)
- del self._ranges[current_end]
- self._ranges.insert(prev_start + 1, new_range)
- # Create new range
- else:
- new_range = (start_time, end_time)
- self._ranges.insert(prev_start + 1, new_range)
-
- def __contains__(self, time):
- for start, end in self._ranges:
- # Time may be in next range
- if time > end:
- continue
-
- # Time isn't in any next range
- if time < start:
- return False
- # Time is in current range
- return True
- return False
diff --git a/laika/iono.py b/laika/iono.py
deleted file mode 100644
index 8228599c0..000000000
--- a/laika/iono.py
+++ /dev/null
@@ -1,256 +0,0 @@
-import datetime as dt
-import numpy as np
-import re
-from math import cos, sin, pi, floor
-from .constants import SECS_IN_MIN, SECS_IN_HR, EARTH_RADIUS
-from .lib.coordinates import LocalCoord
-from .gps_time import GPSTime
-
-# Altitude of Ionospheric-pierce-point
-IPP_ALT = 6821000
-
-def get_alpha_beta(rcv_pos, el):
- geocentric_alt = np.linalg.norm(rcv_pos)
- alpha = np.pi/2 + el
- arcsin_arg = geocentric_alt*np.sin(alpha)/IPP_ALT
- beta = np.arcsin(np.clip(arcsin_arg, -1, 1))
- return alpha, beta
-
-def get_slant_delay(rcv_pos, az, el, sat_pos, time, freq, vertical_delay):
- alpha, beta = get_alpha_beta(rcv_pos, el)
- slant_delay = vertical_delay * ((1 - ((EARTH_RADIUS * np.sin(beta)) /
- (EARTH_RADIUS + 3.5e5))**2)**(-0.5))
- return slant_delay
-
-def closest_in_list(lst, val, num=2):
- """
- Returns two (`num` in general) closest values of `val` in list `lst`
- """
- idxs = sorted(lst, key=lambda x: abs(x - val))[:num]
- return sorted(list(lst).index(x) for x in idxs)
-
-
-def get_header_line(headr, proprty):
- """
- :param headr: the header of the RINEX-file
- :param proprty: string-like property to search for (e.g. 'delta-utc')
- :return: the string of the ``headr`` containing ``property``
- """
- pattern = re.compile(proprty, re.IGNORECASE)
- for d in headr:
- if pattern.search(d):
- return d
-
-
-def get_header_body(file_path):
- """
- Opens `file_path`, reads file and returns header and body
- separated with "END OF HEADER"
- :param file_path: path to RINEX-like file
- :return: header, body (arrays of lines)
- """
- with open(file_path) as fd:
- data = fd.readlines()
- for j, d in enumerate(data):
- if "END OF HEADER" in d:
- header_end = j
- break
- return data[:header_end], data[header_end + 1:]
-
-
-def get_int_from_header(hdr, seq):
- """
- Returns the first int from the line that contains `seq` of lines `hdr`.
- In fact, _header_ here may not be header of RINEX/IONEX, just some set of lines.
- """
- return int(get_header_line(hdr, seq).split()[0])
-
-def compute_grid_lats_lons(data):
- grid = np.array([], dtype='uint16')
- lats = np.array([])
- for j, line in enumerate(data[1:]):
- if "LAT" in line:
- lat, lon1, lon2, dlon, h = (float(line[x:x + 6]) for x in range(2, 32, 6))
- lats = np.append(lats, lat)
- row_length = (lon2 - lon1) / dlon + 1 # total number of values of longitudes
- next_lines_with_numbers = int(np.ceil(row_length / 16))
- elems_in_row = [
- min(16, int(row_length - i * 16)) for i in range(next_lines_with_numbers)
- ]
- row = np.array([], dtype='int16')
- for i, elem in enumerate(elems_in_row):
- row = np.append(
- row,
- np.array(
- [int(data[j + 2 + i][5 * x:5 * x + 5]) for x in range(elem)],
- dtype='int16',
- ),
- )
- if len(grid) > 0:
- grid = np.vstack((grid, row))
- else:
- grid = np.append(grid, row)
- lons = np.linspace(lon1, lon2, int(row_length))
- return (grid, lats, lons)
-
-
-class IonexMap:
- def __init__(self, exp, data1, data2):
- self.exp = exp
- self.t1 = GPSTime.from_datetime(dt.datetime(*[int(d) for d in data1[0].split()[:6]]))
- self.t2 = GPSTime.from_datetime(dt.datetime(*[int(d) for d in data2[0].split()[:6]]))
- assert self.t2 - self.t1 == SECS_IN_HR
- assert len(data1) == len(data2)
-
- self.max_time_diff = SECS_IN_MIN*30
- self.epoch = self.t1 + self.max_time_diff
-
- self.grid_TEC1, self.lats, self.lons = compute_grid_lats_lons(data1)
- self.grid_TEC2, self.lats, self.lons = compute_grid_lats_lons(data2)
-
- def valid(self, time):
- return abs(time - self.epoch) <= self.max_time_diff
-
- @staticmethod
- def find_nearest(lst, val):
- return (np.abs(lst - val)).argmin()
-
- def get_TEC(self, pos, time):
- """
- Returns TEC in a position `pos` of ionosphere
- :param pos: (lat, lon) [deg, deg]
- :return:
- """
- if pos[0] in self.lats and pos[1] in self.lons:
- lat = self.find_nearest(self.lats, pos[0])
- lon = self.find_nearest(self.lons, pos[1])
- E = self.grid_TEC1[lat][lon] + self.grid_TEC2[lat][lon]
- return E
- lat_idxs = closest_in_list(self.lats, pos[0])
- lon_idxs = closest_in_list(self.lons, pos[1])
- lat0, lat1 = self.lats[lat_idxs[0]], self.lats[lat_idxs[1]]
- lon0, lon1 = self.lons[lon_idxs[0]], self.lons[lon_idxs[1]]
- dlat = lat1 - lat0
- dlon = lon1 - lon0
- p = float(pos[0] - lat0) / dlat
- q = float(pos[1] - lon0) / dlon
-
- (E00, E10), (E01, E11) = self.grid_TEC1[lat_idxs[0]:lat_idxs[1] + 1, lon_idxs[0]:lon_idxs[1] + 1]
- TEC_1 = ((1 - p) * (1 - q) * E00 + p * (1 - q) * E01 + (1 - p) * q * E10 + p * q * E11)
- (E00, E10), (E01, E11) = self.grid_TEC2[lat_idxs[0]:lat_idxs[1] + 1, lon_idxs[0]:lon_idxs[1] + 1]
- TEC_2 = ((1 - p) * (1 - q) * E00 + p * (1 - q) * E01 + (1 - p) * q * E10 + p * q * E11)
-
- return (1 - (time - self.t1)/SECS_IN_HR)*TEC_1 + ((time - self.t1)/SECS_IN_HR)*TEC_2
-
- def get_delay(self, rcv_pos, az, el, sat_pos, time, freq):
- # To get a delay from a TEC map, we need to calculate
- # the ionospheric pierce point, geometry described here
- # https://en.wikipedia.org/wiki/Ionospheric_pierce_point
- alpha, beta = get_alpha_beta(rcv_pos, el)
- conv = LocalCoord.from_ecef(rcv_pos)
- gamma = np.pi - alpha - beta
- geocentric_alt = np.linalg.norm(rcv_pos)
- ipp_dist = geocentric_alt*np.sin(gamma)/np.sin(beta)
- ipp_ned = conv.ecef2ned(sat_pos)*(ipp_dist)/np.linalg.norm(sat_pos)
- ipp_geo = conv.ned2geodetic(ipp_ned)
- factor = 40.30E16 / (freq**2) * 10**(self.exp)
- vertical_delay = self.get_TEC(ipp_geo, time) * factor
- slant_delay = get_slant_delay(rcv_pos, az, el, sat_pos, time, freq, vertical_delay)
- return slant_delay
-
- @staticmethod
- def round_to_grid(number, base):
- return int(base * round(float(number) / base))
-
-
-def parse_ionex(ionex_file):
- """
- :param ionex_file: path to the IONEX file
- :return: TEC interpolation function `f( (lat,lon), datetime )`
- """
- header, body = get_header_body(ionex_file)
-
- exponent = get_int_from_header(header, "EXPONENT")
- maps_count = get_int_from_header(header, "MAPS IN FILE")
- # =============
- # Separate maps
- # =============
- map_start_idx = []
- map_end_idx = []
-
- for j, line in enumerate(body):
- if "START OF TEC MAP" in line:
- map_start_idx += [j]
- elif "END OF TEC MAP" in line:
- map_end_idx += [j]
- if maps_count != len(map_start_idx):
- raise LookupError("Parsing error: the number of maps in the header " +
- "is not equal to the number of maps in the body.")
- if len(map_start_idx) != len(map_end_idx):
- raise IndexError("Starts end ends numbers are not equal.")
- map_dates = []
- for i in range(maps_count):
- date_components = body[map_start_idx[i] + 1].split()[:6]
- map_dates.append(dt.datetime(*[int(d) for d in date_components]))
-
- maps = []
- iono_map = iono_map_prev = None
- for m in range(maps_count):
- iono_map_prev = iono_map
- iono_map = body[map_start_idx[m] + 1:map_end_idx[m]]
- if iono_map and iono_map_prev:
- maps += [IonexMap(exponent, iono_map_prev, iono_map)]
- return maps
-
-
-def klobuchar(pos, az, el, time, iono_coeffs):
- """
- Details are taken from [5]: IS-GPS-200H, Fig. 20-4
- Note: result is referred to the GPS L₁ frequency;
- if the user is operating on the GPS L₂ frequency, the correction term must
- be multiplied by γ = f₂²/f₁¹ = 0.6071850227694382
- :param pos: [lat, lon, alt] in radians and meters
- """
-
- tow = time.tow
- if pos[2] < -1E3 or el < 0:
- return 0.0
- if len(iono_coeffs) < 8:
- return None
-
- # earth centered angle (semi-circle)
- psi = 0.0137 / (el / pi + 0.11) - 0.022
-
- # subionospheric latitude/longitude (semi-circle)
- phi = pos[0] / pi + psi * cos(az)
- if phi > 0.416:
- phi = 0.416
- elif phi < -0.416:
- phi = -0.416
- lam = pos[1] / pi + psi * sin(az) / cos(phi * pi)
-
- # geomagnetic latitude (semi-circle) */
- phi += 0.064 * cos((lam - 1.617) * pi)
-
- # local time (s)
- tt = 43200.0 * lam + tow
- tt -= floor(tt / 86400.0) * 86400.0 # 0<=tt<86400
-
- # slant factor
- f = 1.0 + 16.0 * pow(0.53 - el / pi, 3.0)
-
- # ionospheric delay
- amp = iono_coeffs[0] + phi * (iono_coeffs[1] + phi *
- (iono_coeffs[2] + phi * iono_coeffs[3]))
- per = iono_coeffs[4] + phi * (iono_coeffs[5] + phi *
- (iono_coeffs[6] + phi * iono_coeffs[7]))
- if amp < 0.0:
- amp = 0.
- if per < 72000.0:
- per = 72000.0
- x = 2.0 * pi * (tt - 50400.0) / per
-
- mul = 5E-9
- if abs(x) < 1.57:
- mul = (5E-9 + amp * (1.0 + x * x * (-0.5 + x * x / 24.0)))
- return 2.99792458E8 * f * mul
diff --git a/laika/lib/coordinates.py b/laika/lib/coordinates.py
deleted file mode 100644
index c6e584f83..000000000
--- a/laika/lib/coordinates.py
+++ /dev/null
@@ -1,106 +0,0 @@
-import numpy as np
-"""
-Coordinate transformation module. All methods accept arrays as input
-with each row as a position.
-"""
-
-
-a = 6378137
-b = 6356752.3142
-esq = 6.69437999014 * 0.001
-e1sq = 6.73949674228 * 0.001
-
-
-def geodetic2ecef(geodetic, radians=False):
- geodetic = np.array(geodetic)
- input_shape = geodetic.shape
- geodetic = np.atleast_2d(geodetic)
-
- ratio = 1.0 if radians else (np.pi / 180.0)
- lat = ratio*geodetic[:,0]
- lon = ratio*geodetic[:,1]
- alt = geodetic[:,2]
-
- xi = np.sqrt(1 - esq * np.sin(lat)**2)
- x = (a / xi + alt) * np.cos(lat) * np.cos(lon)
- y = (a / xi + alt) * np.cos(lat) * np.sin(lon)
- z = (a / xi * (1 - esq) + alt) * np.sin(lat)
- ecef = np.array([x, y, z]).T
- return ecef.reshape(input_shape)
-
-
-def ecef2geodetic(ecef, radians=False):
- """
- Convert ECEF coordinates to geodetic using ferrari's method
- """
- # Save shape and export column
- ecef = np.atleast_1d(ecef)
- input_shape = ecef.shape
- ecef = np.atleast_2d(ecef)
- x, y, z = ecef[:, 0], ecef[:, 1], ecef[:, 2]
-
- ratio = 1.0 if radians else (180.0 / np.pi)
-
- # Conver from ECEF to geodetic using Ferrari's methods
- # https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#Ferrari.27s_solution
- r = np.sqrt(x * x + y * y)
- Esq = a * a - b * b
- F = 54 * b * b * z * z
- G = r * r + (1 - esq) * z * z - esq * Esq
- C = (esq * esq * F * r * r) / (pow(G, 3))
- S = np.cbrt(1 + C + np.sqrt(C * C + 2 * C))
- P = F / (3 * pow((S + 1 / S + 1), 2) * G * G)
- Q = np.sqrt(1 + 2 * esq * esq * P)
- r_0 = -(P * esq * r) / (1 + Q) + np.sqrt(0.5 * a * a*(1 + 1.0 / Q) -
- P * (1 - esq) * z * z / (Q * (1 + Q)) - 0.5 * P * r * r)
- U = np.sqrt(pow((r - esq * r_0), 2) + z * z)
- V = np.sqrt(pow((r - esq * r_0), 2) + (1 - esq) * z * z)
- Z_0 = b * b * z / (a * V)
- h = U * (1 - b * b / (a * V))
- lat = ratio*np.arctan((z + e1sq * Z_0) / r)
- lon = ratio*np.arctan2(y, x)
-
- # stack the new columns and return to the original shape
- geodetic = np.column_stack((lat, lon, h))
- return geodetic.reshape(input_shape)
-
-class LocalCoord:
- """
- Allows conversions to local frames. In this case NED.
- That is: North East Down from the start position in
- meters.
- """
- def __init__(self, init_geodetic, init_ecef):
- self.init_ecef = init_ecef
- lat, lon, _ = (np.pi/180)*np.array(init_geodetic)
- self.ned2ecef_matrix = np.array([[-np.sin(lat)*np.cos(lon), -np.sin(lon), -np.cos(lat)*np.cos(lon)],
- [-np.sin(lat)*np.sin(lon), np.cos(lon), -np.cos(lat)*np.sin(lon)],
- [np.cos(lat), 0, -np.sin(lat)]])
- self.ecef2ned_matrix = self.ned2ecef_matrix.T
-
- @classmethod
- def from_geodetic(cls, init_geodetic):
- init_ecef = geodetic2ecef(init_geodetic)
- return LocalCoord(init_geodetic, init_ecef)
-
- @classmethod
- def from_ecef(cls, init_ecef):
- init_geodetic = ecef2geodetic(init_ecef)
- return LocalCoord(init_geodetic, init_ecef)
-
- def ecef2ned(self, ecef):
- ecef = np.array(ecef)
- return np.dot(self.ecef2ned_matrix, (ecef - self.init_ecef).T).T
-
- def ned2ecef(self, ned):
- ned = np.array(ned)
- # Transpose so that init_ecef will broadcast correctly for 1d or 2d ned.
- return (np.dot(self.ned2ecef_matrix, ned.T).T + self.init_ecef)
-
- def geodetic2ned(self, geodetic):
- ecef = geodetic2ecef(geodetic)
- return self.ecef2ned(ecef)
-
- def ned2geodetic(self, ned):
- ecef = self.ned2ecef(ned)
- return ecef2geodetic(ecef)
diff --git a/laika/lib/orientation.py b/laika/lib/orientation.py
deleted file mode 100644
index 5f8d5d2b3..000000000
--- a/laika/lib/orientation.py
+++ /dev/null
@@ -1,291 +0,0 @@
-import numpy as np
-from numpy import dot, inner, array, linalg
-from .coordinates import LocalCoord
-
-
-'''
-Vectorized functions that transform between
-rotation matrices, euler angles and quaternions.
-All support lists, array or array of arrays as inputs.
-Supports both x2y and y_from_x format (y_from_x preferred!).
-'''
-
-def euler2quat(eulers):
- eulers = array(eulers)
- if len(eulers.shape) > 1:
- output_shape = (-1,4)
- else:
- output_shape = (4,)
- eulers = np.atleast_2d(eulers)
- gamma, theta, psi = eulers[:,0], eulers[:,1], eulers[:,2]
-
- cos_half_gamma = np.cos(gamma / 2)
- cos_half_theta = np.cos(theta / 2)
- cos_half_psi = np.cos(psi / 2)
- sin_half_gamma = np.sin(gamma / 2)
- sin_half_theta = np.sin(theta / 2)
- sin_half_psi = np.sin(psi / 2)
- q0 = cos_half_gamma * cos_half_theta * cos_half_psi + sin_half_gamma * sin_half_theta * sin_half_psi
- q1 = sin_half_gamma * cos_half_theta * cos_half_psi - cos_half_gamma * sin_half_theta * sin_half_psi
- q2 = cos_half_gamma * sin_half_theta * cos_half_psi + sin_half_gamma * cos_half_theta * sin_half_psi
- q3 = cos_half_gamma * cos_half_theta * sin_half_psi - sin_half_gamma * sin_half_theta * cos_half_psi
-
- quats = array([q0, q1, q2, q3]).T
- for i in range(len(quats)):
- if quats[i,0] < 0:
- quats[i] = -quats[i]
- return quats.reshape(output_shape)
-
-
-def quat2euler(quats):
- quats = array(quats)
- if len(quats.shape) > 1:
- output_shape = (-1,3)
- else:
- output_shape = (3,)
- quats = np.atleast_2d(quats)
- q0, q1, q2, q3 = quats[:,0], quats[:,1], quats[:,2], quats[:,3]
-
- gamma = np.arctan2(2 * (q0 * q1 + q2 * q3), 1 - 2 * (q1**2 + q2**2))
- theta = np.arcsin(2 * (q0 * q2 - q3 * q1))
- psi = np.arctan2(2 * (q0 * q3 + q1 * q2), 1 - 2 * (q2**2 + q3**2))
-
- eulers = array([gamma, theta, psi]).T
- return eulers.reshape(output_shape)
-
-
-def quat2rot(quats):
- quats = array(quats)
- input_shape = quats.shape
- quats = np.atleast_2d(quats)
- Rs = np.zeros((quats.shape[0], 3, 3))
- q0 = quats[:, 0]
- q1 = quats[:, 1]
- q2 = quats[:, 2]
- q3 = quats[:, 3]
- Rs[:, 0, 0] = q0 * q0 + q1 * q1 - q2 * q2 - q3 * q3
- Rs[:, 0, 1] = 2 * (q1 * q2 - q0 * q3)
- Rs[:, 0, 2] = 2 * (q0 * q2 + q1 * q3)
- Rs[:, 1, 0] = 2 * (q1 * q2 + q0 * q3)
- Rs[:, 1, 1] = q0 * q0 - q1 * q1 + q2 * q2 - q3 * q3
- Rs[:, 1, 2] = 2 * (q2 * q3 - q0 * q1)
- Rs[:, 2, 0] = 2 * (q1 * q3 - q0 * q2)
- Rs[:, 2, 1] = 2 * (q0 * q1 + q2 * q3)
- Rs[:, 2, 2] = q0 * q0 - q1 * q1 - q2 * q2 + q3 * q3
-
- if len(input_shape) < 2:
- return Rs[0]
- return Rs
-
-
-def rot2quat(rots):
- input_shape = rots.shape
- if len(input_shape) < 3:
- rots = array([rots])
- K3 = np.empty((len(rots), 4, 4))
- K3[:, 0, 0] = (rots[:, 0, 0] - rots[:, 1, 1] - rots[:, 2, 2]) / 3.0
- K3[:, 0, 1] = (rots[:, 1, 0] + rots[:, 0, 1]) / 3.0
- K3[:, 0, 2] = (rots[:, 2, 0] + rots[:, 0, 2]) / 3.0
- K3[:, 0, 3] = (rots[:, 1, 2] - rots[:, 2, 1]) / 3.0
- K3[:, 1, 0] = K3[:, 0, 1]
- K3[:, 1, 1] = (rots[:, 1, 1] - rots[:, 0, 0] - rots[:, 2, 2]) / 3.0
- K3[:, 1, 2] = (rots[:, 2, 1] + rots[:, 1, 2]) / 3.0
- K3[:, 1, 3] = (rots[:, 2, 0] - rots[:, 0, 2]) / 3.0
- K3[:, 2, 0] = K3[:, 0, 2]
- K3[:, 2, 1] = K3[:, 1, 2]
- K3[:, 2, 2] = (rots[:, 2, 2] - rots[:, 0, 0] - rots[:, 1, 1]) / 3.0
- K3[:, 2, 3] = (rots[:, 0, 1] - rots[:, 1, 0]) / 3.0
- K3[:, 3, 0] = K3[:, 0, 3]
- K3[:, 3, 1] = K3[:, 1, 3]
- K3[:, 3, 2] = K3[:, 2, 3]
- K3[:, 3, 3] = (rots[:, 0, 0] + rots[:, 1, 1] + rots[:, 2, 2]) / 3.0
- q = np.empty((len(rots), 4))
- for i in range(len(rots)):
- _, eigvecs = linalg.eigh(K3[i].T)
- eigvecs = eigvecs[:,3:]
- q[i, 0] = eigvecs[-1]
- q[i, 1:] = -eigvecs[:-1].flatten()
- if q[i, 0] < 0:
- q[i] = -q[i]
-
- if len(input_shape) < 3:
- return q[0]
- return q
-
-
-def euler2rot(eulers):
- return rotations_from_quats(euler2quat(eulers))
-
-
-def rot2euler(rots):
- return quat2euler(quats_from_rotations(rots))
-
-
-quats_from_rotations = rot2quat
-quat_from_rot = rot2quat
-rotations_from_quats = quat2rot
-rot_from_quat= quat2rot
-rot_from_quat= quat2rot
-euler_from_rot = rot2euler
-euler_from_quat = quat2euler
-rot_from_euler = euler2rot
-quat_from_euler = euler2quat
-
-
-'''
-Random helpers below
-'''
-
-
-def quat_product(q, r):
- t = np.zeros(4)
- t[0] = r[0] * q[0] - r[1] * q[1] - r[2] * q[2] - r[3] * q[3]
- t[1] = r[0] * q[1] + r[1] * q[0] - r[2] * q[3] + r[3] * q[2]
- t[2] = r[0] * q[2] + r[1] * q[3] + r[2] * q[0] - r[3] * q[1]
- t[3] = r[0] * q[3] - r[1] * q[2] + r[2] * q[1] + r[3] * q[0]
- return t
-
-
-def rot_matrix(roll, pitch, yaw):
- cr, sr = np.cos(roll), np.sin(roll)
- cp, sp = np.cos(pitch), np.sin(pitch)
- cy, sy = np.cos(yaw), np.sin(yaw)
- rr = array([[1,0,0],[0, cr,-sr],[0, sr, cr]])
- rp = array([[cp,0,sp],[0, 1,0],[-sp, 0, cp]])
- ry = array([[cy,-sy,0],[sy, cy,0],[0, 0, 1]])
- return ry.dot(rp.dot(rr))
-
-
-def rot(axis, angle):
- # Rotates around an arbitrary axis
- ret_1 = (1 - np.cos(angle)) * array([[axis[0]**2, axis[0] * axis[1], axis[0] * axis[2]], [
- axis[1] * axis[0], axis[1]**2, axis[1] * axis[2]
- ], [axis[2] * axis[0], axis[2] * axis[1], axis[2]**2]])
- ret_2 = np.cos(angle) * np.eye(3)
- ret_3 = np.sin(angle) * array([[0, -axis[2], axis[1]], [axis[2], 0, -axis[0]],
- [-axis[1], axis[0], 0]])
- return ret_1 + ret_2 + ret_3
-
-
-def ecef_euler_from_ned(ned_ecef_init, ned_pose):
- '''
- Got it from here:
- Using Rotations to Build Aerospace Coordinate Systems
- -Don Koks
- '''
- converter = LocalCoord.from_ecef(ned_ecef_init)
- x0 = converter.ned2ecef([1, 0, 0]) - converter.ned2ecef([0, 0, 0])
- y0 = converter.ned2ecef([0, 1, 0]) - converter.ned2ecef([0, 0, 0])
- z0 = converter.ned2ecef([0, 0, 1]) - converter.ned2ecef([0, 0, 0])
-
- x1 = rot(z0, ned_pose[2]).dot(x0)
- y1 = rot(z0, ned_pose[2]).dot(y0)
- z1 = rot(z0, ned_pose[2]).dot(z0)
-
- x2 = rot(y1, ned_pose[1]).dot(x1)
- y2 = rot(y1, ned_pose[1]).dot(y1)
- z2 = rot(y1, ned_pose[1]).dot(z1)
-
- x3 = rot(x2, ned_pose[0]).dot(x2)
- y3 = rot(x2, ned_pose[0]).dot(y2)
- #z3 = rot(x2, ned_pose[0]).dot(z2)
-
- x0 = array([1, 0, 0])
- y0 = array([0, 1, 0])
- z0 = array([0, 0, 1])
-
- psi = np.arctan2(inner(x3, y0), inner(x3, x0))
- theta = np.arctan2(-inner(x3, z0), np.sqrt(inner(x3, x0)**2 + inner(x3, y0)**2))
- y2 = rot(z0, psi).dot(y0)
- z2 = rot(y2, theta).dot(z0)
- phi = np.arctan2(inner(y3, z2), inner(y3, y2))
-
- ret = array([phi, theta, psi])
- return ret
-
-
-def ned_euler_from_ecef(ned_ecef_init, ecef_poses):
- '''
- Got the math from here:
- Using Rotations to Build Aerospace Coordinate Systems
- -Don Koks
-
- Also accepts array of ecef_poses and array of ned_ecef_inits.
- Where each row is a pose and an ecef_init.
- '''
- ned_ecef_init = array(ned_ecef_init)
- ecef_poses = array(ecef_poses)
- output_shape = ecef_poses.shape
- ned_ecef_init = np.atleast_2d(ned_ecef_init)
- if ned_ecef_init.shape[0] == 1:
- ned_ecef_init = np.tile(ned_ecef_init[0], (output_shape[0], 1))
- ecef_poses = np.atleast_2d(ecef_poses)
-
- ned_poses = np.zeros(ecef_poses.shape)
- for i, ecef_pose in enumerate(ecef_poses):
- converter = LocalCoord.from_ecef(ned_ecef_init[i])
- x0 = array([1, 0, 0])
- y0 = array([0, 1, 0])
- z0 = array([0, 0, 1])
-
- x1 = rot(z0, ecef_pose[2]).dot(x0)
- y1 = rot(z0, ecef_pose[2]).dot(y0)
- z1 = rot(z0, ecef_pose[2]).dot(z0)
-
- x2 = rot(y1, ecef_pose[1]).dot(x1)
- y2 = rot(y1, ecef_pose[1]).dot(y1)
- z2 = rot(y1, ecef_pose[1]).dot(z1)
-
- x3 = rot(x2, ecef_pose[0]).dot(x2)
- y3 = rot(x2, ecef_pose[0]).dot(y2)
- #z3 = rot(x2, ecef_pose[0]).dot(z2)
-
- x0 = converter.ned2ecef([1, 0, 0]) - converter.ned2ecef([0, 0, 0])
- y0 = converter.ned2ecef([0, 1, 0]) - converter.ned2ecef([0, 0, 0])
- z0 = converter.ned2ecef([0, 0, 1]) - converter.ned2ecef([0, 0, 0])
-
- psi = np.arctan2(inner(x3, y0), inner(x3, x0))
- theta = np.arctan2(-inner(x3, z0), np.sqrt(inner(x3, x0)**2 + inner(x3, y0)**2))
- y2 = rot(z0, psi).dot(y0)
- z2 = rot(y2, theta).dot(z0)
- phi = np.arctan2(inner(y3, z2), inner(y3, y2))
- ned_poses[i] = array([phi, theta, psi])
-
- return ned_poses.reshape(output_shape)
-
-
-def ecef2car(car_ecef, psi, theta, points_ecef, ned_converter):
- """
- TODO: add roll rotation
- Converts an array of points in ecef coordinates into
- x-forward, y-left, z-up coordinates
- Parameters
- ----------
- psi: yaw, radian
- theta: pitch, radian
- Returns
- -------
- [x, y, z] coordinates in car frame
- """
-
- # input is an array of points in ecef cocrdinates
- # output is an array of points in car's coordinate (x-front, y-left, z-up)
-
- # convert points to NED
- points_ned = []
- for p in points_ecef:
- points_ned.append(ned_converter.ecef2ned_matrix.dot(array(p) - car_ecef))
-
- points_ned = np.vstack(points_ned).T
-
- # n, e, d -> x, y, z
- # Calculate relative positions and rotate wrt to heading and pitch of car
- invert_R = array([[1., 0., 0.], [0., -1., 0.], [0., 0., -1.]])
-
- c, s = np.cos(psi), np.sin(psi)
- yaw_R = array([[c, s, 0.], [-s, c, 0.], [0., 0., 1.]])
-
- c, s = np.cos(theta), np.sin(theta)
- pitch_R = array([[c, 0., -s], [0., 1., 0.], [s, 0., c]])
-
- return dot(pitch_R, dot(yaw_R, dot(invert_R, points_ned)))
diff --git a/laika/opt.py b/laika/opt.py
deleted file mode 100644
index dfa8ae5ca..000000000
--- a/laika/opt.py
+++ /dev/null
@@ -1,192 +0,0 @@
-import sympy
-import numpy as np
-from typing import List
-
-from .constants import EARTH_ROTATION_RATE, SPEED_OF_LIGHT
-from .helpers import ConstellationId
-from .raw_gnss import GNSSMeasurement
-
-
-def gauss_newton(fun, b, M, xtol=1e-8, max_n=25):
-
- W = np.linalg.inv(M)
- for _ in range(max_n):
- # Compute function and jacobian on current estimate
- r, J = fun(b)
-
- # Update estimate, WLS https://en.wikipedia.org/wiki/Weighted_least_squares
- delta = np.linalg.pinv(J.T.dot(W).dot(J)).dot(J.T).dot(W) @ r
- b -= delta
-
- # Check step size for stopping condition
- if np.linalg.norm(delta) < xtol:
- break
-
- r, J = fun(b)
- Mb = np.linalg.pinv(J.T.dot(W).dot(J))
- x_std = np.sqrt(np.diagonal(Mb))
- return b, r, x_std
-
-
-def calc_pos_fix(measurements, posfix_functions=None, x0=None, signal='C1C', min_measurements=5):
- '''
- Calculates gps fix using gauss newton method
- To solve the problem a minimal of 4 measurements are required.
- If Glonass is included 5 are required to solve for the additional free variable.
- returns:
- 0 -> list with positions
- 1 -> pseudorange errs
- '''
- if x0 is None:
- x0 = [0, 0, 0, 0, 0]
-
- if len(measurements) < min_measurements:
- return [],[],[]
-
- Fx_pos = pr_residual(measurements, posfix_functions, signal=signal, no_nans=True)
- meas_cov = np.diag([meas.observables_std[signal]**2 for meas in measurements])
-
- x, residual, x_std = gauss_newton(Fx_pos, x0, meas_cov)
- return x.tolist(), residual.tolist(), x_std
-
-
-def calc_vel_fix(measurements, est_pos, velfix_function=None, v0=None, signal='D1C', min_measurements=5):
- '''
- Calculates gps velocity fix using gauss newton method
- returns:
- 0 -> list with velocities
- 1 -> pseudorange_rate errs
- '''
- if v0 is None:
- v0 = [0, 0, 0, 0]
-
- if len(measurements) < min_measurements:
- return [], [], []
-
- Fx_vel = prr_residual(measurements, est_pos, velfix_function, signal=signal, no_nans=True)
- meas_cov = np.diag([meas.observables_std[signal]**2 for meas in measurements])
-
- v, residual, x_std = gauss_newton(Fx_vel, v0, meas_cov)
- return v.tolist(), residual.tolist(), x_std
-
-
-def get_posfix_sympy_fun(constellation):
- # Unknowns
- x, y, z = sympy.Symbol('x'), sympy.Symbol('y'), sympy.Symbol('z')
- bc = sympy.Symbol('bc')
- bg = sympy.Symbol('bg')
- zero_theta = sympy.Symbol('zero_theta')
- var = [x, y, z, bc, bg]
-
- # Knowns
- pr = sympy.Symbol('pr')
- sat_x, sat_y, sat_z = sympy.Symbol('sat_x'), sympy.Symbol('sat_y'), sympy.Symbol('sat_z')
-
- theta = (EARTH_ROTATION_RATE * (pr - bc) / SPEED_OF_LIGHT)*zero_theta
- val = sympy.sqrt(
- (sat_x * sympy.cos(theta) + sat_y * sympy.sin(theta) - x) ** 2 +
- (sat_y * sympy.cos(theta) - sat_x * sympy.sin(theta) - y) ** 2 +
- (sat_z - z) ** 2
- )
-
- if constellation == ConstellationId.GLONASS:
- res = val - (pr - bc - bg)
- elif constellation == ConstellationId.GPS:
- res = val - (pr - bc)
- else:
- raise NotImplementedError(f"Constellation {constellation} not supported")
-
- res = [res] + [sympy.diff(res, v) for v in var]
-
- return sympy.lambdify([x, y, z, bc, bg, pr, zero_theta, sat_x, sat_y, sat_z], res, modules=["numpy"])
-
-
-def get_velfix_sympy_func():
- # implementing this without sympy.Matrix gives a 2x speedup at generation
-
- # knowns, receiver position, satellite position, satellite velocity
- ep_x, ep_y, ep_z = sympy.Symbol('ep_x'), sympy.Symbol('ep_y'), sympy.Symbol('ep_z')
- est_pos = np.array([ep_x, ep_y, ep_z])
- sp_x, sp_y, sp_z = sympy.Symbol('sp_x'), sympy.Symbol('sp_y'), sympy.Symbol('sp_z')
- sat_pos = np.array([sp_x, sp_y, sp_z])
- sv_x, sv_y, sv_z = sympy.Symbol('sv_x'), sympy.Symbol('sv_y'), sympy.Symbol('sv_z')
- sat_vel = np.array([sv_x, sv_y, sv_z])
- observables = sympy.Symbol('observables')
-
- # unknown, receiver velocity
- v_x, v_y, v_z = sympy.Symbol('v_x'), sympy.Symbol('v_y'), sympy.Symbol('v_z')
- vel = np.array([v_x, v_y, v_z])
- vel_o = sympy.Symbol('vel_o')
-
- loss = sat_pos - est_pos
- loss /= sympy.sqrt(loss.dot(loss))
- res = loss.dot(sat_vel - vel) - (observables - vel_o)
-
- res = [res] + [sympy.diff(res, v) for v in [v_x, v_y, v_z, vel_o]]
-
- return sympy.lambdify([
- ep_x, ep_y, ep_z, sp_x, sp_y, sp_z,
- sv_x, sv_y, sv_z, observables,
- v_x, v_y, v_z, vel_o
- ],
- res, modules=["numpy"])
-
-
-def pr_residual(measurements: List[GNSSMeasurement], posfix_functions=None, signal='C1C', no_nans=False):
-
- if posfix_functions is None:
- posfix_functions = {constellation: get_posfix_sympy_fun(constellation) for constellation in (ConstellationId.GPS, ConstellationId.GLONASS)}
-
- def Fx_pos(inp):
- vals, gradients = [], []
-
- for meas in measurements:
- if signal in meas.observables_final and np.isfinite(meas.observables_final[signal]):
- pr = meas.observables_final[signal]
- sat_pos = meas.sat_pos_final
- zero_theta = 0
- elif signal in meas.observables and np.isfinite(meas.observables[signal]) and meas.processed:
- pr = meas.observables[signal]
- pr += meas.sat_clock_err * SPEED_OF_LIGHT
- sat_pos = meas.sat_pos
- zero_theta = 1
- else:
- if not no_nans:
- vals.append(np.nan)
- gradients.append(np.nan)
- continue
-
- val, *gradient = posfix_functions[meas.constellation_id](*inp, pr, zero_theta, *sat_pos)
- vals.append(val)
- gradients.append(gradient)
- return np.asarray(vals), np.asarray(gradients)
- return Fx_pos
-
-
-def prr_residual(measurements: List[GNSSMeasurement], est_pos, velfix_function=None, signal='D1C', no_nans=False):
-
- if velfix_function is None:
- velfix_function = get_velfix_sympy_func()
-
- def Fx_vel(vel):
- vals, gradients = [], []
-
- for meas in measurements:
- if signal not in meas.observables or not np.isfinite(meas.observables[signal]):
- if not no_nans:
- vals.append(np.nan)
- gradients.append(np.nan)
- continue
-
- sat_pos = meas.sat_pos_final if meas.corrected else meas.sat_pos
-
- val, *gradient = velfix_function(est_pos[0], est_pos[1], est_pos[2],
- sat_pos[0], sat_pos[1], sat_pos[2],
- meas.sat_vel[0], meas.sat_vel[1], meas.sat_vel[2],
- meas.observables[signal],
- vel[0], vel[1], vel[2], vel[3])
- vals.append(val)
- gradients.append(gradient)
-
- return np.asarray(vals), np.asarray(gradients)
- return Fx_vel
diff --git a/laika/raw_gnss.py b/laika/raw_gnss.py
deleted file mode 100644
index 09c2cf026..000000000
--- a/laika/raw_gnss.py
+++ /dev/null
@@ -1,381 +0,0 @@
-from math import sqrt
-from typing import Dict, List, Optional, Union
-
-import numpy as np
-import datetime
-import struct
-
-from . import constants
-from .ephemeris import Ephemeris
-from .lib.coordinates import LocalCoord
-from .gps_time import GPSTime
-from .helpers import ConstellationId, get_constellation_and_sv_id, get_nmea_id_from_constellation_and_svid, \
- rinex3_obs_from_rinex2_obs
-
-
-def array_from_normal_meas(meas):
- return np.concatenate(([meas.get_nmea_id()],
- [meas.recv_time_week],
- [meas.recv_time_sec],
- [meas.glonass_freq],
- [meas.observables['C1C']],
- [meas.observables_std['C1C']],
- [meas.observables['D1C']],
- [meas.observables_std['D1C']],
- [meas.observables['S1C']],
- [meas.observables['L1C']]))
-
-
-def normal_meas_from_array(arr):
- observables, observables_std = {}, {}
- observables['C1C'] = arr[4]
- observables_std['C1C'] = arr[5]
- observables['D1C'] = arr[6]
- observables_std['D1C'] = arr[7]
- observables['S1C'] = arr[8]
- observables['L1C'] = arr[9]
- constellation_id, sv_id = get_constellation_and_sv_id(nmea_id=arr[0])
- return GNSSMeasurement(constellation_id, sv_id, arr[1], arr[2],
- observables, observables_std, arr[3])
-
-
-class GNSSMeasurement:
- PRN = 0
- RECV_TIME_WEEK = 1
- RECV_TIME_SEC = 2
- GLONASS_FREQ = 3
-
- PR = 4
- PR_STD = 5
- PRR = 6
- PRR_STD = 7
-
- SAT_POS = slice(8, 11)
- SAT_VEL = slice(11, 14)
-
- def __init__(self, constellation_id: ConstellationId, sv_id: int, recv_time_week: int, recv_time_sec: float, observables: Dict[str, float],
- observables_std: Dict[str, float], glonass_freq: Union[int, float, None] = None):
- # Metadata
- # prn: unique satellite id
- self.prn = "%s%02d" % (constellation_id.to_rinex_char(), sv_id) # satellite ID in rinex convention
- self.constellation_id = constellation_id
- self.sv_id = sv_id # satellite id per constellation
-
- self.recv_time_week = recv_time_week
- self.recv_time_sec = recv_time_sec
- self.recv_time = GPSTime(recv_time_week, recv_time_sec)
- self.glonass_freq = glonass_freq # glonass channel
-
- # Measurements
- self.observables = observables
- self.observables_std = observables_std
-
- # flags
- self.processed = False
- self.corrected = False
-
- # sat info
- self.sat_pos = np.array([np.nan, np.nan, np.nan])
- self.sat_vel = np.array([np.nan, np.nan, np.nan])
- self.sat_clock_err = np.nan
- self.sat_ephemeris: Optional[Ephemeris] = None
-
- self.sat_pos_final = np.array([np.nan, np.nan, np.nan]) # sat_pos in receiver time's ECEF frame instead of satellite time's ECEF frame
- self.observables_final: Dict[str, float] = {}
-
- def process(self, dog):
- sat_time = self.recv_time - self.observables['C1C']/constants.SPEED_OF_LIGHT
- sat_info = dog.get_sat_info(self.prn, sat_time)
- if sat_info is None:
- return False
- self.sat_pos, self.sat_vel, self.sat_clock_err, _, self.sat_ephemeris = sat_info
- self.processed = True
- return True
-
- def correct(self, est_pos, dog, correct_delay=True):
- for obs in self.observables:
- if obs[0] == 'C': # or obs[0] == 'L':
- if correct_delay:
- delay = dog.get_delay(self.prn, self.recv_time, est_pos, signal=obs)
- else:
- delay = 0.0
- if delay is not None:
- self.observables_final[obs] = (self.observables[obs] +
- self.sat_clock_err*constants.SPEED_OF_LIGHT -
- delay)
- else:
- self.observables_final[obs] = self.observables[obs]
- if 'C1C' in self.observables_final and 'C2P' in self.observables_final:
- self.observables_final['IOF'] = (((constants.GPS_L1**2)*self.observables_final['C1C'] -
- (constants.GPS_L2**2)*self.observables_final['C2P'])/
- (constants.GPS_L1**2 - constants.GPS_L2**2))
-
- geometric_range = np.linalg.norm(self.sat_pos - est_pos)
- theta_1 = constants.EARTH_ROTATION_RATE * geometric_range / constants.SPEED_OF_LIGHT
- self.sat_pos_final = np.array([self.sat_pos[0] * np.cos(theta_1) + self.sat_pos[1] * np.sin(theta_1),
- self.sat_pos[1] * np.cos(theta_1) - self.sat_pos[0] * np.sin(theta_1),
- self.sat_pos[2]])
- if 'C1C' in self.observables_final and np.isfinite(self.observables_final['C1C']):
- self.corrected = True
- return True
- return False
-
- def as_array(self, only_corrected=True):
- observables = self.observables_final
- sat_pos = self.sat_pos_final
- if not self.corrected:
- if only_corrected:
- raise NotImplementedError('Only corrected measurements can be put into arrays')
- else:
- observables = self.observables
- sat_pos = self.sat_pos
- ret = np.array([self.get_nmea_id(), self.recv_time_week, self.recv_time_sec, self.glonass_freq,
- observables['C1C'], self.observables_std['C1C'],
- observables['D1C'], self.observables_std['D1C']])
- return np.concatenate((ret, sat_pos, self.sat_vel))
-
- def __repr__(self):
- time = self.recv_time.as_datetime().strftime('%Y-%m-%dT%H:%M:%S.%f')
- return f""
-
- def get_nmea_id(self):
- return get_nmea_id_from_constellation_and_svid(self.constellation_id, self.sv_id)
-
-
-def process_measurements(measurements: List[GNSSMeasurement], dog) -> List[GNSSMeasurement]:
- proc_measurements = []
- for meas in measurements:
- if meas.process(dog):
- proc_measurements.append(meas)
- return proc_measurements
-
-
-def correct_measurements(measurements: List[GNSSMeasurement], est_pos, dog, correct_delay=True) -> List[GNSSMeasurement]:
- corrected_measurements = []
- for meas in measurements:
- if meas.correct(est_pos, dog, correct_delay=correct_delay):
- corrected_measurements.append(meas)
- return corrected_measurements
-
-
-def group_measurements_by_epoch(measurements):
- meas_filt_by_t = [[measurements[0]]]
- for m in measurements[1:]:
- if abs(m.recv_time - meas_filt_by_t[-1][-1].recv_time) > 1e-9:
- meas_filt_by_t.append([])
- meas_filt_by_t[-1].append(m)
- return meas_filt_by_t
-
-
-def group_measurements_by_sat(measurements):
- measurements_by_sat = {}
- sats = {m.prn for m in measurements}
- for sat in sats:
- measurements_by_sat[sat] = [m for m in measurements if m.prn == sat]
- return measurements_by_sat
-
-def gps_time_from_qcom_report(gnss_msg):
- if gnss_msg.which() == 'measurementReport':
- report = gnss_msg.measurementReport
- constellation = ConstellationId.from_qcom_source(report.source)
- if constellation in [ConstellationId.GPS, ConstellationId.SBAS]:
- report_time = GPSTime(report.gpsWeek, report.milliseconds / 1000.0)
- elif constellation == ConstellationId.GLONASS:
- report_time = GPSTime.from_glonass(report.glonassCycleNumber,
- report.glonassNumberOfDays,
- report.milliseconds / 1000.0)
- else:
- raise NotImplementedError(f'Unknownconstellation {report.source}')
- else:
- report = gnss_msg.drMeasurementReport
- constellation = ConstellationId.from_qcom_source(report.source)
- if ConstellationId.from_qcom_source(report.source) in [ConstellationId.GPS, ConstellationId.SBAS]:
- report_time = GPSTime(report.gpsWeek, report.gpsMilliseconds / 1000.0)
- elif constellation == ConstellationId.GLONASS:
- report_time = GPSTime.from_glonass(report.glonassYear,
- report.glonassDay,
- report.glonassMilliseconds / 1000.0)
- else:
- raise NotImplementedError(f'Unknownconstellation {report.source}')
- return report_time
-
-def get_measurements_from_qcom_reports(reports):
- new_meas_dr = []
- new_meas = []
- for gnss_msg in reports:
- if gnss_msg.which() == 'drMeasurementReport':
- new_meas_dr.extend(read_raw_qcom(gnss_msg.drMeasurementReport))
- else:
- new_meas.extend(read_raw_qcom(gnss_msg.measurementReport))
- sat_dict_dr = {meas.prn: meas for meas in new_meas_dr}
- out_meas = []
- for meas in new_meas:
- if meas.prn in sat_dict_dr:
- # Sometimes DR measurements are complete garbage, in those cases non-DR measurements are still sane, so cross-check
- if abs(meas.observables['C1C'] - sat_dict_dr[meas.prn].observables['C1C']) < 1000:
- meas.observables['C1C'] = sat_dict_dr[meas.prn].observables['C1C']
- meas.observables_std['C1C'] = sat_dict_dr[meas.prn].observables_std['C1C']
- out_meas.append(meas)
- return out_meas
-
-def read_raw_qcom(report):
- dr = 'DrMeasurementReport' in str(report.schema)
- # Only gps/sbas and glonass are supported
- constellation_id = ConstellationId.from_qcom_source(report.source)
- if constellation_id in [ConstellationId.GPS, ConstellationId.SBAS]: # gps/sbas
- if dr:
- recv_tow = report.gpsMilliseconds / 1000.0 # seconds
- time_bias_ms = struct.unpack("f", struct.pack("I", report.gpsTimeBiasMs))[0]
- else:
- recv_tow = report.milliseconds / 1000.0 # seconds
- time_bias_ms = report.timeBias
- recv_time = GPSTime(report.gpsWeek, recv_tow)
- elif constellation_id == ConstellationId.GLONASS:
- if dr:
- recv_tow = report.glonassMilliseconds / 1000.0 # seconds
- recv_time = GPSTime.from_glonass(report.glonassYear, report.glonassDay, recv_tow)
- time_bias_ms = report.glonassTimeBias
- else:
- recv_tow = report.milliseconds / 1000.0 # seconds
- recv_time = GPSTime.from_glonass(report.glonassCycleNumber, report.glonassNumberOfDays, recv_tow)
- time_bias_ms = report.timeBias
- else:
- raise NotImplementedError('Only GPS (0), SBAS (1) and GLONASS (6) are supported from qcom, not:', {report.source})
- # logging.debug(recv_time, report.source, time_bias_ms, dr)
- measurements = []
- for i in report.sv:
- # todo change svId to nmea_id in cereal message. Or better: change the publisher to publish correct svId's, since constellation id is also given
- nmea_id = i.svId
- if nmea_id == 255:
- # TODO nmea_id is not valid. Fix publisher
- continue
- _, sv_id = get_constellation_and_sv_id(nmea_id)
- if not i.measurementStatus.measurementNotUsable and i.measurementStatus.satelliteTimeIsKnown and i.measurementStatus.freshMeasurementIndicator:
- observables, observables_std = {}, {}
- if dr:
- sat_tow = (i.filteredMeasurementIntegral + i.filteredMeasurementFraction + i.latency + time_bias_ms) / 1000
- else:
- sat_tow = (i.unfilteredMeasurementIntegral + i.unfilteredMeasurementFraction + i.latency + time_bias_ms) / 1000
- observables['C1C'] = (recv_tow - sat_tow)*constants.SPEED_OF_LIGHT
- observables_std['C1C'] = i.unfilteredTimeUncertainty * 1e-3 * constants.SPEED_OF_LIGHT # always use unfiltered std, filtered std is bigger?
- if i.measurementStatus.fineOrCoarseVelocity:
- # about 10x better, perhaps filtered with carrier phase?
- observables['D1C'] = i.fineSpeed
- observables_std['D1C'] = sqrt(i.fineSpeedUncertainty) # sqrt empirically makes performance much better, might be wrong
- else:
- observables['D1C'] = i.unfilteredSpeed
- observables_std['D1C'] = i.unfilteredSpeedUncertainty
- observables['S1C'] = (i.carrierNoise/100.) if i.carrierNoise != 0 else np.nan
- observables['L1C'] = np.nan
- # logging.debug(" %.5f %3d %10.2f %7.2f %7.2f %.2f %d" % (recv_time.tow, nmea_id,
- # observables['C1C'], observables_std['C1C'],
- # observables_std['D1C'], observables['S1C'], i.latency), i.observationState, i.measurementStatus.fineOrCoarseVelocity)
- glonass_freq = (i.glonassFrequencyIndex - 7) if constellation_id == ConstellationId.GLONASS else np.nan
- measurements.append(GNSSMeasurement(constellation_id, sv_id,
- recv_time.week,
- recv_time.tow,
- observables,
- observables_std,
- glonass_freq))
- return measurements
-
-
-def read_raw_ublox(report) -> List[GNSSMeasurement]:
- recv_tow = report.rcvTow # seconds
- recv_week = report.gpsWeek
- measurements = []
- for i in report.measurements:
- # only add Gps and Glonass fixes
- if i.gnssId in [ConstellationId.GPS, ConstellationId.GLONASS]:
- if i.svId > 32 or i.pseudorange > 2**32:
- continue
- observables = {}
- observables_std = {}
- if i.trackingStatus.pseudorangeValid and i.sigId == 0:
- observables['C1C'] = i.pseudorange
- # Empirically it seems obvious ublox's std is
- # actually a variation
- observables_std['C1C'] = sqrt(i.pseudorangeStdev)*10
- if i.gnssId == ConstellationId.GLONASS:
- glonass_freq = i.glonassFrequencyIndex - 7
- observables['D1C'] = -(constants.SPEED_OF_LIGHT / (constants.GLONASS_L1 + glonass_freq * constants.GLONASS_L1_DELTA)) * i.doppler
- else: # GPS
- glonass_freq = np.nan
- observables['D1C'] = -(constants.SPEED_OF_LIGHT / constants.GPS_L1) * i.doppler
- observables_std['D1C'] = (constants.SPEED_OF_LIGHT / constants.GPS_L1) * i.dopplerStdev
- observables['S1C'] = i.cno
- if i.trackingStatus.carrierPhaseValid:
- observables['L1C'] = i.carrierCycles
- else:
- observables['L1C'] = np.nan
-
- measurements.append(GNSSMeasurement(ConstellationId(i.gnssId), i.svId, recv_week, recv_tow,
- observables, observables_std, glonass_freq))
- return measurements
-
-
-def read_rinex_obs(obsdata) -> List[List[GNSSMeasurement]]:
- measurements: List[List[GNSSMeasurement]] = []
- obsdata_keys = list(obsdata.data.keys())
- first_sat = obsdata_keys[0]
- n = len(obsdata.data[first_sat]['Epochs'])
- for i in range(n):
- recv_time_datetime = obsdata.data[first_sat]['Epochs'][i]
- recv_time_datetime = recv_time_datetime.astype(datetime.datetime)
- recv_time = GPSTime.from_datetime(recv_time_datetime)
- measurements.append([])
- for sat_str in obsdata_keys:
- if np.isnan(obsdata.data[sat_str]['C1'][i]):
- continue
- observables, observables_std = {}, {}
- for obs in obsdata.data[sat_str]:
- if obs == 'Epochs':
- continue
- rinex3_obs_key = rinex3_obs_from_rinex2_obs(obs)
- observables[rinex3_obs_key] = obsdata.data[sat_str][obs][i]
- observables_std[rinex3_obs_key] = 1.
-
- constellation_id, sv_id = get_constellation_and_sv_id(int(sat_str))
- measurements[-1].append(GNSSMeasurement(constellation_id, sv_id,
- recv_time.week, recv_time.tow,
- observables, observables_std))
- return measurements
-
-
-def get_Q(recv_pos, sat_positions):
- local = LocalCoord.from_ecef(recv_pos)
- sat_positions_rel = local.ecef2ned(sat_positions)
- sat_distances = np.linalg.norm(sat_positions_rel, axis=1)
- A = np.column_stack((sat_positions_rel[:,0]/sat_distances, # pylint: disable=unsubscriptable-object
- sat_positions_rel[:,1]/sat_distances, # pylint: disable=unsubscriptable-object
- sat_positions_rel[:,2]/sat_distances, # pylint: disable=unsubscriptable-object
- -np.ones(len(sat_distances))))
- if A.shape[0] < 4 or np.linalg.matrix_rank(A) < 4:
- return np.inf*np.ones((4,4))
- Q = np.linalg.inv(A.T.dot(A))
- return Q
-
-
-def get_DOP(recv_pos, sat_positions):
- Q = get_Q(recv_pos, sat_positions)
- return np.sqrt(np.trace(Q))
-
-
-def get_HDOP(recv_pos, sat_positions):
- Q = get_Q(recv_pos, sat_positions)
- return np.sqrt(np.trace(Q[:2,:2]))
-
-
-def get_VDOP(recv_pos, sat_positions):
- Q = get_Q(recv_pos, sat_positions)
- return np.sqrt(Q[2,2])
-
-
-def get_TDOP(recv_pos, sat_positions):
- Q = get_Q(recv_pos, sat_positions)
- return np.sqrt(Q[3,3])
-
-
-def get_PDOP(recv_pos, sat_positions):
- Q = get_Q(recv_pos, sat_positions)
- return np.sqrt(np.trace(Q[:3,:3]))
diff --git a/laika/rinex_file.py b/laika/rinex_file.py
deleted file mode 100644
index 9b824f9f0..000000000
--- a/laika/rinex_file.py
+++ /dev/null
@@ -1,251 +0,0 @@
-
-# Copyright (C) 2014 Swift Navigation Inc.
-#
-# This source is subject to the license found in the file 'LICENSE' which must
-# be be distributed together with this source. All other rights reserved.
-#
-# THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
-# EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
-
-import datetime
-import numpy as np
-import logging
-
-def floatornan(x):
- if x == '' or x[-1] == ' ':
- return np.NaN
- return float(x)
-
-
-def digitorzero(x):
- if x == ' ' or x == '':
- return 0
- return int(x)
-
-
-def padline(l, n=16):
- x = len(l)
- x_ = n * ((x + n - 1) // n)
- padded = l + ' ' * (x_ - x)
- while len(padded) < 70:
- padded += ' ' * 16
- return padded
-
-
-TOTAL_SATS = 132 # Increased to support Galileo
-
-
-class DownloadError(Exception):
- pass
-
-
-class RINEXFile:
- def __init__(self, filename, rate=None):
- self.rate = rate
- try:
- with open(filename) as f:
- self._read_header(f)
- self._read_data(f)
- except TypeError:
- logging.exception("TypeError, file likely not downloaded.")
- raise DownloadError("file download failure")
- except FileNotFoundError:
- logging.exception("File not found in directory.")
- raise DownloadError("file missing in download cache")
- def _read_header(self, f):
- version_line = padline(f.readline(), 80)
-
- self.version = float(version_line[0:9])
- if (self.version > 2.11):
- raise ValueError(
- f"RINEX file versions > 2.11 not supported (file version {self.version:f})")
-
- self.filetype = version_line[20]
- if self.filetype not in "ONGM": # Check valid file type
- raise ValueError(f"RINEX file type '{self.filetype}' not supported")
- if self.filetype != 'O':
- raise ValueError("Only 'OBSERVATION DATA' RINEX files are currently supported")
-
- self.gnss = version_line[40]
- if self.gnss not in " GRSEM": # Check valid satellite system
- raise ValueError(f"Satellite system '{self.filetype}' not supported")
- if self.gnss == ' ':
- self.gnss = 'G'
- if self.gnss != 'G':
- #raise ValueError("Only GPS data currently supported")
- pass
-
- self.comment = ""
- while True: # Read the rest of the header
- line = padline(f.readline(), 80)
- label = line[60:80].rstrip()
- if label == "END OF HEADER":
- break
- if label == "COMMENT":
- self.comment += line[:60] + '\n'
- if label == "MARKER NAME":
- self.marker_name = line[:60].rstrip()
- if self.marker_name == '':
- self.marker_name = 'UNKNOWN'
- if label == "# / TYPES OF OBSERV":
- # RINEX files can have multiple line headers
- # This code handles the case
- try:
- n_obs = int(line[0:6])
- self.obs_types = []
- except ValueError:
- pass
-
- if n_obs <= 9:
- for i in range(0, n_obs):
- self.obs_types.append(line[10 + 6 * i:12 + 6 * i])
- if n_obs > 9:
- for i in range(0, 9):
- self.obs_types.append(line[10 + 6 * i:12 + 6 * i])
- n_obs -= 9
-
- def _read_next_non_comment(self, f):
- line = f.readline()
- while line and line.find('COMMENT') != -1:
- line = f.readline()
- return line
-
- def _read_epoch_header(self, f):
- epoch_hdr = self._read_next_non_comment(f)
- if epoch_hdr == '':
- return None
- # ignore any line with these three strings
- skippable = ('0.0000000 4 5', 'MARKER NUMBER', ' 4 1')
- while any(skip in epoch_hdr for skip in skippable):
- epoch_hdr = self._read_next_non_comment(f)
-
- if epoch_hdr == '':
- return None
-
- year = int(epoch_hdr[1:3])
- if year >= 80:
- year += 1900
- else:
- year += 2000
- month = int(epoch_hdr[4:6])
- day = int(epoch_hdr[7:9])
- hour = int(epoch_hdr[10:12])
- minute = int(epoch_hdr[13:15])
- second = int(epoch_hdr[15:18])
- microsecond = int(
- epoch_hdr[19:25]) # Discard the least sig. fig. (use microseconds only).
- epoch = datetime.datetime(year, month, day, hour, minute, second, microsecond)
-
- flag = int(epoch_hdr[28])
- allowed_flags = {0, 3, 4}
- if flag not in allowed_flags:
- raise ValueError("Don't know how to handle epoch flag %d in epoch header:\n%s" %
- (flag, epoch_hdr))
-
- n_sats = int(epoch_hdr[29:32])
- if flag > 1: # event flag: nsats is number of records
- for i in range(n_sats):
- f.readline()
- return None
-
- sats = []
- for i in range(0, n_sats):
- if ((i % 12) == 0) and (i > 0):
- epoch_hdr = f.readline()
- sats.append(epoch_hdr[(32 + (i % 12) * 3):(35 + (i % 12) * 3)])
-
- return epoch, flag, sats
-
- def _read_obs(self, f, n_sat, sat_map):
- obs = np.empty((TOTAL_SATS, len(self.obs_types)), dtype=np.float64) * np.NaN
- lli = np.zeros((TOTAL_SATS, len(self.obs_types)), dtype=np.uint8)
- signal_strength = np.zeros((TOTAL_SATS, len(self.obs_types)), dtype=np.uint8)
-
- for i in range(n_sat):
- # Join together observations for a single satellite if split across lines.
- obs_line = ''.join(
- padline(f.readline()[:-1], 16) for _ in range((len(self.obs_types) + 4) // 5))
- for j in range(len(self.obs_types)):
- obs_record = obs_line[16 * j:16 * (j + 1)]
- obs[int(sat_map[i]), j] = floatornan(obs_record[0:14])
- lli[int(sat_map[i]), j] = digitorzero(obs_record[14:15])
- signal_strength[int(sat_map[i]), j] = digitorzero(obs_record[15:16])
-
- return obs, lli, signal_strength
-
- def _skip_obs(self, f, n_sat):
- for i in range(n_sat):
- for _ in range((len(self.obs_types) + 4) // 5):
- f.readline()
-
- def _read_data_chunk(self, f, CHUNK_SIZE=10000):
- obss = np.empty(
- (CHUNK_SIZE, TOTAL_SATS, len(self.obs_types)), dtype=np.float64) * np.NaN
- llis = np.zeros((CHUNK_SIZE, TOTAL_SATS, len(self.obs_types)), dtype=np.uint8)
- signal_strengths = np.zeros(
- (CHUNK_SIZE, TOTAL_SATS, len(self.obs_types)), dtype=np.uint8)
- epochs = np.zeros(CHUNK_SIZE, dtype='datetime64[us]')
- flags = np.zeros(CHUNK_SIZE, dtype=np.uint8)
-
- i = 0
- while True:
- hdr = self._read_epoch_header(f)
- if hdr is None:
- break
- # data faster than desired rate: ignore it
- if self.rate and (hdr[0].microsecond or hdr[0].second % self.rate != 0):
- self._skip_obs(f, len(hdr[2]))
- continue
- epoch, flags[i], sats = hdr
- epochs[i] = np.datetime64(epoch)
- sat_map = np.ones(len(sats)) * -1
- for n, sat in enumerate(sats):
- if sat[0] == 'G':
- sat_map[n] = int(sat[1:]) - 1
- if sat[0] == 'R':
- sat_map[n] = int(sat[1:]) - 1 + 64
- obss[i], llis[i], signal_strengths[i] = self._read_obs(f, len(sats), sat_map)
- i += 1
- if i >= CHUNK_SIZE:
- break
-
- return obss[:i], llis[:i], signal_strengths[:i], epochs[:i], flags[:i]
-
- def _read_data(self, f):
- self.data = {}
- while True:
- obss, llis, signal_strengths, epochs, flags = self._read_data_chunk(f)
- if obss.shape[0] == 0:
- break
-
- for i, sv in enumerate(['%02d' % d for d in range(1, TOTAL_SATS+1)]):
- if sv not in self.data:
- self.data[sv] = {}
- for j, obs_type in enumerate(self.obs_types):
- if obs_type in self.data[sv]:
- self.data[sv][obs_type] = np.append(self.data[sv][obs_type], obss[:, i, j])
- else:
- self.data[sv][obs_type] = obss[:, i, j]
- if 'Epochs' in self.data[sv]:
- self.data[sv]['Epochs'] = np.append(self.data[sv]['Epochs'], epochs)
- else:
- self.data[sv]['Epochs'] = epochs
- for sat in list(self.data.keys()):
- if np.all(np.isnan(self.data[sat]['C1'])):
- del self.data[sat]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/laika/trop.py b/laika/trop.py
deleted file mode 100644
index 8b0009df2..000000000
--- a/laika/trop.py
+++ /dev/null
@@ -1,32 +0,0 @@
-from numpy import cos, exp, pi
-from .lib.coordinates import ecef2geodetic
-
-
-def saast(pos, el, humi=0.75, temp0=15.0):
- """
- Function from RTKlib: https://github.com/tomojitakasu/RTKLIB/blob/master/src/rtkcmn.c#L3362-3362
- with no changes
- :param time: time
- :param pos: receiver position {ecef} m)
- :param el: azimuth/elevation angle {az,el} (rad) -- we do not use az
- :param humi: relative humidity
- :param temp0: temperature (Celsius)
- :return: tropospheric delay (m)
- """
- pos_rad = ecef2geodetic(pos, radians=True)
- if pos_rad[2] < -1E3 or 1E4 < pos_rad[2] or el <= 0:
- return 0.0
-
- # /* standard atmosphere */
- hgt = 0.0 if pos_rad[2] < 0.0 else pos_rad[2]
-
- pres = 1013.25 * pow(1.0 - 2.2557E-5 * hgt, 5.2568)
- temp = temp0 - 6.5E-3 * hgt + 273.16
- e = 6.108 * humi * exp((17.15 * temp - 4684.0) / (temp - 38.45))
-
- # /* saastamoninen model */
- z = pi / 2.0 - el
- trph = 0.0022768 * pres / (
- 1.0 - 0.00266 * cos(2.0 * pos_rad[0]) - 0.00028 * hgt / 1E3) / cos(z)
- trpw = 0.002277 * (1255.0 / temp + 0.05) * e / cos(z)
- return trph + trpw
diff --git a/launch_chffrplus.sh b/launch_chffrplus.sh
index b6fb30ede..57f91b0d7 100755
--- a/launch_chffrplus.sh
+++ b/launch_chffrplus.sh
@@ -14,10 +14,10 @@ function agnos_init {
echo -n openpilot > /data/params/d/GithubUsername
cat /usr/comma/setup_keys > /data/params/d/GithubSshKeys
fi
-
+
# wait longer for weston to come up
if [ -f "$BASEDIR/prebuilt" ]; then
- sleep 3
+ sleep 5
fi
# TODO: move this to agnos
@@ -90,7 +90,7 @@ function launch {
# start manager
cd selfdrive/manager
- ./custom_dep.py && ./build.py && ./manager.py
+ ./build.py && ./manager.py
# if broken, keep on screen error
while true; do sleep 1; done
diff --git a/launch_env.sh b/launch_env.sh
index 197460eb0..16d4cc1e6 100755
--- a/launch_env.sh
+++ b/launch_env.sh
@@ -7,7 +7,7 @@ export OPENBLAS_NUM_THREADS=1
export VECLIB_MAXIMUM_THREADS=1
if [ -z "$AGNOS_VERSION" ]; then
- export AGNOS_VERSION="8.2"
+ export AGNOS_VERSION="9.1"
fi
if [ -z "$PASSIVE" ]; then
diff --git a/opendbc/can/common.h b/opendbc/can/common.h
index 03b99e559..cfc63eb10 100644
--- a/opendbc/can/common.h
+++ b/opendbc/can/common.h
@@ -54,7 +54,7 @@ public:
bool ignore_checksum = false;
bool ignore_counter = false;
- bool parse(uint64_t sec, const std::vector &dat);
+ bool parse(uint64_t nanos, const std::vector &dat);
bool update_counter_generic(int64_t v, int cnt_size);
};
@@ -69,9 +69,9 @@ private:
public:
bool can_valid = false;
bool bus_timeout = false;
- uint64_t first_sec = 0;
- uint64_t last_sec = 0;
- uint64_t last_nonempty_sec = 0;
+ uint64_t first_nanos = 0;
+ uint64_t last_nanos = 0;
+ uint64_t last_nonempty_nanos = 0;
uint64_t bus_timeout_threshold = 0;
uint64_t can_invalid_cnt = CAN_INVALID_CNT;
@@ -81,10 +81,10 @@ public:
#ifndef DYNAMIC_CAPNP
void update_string(const std::string &data, bool sendcan);
void update_strings(const std::vector &data, std::vector &vals, bool sendcan);
- void UpdateCans(uint64_t sec, const capnp::List::Reader& cans);
+ void UpdateCans(uint64_t nanos, const capnp::List::Reader& cans);
#endif
- void UpdateCans(uint64_t sec, const capnp::DynamicStruct::Reader& cans);
- void UpdateValid(uint64_t sec);
+ void UpdateCans(uint64_t nanos, const capnp::DynamicStruct::Reader& cans);
+ void UpdateValid(uint64_t nanos);
void query_latest(std::vector &vals, uint64_t last_ts = 0);
};
diff --git a/opendbc/can/libdbc.so b/opendbc/can/libdbc.so
index eea3aacd1..b05ce32c6 100755
Binary files a/opendbc/can/libdbc.so and b/opendbc/can/libdbc.so differ
diff --git a/opendbc/can/packer_pyx.cpp b/opendbc/can/packer_pyx.cpp
index dc63b545a..bd389af2f 100644
--- a/opendbc/can/packer_pyx.cpp
+++ b/opendbc/can/packer_pyx.cpp
@@ -1,4 +1,4 @@
-/* Generated by Cython 3.0.0 */
+/* Generated by Cython 3.0.5 */
/* BEGIN: Cython Metadata
{
@@ -39,10 +39,15 @@ END: Cython Metadata */
#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
#error Cython requires Python 2.7+ or Python 3.3+.
#else
-#define CYTHON_ABI "3_0_0"
+#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API
+#define __PYX_EXTRA_ABI_MODULE_NAME "limited"
+#else
+#define __PYX_EXTRA_ABI_MODULE_NAME ""
+#endif
+#define CYTHON_ABI "3_0_5" __PYX_EXTRA_ABI_MODULE_NAME
#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
-#define CYTHON_HEX_VERSION 0x030000F0
+#define CYTHON_HEX_VERSION 0x030005F0
#define CYTHON_FUTURE_DIVISION 1
#include
#ifndef offsetof
@@ -75,6 +80,7 @@ END: Cython Metadata */
#ifndef Py_HUGE_VAL
#define Py_HUGE_VAL HUGE_VAL
#endif
+#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
#if defined(GRAALVM_PYTHON)
/* For very preliminary testing purposes. Most variables are set the same as PyPy.
The existence of this section does not imply that anything works or is even tested */
@@ -141,8 +147,9 @@ END: Cython Metadata */
#define CYTHON_COMPILING_IN_NOGIL 0
#undef CYTHON_USE_TYPE_SLOTS
#define CYTHON_USE_TYPE_SLOTS 0
- #undef CYTHON_USE_TYPE_SPECS
- #define CYTHON_USE_TYPE_SPECS 0
+ #ifndef CYTHON_USE_TYPE_SPECS
+ #define CYTHON_USE_TYPE_SPECS 0
+ #endif
#undef CYTHON_USE_PYTYPE_LOOKUP
#define CYTHON_USE_PYTYPE_LOOKUP 0
#if PY_VERSION_HEX < 0x03050000
@@ -194,6 +201,10 @@ END: Cython Metadata */
#define CYTHON_UPDATE_DESCRIPTOR_DOC 0
#endif
#elif defined(CYTHON_LIMITED_API)
+ #ifdef Py_LIMITED_API
+ #undef __PYX_LIMITED_VERSION_HEX
+ #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
+ #endif
#define CYTHON_COMPILING_IN_PYPY 0
#define CYTHON_COMPILING_IN_CPYTHON 0
#define CYTHON_COMPILING_IN_LIMITED_API 1
@@ -241,7 +252,7 @@ END: Cython Metadata */
#undef CYTHON_USE_MODULE_STATE
#define CYTHON_USE_MODULE_STATE 1
#ifndef CYTHON_USE_TP_FINALIZE
- #define CYTHON_USE_TP_FINALIZE 1
+ #define CYTHON_USE_TP_FINALIZE 0
#endif
#undef CYTHON_USE_DICT_VERSIONS
#define CYTHON_USE_DICT_VERSIONS 0
@@ -463,6 +474,14 @@ END: Cython Metadata */
# define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
+#ifndef CYTHON_USE_CPP_STD_MOVE
+ #if defined(__cplusplus) && (\
+ __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
+ #define CYTHON_USE_CPP_STD_MOVE 1
+ #else
+ #define CYTHON_USE_CPP_STD_MOVE 0
+ #endif
+#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#ifdef _MSC_VER
#ifndef _MSC_STDINT_H_
@@ -578,59 +597,91 @@ class __Pyx_FakeReference {
#else
#define __Pyx_BUILTIN_MODULE_NAME "builtins"
#define __Pyx_DefaultClassType PyType_Type
-#if PY_VERSION_HEX >= 0x030B00A1
- static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
+#if CYTHON_COMPILING_IN_LIMITED_API
+ static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
PyObject *code, PyObject *c, PyObject* n, PyObject *v,
PyObject *fv, PyObject *cell, PyObject* fn,
PyObject *name, int fline, PyObject *lnos) {
- PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
- PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *empty=NULL;
- const char *fn_cstr=NULL;
- const char *name_cstr=NULL;
- PyCodeObject *co=NULL, *result=NULL;
+ PyObject *exception_table = NULL;
+ PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
+ #if __PYX_LIMITED_VERSION_HEX < 0x030B0000
+ PyObject *version_info; // borrowed
+ #endif
+ PyObject *py_minor_version = NULL;
+ long minor_version = 0;
PyObject *type, *value, *traceback;
PyErr_Fetch(&type, &value, &traceback);
- if (!(kwds=PyDict_New())) goto end;
- if (!(argcount=PyLong_FromLong(a))) goto end;
- if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
- if (!(posonlyargcount=PyLong_FromLong(p))) goto end;
- if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end;
- if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
- if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end;
- if (!(nlocals=PyLong_FromLong(l))) goto end;
- if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
- if (!(stacksize=PyLong_FromLong(s))) goto end;
- if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end;
- if (!(flags=PyLong_FromLong(f))) goto end;
- if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
- if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
- if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
- if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
- if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
- if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto end;
- if (!(empty = PyTuple_New(0))) goto end;
- result = (PyCodeObject*) PyObject_Call(replace, empty, kwds);
+ #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000
+ minor_version = 11; // we don't yet need to distinguish between versions > 11
+ #else
+ if (!(version_info = PySys_GetObject("version_info"))) goto end;
+ if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
+ minor_version = PyLong_AsLong(py_minor_version);
+ if (minor_version == -1 && PyErr_Occurred()) goto end;
+ #endif
+ if (!(types_module = PyImport_ImportModule("types"))) goto end;
+ if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
+ if (minor_version <= 7) {
+ (void)p;
+ result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code,
+ c, n, v, fn, name, fline, lnos, fv, cell);
+ } else if (minor_version <= 10) {
+ result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code,
+ c, n, v, fn, name, fline, lnos, fv, cell);
+ } else {
+ if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
+ result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code,
+ c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
+ }
end:
- Py_XDECREF((PyObject*) co);
- Py_XDECREF(kwds);
- Py_XDECREF(argcount);
- Py_XDECREF(posonlyargcount);
- Py_XDECREF(kwonlyargcount);
- Py_XDECREF(nlocals);
- Py_XDECREF(stacksize);
- Py_XDECREF(replace);
- Py_XDECREF(empty);
+ Py_XDECREF(code_type);
+ Py_XDECREF(exception_table);
+ Py_XDECREF(types_module);
+ Py_XDECREF(py_minor_version);
if (type) {
PyErr_Restore(type, value, traceback);
}
return result;
}
+ #ifndef CO_OPTIMIZED
+ #define CO_OPTIMIZED 0x0001
+ #endif
+ #ifndef CO_NEWLOCALS
+ #define CO_NEWLOCALS 0x0002
+ #endif
+ #ifndef CO_VARARGS
+ #define CO_VARARGS 0x0004
+ #endif
+ #ifndef CO_VARKEYWORDS
+ #define CO_VARKEYWORDS 0x0008
+ #endif
+ #ifndef CO_ASYNC_GENERATOR
+ #define CO_ASYNC_GENERATOR 0x0200
+ #endif
+ #ifndef CO_GENERATOR
+ #define CO_GENERATOR 0x0020
+ #endif
+ #ifndef CO_COROUTINE
+ #define CO_COROUTINE 0x0080
+ #endif
+#elif PY_VERSION_HEX >= 0x030B0000
+ static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
+ PyObject *code, PyObject *c, PyObject* n, PyObject *v,
+ PyObject *fv, PyObject *cell, PyObject* fn,
+ PyObject *name, int fline, PyObject *lnos) {
+ PyCodeObject *result;
+ PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0); // we don't have access to __pyx_empty_bytes here
+ if (!empty_bytes) return NULL;
+ result =
+ #if PY_VERSION_HEX >= 0x030C0000
+ PyUnstable_Code_NewWithPosOnlyArgs
+ #else
+ PyCode_NewWithPosOnlyArgs
+ #endif
+ (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes);
+ Py_DECREF(empty_bytes);
+ return result;
+ }
#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
#define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
@@ -730,7 +781,32 @@ class __Pyx_FakeReference {
#define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0
#define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n))
#endif
-#if PY_VERSION_HEX < 0x030900B1
+#if PY_MAJOR_VERSION >= 0x030900B1
+#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func)
+#else
+#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func)
+#endif
+#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func)
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth)
+#elif !CYTHON_COMPILING_IN_LIMITED_API
+#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func)
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags)
+static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
+ return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
+}
+#endif
+static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) {
+#if CYTHON_COMPILING_IN_LIMITED_API
+ return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
+#else
+ return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
+#endif
+}
+#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc)
+#if __PYX_LIMITED_VERSION_HEX < 0x030900B1
#define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b))
typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
#else
@@ -756,6 +832,8 @@ class __Pyx_FakeReference {
#define __Pyx_PyThreadState_Current PyThreadState_Get()
#elif !CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_Current PyThreadState_GET()
+#elif PY_VERSION_HEX >= 0x030d00A1
+ #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
#elif PY_VERSION_HEX >= 0x03060000
#define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#elif PY_VERSION_HEX >= 0x03000000
@@ -831,7 +909,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
}
#endif
#endif
-#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n) PyDict_New()
@@ -843,7 +921,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
#define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
#endif
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && CYTHON_USE_UNICODE_INTERNALS
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
@@ -880,6 +958,11 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
#define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature)
#define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next
#endif
+#if CYTHON_COMPILING_IN_LIMITED_API
+ #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v)
+#else
+ #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v)
+#endif
#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000
#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\
PyTypeObject *type = Py_TYPE(obj);\
@@ -1006,9 +1089,34 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
#define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
+ #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
#define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
+ #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
+ #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
+ #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
+ #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
+ #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
+ #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
+ #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
#else
+ #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
#define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
+ #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
+ #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
+ #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
+ #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
+ #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
+ #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
+ #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
+#endif
+#if PY_VERSION_HEX >= 0x030d00A1
+ #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
+#else
+ static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
+ PyObject *module = PyImport_AddModule(name);
+ Py_XINCREF(module);
+ return module;
+ }
#endif
#if PY_MAJOR_VERSION >= 3
#define PyIntObject PyLongObject
@@ -1180,9 +1288,10 @@ static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
#else
#define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
+static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
-#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
+static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
@@ -1298,6 +1407,7 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
#endif
#endif
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+#include
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
PyObject* sys;
@@ -1348,6 +1458,7 @@ bad:
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+#include