summaryrefslogtreecommitdiff
path: root/constructor.c
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2020-02-22 09:56:09 +0000
committerrodri <rgl@antares-labs.eu>2020-02-22 09:56:09 +0000
commita39951d8f69209cfea2b7051832b851914e662ef (patch)
treee4cd1c32e5d6f531b523f6fda558cc3a5f603547 /constructor.c
downloadbrokentoys-a39951d8f69209cfea2b7051832b851914e662ef.tar.gz
brokentoys-a39951d8f69209cfea2b7051832b851914e662ef.tar.bz2
brokentoys-a39951d8f69209cfea2b7051832b851914e662ef.zip
now version controlled.
Diffstat (limited to 'constructor.c')
-rw-r--r--constructor.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/constructor.c b/constructor.c
new file mode 100644
index 0000000..3ecff2d
--- /dev/null
+++ b/constructor.c
@@ -0,0 +1,49 @@
+#include <u.h>
+#include <libc.h>
+
+typedef struct Point Point;
+struct Point
+{
+ int x, y;
+};
+
+typedef struct Pointd Pointd;
+struct Pointd
+{
+ double x, y, w;
+};
+
+Point
+Pt(int x, int y)
+{
+ return (Point){x, y};
+}
+
+Pointd
+Ptd(double x, double y, double w)
+{
+ return (Pointd){x, y, w};
+}
+
+vlong t0;
+
+void
+main()
+{
+ Point p;
+ Pointd pd;
+
+ t0 = nsec();
+ p = (Point){2, 3};
+ fprint(2, "p1 %lldnsec\n", nsec()-t0);
+ t0 = nsec();
+ p = Pt(2, 3);
+ fprint(2, "p2 %lldnsec\n", nsec()-t0);
+ t0 = nsec();
+ pd = (Pointd){2.0, 3.0, 1.0};
+ fprint(2, "pd1 %lldnsec\n", nsec()-t0);
+ t0 = nsec();
+ pd = Ptd(2.0, 3.0, 1.0);
+ fprint(2, "pd2 %lldnsec\n", nsec()-t0);
+ exits(0);
+}