aboutsummaryrefslogtreecommitdiffstats
path: root/unit.h
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2025-02-28 13:04:43 -0500
committerSam Anthony <sam@samanthony.xyz>2025-02-28 13:04:43 -0500
commitd8b658e75bc6165e059a13cb2fef5474fa9ff4f5 (patch)
treea72768233fa7479c0a0b20ee3997fd0f84905b16 /unit.h
parentaf662e8de6003d1b966ff8a049494488cd60f136 (diff)
downloadvolute-d8b658e75bc6165e059a13cb2fef5474fa9ff4f5.zip
unit of measurement api
Diffstat (limited to 'unit.h')
-rw-r--r--unit.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/unit.h b/unit.h
new file mode 100644
index 0000000..562ec8e
--- /dev/null
+++ b/unit.h
@@ -0,0 +1,40 @@
+typedef double AngularSpeed;
+
+AngularSpeed rad_per_sec(double x);
+AngularSpeed deg_per_sec(double x);
+AngularSpeed rpm(double x);
+double as_rad_per_sec(AngularSpeed x);
+double as_deg_per_sec(AngularSpeed x);
+double as_rpm(AngularSpeed x);
+
+
+typedef double Fraction;
+
+Fraction percent(double x);
+double as_percent(double x);
+
+
+typedef double Pressure;
+
+Pressure pascal(double x);
+Pressure millibar(double x);
+Pressure kilopascal(double x);
+Pressure bar(double x);
+Pressure psi(double x);
+double as_pascal(Pressure x);
+double as_millibar(Pressure x);
+double as_kilopascal(Pressure x);
+double as_bar(Pressure x);
+double as_psi(Pressure x);
+
+
+typedef double Volume;
+
+Volume cubic_centimetre(double x);
+Volume litre(double x);
+Volume cubic_metre(double x);
+Volume cubic_inch(double x);
+double as_cubic_centimetre(Volume x);
+double as_litre(Volume x);
+double as_cubic_metre(double x);
+double as_cubic_inch(double x);