mizchi / TypeScript Meetup 2
- mizchi / 竹馬光太郎
- フロントエンドと Node.js
| var blob = window.atob("AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAA"), // Base64 string converted to a char array | |
| fLen = blob.length / Float32Array.BYTES_PER_ELEMENT, // How many floats can be made, but be even | |
| dView = new DataView( new ArrayBuffer(Float32Array.BYTES_PER_ELEMENT) ), // ArrayBuffer/DataView to convert 4 bytes into 1 float. | |
| fAry = new Float32Array(fLen), // Final Output at the correct size | |
| p = 0; // Position | |
| for(var j=0; j < fLen; j++){ | |
| p = j * 4; | |
| dView.setUint8(0,blob.charCodeAt(p)); | |
| dView.setUint8(1,blob.charCodeAt(p+1)); |
| // Assume Coord has members x(), y() and z() and supports arithmetic operations | |
| // that is Coord u + Coord v = u.x() + v.x(), u.y() + v.y(), u.z() + v.z() | |
| inline Point | |
| dot(const Coord& u, const Coord& v) | |
| { | |
| return u.x() * v.x() + u.y() * v.y() + u.z() * v.z(); | |
| } | |
| inline Point |