summaryrefslogtreecommitdiff
path: root/src/float.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/float.zig')
-rw-r--r--src/float.zig26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/float.zig b/src/float.zig
new file mode 100644
index 0000000..ffe9903
--- /dev/null
+++ b/src/float.zig
@@ -0,0 +1,26 @@
+const c = @import("c");
+
+const zpy = @import("root.zig");
+
+
+pub const Float = extern struct {
+ const Self = @This();
+
+ object: c.PyObject,
+
+ pub fn from(value: f64) !*Self {
+ return @ptrCast(c.PyFloat_FromDouble(value) orelse return error.Exception);
+ }
+
+ pub fn asDouble(self: *const Self) f64 {
+ return c.PyFloat_asDouble(self.object.ptr);
+ }
+
+ pub fn deinit(self: *Self) void {
+ self.object.decref();
+ }
+
+ pub fn asObject(self: *Self) *zpy.Object {
+ return @ptrCast(self);
+ }
+};