package qt /* #cgo CFLAGS: -fPIC #cgo pkg-config: Qt5Widgets #include "gen_qrandom.h" #include */ import "C" import ( "runtime" "unsafe" ) type QRandomGenerator struct { h *C.QRandomGenerator } func (this *QRandomGenerator) cPointer() *C.QRandomGenerator { if this == nil { return nil } return this.h } func newQRandomGenerator(h *C.QRandomGenerator) *QRandomGenerator { return &QRandomGenerator{h: h} } func newQRandomGenerator_U(h unsafe.Pointer) *QRandomGenerator { return newQRandomGenerator((*C.QRandomGenerator)(h)) } // NewQRandomGenerator constructs a new QRandomGenerator object. func NewQRandomGenerator() *QRandomGenerator { ret := C.QRandomGenerator_new() return newQRandomGenerator(ret) } // NewQRandomGenerator2 constructs a new QRandomGenerator object. func NewQRandomGenerator2(seedBuffer *uint32, lenVal uint64) *QRandomGenerator { ret := C.QRandomGenerator_new2((*C.uint32_t)(unsafe.Pointer(seedBuffer)), (C.size_t)(lenVal)) return newQRandomGenerator(ret) } // NewQRandomGenerator3 constructs a new QRandomGenerator object. func NewQRandomGenerator3(begin *uint32, end *uint32) *QRandomGenerator { ret := C.QRandomGenerator_new3((*C.uint32_t)(unsafe.Pointer(begin)), (*C.uint32_t)(unsafe.Pointer(end))) return newQRandomGenerator(ret) } // NewQRandomGenerator4 constructs a new QRandomGenerator object. func NewQRandomGenerator4(other *QRandomGenerator) *QRandomGenerator { ret := C.QRandomGenerator_new4(other.cPointer()) return newQRandomGenerator(ret) } // NewQRandomGenerator5 constructs a new QRandomGenerator object. func NewQRandomGenerator5(seedValue uint32) *QRandomGenerator { ret := C.QRandomGenerator_new5((C.uint32_t)(seedValue)) return newQRandomGenerator(ret) } func (this *QRandomGenerator) OperatorAssign(other *QRandomGenerator) { C.QRandomGenerator_OperatorAssign(this.h, other.cPointer()) } func (this *QRandomGenerator) Generate() uint32 { ret := C.QRandomGenerator_Generate(this.h) return (uint32)(ret) } func (this *QRandomGenerator) Generate64() uint64 { ret := C.QRandomGenerator_Generate64(this.h) return (uint64)(ret) } func (this *QRandomGenerator) GenerateDouble() float64 { ret := C.QRandomGenerator_GenerateDouble(this.h) return (float64)(ret) } func (this *QRandomGenerator) Bounded(highest float64) float64 { ret := C.QRandomGenerator_Bounded(this.h, (C.double)(highest)) return (float64)(ret) } func (this *QRandomGenerator) BoundedWithHighest(highest uint32) uint32 { ret := C.QRandomGenerator_BoundedWithHighest(this.h, (C.uint32_t)(highest)) return (uint32)(ret) } func (this *QRandomGenerator) Bounded2(lowest uint32, highest uint32) uint32 { ret := C.QRandomGenerator_Bounded2(this.h, (C.uint32_t)(lowest), (C.uint32_t)(highest)) return (uint32)(ret) } func (this *QRandomGenerator) Bounded3(highest int) int { ret := C.QRandomGenerator_Bounded3(this.h, (C.int)(highest)) return (int)(ret) } func (this *QRandomGenerator) Bounded4(lowest int, highest int) int { ret := C.QRandomGenerator_Bounded4(this.h, (C.int)(lowest), (C.int)(highest)) return (int)(ret) } func (this *QRandomGenerator) Generate2(begin *uint32, end *uint32) { C.QRandomGenerator_Generate2(this.h, (*C.uint32_t)(unsafe.Pointer(begin)), (*C.uint32_t)(unsafe.Pointer(end))) } func (this *QRandomGenerator) Seed() { C.QRandomGenerator_Seed(this.h) } func (this *QRandomGenerator) Discard(z uint64) { C.QRandomGenerator_Discard(this.h, (C.ulonglong)(z)) } func QRandomGenerator_System() *QRandomGenerator { ret := C.QRandomGenerator_System() return newQRandomGenerator_U(unsafe.Pointer(ret)) } func QRandomGenerator_Global() *QRandomGenerator { ret := C.QRandomGenerator_Global() return newQRandomGenerator_U(unsafe.Pointer(ret)) } func QRandomGenerator_SecurelySeeded() *QRandomGenerator { ret := C.QRandomGenerator_SecurelySeeded() // Qt uses pass-by-value semantics for this type. Mimic with finalizer ret1 := newQRandomGenerator(ret) runtime.SetFinalizer(ret1, func(ret2 *QRandomGenerator) { ret2.Delete() runtime.KeepAlive(ret2.h) }) return ret1 } func (this *QRandomGenerator) Seed1(s uint32) { C.QRandomGenerator_Seed1(this.h, (C.uint32_t)(s)) } func (this *QRandomGenerator) Delete() { C.QRandomGenerator_Delete(this.h) } type QRandomGenerator64 struct { h *C.QRandomGenerator64 *QRandomGenerator } func (this *QRandomGenerator64) cPointer() *C.QRandomGenerator64 { if this == nil { return nil } return this.h } func newQRandomGenerator64(h *C.QRandomGenerator64) *QRandomGenerator64 { return &QRandomGenerator64{h: h, QRandomGenerator: newQRandomGenerator_U(unsafe.Pointer(h))} } func newQRandomGenerator64_U(h unsafe.Pointer) *QRandomGenerator64 { return newQRandomGenerator64((*C.QRandomGenerator64)(h)) } // NewQRandomGenerator64 constructs a new QRandomGenerator64 object. func NewQRandomGenerator64() *QRandomGenerator64 { ret := C.QRandomGenerator64_new() return newQRandomGenerator64(ret) } // NewQRandomGenerator642 constructs a new QRandomGenerator64 object. func NewQRandomGenerator642(seedBuffer *uint32, lenVal uint64) *QRandomGenerator64 { ret := C.QRandomGenerator64_new2((*C.uint32_t)(unsafe.Pointer(seedBuffer)), (C.size_t)(lenVal)) return newQRandomGenerator64(ret) } // NewQRandomGenerator643 constructs a new QRandomGenerator64 object. func NewQRandomGenerator643(begin *uint32, end *uint32) *QRandomGenerator64 { ret := C.QRandomGenerator64_new3((*C.uint32_t)(unsafe.Pointer(begin)), (*C.uint32_t)(unsafe.Pointer(end))) return newQRandomGenerator64(ret) } // NewQRandomGenerator644 constructs a new QRandomGenerator64 object. func NewQRandomGenerator644(other *QRandomGenerator) *QRandomGenerator64 { ret := C.QRandomGenerator64_new4(other.cPointer()) return newQRandomGenerator64(ret) } // NewQRandomGenerator645 constructs a new QRandomGenerator64 object. func NewQRandomGenerator645(param1 *QRandomGenerator64) *QRandomGenerator64 { ret := C.QRandomGenerator64_new5(param1.cPointer()) return newQRandomGenerator64(ret) } // NewQRandomGenerator646 constructs a new QRandomGenerator64 object. func NewQRandomGenerator646(seedValue uint32) *QRandomGenerator64 { ret := C.QRandomGenerator64_new6((C.uint32_t)(seedValue)) return newQRandomGenerator64(ret) } func (this *QRandomGenerator64) Generate() uint64 { ret := C.QRandomGenerator64_Generate(this.h) return (uint64)(ret) } func (this *QRandomGenerator64) Discard(z uint64) { C.QRandomGenerator64_Discard(this.h, (C.ulonglong)(z)) } func QRandomGenerator64_System() *QRandomGenerator64 { ret := C.QRandomGenerator64_System() return newQRandomGenerator64_U(unsafe.Pointer(ret)) } func QRandomGenerator64_Global() *QRandomGenerator64 { ret := C.QRandomGenerator64_Global() return newQRandomGenerator64_U(unsafe.Pointer(ret)) } func QRandomGenerator64_SecurelySeeded() *QRandomGenerator64 { ret := C.QRandomGenerator64_SecurelySeeded() // Qt uses pass-by-value semantics for this type. Mimic with finalizer ret1 := newQRandomGenerator64(ret) runtime.SetFinalizer(ret1, func(ret2 *QRandomGenerator64) { ret2.Delete() runtime.KeepAlive(ret2.h) }) return ret1 } func (this *QRandomGenerator64) OperatorAssign(param1 *QRandomGenerator64) { C.QRandomGenerator64_OperatorAssign(this.h, param1.cPointer()) } func (this *QRandomGenerator64) Delete() { C.QRandomGenerator64_Delete(this.h) }