@@ -279,6 +279,14 @@ if (PyUnicode_Check(u.ptr())) {
279
279
}
280
280
281
281
sz = a.nbytes ();
282
+ } else if (PyBool_Check (o)) {
283
+ if (idx < 1 )
284
+ first_dtype = py::dtype (" bool" );
285
+
286
+ auto a = py::cast<py::bool_>(o);
287
+ sz = sizeof (bool );
288
+ bool bool_value = a;
289
+ input_p = reinterpret_cast <const char *>(&bool_value);
282
290
} else {
283
291
// TODO write the type in the error here
284
292
// auto o_h = py::reinterpret_borrow<py::object>(o);
@@ -312,6 +320,11 @@ if (PyUnicode_Check(u.ptr())) {
312
320
auto arr = py::cast<py::array>(pyobj_p);
313
321
sz = arr.nbytes ();
314
322
input_p = (const char *)arr.data ();
323
+ } else if (PyBool_Check (pyobj_p)) {
324
+ py::bool_ bool_obj = py::cast<py::bool_>(pyobj_p);
325
+ sz = sizeof (bool );
326
+ bool bool_value = bool_obj;
327
+ input_p = reinterpret_cast <const char *>(&bool_value);
315
328
} else {
316
329
// TODO add object type
317
330
TPY_ERROR_LOC (" Unexpected object type in buffer conversion" );
@@ -391,6 +404,14 @@ if (PyUnicode_Check(u.ptr())) {
391
404
} else if (npy_api.PyArray_Check_ (obj_p)) {
392
405
// handle (potentially) var-len embedded arrays
393
406
sz = py::cast<py::array>(obj_p).nbytes ();
407
+ } else if (PyBool_Check (obj_p)) {
408
+ if (idx < 1 )
409
+ first_dtype = py::dtype (" bool" );
410
+
411
+ py::bool_ bool_obj = py::cast<py::bool_>(obj_p);
412
+ sz = sizeof (bool );
413
+ bool bool_value = bool_obj;
414
+ input_p = reinterpret_cast <const char *>(&bool_value);
394
415
} else {
395
416
auto errmsg =
396
417
std::string (" Unexpected object type in string conversion" );
@@ -424,6 +445,11 @@ if (PyUnicode_Check(u.ptr())) {
424
445
auto o_a = py::cast<py::array>(obj_h);
425
446
sz = o_a.nbytes ();
426
447
input_p = (const char *)o_a.data ();
448
+ } else if (PyBool_Check (obj_p)) {
449
+ py::bool_ bool_obj = py::cast<py::bool_>(obj_p);
450
+ sz = sizeof (bool );
451
+ bool bool_value = bool_obj;
452
+ input_p = reinterpret_cast <const char *>(&bool_value);
427
453
} else {
428
454
TPY_ERROR_LOC (" Unexpected object type in buffer conversion" );
429
455
}
0 commit comments