<snapdata remixID="8345497"><project name='degrees fahrenheit to radians celsius' app='Snap! 5.0, http://snap.berkeley.edu' version='1'>
  <notes>credit to pi day website for a lotta digits of pi.
may be a little bit inaccurate, but works pretty good. Credit to google for radians formula and Celsius formula. Useful for telling Celsius Snap! users what temperature it is.
</notes>
  <thumbnail>data:image/png;base64,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</thumbnail>
  <stage inheritance='true' id='1' volume='100' height='360' tempo='60' lines='round' width='480' name='Stage' sublistIDs='false' threadsafe='false' codify='false' color='255,255,255,1' scheduled='false' pan='0' ternary='false' costume='0'>
    <pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails>
    <costumes>
      <list struct='atomic' id='2'/>
    </costumes>
    <sounds>
      <list struct='atomic' id='3'/>
    </sounds>
    <variables/>
    <blocks/>
    <scripts/>
    <sprites>
      <sprite x='0' pen='tip' id='8' y='0' name='Sprite' idx='1' volume='100' rotation='1' scale='1' heading='90' draggable='true' color='80,80,80,1' pan='0' costume='0'>
        <costumes>
          <list struct='atomic' id='9'/>
        </costumes>
        <sounds>
          <list struct='atomic' id='10'/>
        </sounds>
        <blocks/>
        <variables/>
        <scripts>
          <script x='108.00000100000034' y='391.000002'>
            <custom-block s='%s'>
              <l>π</l>
            </custom-block>
          </script>
          <script x='133' y='281'>
            <block s='reportJSFunction'>
              <list>
                <l>print(math.pi);</l>
              </list>
              <l/>
            </block>
          </script>
          <script x='13' y='31'>
            <block s='receiveGo'/>
            <block s='doAsk'>
              <l>what degrees fahrenheit? Number only.</l>
            </block>
            <block s='bubble'>
              <block s='reportNewList'>
                <list>
                  <block s='reportJoinWords'>
                    <list>
                      <block s='reportProduct'>
                        <block s='reportProduct'>
                          <block s='reportDifference'>
                            <block s='getLastAnswer'/>
                            <l>32</l>
                          </block>
                          <block s='reportQuotient'>
                            <l>5</l>
                            <l>9</l>
                          </block>
                        </block>
                        <block s='reportQuotient'>
                          <l>3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632788659361533818279682303019520353018529689957736225994138912497217752834791315155748572424541506959508295331168617278</l>
                          <l>180</l>
                        </block>
                      </block>
                      <l> radians celsius</l>
                    </list>
                  </block>
                </list>
              </block>
            </block>
          </script>
        </scripts>
      </sprite>
    </sprites>
  </stage>
  <hidden/>
  <headers/>
  <code/>
  <blocks>
    <block-definition s='USE BIGNUMS %&apos;bool&apos;' category='operators' type='command'>
      <comment x='0' w='303.3333333333333' collapsed='false' y='0'>call with True to turn on the entire Scheme numeric tower, including infinite-precision integers, exact rationals, and complex numbers; call with False to restore native JavaScript arithmetic.</comment>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%b'/>
      </inputs>
      <script>
        <block s='doDeclareVariables'>
          <list>
            <l>isDone</l>
          </list>
        </block>
        <block s='doSetVar'>
          <l>isDone</l>
          <block s='evaluate'>
            <block s='reportJSFunction'>
              <list>
                <l>useBigNums</l>
              </list>
              <l>var done = false;function initialize (callback) {    var bigScript = document.createElement(&apos;script&apos;);    bigScript.src = &apos;//snap.berkeley.edu/snapsource/libraries/biginteger.js&apos;;    bigScript.onload = loadScheme;    document.head.appendChild(bigScript);    function loadScheme () {        var schemeScript = document.createElement(&apos;script&apos;);        schemeScript.src = &apos;//snap.berkeley.edu/snapsource/libraries/schemeNumber.js&apos;;        schemeScript.onload = finish;        document.head.appendChild(schemeScript);    }    function finish () {        makeGlobalObject();        callback();    }}function makeGlobalObject () {    window.bigNumbers = {        originalEvaluate: InputSlotMorph.prototype.evaluate,        originalChangeVar: VariableFrame.prototype.changeVar,        originalPrims: {            reportSum: Process.prototype.reportSum,            reportDifference: Process.prototype.reportDifference,            reportProduct: Process.prototype.reportProduct,            reportQuotient: Process.prototype.reportQuotient,            reportModulus: Process.prototype.reportModulus,            reportRandom: Process.prototype.reportRandom,            reportLessThan: Process.prototype.reportLessThan,            reportGreaterThan: Process.prototype.reportGreaterThan,            reportEquals: Process.prototype.reportEquals,            reportIsIdentical: Process.prototype.reportIsIdentical,            reportMonadic: Process.prototype.reportMonadic        }    };}function loadBlocks () {    var fn = SchemeNumber.fn;    var originalPrims = window.bigNumbers.originalPrims;    if (useBigNums) {        InputSlotMorph.prototype.evaluate = function () {            var contents = this.contents();            if (this.constant) {                return this.constant;            }            if (this.isNumeric) {                return parseNumber(contents.text || &apos;0&apos;);            }            return contents.text;        };        VariableFrame.prototype.changeVar = function (name, delta, sender) {            var frame = this.find(name),                value,                newValue;            if (frame) {                value = parseNumber(frame.vars[name].value);                newValue = value !== value ? delta : value + parseNumber(delta);                if (sender instanceof SpriteMorph &amp;&amp;                        (frame.owner instanceof SpriteMorph) &amp;&amp;                        (sender !== frame.owner)) {                    sender.shadowVar(name, newValue);                } else {                    frame.vars[name].value = newValue;                }            }        };        Object.assign(Process.prototype, {            reportSum: function (a, b) {                a = parseNumber(a);                b = parseNumber(b);                if (a !== a || b !== b) return NaN;                return fn[&apos;+&apos;](a, b);            },            reportDifference: function (a, b) {                a = parseNumber(a);                b = parseNumber(b);                if (a !== a || b !== b) return NaN;                return fn[&apos;-&apos;](a, b);            },            reportProduct: function (a, b) {                a = parseNumber(a);                b = parseNumber(b);                if (a !== a || b !== b) return NaN;                return fn[&apos;*&apos;](a, b);            },            reportQuotient: function (a, b) {                a = parseNumber(a);                b = parseNumber(b);                if (fn[&apos;=&apos;](b, &apos;0&apos;) &amp;&amp; !fn[&apos;=&apos;](a, &apos;0&apos;)) {                      return (fn[&apos;&lt;&apos;](a, &apos;0&apos;) ? SchemeNumber(&apos;-inf.0&apos;) : SchemeNumber(&apos;+inf.0&apos;))                };                if (a !== a || b !== b || fn[&apos;=&apos;](b, &apos;0&apos;)) return SchemeNumber(&apos;+nan.0&apos;);                return fn[&apos;/&apos;](a, b);            },            reportModulus: function (a, b) {                a = parseNumber(a);                b = parseNumber(b);                if (a !== a || b !== b) return NaN;                var result = fn.mod(a, b);                if (fn[&apos;&lt;&apos;](b, &apos;0&apos;) &amp;&amp; fn[&apos;&gt;&apos;](result, &apos;0&apos;)) {                    result = fn[&apos;+&apos;](result, b);                }                return result;            },            reportRandom: function (min, max) {                var floor = parseNumber(min),                    ceil = parseNumber(max);                if (floor !== floor || ceil !== ceil) return NaN;                if (!fn[&apos;=&apos;](fn.mod(floor, &apos;1&apos;), &apos;0&apos;) || !fn[&apos;=&apos;](fn.mod(ceil, &apos;1&apos;), &apos;0&apos;)) {                    // One of the numbers isn&apos;t whole. Include the decimal.                    return fn[&apos;+&apos;](                        fn[&apos;*&apos;](                            Math.random(),                            fn[&apos;-&apos;](ceil, floor)                        ),                        floor                    );                }                return fn.floor(                    fn[&apos;+&apos;](                        fn[&apos;*&apos;](                            Math.random(),                            fn[&apos;+&apos;](                                fn[&apos;-&apos;](ceil, floor),                                &apos;1&apos;                            )                        ),                        floor                    )                );            },            reportLessThan: function (a, b) {                a = parseNumber(a);                b = parseNumber(b);                if (a !== a || b !== b) return NaN;                return fn[&apos;&lt;&apos;](a, b);            },            reportGreaterThan: function (a, b) {                a = parseNumber(a);                b = parseNumber(b);                if (a !== a || b !== b) return NaN;                return fn[&apos;&gt;&apos;](a, b);            },            reportGreaterThan: function (a, b) {                a = parseNumber(a);                b = parseNumber(b);                if (a !== a || b !== b) return NaN;                return fn[&apos;&gt;&apos;](a, b);            },            reportEqual: function (a, b) {                x = parseNumber(a);                y = parseNumber(b);                if (x !== x || y !== y) return snapEquals(a, b);                return fn[&apos;=&apos;](x, y);            },            reportIsIdentical: function (a, b) {                x = parseNumber(a);                y = parseNumber(b);                if (x !== x || y !== y) return originalPrims.reportIsIdentical(a, b);                return fn[&apos;=&apos;](x, y);            },            reportMonadic: function (fname, n) {                n = parseNumber(n);                if (n !== n) return NaN;                switch (Process.prototype.inputOption(fname)) {                case &apos;abs&apos;:                    return fn.abs(n);                case &apos;ceiling&apos;:                    return fn.ceiling(n);                case &apos;floor&apos;:                    return fn.floor(n);                case &apos;sqrt&apos;:                    return sqrt(n);                case &apos;sin&apos;:                    return fn.sin(radians(n));                case &apos;cos&apos;:                    return fn.cos(radians(n));                case &apos;tan&apos;:                    return fn.tan(radians(n));                case &apos;asin&apos;:                    return degrees(fn.asin(n));                case &apos;acos&apos;:                    return degrees(fn.acos(n));                case &apos;atan&apos;:                    return degrees(fn.atan(n));                case &apos;ln&apos;:                    return fn.log(n);                case &apos;log&apos;:                    return fn.log(n, &apos;10&apos;);                case &apos;e^&apos;:                    return fn.exp(n);                case &apos;10^&apos;:                    return fn.expt(&apos;10&apos;, n);                default:                    return SchemeNumber(&apos;0&apos;);                }            }        });    } else {        InputSlotMorph.prototype.evaluate = window.bigNumbers.originalEvaluate;        VariableFrame.prototype.changeVar = window.bigNumbers.originalChangeVar;        Object.assign(Process.prototype, originalPrims);    }    done = true;}function parseNumber (n) {    var fn = SchemeNumber.fn;    if (!fn[&apos;number?&apos;](n)) {        n = &apos;&apos; + n;        try {            return parseENotation(n) || SchemeNumber(n);        } catch (err) {            return NaN;        }    }    return n;}function parseENotation (n) {    var fn = SchemeNumber.fn;    var numbers = n.match(/^(-?\d+\.?\d*|-?\.\d+)e(-?\d+)$/i);    if (!numbers) return null;    var coefficient = numbers[1];    var exponent = numbers[2];    return fn[&apos;*&apos;](        coefficient,        fn.expt(&apos;10&apos;, exponent)    );}function sqrt (n) {    var fn = SchemeNumber.fn;    if (!fn[&apos;exact?&apos;](n) || !fn[&apos;rational?&apos;](n) || fn[&apos;&lt;&apos;](n,&apos;0&apos;)) return fn.sqrt(n);    var rootNumerator = fn[&apos;exact-integer-sqrt&apos;](fn.numerator(n));    if (!fn[&apos;=&apos;](rootNumerator[1], &apos;0&apos;)) return fn.sqrt(n);    var rootDenominator = fn[&apos;exact-integer-sqrt&apos;](fn.denominator(n));    if (!fn[&apos;=&apos;](rootDenominator[1], &apos;0&apos;)) return fn.sqrt(n);    return fn[&apos;/&apos;](rootNumerator[0], rootDenominator[0]);}function isDone () {    return done;}if (window.bigNumbers) {    loadBlocks();} else {    initialize(loadBlocks);}return isDone;</l>
            </block>
            <list>
              <block var='bool'/>
            </list>
          </block>
        </block>
        <block s='doWaitUntil'>
          <block s='evaluate'>
            <block var='isDone'/>
            <list/>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;' category='control' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%b'/>
        <input type='%anyUE'/>
        <input type='%anyUE'/>
      </inputs>
      <script>
        <block s='doIfElse'>
          <block var='test'/>
          <script>
            <block s='doReport'>
              <block s='evaluate'>
                <block var='true'/>
                <list/>
              </block>
            </block>
          </script>
          <script>
            <block s='doReport'>
              <block s='evaluate'>
                <block var='false'/>
                <list/>
              </block>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='%&apos;n&apos; !' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%n'/>
      </inputs>
      <script>
        <block s='doReport'>
          <custom-block s='if %b then %anyUE else %anyUE'>
            <block s='reportEquals'>
              <block var='n'/>
              <l>0</l>
            </block>
            <l>1</l>
            <block s='reportProduct'>
              <block var='n'/>
              <custom-block s='%n !'>
                <block s='reportDifference'>
                  <block var='n'/>
                  <l>1</l>
                </block>
              </custom-block>
            </block>
          </custom-block>
        </block>
      </script>
    </block-definition>
    <block-definition s='%&apos;x&apos;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%s'/>
      </inputs>
      <script>
        <block s='doReport'>
          <block var='x'/>
        </block>
      </script>
    </block-definition>
    <block-definition s='Scheme number %&apos;function&apos; of %&apos;number&apos;' category='operators' type='reporter'>
      <comment x='0' w='300' collapsed='true' y='0'>Provides Scheme arithmetic functions not in JavaScript</comment>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input readonly='true' type='%s'>
          <options>number?complex?real?rational?integer?exact?inexact?exactinexactfinite?infinite?nan?numeratordenominatorreal-partimag-partmagnitudeangle</options>
        </input>
        <input type='%s'/>
      </inputs>
      <script>
        <block s='doReport'>
          <block s='evaluate'>
            <block s='reportJSFunction'>
              <list>
                <l>which</l>
                <l>num</l>
              </list>
              <l>function parseNumber (n) {    var fn = SchemeNumber.fn;    if (!fn[&apos;number?&apos;](n)) {        n = &apos;&apos; + n;        try {            return parseENotation(n) || SchemeNumber(n);        } catch (err) {            return NaN;        }    }    return n;}function parseENotation (n) {    var fn = SchemeNumber.fn;    var numbers = n.match(/^(-?\d+\.?\d*|-?\.\d+)e(-?\d+)$/i);    if (!numbers) return null;    var coefficient = numbers[1];    var exponent = numbers[2];    return fn[&apos;*&apos;](        coefficient,        fn.expt(&apos;10&apos;, exponent)    );}var fn=SchemeNumber.fn,      number=parseNumber(num);switch (which) {  case &apos;number?&apos;:  case &apos;complex?&apos;:    return (fn[&apos;number?&apos;](number));  case &apos;real?&apos;:    return (fn[&apos;real?&apos;](number) || fn[&apos;real-valued?&apos;](number));  case &apos;rational?&apos;:    return (fn[&apos;rational?&apos;](number) || (fn[&apos;=&apos;](number, fn.rationalize(number, parseNumber(&apos;1.0e-5&apos;)))));  case &apos;integer?&apos;:    return (fn[&apos;integer?&apos;](number) || fn[&apos;integer-valued?&apos;](number));  case &apos;exact?&apos;:  case &apos;inexact?&apos;:  case &apos;finite?&apos;:  case &apos;infinite?&apos;:  case &apos;nan?&apos;:  case &apos;real-part&apos;:  case &apos;imag-part&apos;:    return (fn[which](number));  case &apos;magnitude&apos;:    return (fn.magnitude(number));  case &apos;angle&apos;:    return (fn.angle(number));  case &apos;numerator&apos;:    return (fn.numerator(number));  case &apos;denominator&apos;:    return (fn.denominator(number));  case &apos;exact&apos;:    return (fn.exact(number));case &apos;inexact&apos;:    return (fn.inexact(number));}</l>
            </block>
            <list>
              <block var='function'/>
              <block var='number'/>
            </list>
          </block>
        </block>
      </script>
    </block-definition>
  </blocks>
  <variables/>
</project><media name="degrees fahrenheit to radians celsius" app="Snap! 5.0, http://snap.berkeley.edu" version="1"></media></snapdata>