Created
September 1, 2016 14:48
-
-
Save youxkei/92d9b43bb1b52e128f406319832fe1ad to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import std.experimental.ndslice : sliced, blocks; | |
import std.range : iota; | |
import std.array : array; | |
import std.stdio : writeln; | |
enum MATRIX_WIDTH_PANELS = 2; | |
enum MATRIX_HEIGHT_PANELS = 2; | |
enum PANEL_WIDTH_DOTS = 3; | |
enum PANEL_HEIGHT_DOTS = 3; | |
enum BYTES_PER_DOT = 3; | |
enum MATRIX_WIDTH_DOTS = MATRIX_WIDTH_PANELS * PANEL_WIDTH_DOTS; | |
enum MATRIX_HEIGHT_DOTS = MATRIX_HEIGHT_PANELS * PANEL_HEIGHT_DOTS; | |
enum MATRIX_WIDTH_BYTES = MATRIX_WIDTH_DOTS * BYTES_PER_DOT; | |
enum MATRIX_HEIGHT_BYTES = MATRIX_HEIGHT_DOTS * BYTES_PER_DOT; | |
void main() | |
{ | |
auto bitmap = iota(MATRIX_HEIGHT_DOTS * MATRIX_WIDTH_DOTS * BYTES_PER_DOT).array.sliced(MATRIX_HEIGHT_DOTS, MATRIX_WIDTH_DOTS, BYTES_PER_DOT).blocks(PANEL_HEIGHT_DOTS, PANEL_WIDTH_DOTS, BYTES_PER_DOT); | |
auto buffer = new int[](MATRIX_HEIGHT_DOTS * MATRIX_WIDTH_DOTS * BYTES_PER_DOT).array.sliced(MATRIX_HEIGHT_PANELS * MATRIX_WIDTH_PANELS, PANEL_HEIGHT_DOTS, PANEL_WIDTH_DOTS, BYTES_PER_DOT); | |
buffer[1][] = bitmap[0, 0, 0]; | |
buffer.writeln; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment