1 USING: kernel math math.constants sequences units ;
5 ! http://physics.nist.gov/cuu/Units/
8 : m ( n -- dimensioned ) { m } { } <dimensioned> ;
11 : kg ( n -- dimensioned ) { kg } { } <dimensioned> ;
14 : s ( n -- dimensioned ) { s } { } <dimensioned> ;
17 : A ( n -- dimensioned ) { A } { } <dimensioned> ;
20 : K ( n -- dimensioned ) { K } { } <dimensioned> ;
23 : mol ( n -- dimensioned ) { mol } { } <dimensioned> ;
26 : cd ( n -- dimensioned ) { cd } { } <dimensioned> ;
29 : m^2 { m m } { } <dimensioned> ;
30 : m^3 { m m m } { } <dimensioned> ;
31 : m/s { m } { s } <dimensioned> ;
32 : m/s^2 { m } { s s } <dimensioned> ;
33 : 1/m { } { m } <dimensioned> ;
34 : kg/m^3 { kg } { m m m } <dimensioned> ;
35 : A/m^2 { A } { m m } <dimensioned> ;
36 : A/m { A } { m } <dimensioned> ;
37 : mol/m^3 { mol } { m m m } <dimensioned> ;
38 : cd/m^2 { cd } { m m } <dimensioned> ;
39 : kg/kg { kg } { kg } <dimensioned> ;
41 : radians ( n -- radian ) { m } { m } <dimensioned> ;
42 : sr ( n -- steradian ) { m m } { m m } <dimensioned> ;
43 : Hz ( n -- hertz ) { } { s } <dimensioned> ;
44 : N ( n -- newton ) { kg m } { s s } <dimensioned> ;
45 : Pa ( n -- pascal ) { kg } { m s s } <dimensioned> ;
46 : J ( n -- joule ) { m m kg } { s s } <dimensioned> ;
47 : W ( n -- watt ) { m m kg } { s s s } <dimensioned> ;
48 : C ( n -- coulomb ) { s A } { } <dimensioned> ;
49 : V ( n -- volt ) { m m kg } { s s s A } <dimensioned> ;
50 : F ( n -- farad ) { s s s s A A } { m m kg } <dimensioned> ;
51 : ohm ( n -- ohm ) { m m kg } { s s s A A } <dimensioned> ;
52 : S ( n -- siemens ) { s s s A A } { m m kg } <dimensioned> ;
53 : Wb ( n -- weber ) { m m kg } { s s A } <dimensioned> ;
54 : T ( n -- tesla ) { kg } { s s A } <dimensioned> ;
55 : H ( n -- henry ) { m m kg } { s s A A } <dimensioned> ;
56 : deg-C ( n -- Celsius ) 27315/100 + { K } { } <dimensioned> ;
57 : lm ( n -- lumen ) { m m cd } { m m } <dimensioned> ;
58 : lx ( n -- lux ) { m m cd } { m m m m } <dimensioned> ;
59 : Bq ( n -- becquerel ) { } { s } <dimensioned> ;
60 : Gy ( n -- gray ) { m m } { s s } <dimensioned> ;
61 : Sv ( n -- sievert ) { m m } { s s } <dimensioned> ;
62 : kat ( n -- katal ) { mol } { s } <dimensioned> ;
64 ! Extensions to the SI
65 : arc-deg pi 180 / * radians ;
66 : arc-min pi 10800 / * radians ;
67 : arc-sec pi 648000 / * radians ;
68 : L ( n -- liter ) 1/1000 * m^3 ;
69 : tons ( n -- metric-ton ) 1000 * kg ;
70 : Np ( n -- neper ) { } { } <dimensioned> ;
71 : B ( n -- bel ) 1.151292546497023 * Np ;
72 : eV ( n -- electronvolt ) 1.60218e-19 * J ;
73 : u ( n -- unified-atomic-mass-unit ) 1.66054e-27 * kg ;
75 ! au has error of 30m, according to wikipedia
76 : au ( n -- astronomical-unit ) 149597870691 * m ;
78 : a ( n -- are ) 100 * m^2 ;
79 : ha ( n -- hectare ) 10000 * m^2 ;
80 : bar ( n -- bar ) 100000 * Pa ;
81 : b ( n -- barn ) 1/10000000000000000000000000000 * m^2 ;
82 : Ci ( n -- curie ) 37000000000 * Bq ;
83 : R 258/10000 { s A } { kg } <dimensioned> ;
86 ! roentgen equivalent man, equal to one roentgen of X-rays
87 : roentgen-equivalent-man 100 / Sv ;
89 ! inaccurate, use calendar where possible
91 : hours 60 * minutes ;
94 ! Y Z E P T G M k h da 1 d c m mu n p f a z y
95 : yotta 1000000000000000000000000 * ;
96 : zetta 1000000000000000000000 * ;
97 : exa 1000000000000000000 * ;
98 : peta 1000000000000000 * ;
99 : tera 1000000000000 * ;
100 : giga 1000000000 * ;
109 : nano 1000000000 / ;
110 : pico 1000000000000 / ;
111 : femto 1000000000000000 / ;
112 : atto 1000000000000000000 / ;
113 : zepto 1000000000000000000000 / ;
114 : yocto 1000000000000000000000000 / ;