Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

.

i@S`HH2H S`Q;`KKBM;

S`HH2H S`Q;`KKBM; BM a+H


H2FbM/` S`QFQT2+
.i@S`HH2HBbK

S`2pBQmbHv- r2 H2`M2/ #Qmi ibF@T`HH2H T`Q;`KKBM;X

 7Q`K Q7 T`HH2HBxiBQM i?i /Bbi`B#mi2b 2t2+miBQM T`Q+2bb2b


+`Qbb +QKTmiBM; MQ/2bX

q2 FMQr ?Qr iQ 2tT`2bb T`HH2H T`Q;`Kb rBi? task M/ parallel


+QMbi`m+ibX
.i@S`HH2HBbK

S`2pBQmbHv- r2 H2`M2/ #Qmi ibF@T`HH2H T`Q;`KKBM;X

 7Q`K Q7 T`HH2HBxiBQM i?i /Bbi`B#mi2b 2t2+miBQM T`Q+2bb2b


+`Qbb +QKTmiBM; MQ/2bX

q2 FMQr ?Qr iQ 2tT`2bb T`HH2H T`Q;`Kb rBi? task M/ parallel


+QMbi`m+ibX
L2ti- r2 H2`M #Qmi i?2 /i@T`HH2H T`Q;`KKBM;X

 7Q`K Q7 T`HH2HBxiBQM i?i /Bbi`B#mi2b /i +`Qbb +QKTmiBM;


MQ/2bX
.i@S`HH2H S`Q;`KKBM; JQ/2H

h?2 bBKTH2bi 7Q`K Q7 /i@T`HH2H T`Q;`KKBM; Bb i?2 T`HH2H for HQQTX


1tKTH2, BMBiBHBxBM; i?2 ``v pHm2bX
.i@S`HH2H S`Q;`KKBM; JQ/2H

h?2 bBKTH2bi 7Q`K Q7 /i@T`HH2H T`Q;`KKBM; Bb i?2 T`HH2H for HQQTX


1tKTH2, BMBiBHBxBM; i?2 ``v pHm2bX

def initializeArray(xs: Array[Int])(v: Int): Unit


.i@S`HH2H S`Q;`KKBM; JQ/2H

h?2 bBKTH2bi 7Q`K Q7 /i@T`HH2H T`Q;`KKBM; Bb i?2 T`HH2H for HQQTX


1tKTH2, BMBiBHBxBM; i?2 ``v pHm2bX

def initializeArray(xs: Array[Int])(v: Int): Unit = {


for (i <- (0 until xs.length).par) {

}
}
.i@S`HH2H S`Q;`KKBM; JQ/2H

h?2 bBKTH2bi 7Q`K Q7 /i@T`HH2H T`Q;`KKBM; Bb i?2 T`HH2H for HQQTX


1tKTH2, BMBiBHBxBM; i?2 ``v pHm2bX

def initializeArray(xs: Array[Int])(v: Int): Unit = {


for (i <- (0 until xs.length).par) {
xs(i) = v
}
}
.i@S`HH2H S`Q;`KKBM; JQ/2H

h?2 bBKTH2bi 7Q`K Q7 /i@T`HH2H T`Q;`KKBM; Bb i?2 T`HH2H for HQQTX


1tKTH2, BMBiBHBxBM; i?2 ``v pHm2bX

def initializeArray(xs: Array[Int])(v: Int): Unit = {


for (i <- (0 until xs.length).par) {
xs(i) = v
}
}

h?2 T`HH2H for HQQT Bb MQi 7mM+iBQMH Ĝ Bi +M QMHv z2+i i?2 T`Q;`K
i?`Qm;? bB/2@2z2+ibX
.i@S`HH2H S`Q;`KKBM; JQ/2H

h?2 bBKTH2bi 7Q`K Q7 /i@T`HH2H T`Q;`KKBM; Bb i?2 T`HH2H for HQQTX


1tKTH2, BMBiBHBxBM; i?2 ``v pHm2bX

def initializeArray(xs: Array[Int])(v: Int): Unit = {


for (i <- (0 until xs.length).par) {
xs(i) = v
}
}

h?2 T`HH2H for HQQT Bb MQi 7mM+iBQMH Ĝ Bi +M QMHv z2+i i?2 T`Q;`K
i?`Qm;? bB/2@2z2+ibX
b HQM; b Bi2`iBQMb Q7 i?2 T`HH2H HQQT r`Bi2 iQ b2T`i2 K2KQ`v
HQ+iBQMb- i?2 T`Q;`K Bb +Q``2+iX
1tKTH2, JM/2H#`Qi a2i

Hi?Qm;? bBKTH2- T`HH2H for HQQT HHQrb r`BiBM; BMi2`2biBM; T`Q;`KbX


_2M/2`  b2i Q7 +QKTH2t MmK#2`b BM i?2 THM2 7Q` r?B+? i?2 b2[m2M+2
xM+1 = x2M + + /Q2b MQi TT`Q+? BM}MBivX
1tKTH2, JM/2H#`Qi a2i

Hi?Qm;? bBKTH2- T`HH2H for HQQT HHQrb r`BiBM; BMi2`2biBM; T`Q;`KbX


_2M/2`  b2i Q7 +QKTH2t MmK#2`b BM i?2 THM2 7Q` r?B+? i?2 b2[m2M+2
xM+1 = x2M + + /Q2b MQi TT`Q+? BM}MBivX
1tKTH2, JM/2H#`Qi a2i

q2 TT`QtBKi2 i?2 /2}MBiBQM Q7 i?2 JM/2H#`Qi b2i Ĝ b HQM; b i?2


#bQHmi2 pHm2 Q7 xM Bb H2bb i?M 2- r2 +QKTmi2 xM+1 mMiBH r2 /Q
maxIterationsX

private def computePixel(xc: Double, yc: Double, maxIterations: Int): Int = {


var i = 0
var x, y = 0.0
while (x * x + y * y < 4 && i < maxIterations) {
val xt = x * x - y * y + xc
val yt = 2 * x * y + yc
x = xt; y = yt
i += 1
}
color(i)
}
1tKTH2, JM/2H#`Qi a2i U.i@S`HH2HV

>Qr /Q r2 `2M/2` i?2 b2i mbBM; /i@T`HH2H T`Q;`KKBM;\

def parRender(): Unit = {


for (idx <- (0 until image.length).par) {
val (xc, yc) = coordinatesFor(idx)
image(idx) = computePixel(xc, yc, maxIterations)
}
}
_2M/2`BM; i?2 JM/2H#`Qi a2i, .2KQ

hBK2 7Q`  /2KQ5


_2M/2`BM; i?2 JM/2H#`Qi a2i, .2KQ

hBK2 7Q`  /2KQ5


amKK`v,

! ibF@T`HH2H BKTH2K2MiiBQM Ĝ i?2 bHQr2biX


! /i@T`HH2H BKTH2K2MiiBQM Ĝ #Qmi k× 7bi2`X
qQ`FHQ/

.Bz2`2Mi /i@T`HH2H T`Q;`Kb ?p2 /Bz2`2Mi rQ`FHQ/bX


qQ`FHQ/ Bb  7mM+iBQM i?i KTb 2+? BMTmi 2H2K2Mi iQ i?2 KQmMi Q7
rQ`F `2[mB`2/ iQ T`Q+2bb BiX
lMB7Q`K qQ`FHQ/

.2}M2/ #v  +QMbiMi 7mM+iBQM, r(B) = +QMbi


lMB7Q`K qQ`FHQ/

.2}M2/ #v  +QMbiMi 7mM+iBQM, r(B) = +QMbi

1bv iQ T`HH2HBx2X
A``2;mH` qQ`FHQ/

.2}M2/ #v M `#Bi``v 7mM+iBQM, r(B) = 7(B)


A``2;mH` qQ`FHQ/

.2}M2/ #v M `#Bi``v 7mM+iBQM, r(B) = 7(B)

AM i?2 JM/2H#`Qi +b2, r(B) = OBi2`iBQMb


h?2 rQ`FHQ/ /2T2M/b QM i?2 T`Q#H2K BMbiM+2X
A``2;mH` qQ`FHQ/

.2}M2/ #v M `#Bi``v 7mM+iBQM, r(B) = 7(B)

AM i?2 JM/2H#`Qi +b2, r(B) = OBi2`iBQMb


h?2 rQ`FHQ/ /2T2M/b QM i?2 T`Q#H2K BMbiM+2X
:QH Q7 i?2 /i@T`HH2H b+?2/mH2`, 2{+B2MiHv #HM+2 i?2 rQ`FHQ/ +`Qbb
T`Q+2bbQ`b rBi?Qmi Mv FMQrH2/;2 #Qmi i?2 r(B)X

You might also like