PyPartMC 2.1.2__cp315-cp315-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. PyPartMC/_PyPartMC.pyd +0 -0
  2. PyPartMC/__generate_si.py +37 -0
  3. PyPartMC/__init__.py +78 -0
  4. PyPartMC/cmake/PyPartMCConfig.cmake +65 -0
  5. PyPartMC/include/PyPartMC/aero_binned.hpp +117 -0
  6. PyPartMC/include/PyPartMC/aero_data.hpp +283 -0
  7. PyPartMC/include/PyPartMC/aero_dist.hpp +85 -0
  8. PyPartMC/include/PyPartMC/aero_mode.hpp +359 -0
  9. PyPartMC/include/PyPartMC/aero_particle.hpp +275 -0
  10. PyPartMC/include/PyPartMC/aero_state.hpp +664 -0
  11. PyPartMC/include/PyPartMC/bin_grid.hpp +143 -0
  12. PyPartMC/include/PyPartMC/camp_core.hpp +31 -0
  13. PyPartMC/include/PyPartMC/condense.hpp +35 -0
  14. PyPartMC/include/PyPartMC/env_state.hpp +161 -0
  15. PyPartMC/include/PyPartMC/gas_data.hpp +105 -0
  16. PyPartMC/include/PyPartMC/gas_state.hpp +129 -0
  17. PyPartMC/include/PyPartMC/getters.hpp +55 -0
  18. PyPartMC/include/PyPartMC/input_guard.hpp +155 -0
  19. PyPartMC/include/PyPartMC/json_resource.hpp +363 -0
  20. PyPartMC/include/PyPartMC/output.hpp +96 -0
  21. PyPartMC/include/PyPartMC/photolysis.hpp +29 -0
  22. PyPartMC/include/PyPartMC/pmc_resource.hpp +42 -0
  23. PyPartMC/include/PyPartMC/rand.hpp +12 -0
  24. PyPartMC/include/PyPartMC/run_exact.hpp +34 -0
  25. PyPartMC/include/PyPartMC/run_exact_opt.hpp +46 -0
  26. PyPartMC/include/PyPartMC/run_part.hpp +110 -0
  27. PyPartMC/include/PyPartMC/run_part_opt.hpp +72 -0
  28. PyPartMC/include/PyPartMC/run_sect.hpp +34 -0
  29. PyPartMC/include/PyPartMC/run_sect_opt.hpp +54 -0
  30. PyPartMC/include/PyPartMC/scenario.hpp +220 -0
  31. PyPartMC/include/PyPartMC/si.hpp +118 -0
  32. PyPartMC/include/PyPartMC/util.hpp +22 -0
  33. PyPartMC/include/PyPartMC.hpp +28 -0
  34. PyPartMC/include/aero_data_parameters.hpp +27 -0
  35. PyPartMC/include/bpstd/detail/string_view.inl +925 -0
  36. PyPartMC/include/bpstd/string_view.hpp +498 -0
  37. PyPartMC/include/gas_data_parameters.hpp +14 -0
  38. PyPartMC/include/nanobind_json/nanobind_json.h +226 -0
  39. PyPartMC/include/nlohmann/adl_serializer.hpp +55 -0
  40. PyPartMC/include/nlohmann/byte_container_with_subtype.hpp +103 -0
  41. PyPartMC/include/nlohmann/detail/abi_macros.hpp +100 -0
  42. PyPartMC/include/nlohmann/detail/conversions/from_json.hpp +497 -0
  43. PyPartMC/include/nlohmann/detail/conversions/to_chars.hpp +1118 -0
  44. PyPartMC/include/nlohmann/detail/conversions/to_json.hpp +446 -0
  45. PyPartMC/include/nlohmann/detail/exceptions.hpp +257 -0
  46. PyPartMC/include/nlohmann/detail/hash.hpp +129 -0
  47. PyPartMC/include/nlohmann/detail/input/binary_reader.hpp +3009 -0
  48. PyPartMC/include/nlohmann/detail/input/input_adapters.hpp +492 -0
  49. PyPartMC/include/nlohmann/detail/input/json_sax.hpp +727 -0
  50. PyPartMC/include/nlohmann/detail/input/lexer.hpp +1633 -0
  51. PyPartMC/include/nlohmann/detail/input/parser.hpp +519 -0
  52. PyPartMC/include/nlohmann/detail/input/position_t.hpp +37 -0
  53. PyPartMC/include/nlohmann/detail/iterators/internal_iterator.hpp +35 -0
  54. PyPartMC/include/nlohmann/detail/iterators/iter_impl.hpp +751 -0
  55. PyPartMC/include/nlohmann/detail/iterators/iteration_proxy.hpp +242 -0
  56. PyPartMC/include/nlohmann/detail/iterators/iterator_traits.hpp +61 -0
  57. PyPartMC/include/nlohmann/detail/iterators/json_reverse_iterator.hpp +130 -0
  58. PyPartMC/include/nlohmann/detail/iterators/primitive_iterator.hpp +132 -0
  59. PyPartMC/include/nlohmann/detail/json_custom_base_class.hpp +39 -0
  60. PyPartMC/include/nlohmann/detail/json_pointer.hpp +988 -0
  61. PyPartMC/include/nlohmann/detail/json_ref.hpp +78 -0
  62. PyPartMC/include/nlohmann/detail/macro_scope.hpp +482 -0
  63. PyPartMC/include/nlohmann/detail/macro_unscope.hpp +45 -0
  64. PyPartMC/include/nlohmann/detail/meta/call_std/begin.hpp +17 -0
  65. PyPartMC/include/nlohmann/detail/meta/call_std/end.hpp +17 -0
  66. PyPartMC/include/nlohmann/detail/meta/cpp_future.hpp +171 -0
  67. PyPartMC/include/nlohmann/detail/meta/detected.hpp +70 -0
  68. PyPartMC/include/nlohmann/detail/meta/identity_tag.hpp +21 -0
  69. PyPartMC/include/nlohmann/detail/meta/is_sax.hpp +159 -0
  70. PyPartMC/include/nlohmann/detail/meta/std_fs.hpp +29 -0
  71. PyPartMC/include/nlohmann/detail/meta/type_traits.hpp +795 -0
  72. PyPartMC/include/nlohmann/detail/meta/void_t.hpp +24 -0
  73. PyPartMC/include/nlohmann/detail/output/binary_writer.hpp +1838 -0
  74. PyPartMC/include/nlohmann/detail/output/output_adapters.hpp +147 -0
  75. PyPartMC/include/nlohmann/detail/output/serializer.hpp +988 -0
  76. PyPartMC/include/nlohmann/detail/string_concat.hpp +146 -0
  77. PyPartMC/include/nlohmann/detail/string_escape.hpp +72 -0
  78. PyPartMC/include/nlohmann/detail/value_t.hpp +118 -0
  79. PyPartMC/include/nlohmann/json.hpp +5258 -0
  80. PyPartMC/include/nlohmann/json_fwd.hpp +75 -0
  81. PyPartMC/include/nlohmann/ordered_map.hpp +359 -0
  82. PyPartMC/include/nlohmann/thirdparty/hedley/hedley.hpp +2045 -0
  83. PyPartMC/include/nlohmann/thirdparty/hedley/hedley_undef.hpp +158 -0
  84. PyPartMC/include/output_parameters.hpp +25 -0
  85. PyPartMC/include/tcb/span.hpp +617 -0
  86. PyPartMC/include/tl/optional.hpp +2062 -0
  87. PyPartMC/lib/libpartmclib.a +0 -0
  88. pypartmc-2.1.2.dist-info/METADATA +494 -0
  89. pypartmc-2.1.2.dist-info/RECORD +91 -0
  90. pypartmc-2.1.2.dist-info/WHEEL +5 -0
  91. pypartmc-2.1.2.dist-info/licenses/LICENSE +674 -0
@@ -0,0 +1,129 @@
1
+ // __ _____ _____ _____
2
+ // __| | __| | | | JSON for Modern C++
3
+ // | | |__ | | | | | | version 3.11.3
4
+ // |_____|_____|_____|_|___| https://github.com/nlohmann/json
5
+ //
6
+ // SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me>
7
+ // SPDX-License-Identifier: MIT
8
+
9
+ #pragma once
10
+
11
+ #include <cstdint> // uint8_t
12
+ #include <cstddef> // size_t
13
+ #include <functional> // hash
14
+
15
+ #include <nlohmann/detail/abi_macros.hpp>
16
+ #include <nlohmann/detail/value_t.hpp>
17
+
18
+ NLOHMANN_JSON_NAMESPACE_BEGIN
19
+ namespace detail
20
+ {
21
+
22
+ // boost::hash_combine
23
+ inline std::size_t combine(std::size_t seed, std::size_t h) noexcept
24
+ {
25
+ seed ^= h + 0x9e3779b9 + (seed << 6U) + (seed >> 2U);
26
+ return seed;
27
+ }
28
+
29
+ /*!
30
+ @brief hash a JSON value
31
+
32
+ The hash function tries to rely on std::hash where possible. Furthermore, the
33
+ type of the JSON value is taken into account to have different hash values for
34
+ null, 0, 0U, and false, etc.
35
+
36
+ @tparam BasicJsonType basic_json specialization
37
+ @param j JSON value to hash
38
+ @return hash value of j
39
+ */
40
+ template<typename BasicJsonType>
41
+ std::size_t hash(const BasicJsonType& j)
42
+ {
43
+ using string_t = typename BasicJsonType::string_t;
44
+ using number_integer_t = typename BasicJsonType::number_integer_t;
45
+ using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
46
+ using number_float_t = typename BasicJsonType::number_float_t;
47
+
48
+ const auto type = static_cast<std::size_t>(j.type());
49
+ switch (j.type())
50
+ {
51
+ case BasicJsonType::value_t::null:
52
+ case BasicJsonType::value_t::discarded:
53
+ {
54
+ return combine(type, 0);
55
+ }
56
+
57
+ case BasicJsonType::value_t::object:
58
+ {
59
+ auto seed = combine(type, j.size());
60
+ for (const auto& element : j.items())
61
+ {
62
+ const auto h = std::hash<string_t> {}(element.key());
63
+ seed = combine(seed, h);
64
+ seed = combine(seed, hash(element.value()));
65
+ }
66
+ return seed;
67
+ }
68
+
69
+ case BasicJsonType::value_t::array:
70
+ {
71
+ auto seed = combine(type, j.size());
72
+ for (const auto& element : j)
73
+ {
74
+ seed = combine(seed, hash(element));
75
+ }
76
+ return seed;
77
+ }
78
+
79
+ case BasicJsonType::value_t::string:
80
+ {
81
+ const auto h = std::hash<string_t> {}(j.template get_ref<const string_t&>());
82
+ return combine(type, h);
83
+ }
84
+
85
+ case BasicJsonType::value_t::boolean:
86
+ {
87
+ const auto h = std::hash<bool> {}(j.template get<bool>());
88
+ return combine(type, h);
89
+ }
90
+
91
+ case BasicJsonType::value_t::number_integer:
92
+ {
93
+ const auto h = std::hash<number_integer_t> {}(j.template get<number_integer_t>());
94
+ return combine(type, h);
95
+ }
96
+
97
+ case BasicJsonType::value_t::number_unsigned:
98
+ {
99
+ const auto h = std::hash<number_unsigned_t> {}(j.template get<number_unsigned_t>());
100
+ return combine(type, h);
101
+ }
102
+
103
+ case BasicJsonType::value_t::number_float:
104
+ {
105
+ const auto h = std::hash<number_float_t> {}(j.template get<number_float_t>());
106
+ return combine(type, h);
107
+ }
108
+
109
+ case BasicJsonType::value_t::binary:
110
+ {
111
+ auto seed = combine(type, j.get_binary().size());
112
+ const auto h = std::hash<bool> {}(j.get_binary().has_subtype());
113
+ seed = combine(seed, h);
114
+ seed = combine(seed, static_cast<std::size_t>(j.get_binary().subtype()));
115
+ for (const auto byte : j.get_binary())
116
+ {
117
+ seed = combine(seed, std::hash<std::uint8_t> {}(byte));
118
+ }
119
+ return seed;
120
+ }
121
+
122
+ default: // LCOV_EXCL_LINE
123
+ JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE
124
+ return 0; // LCOV_EXCL_LINE
125
+ }
126
+ }
127
+
128
+ } // namespace detail
129
+ NLOHMANN_JSON_NAMESPACE_END