(buffer, offset, isLE, mLen, nBytes)
| 1796 | } |
| 1797 | |
| 1798 | function read (buffer, offset, isLE, mLen, nBytes) { |
| 1799 | var e, m; |
| 1800 | var eLen = nBytes * 8 - mLen - 1; |
| 1801 | var eMax = (1 << eLen) - 1; |
| 1802 | var eBias = eMax >> 1; |
| 1803 | var nBits = -7; |
| 1804 | var i = isLE ? (nBytes - 1) : 0; |
| 1805 | var d = isLE ? -1 : 1; |
| 1806 | var s = buffer[offset + i]; |
| 1807 | |
| 1808 | i += d; |
| 1809 | |
| 1810 | e = s & ((1 << (-nBits)) - 1); |
| 1811 | s >>= (-nBits); |
| 1812 | nBits += eLen; |
| 1813 | for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} |
| 1814 | |
| 1815 | m = e & ((1 << (-nBits)) - 1); |
| 1816 | e >>= (-nBits); |
| 1817 | nBits += mLen; |
| 1818 | for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} |
| 1819 | |
| 1820 | if (e === 0) { |
| 1821 | e = 1 - eBias; |
| 1822 | } else if (e === eMax) { |
| 1823 | return m ? NaN : ((s ? -1 : 1) * Infinity) |
| 1824 | } else { |
| 1825 | m = m + Math.pow(2, mLen); |
| 1826 | e = e - eBias; |
| 1827 | } |
| 1828 | return (s ? -1 : 1) * m * Math.pow(2, e - mLen) |
| 1829 | } |
| 1830 | |
| 1831 | function write (buffer, value, offset, isLE, mLen, nBytes) { |
| 1832 | var e, m, c; |
no outgoing calls
no test coverage detected