package Ġspace . k science . k math . structures Ċ Ċ import Ġspace . k science . k math . nd . ND Structure Ċ import Ġspace . k science . k math . nd . map To Buffer Ċ import Ġkotlin . system . measure Time Millis Ċ Ċ @ Suppress (" UNUSED _ VARIABLE ") Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġn Ġ= Ġ 6 0 0 0 ĊĠĠĠ Ġval Ġstructure Ġ= ĠND Structure . build ( int ArrayOf ( n , Ġn ), ĠBuffer . Companion :: auto ) Ġ{ Ġ 1 . 0 Ġ} ĊĠĠĠ Ġstructure . map To Buffer Ġ{ Ġit Ġ+ Ġ 1 Ġ} Ġ// Ġwarm - up ĊĠĠĠ Ġval Ġtime 1 Ġ= Ġmeasure Time Millis Ġ{ Ġval Ġres Ġ= Ġstructure . map To Buffer Ġ{ Ġit Ġ+ Ġ 1 Ġ} Ġ} ĊĠĠĠ Ġprintln (" Structure Ġmapping Ġfinished Ġin Ġ$ time 1 Ġmillis ") ĊĠĠĠ Ġval Ġarray Ġ= ĠDouble Array ( n Ġ* Ġn ) Ġ{ Ġ 1 . 0 Ġ} ĊĊĠĠĠ Ġval Ġtime 2 Ġ= Ġmeasure Time Millis Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠDouble Array ( n Ġ* Ġn ) ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġarray . forEach Indexed Ġ{ Ġindex , Ġvalue Ġ-> Ġtarget [ index ] Ġ= Ġvalue Ġ+ Ġ 1 Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprintln (" Array Ġmapping Ġfinished Ġin Ġ$ time 2 Ġmillis ") ĊĊĠĠĠ Ġval Ġbuffer Ġ= ĠReal Buffer ( Double Array ( n Ġ* Ġn ) Ġ{ Ġ 1 . 0 Ġ}) ĊĊĠĠĠ Ġval Ġtime 3 Ġ= Ġmeasure Time Millis Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠReal Buffer ( Double Array ( n Ġ* Ġn )) ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġarray . forEach Indexed Ġ{ Ġindex , Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget [ index ] Ġ= Ġvalue Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġprintln (" Buffer Ġmapping Ġfinished Ġin Ġ$ time 3 Ġmillis ") Ċ }