-+-+-+-+-+-+-+-+ START OF PART 104 -+-+-+-+-+-+-+-+ X(displayed)e(to)g(scale)i(and)e(shift)g(the)h(projection)e(viewport.)18 Xb(This)13 b(is)f(shown)g(by)h(a)104 2467 y(dashed)e(line)g(cube)h(in)f(the)g X(NPC)g(window)m(.)k(The)d(solid)e(line)g(cube)i(represents)g(the)f(unit)f X(cube.)64 2550 y Fl(\267)21 b Fp(Parallel/perspective)p Fq(.)f(This)13 Xb(toggles)f(between)h(the)f(projection)g(types.)19 b(Selecting)12 Xb(the)h(menu)g(item)g(when)g(it)f(reads)104 2600 y Fi(perspective)h XFq(will)d(display)g(the)i(scene)g(in)f(perspective)g(projection.)0 X2956 y(13th)22 b(May)m(,)12 b(1992)636 b(62)839 b(2.01)p eop X%%Page: 63 64 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)0 8 y Fr(1)m(1.5)59 b(V)n(iew)16 b(clipping)f(menu)64 X117 y Fl(\267)21 b Fp(X-Y)8 b(clip)h(ON/OFF)p Fq(.)h(T)o(urn)e(the)h(x)f(and V) Xh(y)g(clipping)e(planes)h(on)h(or)f(of)o(f.)15 b(When)9 b(the)f(menu)h(item) Vg X(reads)g(OFF)g(the)g(clipping)104 167 y(will)h(actually)h(be)g(ON)h(and)f(is V) Xg(turned)g(of)o(f)g(by)g(selecting)g(the)g(menu)g(item.)64 X250 y Fl(\267)21 b Fp(Fr)o(ont)12 b(clip)f(ON/OFF)p Fq(.)i(Clips)d(against)h X(the)g(front)f(clipping)f(plane.)64 333 y Fl(\267)21 b Fp(Back)11 Xb(clip)g(ON/OFF)p Fq(.)i(Clips)d(against)h(the)g(back)h(clipping)d(plane.)0 X2956 y(13th)22 b(May)m(,)12 b(1992)636 b(63)839 b(2.01)p eop X%%Page: 64 65 Xbop 0 349 a Fj(Chapter)24 b(12)0 585 y Fs(Err)n(or)k(Handling)0 X835 y Fq(Most)12 b(Inquiry)f(functions)g(have)i(an)g(error)f(parameter)h(in) Vf X(which)g(an)h(error)f(code)h(is)g(returned.)18 b(The)13 b(error)f(codes)h X(will)f(either)0 885 y(be)i(normal)f(PHIGS)g(error)g(codes,)i(for)e(instance V) Xg(in)g(the)g Fi(ptk_evalviewmapping3)k Fq(function,)c(or)g(error)g(codes)h X(which)e(are)0 935 y(local)g(to)f(the)h(function.)k(The)d(local)e(error)h X(codes)h(are)g(described)f(in)f(the)h(reference)h(section)f(with)f(each)i X(function)e(de\256nition.)0 984 y(If)f(an)h(error)f(occurs)g(in)g(a)h X(function)e(which)g(does)i(not)e(have)i(an)g(error)f(parameter)h(then)f(the) Vg X(function)f(is)h(generally)f(ignored.)15 b(In)0 1034 y(some)c(cases)g(errors V) Xf(are)g(considered)g(serious)f(enough)g(to)h(write)f(an)h(error)f(message)j X(to)d(the)h(standard)f(error)h(\256le,)g Fi(stderr)p Fq(.)16 Xb(For)0 1084 y(example)11 b(when)f(a)h(hashtable)f(reaches)i(its)d(upper)h X(integer)g(limit)e(the)j(following)c(message)12 b(will)d(be)i(output:)h XFi("HashStrings:)0 1134 y(Run)19 b(out)f(of)g(integers)i(to)e(allocate'')p XFq(.)912 2956 y(64)p eop X%%Page: 65 66 Xbop 806 931 a Fj(Part)24 b(II)475 1167 y Fs(C)k(Refer)n(ence)g(Manual)912 X2956 y Fq(65)p eop X%%Page: 66 67 Xbop 0 349 a Fj(Chapter)24 b(13)0 585 y Fs(T)-8 b(ransformation)28 Xb(functions)0 855 y Fr(13.1)59 b(Datatypes)54 977 y Fi(#define)19 Xb(ptkcpceps)h(1.0e-7)54 1076 y(#define)f(ptkcpcok)38 b(0)54 X1176 y(typedef)19 b(enum)108 1226 y(`7B)126 1276 y(PTKEXAXIS)h(=)e(1,)126 X1325 y(PTKEYAXIS,)126 1375 y(PTKEZAXIS,)108 1425 y(`7D)g(ptkeaxistype;)54 X1525 y(typedef)h(struct)108 1575 y(`7B)126 1624 y(Pfloat)g(x;)126 X1674 y(Pfloat)g(y;)126 1724 y(Pfloat)g(z;)126 1774 y(Pfloat)g(w;)108 X1824 y(`7D)f(Ppoint4;)0 1992 y Fr(13.2)59 b(Functions)p 1579 X2084 288 2 v 1579 2163 2 80 v 1593 2137 a Fb(ptk_0to3pt)p 1864 X2163 V 1579 2165 288 2 v 0 2239 a Fq(void)10 b Fp(ptk_0to3pt)g XFq(\()i(Ppoint3)e(*)p Fa(origin)p Fq(,)g(Ppoint3)g(*)p Fa(xdirn)p XFq(,)g(Ppoint3)g(*)p Fa(ydirn)p Fq(,)g(Pcomp-)290 2288 y(type)h XFa(operation)p Fq(,)e(Pmatrix3)i Fa(matrix)f Fq(\))25 2341 Xy(IN)91 b(Ppoint3)10 b(*)75 b Fa(origin)109 b Fq(origin)9 b(of)i(axes.)25 X2390 y(IN)91 b(Ppoint3)10 b(*)75 b Fa(xdirn)119 b Fq(x)11 b(direction.)25 X2440 y(IN)91 b(Ppoint3)10 b(*)75 b Fa(y)10 b(dirn)109 b Fq(y)11 Xb(direction.)25 2490 y(IN)91 b(Pcomptype)50 b Fa(operation)d XFq(concatenation)11 b(operation.)25 2540 y(OUT)50 b(Pmatrix3)84 Xb Fa(matrix)100 b Fq(4x4)10 b(matrix.)0 2609 y(This)k(function)f(computes)h X(an)h(object)e(transformation)g(which)h(maps)h(unit)d(vectors)j(along)e(the) Vh XFk(x)p Fq(,)i Fk(y)f Fq(and)f Fk(z)g Fq(axes)h(onto)f(unit)0 X2659 y(vectors)d(along)g(the)g(corresponding)f(axes)i(of)f(the)g(new)h X(coordinate)f(system.)912 2956 y(66)p eop X%%Page: 67 68 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)p 1532 -19 334 2 v 1532 60 2 80 v 1546 35 a Fb(ptk_3ptto3pt)p X1864 60 V 1532 62 334 2 v 0 136 a Fq(void)10 b Fp(ptk_3ptto3pt)g XFq(\()16 b(Ppoint3)f(*)p Fa(p1)p Fq(,)h(Ppoint3)f(*)p Fa(p2)p XFq(,)h(Ppoint3)f(*)p Fa(p3)p Fq(,)h(Ppoint3)f(*)p Fa(q1)p Fq(,)327 X186 y(Ppoint3)6 b(*)p Fa(q2)p Fq(,)i(Ppoint3)e(*)p Fa(q3)p XFq(,)i(Pcomptype)g Fa(operation)p Fq(,)e(Pmatrix3)327 236 y XFa(matrix)p Fq(,)11 b(Pint)f(*)p Fa(error)g Fq(\))25 286 y(IN)91 Xb(Ppoint3)10 b(*)75 b Fa(p1)157 b Fq(3D)11 b(point.)25 336 Xy(IN)91 b(Ppoint3)10 b(*)75 b Fa(p2)157 b Fq(3D)11 b(point.)25 X386 y(IN)91 b(Ppoint3)10 b(*)75 b Fa(p3)157 b Fq(3D)11 b(point.)25 X436 y(IN)91 b(Ppoint3)10 b(*)75 b Fa(q1)157 b Fq(3D)11 b(point.)25 X485 y(IN)91 b(Ppoint3)10 b(*)75 b Fa(q2)157 b Fq(3D)11 b(point.)25 X535 y(IN)91 b(Ppoint3)10 b(*)75 b Fa(q3)157 b Fq(3D)11 b(point.)25 X585 y(IN)91 b(Pcomptype)50 b Fa(operation)d Fq(concatenation)11 Xb(operation.)25 635 y(OUT)50 b(Pmatrix3)84 b Fa(matrix)100 Xb Fq(4x4)10 b(matrix.)25 685 y(OUT)50 b(Pint)10 b(*)138 b Fa(error)121 Xb Fq(error)11 b(code.)0 754 y(This)g(function)e(returns)h(the)g(3)h(point)e X(to)h(3)g(point)f(transformation)g(as)j(described)e(in)g(`5B1)n(1`5D,)h(page Vs)h X(353\261355.)h(The)e(transforma-)0 803 y(tion)e(has)j(the)e(following)e X(properties:)14 b Fi(p1)d Fq(is)f(transformed)h(onto)f Fi(q1)p XFq(;)g(the)h(vector)g Fi(\(p2-p1\))h Fq(is)e(transformed)g(to)h(be)g X(parallel)f(to)0 853 y(the)i(vector)g Fi(\(q2-q1\))p Fq(;)i(the)e(plane)g X(containing)f(the)h(three)h(points)e Fi(p1,)18 b(p2,)h(p3)12 Xb Fq(is)g(transformed)g(into)f(the)i(plane)f(containing)0 903 Xy Fi(q1,)19 b(q2,)f(q3)p Fq(.)j(The)14 b(transformation)e(is)h(concatenated) Vh X(with)e(the)h(4)d Fl(\264)g Fq(4)j(matrix)g Fi(matrix)h Fq(on)f(the)g(basis) Vg X(of)g Fi(operation)p Fq(.)22 b(If)0 953 y(the)11 b(parameters)i(are)f X(invalid,)e Fi(error)i Fq(is)f(set)h(to)e(-1.)16 b(Otherwise,)11 Xb(its)g(value)g(is)g Fi(ptkcpcok)p Fq(.)p 1366 1050 500 2 v X1366 1129 2 80 v 1381 1104 a Fb(ptk_accumul)o(ate)o(tra)o(n)p X1864 1129 V 1366 1131 500 2 v 0 1205 a Fq(void)f Fp(ptk_accumulatetran)h XFq(\()17 b(Ppoint)f(*)p Fa(\256xed)p Fq(,)h(Ppoint)f(*)p Fa(shift)p XFq(,)i(P\257oat)f Fa(rot)p Fq(,)h(Ppoint)e(*)p Fa(scale)p Fq(,)456 X1255 y(Pcomptype)c Fa(operation)p Fq(,)c(Pmatrix)j Fa(matrix)g XFq(\))25 1307 y(IN)91 b(Ppoint)10 b(*)96 b Fa(\256xed)121 b XFq(origin.)25 1357 y(IN)91 b(Ppoint)10 b(*)96 b Fa(shift)131 Xb Fq(shift)10 b(factor)n(.)25 1407 y(IN)91 b(P\257oat)140 b XFa(rotx)d Fq(x)11 b(rotation.)25 1457 y(IN)91 b(Ppoint)10 b(*)96 Xb Fa(scale)113 b Fq(scale)12 b(factor)n(.)25 1506 y(IN)91 b(Pcomptype)50 Xb Fa(operation)d Fq(concatenation)11 b(operation.)25 1556 y(OUT)50 Xb(Pmatrix)105 b Fa(matrix)100 b Fq(3x3)10 b(matrix.)0 1625 Xy(This)i(function)f(computes)i(the)f(speci\256ed)h(2D)f(shift,)g(scale)h(and V) Xg(rotate)f(transformations,)f(in)h(the)g(order)g(scale,)i(rotate,)f(shift,)0 X1675 y(and)e(then)g(concatenates)i(the)e(resulting)f(transformation)f(with)i X(the)g(speci\256ed)h(matrix)f(on)g(the)g(basis)g(of)g Fi(operation)p XFq(.)p 1337 1772 530 2 v 1337 1851 2 80 v 1351 1826 a Fb(ptk_accumul)o(ate)o X(tra)o(n3)p 1864 1851 V 1337 1853 530 2 v 0 1927 a Fq(void)f XFp(ptk_accumulatetran3)h Fq(\()17 b(Ppoint3)e(*)p Fa(\256xed)p XFq(,)i(Ppoint3)e(*)p Fa(shift)p Fq(,)i(P\257oat)g Fa(rotx)p XFq(,)g(P\257oat)g Fa(roty)p Fq(,)477 1977 y(P\257oat)g Fa(rotz)p XFq(,)g(Ppoint3)e(*)p Fa(scale)p Fq(,)h(Pcomptype)h Fa(operation)p XFq(,)e(Pma-)477 2027 y(trix3)10 b Fa(matrix)g Fq(\))25 2077 Xy(IN)91 b(Ppoint3)10 b(*)75 b Fa(\256xed)121 b Fq(origin.)25 X2127 y(IN)91 b(Ppoint3)10 b(*)75 b Fa(shift)131 b Fq(shift)10 Xb(factor)n(.)25 2177 y(IN)91 b(P\257oat)140 b Fa(rotx)d Fq(x)11 Xb(rotation.)25 2227 y(IN)91 b(P\257oat)140 b Fa(rotx)d Fq(y)11 Xb(rotation.)25 2277 y(IN)91 b(P\257oat)140 b Fa(rotx)d Fq(z)11 Xb(rotation.)25 2326 y(IN)91 b(Ppoint3)10 b(*)75 b Fa(scale)113 Xb Fq(scale)12 b(factor)n(.)25 2376 y(IN)91 b(Pcomptype)50 b XFa(operation)d Fq(concatenation)11 b(operation.)25 2426 y(OUT)50 Xb(Pmatrix3)84 b Fa(matrix)100 b Fq(4x4)10 b(matrix.)0 2495 Xy(This)i(function)f(computes)i(the)f(speci\256ed)h(3D)f(shift,)g(scale)h(and V) Xg(rotate)f(transformations,)f(in)h(the)g(order)g(scale,)i(rotate,)f(shift,)0 X2545 y(and)e(then)g(concatenates)i(the)e(resulting)f(transformation)f(with)i X(the)g(speci\256ed)h(matrix)f(on)g(the)g(basis)g(of)g Fi(operation)p XFq(.)0 2956 y(13th)22 b(May)m(,)12 b(1992)636 b(67)839 b(2.01)p Xeop X%%Page: 68 69 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)p 1615 -19 251 2 v 1615 60 2 80 v 1630 35 a Fb(ptk_addv)p X1864 60 V 1615 62 251 2 v 0 136 a Fq(Ppoint)10 b Fp(ptk_addv)h XFq(\()g(Ppoint)f(*)p Fa(p1)p Fq(,)h(Ppoint)e(*)p Fa(p2)i Fq(\))25 X225 y(IN)50 b(Ppoint)9 b(*)50 b Fa(p1)f Fq(2D)11 b(vector)n(.)25 X275 y(IN)50 b(Ppoint)9 b(*)50 b Fa(p2)f Fq(2D)11 b(vector)n(.)0 X350 y(This)g(function)f(adds)h(the)h(two)e(2D)h(vectors)h Fi(v1)g XFq(and)f Fi(v2)p Fq(,)h(and)f(returns)g(the)g(result.)p 1586 X447 281 2 v 1586 526 2 80 v 1600 501 a Fb(ptk_addv3)p 1864 X526 V 1586 528 281 2 v 0 602 a Fq(Ppoint3)f Fp(ptk_addv3)g XFq(\()h(Ppoint3)f(*)p Fa(p1)p Fq(,)h(Ppoint3)e(*)p Fa(p2)i XFq(\))25 691 y(IN)50 b(Ppoint3)9 b(*)50 b Fa(p1)f Fq(3D)11 Xb(vector)n(.)25 741 y(IN)50 b(Ppoint3)9 b(*)50 b Fa(p2)f Fq(3D)11 Xb(vector)n(.)0 816 y(This)g(function)f(adds)h(the)h(two)e(3D)h(vectors)h XFi(v1)g Fq(and)f Fi(v2)p Fq(,)h(and)f(returns)g(the)g(result.)p X1446 913 421 2 v 1446 992 2 80 v 1460 967 a Fb(ptk_box3tobox3)p X1864 992 V 1446 994 421 2 v 0 1068 a Fq(void)f Fp(ptk_box3tobox3)g XFq(\()22 b(Plimit3)e(*)p Fa(box1)p Fq(,)k(Plimit3)d(*)p Fa(box2)p XFq(,)i(ptkboolean)e Fa(preserve)p Fq(,)383 1118 y(Pcomptype)11 Xb Fa(operation)p Fq(,)e(Pmatrix3)h Fa(matrix)p Fq(,)h(Pint)g(*)p XFa(error)e Fq(\))25 1170 y(IN)91 b(Plimit3)10 b(*)82 b Fa(box1)119 Xb Fq(3D)11 b(volume.)25 1220 y(IN)91 b(Plimit3)10 b(*)82 b XFa(box2)119 b Fq(3D)11 b(volume.)25 1270 y(IN)91 b(ptkboolean)51 Xb Fa(preserve)57 b Fq(preserve)12 b(aspect)g(ratio.)25 1320 Xy(IN)91 b(Pcomptype)50 b Fa(operation)d Fq(concatenation)11 Xb(operation.)25 1369 y(OUT)50 b(Pmatrix3)84 b Fa(matrix)100 Xb Fq(4x4)10 b(matrix.)25 1419 y(OUT)50 b(Pint)10 b(*)138 b XFa(error)121 b Fq(error)11 b(code.)0 1488 y(This)k(function)e(computes)j(a)f X(mapping)g(from)g(one)g(3D)g(box)f(to)g(another)h(\261)g(a)h(3D)f(window)e X(to)i(3D)g(viewport)e(transforma-)0 1538 y(tion)8 b(\261)i(and)g X(concatenates)g(this)f(transformation)f(with)h Fi(matrix)i XFq(on)e(the)g(basis)h(of)f Fi(operation)p Fq(.If)j(the)d(parameters)i(are)f X(invalid,)0 1588 y Fi(error)i Fq(is)f(set)h(to)f(-1.)k(Otherwise,)c(its)g X(value)g(is)g Fi(ptkcpcok)p Fq(.)p 1506 1685 361 2 v 1506 1764 X2 80 v 1520 1739 a Fb(ptk_boxtobox)p 1864 1764 V 1506 1766 X361 2 v 0 1840 a Fq(void)f Fp(ptk_boxtobox)g Fq(\()29 b(Plimit)e(*)p XFa(box1)p Fq(,)k(Plimit)d(*)p Fa(box2)p Fq(,)j(ptkboolean)c XFa(preserve)p Fq(,)341 1890 y(Pcomptype)11 b Fa(operation)p XFq(,)e(Pmatrix)i Fa(matrix)p Fq(,)g(Pint)f(*)p Fa(error)g Fq(\))25 X1942 y(IN)91 b(Plimit)10 b(*)103 b Fa(box1)119 b Fq(2D)11 b(box.)25 X1992 y(IN)91 b(Plimit)10 b(*)103 b Fa(box2)119 b Fq(2D)11 b(box.)25 X2042 y(IN)91 b(ptkboolean)51 b Fa(preserve)57 b Fq(preserve)12 Xb(aspect)g(ratio.)25 2091 y(IN)91 b(Pcomptype)50 b Fa(operation)d XFq(concatenation)11 b(operation.)25 2141 y(OUT)50 b(Pmatrix)105 Xb Fa(matrix)100 b Fq(3x3)10 b(matrix.)25 2191 y(OUT)50 b(Pint)10 Xb(*)138 b Fa(error)121 b Fq(error)11 b(code.)0 2260 y(This)k(function)e X(computes)j(a)f(mapping)g(from)g(one)g(2D)g(box)f(to)g(another)h(\261)g(a)h X(2D)f(window)e(to)i(2D)g(viewport)e(transforma-)0 2310 y(tion)g(\320and)h X(concatenates)h(this)e(transformation)g(it)g(with)g Fi(matrix)j XFq(on)d(the)h(basis)h(of)e Fi(operation)p Fq(.)26 b(If)14 b(the)g(parameters V) Xh(are)0 2359 y(invalid,)10 b Fi(error)i Fq(is)f(set)h(to)f(-1.)k(Otherwise,) Vc X(its)g(value)g(is)g Fi(ptkcpcok)p Fq(.)0 2956 y(13th)22 b(May)m(,)12 Xb(1992)636 b(68)839 b(2.01)p eop X%%Page: 69 70 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)p 1293 -19 573 2 v 1293 60 2 80 v 1308 35 a Fb(ptk_concate)o(nat)o X(em)o(atri)o(x)p 1864 60 V 1293 62 573 2 v 0 136 a Fq(void)10 Xb Fp(ptk_concatenatematrix)h Fq(\()h(Pcomptype)g Fa(operation)p XFq(,)d(Pmatrix)i Fa(matrix1)p Fq(,)h(Pmatrix)f Fa(matrix2)p XFq(,)507 186 y(Pmatrix)g Fa(result)f Fq(\))25 236 y(IN)91 b(Pcomptype)50 Xb Fa(operation)d Fq(concatenation)11 b(operation.)25 286 y(IN)91 Xb(Pmatrix)105 b Fa(matrix1)80 b Fq(3x3)10 b(matrix.)25 336 Xy(IN)91 b(Pmatrix)105 b Fa(matrix2)80 b Fq(3x3)10 b(matrix.)25 X386 y(OUT)50 b(Pmatrix)105 b Fa(result)k Fq(3x3)10 b(matrix.)0 X455 y(This)15 b(function)e(concatenates)k(the)d(3)e Fl(\264)g XFq(3)j(matrices)h Fi(matrix1)g Fq(and)f Fi(matrix2)i Fq(on)d(the)h(basis)g X(of)g Fi(operation)p Fq(.)28 b(The)16 b(result)0 505 y(is)10 Xb(stored)f(in)h Fi(result)p Fq(.)16 b(Note)10 b(that)f Fi(result)i XFq(can)g(also)f(be)g Fi(matrix1)h Fq(or)f Fi(matrix2)h Fq(since)f(a)h(copy)f X(is)f(made.)16 b(When)11 b Fi(operation)0 554 y Fq(is)i Fi(preconcatenate)p XFq(,)18 b(then)13 b Fi(result)19 b Fl(\254)f Fi(matrix2)h(*)f(matrix1)p XFq(.)24 b(When)14 b Fi(operation)h Fq(is)f Fi(postconcatenate)p XFq(,)j Fi(result)0 604 y Fl(\254)h Fi(matrix1)h(*)f(matrix2)p XFq(.)p 1264 701 603 2 v 1264 780 2 80 v 1278 755 a Fb(ptk_concate)o(nate)o X(ma)o(tri)o(x3)p 1864 780 V 1264 782 603 2 v 0 856 a Fq(void)10 Xb Fp(ptk_concatenatematrix3)h Fq(\()k(Pcomptype)h Fa(operation)p XFq(,)e(Pmatrix3)g Fa(matrix1)p Fq(,)i(Pmatrix3)f Fa(ma-)528 X906 y(trix2)p Fq(,)10 b(Pmatrix3)h Fa(result)f Fq(\))25 957 Xy(IN)91 b(Pcomptype)50 b Fa(operation)d Fq(concatenation)11 Xb(operation.)25 1007 y(IN)91 b(Pmatrix3)84 b Fa(matrix1)c Fq(4x4)10 Xb(matrix.)25 1056 y(IN)91 b(Pmatrix3)84 b Fa(matrix2)c Fq(4x4)10 Xb(matrix.)25 1106 y(OUT)50 b(Pmatrix3)84 b Fa(result)109 b XFq(4x4)10 b(matrix.)0 1175 y(This)15 b(function)e(concatenates)k(the)d(4)e XFl(\264)g Fq(4)j(matrices)h Fi(matrix1)g Fq(and)f Fi(matrix2)i XFq(on)d(the)h(basis)g(of)g Fi(operation)p Fq(.)28 b(The)16 Xb(result)0 1225 y(is)10 b(stored)f(in)h Fi(result)p Fq(.)16 Xb(Note)10 b(that)f Fi(result)i Fq(can)g(also)f(be)g Fi(matrix1)h XFq(or)f Fi(matrix2)h Fq(since)f(a)h(copy)f(is)f(made.)16 b(When)11 Xb Fi(operation)0 1275 y Fq(is)i Fi(preconcatenate)p Fq(,)18 Xb(then)13 b Fi(result)19 b Fl(\254)f Fi(matrix2)h(*)f(matrix1)p XFq(.)24 b(When)14 b Fi(operation)h Fq(is)f Fi(postconcatenate)p +-+-+-+-+-+-+-+- END OF PART 104 +-+-+-+-+-+-+-+-