Chapter 6 Object-Oriented Techniques and Numerics

 ! !
"
"
#$%& ' ( )*+%#$,&
( (- . #$/& 0 Æ
1 2
34 '
5 '
' #$+& . 0
6
Æ
0 7
#$*& 5
( Æ
. / 34 . 7
"
' 0 8 0 ' 8 -.
- 7
2 "
'
0 0 8 . 9
( 7
.
0 2 . 0
0
:
0
0
0
' 8 ,) ( Vehicle
TransportVehicle
Ship
Truck
PassengerVehicle
Airplane
8 ,); < : 8 ' 8 0 0
. 2 . 7
' "
3 ,)4 2 . 5
' 2
! .
8 ,$ 3 ,)4 ' first:item_t
value = 1.0
next = &second
second:item_t
value = 2.0
next = &third
third:item_t
value = 3.0
next = &last
8 ,$; 0 . last:item_t
value = 4.0
next = NULL
=
,); 0 . ,$ ' : 5
'
0 ' - '-
. . 0 )> ,) .
( ,) ! "
-- 0 .
2 ,$ !
# ' 2 $
#! $ $ $ 9 . -- ! #! ! !"#!
!
!
" "
#
=
,$; 0 . ? 7
7
@
. ' 8 ,A ' ' 3 ,A4 % % !
' 1 2 8 $%!
!
&!'$ $ (!! #! $ !# !
$ !#!
$ !#
=
,A; 1
Position
is located at
Vehicle
1
+move(destination:Position):void
TransportVehicle
Cargo
1..*
Driver
transport
1..2
drive
1
PassengerVehicle
+load(item:Cargo):void
+unload():void
Truck
1
+drive(destination:Position):void
Pilot
2
fly
+fly(destination:Position):void
1
Ship
1
+sail(destination:Position):void
+hire(a_sailor:Sailor):void
+hide(a_captain:Sailor):void
work on
navigate
Airplane
1
1..*
1
Sailor
Captain
8 ,A; < " &' ' !
' 0
34 # & 7
Æ
7
;
34 B 3,)4
$ ! !" %!
f(x)
111111111111111111111
000000000000000000000
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
x1
x2
...
...
x N−1
xN
x
8 ,C; ! ! 3 344 3 4 3 44 3,$4;
34 B )
3 43 34 D 344 3,$4
$ 8 ,C ' 2 ;
3
4
D
3
4
D
34 B E
3 4 $
3,A4
0 3 ,C4 1 () # 8 34 B . .
; ()!**!
7
)
+, -%).-%
#
)*)
#
) . #
.. . #
. -%
#
=
,C; ( - !
+
/!01 - !
)
- ! 2
+, ).
#
)*)
#
) . #
.. . #
. #
/!01 3 +
- + ) )++
=
,%; =
,% ' 0
(
3 ,% )4 # 3 ,% )A4 0 ' 34 B # .
(
$* ,% )>> F
)%$>G " '
(
++! #(
,- - - ! . (
8
7
! $ ! !" %!
73
&
456
& 84569
&2 89
8 9
73
73
1
8+9 ) 8)9 89 1
:8+9 ;
:
:8)9 !# =
,,; 0 '
"
. . ' 7 ' .
' 5' 2 Æ
0 . '
Æ
2
=
,/ .
0 7
=
,, ' 2 7
.' .'/- .'/
#- ' 7
8
7
2 ' ,/ )* 7
/ () #-- !
'
()++!! /!01
<=
-%
)
-% +, ).
=
#
)*)
#
) . #
.. . #
. #
!
!
!
/!01
<=
+ ) )++
, ,+
+ ) )++
#
#
#
=
,/; 3
,/ $*4 ! 7
3 ,/ ) ,4 ? 0 !! < ! 7 !! ' ' ' ! "
!
#
6 . ,%$ $ ! !" %!
5!
&5!
+
-%
)
)
-% &5!
-%
&5! -%
)
#
)*)
#
+, ).
) . #
.. . #
. #
(!0
>/(
>/(
(!0
)+
+ &5!
!
>/(
>/( .. (!0
;+ )
1
;)++
#
=
,+; "
500
performance [MFLOPS]
400
C−function
virtual function
function template
template/virtual
300
200
100
0
1
2
3
4
5
6
7
8
exponent
8 ,%; ?
7
0
7
Æ
) !-! $
8 ,% 7
"# "
$%%&' 8 .