<<nobr>><<set _options to []>>
<<set _options[0] to ["12^^14^^~~10~~", "1,283,918,464,548,864~~10~~", "10^^12^^~~12~~", "10.00.00.00.00.00.000~~12~~"]>>
<<set _options[1] to ["1/12^^8^^th~~10~~", "1/429,981,696th~~10~~", "1/10^^8^^th~~12~~", "1/10.00.00.000th~~12~~"]>>
<<set _options[2] to ["12^^-36^^~~10~~", "10^^-30^^~~12~~"]>>
<<set _options[3] to ["12^^10^^~~10~~", "61,917,364,224~~10~~", "12^^δ^^~~12~~", "10.00.00.00.000~~12~~"]>>
<<set _options[4] to ["12^^-20^^~~10~~", "12^^-18^^~~12~~"]>>
<<set _options[5] to ["12^^-9^^~~10~~", "10^^-9^^~~12~~"]>>
<<juneks 4 "now" "now" "now" "now" "now" "now" 1>>
<<set _options[6] to _juneks>>
<<set _now to new Date()>>
<<set _month to _now.getMonth() + 1>>
<<set _day to _now.getDate()>>
<<set _year to _now.getFullYear()>>
<<set _hour to _now.getHours()>>
<<set _minute to _now.getMinutes()>>
<<set _second to _now.getSeconds()>>
<</nobr>><center><h1>Intercelestial Neutral Units</h1></center>\
<h2>Introduction</h2>\
The units of measurement most commonly used among human civilizations are the intercelestial neutral units, created by a conference of xeno civilizations of roughly biological human scale (spatially and temporally) around 62831 BC. The civilizations who created the system have all now either ascended, died out, or otherwise disappeared, but as new civilizations emerged and old ones vanished, the system carried on, and for the sake of intercelestial cooperation, many human civilizations took on the system.
The units were not given specific names during the conference, for the languages spoken by the creators were too different to create any names that could be pronounced by every species involved. As such, they are typically given rather neutral names when translated into any particular language.
While base-10 measurements are given for the sake of understandability, intercelestial neutral units are always written in base-12, especially when it comes to juneks.
<h2>Base Units</h2>\
<h3>Tunits</h3>\
Tunits (tu), or time-units, are the intercelestial neutral unit of time. The tunit is defined by taking the fixed numerical value of the aluminum-27 frequency in a quantum logic clock to be <<numberCycle>> when expressed in the unit tunits^^-1^^.
In the real-world modern day, meanwhile, seconds are defined by taking the fixed numerical value of the caesium frequency to be 9,192,631,770~~10~~ when expressed in the unit seconds^^-1^^.
One tunit is equal to 0.873120392112869~~10~~ seconds. One second is equal to 1.1453174250514~~10~~ tunits.
<h3>Sunits</h3>\
Sunits (su), or space-units, are the intercelestial neutral unit of length. The sunit is defined as being <<numberCycle>> of the distance traveled by light in the span of one tunit.
In the real-world modern day, meanwhile, meters are defined as being 1/299,792,458th~~10~~ of the distance traveled by light in the span of one second.
One sunit is equal to 0.798539866921069~~10~~ meters. One meter is equal to 1.25228562959004~~10~~ sunits.
<h3>Maunits</h3>\
Maunits (ma), or mass-units, are the intercelestial neutral unit of mass. The maunit is defined by taking the fixed numerical value of the Planck constant to be <<numberCycle>> when expressed in the units ma⋅su^^2^^⋅t^^-1^^.
In the real-world modern day, meanwhile, kilograms are defined by taking the fixed numerical value of the Planck constant to be 6.62607015⋅10^^-34^^~~10~~ when expressed in the units kg⋅m^^2^^⋅s^^-1^^.
One maunit is equal to 6.91738323946~~10~~ kilograms. One kilogram is equal to 0.14456333636~~10~~ maunits.
<h3>Teunits</h3>\
Teunits (te), or temperature-units, are the intercelestial neutral unit of temperature. The teunit is defined by taking the fixed numerical value of the Boltzmann constant to be <<numberCycle>> when expressed in the units tu^^-1^^⋅te^^-1^^.
In the real-world modern day, meanwhile, kelvins are defined by taking the fixed numerical value of the Boltzmann constant to be 1.380649⋅10^^-23^^~~10~~ when expressed in the units kg⋅m^^2^^⋅s^^-2^^⋅K^^-1^^, or J⋅K^^-1^^.
One teunit is equal to 0.29382512139~~10~~ kelvins. One kelvin is equal to 3.40338496337~~10~~ teunits.
<h3>Elunits</h3>\
Elunits (el), or electric-current-units, are the intercelestial neutral unit of electric current. The elunit is defined by taking the fixed numerical value of the elementary charge to be <<numberCycle>> when expressed in the units el⋅tu.
In the real-world modern day, meanwhile, amperes are defined by taking the fixed numerical value of the elementary charge to be 1.602176634⋅10^^-19^^~~10~~ when expressed in the units A⋅s, or C.
One elunit is equal to 614.236068026~~10~~ amperes. One ampere is equal to 0.00162803855~~10~~ elunits.
<h3>Turns</h3>\
Turns (tr) are the intercelestial neutral angular unit. They are the measure of an angle's magnitude. A turn is equivalent to 360~~10~~ degrees, or 2π~~10~~ radians. Radians are not an intercelestial neutral unit, but they are still sometimes used by humans (and some other species) for the ease of equations granted by setting a turn to 2π~~10~~ radians.
<h3>Spats</h3>\
Spats (sp) are the intercelestial neutral solid angular unit. They are the measure of the amount of the field of view from some particular point that a given object covers. A spat is equivalent to 4π~~10~~ steradians, or roughly 41,252.961~~10~~ degrees^^2^^. Like turns and radians, humans (and some other species) sometimes still use steradians.
<h3>Four-Turns</h3>
Four-turns (ftr) are the intercelestial neutral four-dimensional solid angular unit. It is the measure of the amount of the field of view from some particular point that a given object covers, in four-dimensions. There are also five-turns (fitr), six-turns (str), and seven-turns (setr), as well as provisions for the usage of higher-dimensional turns beyond seven-turns.
<h3>Munits</h3>
Munits (mu), or money-units, are the intercelestial neutral unit of currency. Unlike the other units, these do not have a set value, but rather are a highly-secure cryptocurrency used for the purpose of intercelestial trade. Most civilizations, including human civilizations, use a separate currency for internal trade, with munits only being a neutral means of trade. Also unlike the other units, munits were not created during the conference that created the other units, but instead at a much more ancient conference that occured sometime around 300,000 BC, feauting completely different civilizations.
<h2>Derived Units</h2>\
<h3>Funits</h3>\
Funits (fu), or force-units, are the intercelestial neutral unit of force. The funit is defined as the force that accelerates a mass of one maunit at one sunit per tunit^^2^^, expressed in the units ma⋅su⋅tu^^-2^^.
In the real-world modern day, meanwhile, newtons are defined as the force that accelerates a mass of one kilogram at one meter per second^^2^^, expressed in the units kg⋅m⋅s^^-2^^.
One funit is equal to 7.24586398406~~10~~ newtons. One newton is equal to 0.13800976697~~10~~ funits.
<h3>Eunits</h3>\
Eunits (eu), or energy-units, are the intercelestial neutral unit of energy. The eunit is defined as the amount of work done when a force of one funit displaces a mass by a distance of one sunit in the direction of that force, expressed in the units fu⋅su, or ma⋅su^^2^^⋅tu^^-2^^.
In the real-world modern day, meanwhile, joules are defined as the amount of work done when a force of one newton displaces a mass by a distance of one meter in the direction of that force, expressed in the units N⋅m, or kg⋅m^^2^^⋅s^^-2^^.
One eunit is equal to 5.78611126~~10~~ joules. One joule is equal to 0.17282764797~~10~~ eunits.
<h3>Punits</h3>\
Punits (pu), or power-units, are the intercelestial neutral unit of power. The punit is defined as the rate of energy used per tunit, expressed in the units eu⋅tu^^-1^^, or ma⋅su^^2^^⋅tu^^-3^^.
In the real-world modern day, meanwhile, watts are defined as the rate of energy used per second, expressed in the units J⋅s^^-1^^, or kg⋅m^^2^^⋅s^^-3^^.
One punit is equal to 6.6269340543~~10~~ watts. One watt is equal to 0.15089934377~~10~~ punits.
<h3>Pomunits</h3>\
Pomunits (pm), or power-money-units, are the intercelestial neutral unit of money per power. The pomunit is defined as money earned per amount of power consumed, expressed in the units mu⋅pu^^-1^^, or mu⋅kg^^-1^^⋅m^^-2^^⋅s^^3^^.
<h3>Hunits</h3>\
Hunits (hu), or hash-units, are the intercelestial neutral unit of hashes per tunit. The hunit is a measure of the total computational power of all participating nodes expressed in units of hash calculations per tunit, primarily used in mining munits and other cryptocurrencies.
<h2>Xeno Derived Units</h2>\
There are a number of derived units used by alien civilizations, which may or may not be used by human civilizations, but have English translations for various reasons regardless.
<h3>Coltunits</h3>\
Coltunits (ct), or color-time-units, are the intercelestial neutral unit of change in electromagnetic wavelength over time. The coltunit is equal to one gigosunit per tunit, or <<numberCycle>> su⋅tu^^-1^^.
<h3>Matutriunits</h3>\
Matutriunits (mtt), or mass-time-time-time-units, are the intercelestial neutral unit of change in mass per tunit^^3^^. The matutriunit is equal to one maunit per tunit^^3^^, expressed in the units ma⋅tu^^-3^^.
<h3>Elturns</h3>
Elturns (etr), or electric-current-turns, are the intercelestial neutral unit that tracks how many times something turns relative to an applied electric current. The elturn is equal to one elunit by one turn, expressed in the units el⋅tr. This means turning once for a current of two elunits is equal to turning twice for a current of one elunit.
<h2>Juneks</h2>\
Juneks (jn) is a timekeeping system, also invented during the intercelestial neutral unit conference, that tracks the number of tunits that have passed since the signing of the pact that first put intercelestial neutral units into use, which was on the Gregorian calendar date of August 5th, 62831 BC. _hour:_minute:_second of _month/_day/_year corresponds to a juneks of <<numberCycle>>. The word "juneks" descends from the name "Unix", specifically in reference to Unix time, and is pronounced with Huma phonology (/ju.nɛkʰs/).<<nobr>>
<<widget "numberCycle">><<if ndef _instance>><<set _instance to 0>><<else>><<set _instance++>><</if>><<if ndef _options>><<set _options to [ ['"options" variable undefined'] ]>><</if>><<cycle "_cycles[_instance]" autoselect>><<optionsfrom _options[_instance]>><</cycle>><</widget>>
<<widget "convertToBase12">><<if ndef _args[0]>><<set _args[0] to 0>><</if>><<if ndef _args[1]>><<set _args[1] to 3>><</if>><<if ndef _args[2]>><<set _args[2] to 1>><</if>><<if ndef _args[3]>><<set _args[3] to 1>><</if>>
<<if _args[0] lt 0>>
<<set _negative to true>>
<<set _args[0] *= -1>>
<<else>>
<<set _negative to false>>
<</if>>
<<if _args[0] != 0>>
<<set _digits to []>>
<<for _i to 0; _i lt 1000; _i++>>
<<set _number to _args[0] % 12>>
<<set _args[0] to Math.trunc(_args[0] / 12)>>
<<run _digits.push(_number)>>
<<if _args[0] is 0>>
<<break>>
<</if>>
<</for>>
<<set _result to "">>
<<for _i to _digits.length - 1; _i gte 0; _i-->>
<<if _digits[_i] is 10>>
<<set _result += "δ">>
<<elseif _digits[_i] is 11>>
<<set _result += "Ɛ">>
<<else>>
<<set _result += _digits[_i]>>
<</if>>
<</for>>
<<else>>
<<set _result to 0>>
<</if>>
<<if _args[2] is 1 and _result.length gt 3>>
<<set _newResult to "">>
<<for _i to 1; _i lte _result.length; _i++>>
<<set _newResult to _result[_result.length - _i] + _newResult>>
<<if _i is not _result.length and _i gte 3 and _i % 2 is 1>>
<<set _newResult to "." + _newResult>>
<</if>>
<</for>>
<<set _result to _newResult>>
<</if>>
<<if _negative is true>>
<<set _result to "-" + _result>>
<</if>>
<<if _args[3] is 1>><<print _result>><</if>>
<</widget>>
<<widget "juneks">><<if ndef _args[0]>><<set _args[0] to 1>><</if>><<if ndef _args[1]>><<set _args[1] to "now">><</if>><<if ndef _args[2]>><<set _args[2] to "now">><</if>><<if ndef _args[3]>><<set _args[3] to "now">><</if>><<if ndef _args[4]>><<set _args[4] to "now">><</if>><<if ndef _args[5]>><<set _args[5] to "now">><</if>><<if ndef _args[6]>><<set _args[6] to "now">><</if>><<if ndef _args[7]>><<set _args[7] to 1>><</if>>
<<set _month to _args[1]>><<set _day to _args[2]>><<set _year to _args[3]>><<set _hour to _args[4]>><<set _minute to _args[5]>><<set _second to _args[6]>>
<<if (def _args[1] and _args[1] is "now") or (def _args[2] and _args[2] is "now") or (def _args[3] and _args[3] is "now") or (def _args[4] and _args[4] is "now") or (def _args[5] and _args[5] is "now") or (def _args[6] and _args[6] is "now")>>
<<set _now to new Date()>>
<<if def _args[1] and _args[1] is "now">>
<<set _month to _now.getMonth() + 1>>
<<set _ogMonth to _now.getMonth() + 1>>
<</if>>
<<if def _args[2] and _args[2] is "now">>
<<set _day to _now.getDate()>>
<<set _ogDay to _now.getDate()>>
<</if>>
<<if def _args[3] and _args[3] is "now">>
<<set _year to _now.getFullYear()>>
<<set _ogYear to _now.getFullYear()>>
<</if>>
<<if def _args[4] and _args[4] is "now">>
<<set _hour to _now.getHours()>>
<</if>>
<<if def _args[5] and _args[5] is "now">>
<<set _minute to _now.getMinutes()>>
<</if>>
<<if def _args[6] and _args[6] is "now">>
<<set _second to _now.getSeconds()>>
<</if>>
<</if>>
<<if _year lte 0>><<set _negative to true>><<else>><<set _negative to false>><<set _year -= 1>><</if>>
<<set _months to ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december", "undecember"]>>
<<if typeof _month is "string" and _months.includes(_month.toLowerCase())>>
<<set _month to _months.indexOf(_month.toLowerCase()) + 1>>
<</if>>
<<if _month gte 2>><<set _day += 31>><</if>>
<<if _month gte 3>><<set _day += 28>><</if>>
<<if _month gte 3 and _year % 4 is 0 and (_year % 100 is not 0 or _year % 400 is 0)>><<set _day += 1>><</if>>
<<if _month gte 4>><<set _day += 31>><</if>>
<<if _month gte 5>><<set _day += 30>><</if>>
<<if _month gte 6>><<set _day += 31>><</if>>
<<if _month gte 7>><<set _day += 30>><</if>>
<<if _month gte 8>><<set _day += 31>><</if>>
<<if _month gte 9>><<set _day += 31>><</if>>
<<if _month gte 10>><<set _day += 30>><</if>>
<<if _month gte 11>><<set _day += 31>><</if>>
<<if _month gte 12>><<set _day += 30>><</if>>
<<set _day -= 1>>
<<set _minute += (_second / 60)>><<set _hour += (_minute / 60)>><<set _day += (_hour / 24)>>
<<if _year % 4 is 0 and (_year % 100 is not 0 or _year % 400 is 0)>><<set _year += (_day / 366)>><<else>><<set _year += (_day / 365)>><</if>>
<<set _year += 62830.40786282475115130236555048198883815322171486555048198883815322171486555048198883815322171486555048198883815322171486555048198883815322171486555048198883815322171486555048198883815322171486555048198883815322171486555048198883815322171486555048199>>
<<set _juneks to _year * 36142727.034052129377539299143893917517719770904153933485056318446900870573321006668306095036084561929487190627533385546412798357385102093905964546305549399358808099444446008614665027740943834469183563259560876023114690950925264524256919731781454586943462403733838558138571696401582140030746654644530916589107098622>>
<<set _juneks to Math.round(_juneks)>>
<<if _args[7] is 1>>
<<set _stringJuneks to "">>
<<set _stringJuneks2 to "" + _juneks>>
<<for _i to 1; _i lte _stringJuneks2.length; _i++>>
<<set _stringJuneks to _stringJuneks2[_stringJuneks2.length - _i] + _stringJuneks>>
<<if _i lt _stringJuneks2.length and _i % 3 is 0>>
<<set _stringJuneks to "," + _stringJuneks>>
<</if>>
<</for>>
<</if>>
<<if _args[0] is 0 and _args[7] is 1>>
<<set _juneks to _stringJuneks>>
<<elseif _args[0] is 1>>
<<if _args[7] is 0>>
<<convertToBase12 _juneks 0 0 0>>
<<set _juneks to _result>>
<<else>>
<<convertToBase12 _juneks 0 1 0>>
<<set _juneks to _result>>
<</if>>
<<elseif _args[0] is 2>>
<<if _args[7] is 0>>
<<print _juneks>>
<<else>>
<<print _stringJuneks>>
<</if>>
<<elseif _args[0] is 3>>
<<if _args[7] is 0>>
<<convertToBase12 _juneks 0 0 1>>
<<else>>
<<convertToBase12 _juneks 0 1 1>>
<</if>>
<<elseif _args[0] is 4>>
<<if _args[7] is 0>>
<<convertToBase12 _juneks 0 0 0>>
<<set _juneks to [_result + "~~12~~", _juneks + "~~10~~"]>>
<<else>>
<<convertToBase12 _juneks 0 1 0>>
<<set _juneks to [_result + "~~12~~", _stringJuneks + "~~10~~"]>>
<</if>>
<<elseif _args[0] is 5>>
<<if _args[7] is 0>>
<<convertToBase12 _juneks 0 0 0>>
<<set _juneks to [_result, _ogMonth + "/" + _ogDay + "/" + _ogYear]>>
<<else>>
<<convertToBase12 _juneks 0 1 0>>
<<set _juneks to [_result, _ogMonth + "/" + _ogDay + "/" + _ogYear]>>
<</if>>
<<elseif _args[0] is 6>>
<<if _args[7] is 0>>
<<convertToBase12 _juneks 0 0 0>>
<<set _juneks to [_result + "~~12~~", _juneks + "~~10~~", _ogMonth + "/" + _ogDay + "/" + _ogYear]>>
<<else>>
<<convertToBase12 _juneks 0 1 0>>
<<set _juneks to [_result + "~~12~~", _stringJuneks + "~~10~~", _ogMonth + "/" + _ogDay + "/" + _ogYear]>>
<</if>>
<</if>>
<</widget>>
<</nobr>>