cpy3/boolean.go

39 lines
894 B
Go
Raw Normal View History

2018-12-13 22:09:42 +00:00
/*
Unless explicitly stated otherwise all files in this repository are licensed
under the MIT License.
2018-12-13 22:09:42 +00:00
This product includes software developed at Datadog (https://www.datadoghq.com/).
Copyright 2018 Datadog, Inc.
*/
2018-12-06 20:34:27 +00:00
package python3
/*
2023-05-24 08:30:48 +00:00
#cgo pkg-config: python-3.9-embed
2018-12-06 20:34:27 +00:00
#include "Python.h"
#include "macro.h"
*/
import "C"
2018-12-20 22:59:29 +00:00
import (
"unsafe"
)
2023-05-24 08:30:48 +00:00
// python boolean constants
2018-12-06 20:34:27 +00:00
var (
Py_False = togo(C.Py_False)
Py_True = togo(C.Py_True)
)
2023-05-24 08:30:48 +00:00
// Bool : https://docs.python.org/3/c-api/bool.html#c.PyBool_Type
2018-12-20 22:59:29 +00:00
var Bool = togo((*C.PyObject)(unsafe.Pointer(&C.PyBool_Type)))
2018-12-06 20:34:27 +00:00
2023-05-24 08:30:48 +00:00
// PyBool_Check : https://docs.python.org/3/c-api/bool.html#c.PyBool_Check
2018-12-06 20:34:27 +00:00
func PyBool_Check(o *PyObject) bool {
return C._go_PyBool_Check(toc(o)) != 0
}
2023-05-24 08:30:48 +00:00
// PyBool_FromLong : https://docs.python.org/3/c-api/bool.html#c.PyBool_FromLong
2018-12-06 20:34:27 +00:00
func PyBool_FromLong(v int) *PyObject {
return togo(C.PyBool_FromLong(C.long(v)))
}