Skip to content

Commit d511956

Browse files
committed
less empty
1 parent 0599bd0 commit d511956

File tree

1 file changed

+74
-74
lines changed

1 file changed

+74
-74
lines changed

src/python/main.cpp

Lines changed: 74 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -157,80 +157,80 @@ NB_MODULE(_drjit_ext, m_) {
157157
.value("Permute", ReduceMode::Permute, doc_ReduceMode_Permute)
158158
.value("Expand", ReduceMode::Expand, doc_ReduceMode_Expand);
159159

160-
//nb::enum_<VarState>(m, "VarState", doc_VarState)
161-
// .value("Invalid", VarState::Invalid, doc_VarState_Invalid)
162-
// .value("Literal", VarState::Literal, doc_VarState_Literal)
163-
// .value("Undefined", VarState::Undefined, doc_VarState_Undefined)
164-
// .value("Unevaluated", VarState::Unevaluated, doc_VarState_Unevaluated)
165-
// .value("Evaluated", VarState::Evaluated, doc_VarState_Evaluated)
166-
// .value("Dirty", VarState::Dirty, doc_VarState_Dirty)
167-
// .value("Symbolic", VarState::Symbolic, doc_VarState_Symbolic)
168-
// .value("Mixed", VarState::Mixed, doc_VarState_Mixed);
169-
170-
//nb::enum_<dr::FilterMode>(m, "FilterMode")
171-
// .value("Nearest", dr::FilterMode::Nearest)
172-
// .value("Linear", dr::FilterMode::Linear);
173-
174-
//nb::enum_<dr::WrapMode>(m, "WrapMode")
175-
// .value("Repeat", dr::WrapMode::Repeat)
176-
// .value("Clamp", dr::WrapMode::Clamp)
177-
// .value("Mirror", dr::WrapMode::Mirror);
178-
179-
//m.def("has_backend", &jit_has_backend, doc_has_backend);
180-
181-
//m.def("sync_thread", &jit_sync_thread, doc_sync_thread)
182-
// .def("flush_kernel_cache", &jit_flush_kernel_cache, doc_flush_kernel_cache)
183-
// .def("flush_malloc_cache", &jit_flush_malloc_cache, doc_flush_malloc_cache)
184-
// .def("thread_count", &jit_llvm_thread_count, doc_thread_count)
185-
// .def("set_thread_count", &jit_llvm_set_thread_count, doc_set_thread_count)
186-
// .def("expand_threshold", &jit_llvm_expand_threshold, doc_expand_threshold)
187-
// .def("set_expand_threshold", &jit_llvm_set_expand_threshold, doc_set_expand_threshold);
188-
189-
//m.def("flag", [](JitFlag f) { return jit_flag(f) != 0; }, doc_flag);
190-
//m.def("set_flag", &set_flag_py, doc_set_flag);
191-
192-
//struct scoped_set_flag_py {
193-
// JitFlag flag;
194-
// bool value, backup = false;
195-
// scoped_set_flag_py(JitFlag flag, bool value)
196-
// : flag(flag), value(value) { }
197-
198-
// void __enter__() {
199-
// backup = jit_flag(flag);
200-
// set_flag_py(flag, value);
201-
// }
202-
203-
// void __exit__(nb::handle, nb::handle, nb::handle) {
204-
// set_flag_py(flag, backup);
205-
// }
206-
//};
207-
208-
//nb::class_<scoped_set_flag_py>(m, "scoped_set_flag",
209-
// doc_scoped_set_flag)
210-
// .def(nb::init<JitFlag, bool>(), "flag"_a, "value"_a = true)
211-
// .def("__enter__", &scoped_set_flag_py::__enter__)
212-
// .def("__exit__", &scoped_set_flag_py::__exit__, nb::arg().none(),
213-
// nb::arg().none(), nb::arg().none());
214-
215-
//// Intrusive reference counting
216-
//nb::intrusive_init(
217-
// [](PyObject *o) noexcept {
218-
// nb::gil_scoped_acquire guard;
219-
// Py_INCREF(o);
220-
// },
221-
// [](PyObject *o) noexcept {
222-
// if (!nb::is_alive())
223-
// return;
224-
// nb::gil_scoped_acquire guard;
225-
// Py_DECREF(o);
226-
// });
227-
228-
//nb::class_<nb::intrusive_base> ib(
229-
// detail, "IntrusiveBase",
230-
// nb::intrusive_ptr<nb::intrusive_base>(
231-
// [](nb::intrusive_base *o, PyObject *po) noexcept {
232-
// o->set_self_py(po);
233-
// }), doc_intrusive_base);
160+
nb::enum_<VarState>(m, "VarState", doc_VarState)
161+
.value("Invalid", VarState::Invalid, doc_VarState_Invalid)
162+
.value("Literal", VarState::Literal, doc_VarState_Literal)
163+
.value("Undefined", VarState::Undefined, doc_VarState_Undefined)
164+
.value("Unevaluated", VarState::Unevaluated, doc_VarState_Unevaluated)
165+
.value("Evaluated", VarState::Evaluated, doc_VarState_Evaluated)
166+
.value("Dirty", VarState::Dirty, doc_VarState_Dirty)
167+
.value("Symbolic", VarState::Symbolic, doc_VarState_Symbolic)
168+
.value("Mixed", VarState::Mixed, doc_VarState_Mixed);
169+
170+
nb::enum_<dr::FilterMode>(m, "FilterMode")
171+
.value("Nearest", dr::FilterMode::Nearest)
172+
.value("Linear", dr::FilterMode::Linear);
173+
174+
nb::enum_<dr::WrapMode>(m, "WrapMode")
175+
.value("Repeat", dr::WrapMode::Repeat)
176+
.value("Clamp", dr::WrapMode::Clamp)
177+
.value("Mirror", dr::WrapMode::Mirror);
178+
179+
m.def("has_backend", &jit_has_backend, doc_has_backend);
180+
181+
m.def("sync_thread", &jit_sync_thread, doc_sync_thread)
182+
.def("flush_kernel_cache", &jit_flush_kernel_cache, doc_flush_kernel_cache)
183+
.def("flush_malloc_cache", &jit_flush_malloc_cache, doc_flush_malloc_cache)
184+
.def("thread_count", &jit_llvm_thread_count, doc_thread_count)
185+
.def("set_thread_count", &jit_llvm_set_thread_count, doc_set_thread_count)
186+
.def("expand_threshold", &jit_llvm_expand_threshold, doc_expand_threshold)
187+
.def("set_expand_threshold", &jit_llvm_set_expand_threshold, doc_set_expand_threshold);
188+
189+
m.def("flag", [](JitFlag f) { return jit_flag(f) != 0; }, doc_flag);
190+
m.def("set_flag", &set_flag_py, doc_set_flag);
191+
192+
struct scoped_set_flag_py {
193+
JitFlag flag;
194+
bool value, backup = false;
195+
scoped_set_flag_py(JitFlag flag, bool value)
196+
: flag(flag), value(value) { }
197+
198+
void __enter__() {
199+
backup = jit_flag(flag);
200+
set_flag_py(flag, value);
201+
}
202+
203+
void __exit__(nb::handle, nb::handle, nb::handle) {
204+
set_flag_py(flag, backup);
205+
}
206+
};
207+
208+
nb::class_<scoped_set_flag_py>(m, "scoped_set_flag",
209+
doc_scoped_set_flag)
210+
.def(nb::init<JitFlag, bool>(), "flag"_a, "value"_a = true)
211+
.def("__enter__", &scoped_set_flag_py::__enter__)
212+
.def("__exit__", &scoped_set_flag_py::__exit__, nb::arg().none(),
213+
nb::arg().none(), nb::arg().none());
214+
215+
// Intrusive reference counting
216+
nb::intrusive_init(
217+
[](PyObject *o) noexcept {
218+
nb::gil_scoped_acquire guard;
219+
Py_INCREF(o);
220+
},
221+
[](PyObject *o) noexcept {
222+
if (!nb::is_alive())
223+
return;
224+
nb::gil_scoped_acquire guard;
225+
Py_DECREF(o);
226+
});
227+
228+
nb::class_<nb::intrusive_base> ib(
229+
detail, "IntrusiveBase",
230+
nb::intrusive_ptr<nb::intrusive_base>(
231+
[](nb::intrusive_base *o, PyObject *po) noexcept {
232+
o->set_self_py(po);
233+
}), doc_intrusive_base);
234234

235235
//jit_init_async(backends);
236236

0 commit comments

Comments
 (0)