A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.open-std.org/jtc1/sc22/wg14/www/docs/n694.ps below:

%!PS-Adobe-3.0 %%Title: (Microsoft Word - enhancements) %%Creator: (Microsoft Word: LaserWriter 8 8.4.2) %%CreationDate: (1:59 PM Friday, May 23, 1997) %%For: () %%Pages: 4 %%DocumentFonts: Times-Roman Times-Bold Courier-Bold Times-Italic %%DocumentNeededFonts: Times-Roman Times-Bold Courier-Bold Times-Italic %%DocumentSuppliedFonts: %%DocumentData: Clean7Bit %%PageOrder: Ascend %%Orientation: Portrait %%DocumentMedia: Default 612 792 0 () () %ADO_ImageableArea: 30 33 582 761 %%EndComments userdict/dscInfo 5 dict dup begin /Title(Microsoft Word - enhancements)def /Creator(Microsoft Word: LaserWriter 8 8.4.2)def /CreationDate(1:59 PM Friday, May 23, 1997)def /For()def /Pages 4 def end put /md 208 dict def md begin/currentpacking where {pop /sc_oldpacking currentpacking def true setpacking}if %%BeginFile: lw8_basic-2.0 %%Copyright: Copyright 1990-1996 Adobe Systems Incorporated and Apple Computer Incorporated. All Rights Reserved. /bd{bind def}bind def /xdf{exch def}bd /xs{exch store}bd /ld{load def}bd /Z{0 def}bd /T/true /F/false /:L/lineto /lw/setlinewidth /:M/moveto /rl/rlineto /rm/rmoveto /:C/curveto /:T/translate /:K/closepath /:mf/makefont /gS/gsave /gR/grestore /np/newpath 14{ld}repeat /framewidth -1 def /QDframwid -1 def /numframes Z /mTS matrix def /$m matrix def /av 84 def /por T def /normland F def /psb-nosave{}def /pse-nosave{}def /us Z /psb{/us save store}bd /pse{us restore}bd /level2 /languagelevel where { pop languagelevel 2 ge }{ F }ifelse def /odictstk Z /oopstk Z /fcl { count oopstk sub dup 0 gt { {pop}repeat }{ pop }ifelse countdictstack odictstk sub dup 0 gt { {end}repeat }{ pop }ifelse }bd /sfcl2 { /odictstk countdictstack store count/oopstk xs }bd /efcl2 { stopped{$error/newerror F put}if fcl }bd /noload Z /startnoload { {/noload save store}if }bd /endnoload { {noload restore}if }bd level2 startnoload /setjob { statusdict/jobname 3 -1 roll put }bd /setcopies { userdict/#copies 3 -1 roll put }bd /devg/DeviceGray def /devr/DeviceRGB def /devc/DeviceCMYK def /ststpgdev{}def /dopgdev{}def /stpgdev{}def /buf Z /didstop T def /sfcl { /didstop T store /odictstk countdictstack store count/oopstk xs currentfile cvx stopped { $error/newerror F put didstop { save/didstop xs /buf vmstatus exch sub exch pop dup 0 lt{pop 0}if dup 64000 gt{pop 64000}if string store { currentfile buf readline { (}efcl)eq{exit}if }{ /UnexpectedEOF errordict/rangecheck get exec }ifelse }loop didstop restore }if }if fcl }bd /efcl { /didstop F store exec stop }bd level2 endnoload level2 not startnoload /setjob { 1 dict begin/JobName xdf currentdict end setuserparams }bd /setcopies { 1 dict begin/NumCopies xdf currentdict end setpagedevice }bd /devg[/DeviceGray]def /devr[/DeviceRGB]def /devc[/DeviceCMYK]def /setpagedevice where{pop/realstpgdev/setpagedevice ld}if /SC_topddict Z /SC_spdict Z /dopgdev { md/setpagedevice undef SC_topddict realstpgdev }bd /stpgdev { SC_topddict dup 3 -1 roll { SC_spdict 2 index known { SC_spdict 2 index get dup 3 -1 roll { put dup }forall pop put dup }{ put dup }ifelse }forall pop pop }bd /ststpgdev { md/setpagedevice/stpgdev load put /SC_topddict 0 dict store /SC_spdict 3 dict begin /InputAttributes 0 dict def /Policies 0 dict def /OutputAttributes 0 dict def currentdict end store }def /sfcl/sfcl2 ld /efcl/efcl2 ld level2 not endnoload /pm Z /mT Z /sD Z /realshowpage Z /initializepage { mT $m currentmatrix mTS concatmatrix pop /pm save store mT concat }bd /endp { pm restore showpage }def /adjRect { dup 2 mul 6 2 roll 4 index sub exch 5 -1 roll sub exch 4 2 roll 4 index add exch 5 -1 roll add exch 4 2 roll }bd /frame1up { gS mTS setmatrix QDframwid lw /setstrokeadjust where{pop T setstrokeadjust}if clippath pathbbox 2 index sub exch 3 index sub exch currentlinewidth framewidth mul adjRect numframes dup 0 lt{pop 0}if { 4 copy rS currentlinewidth framewidth mul 4 mul adjRect }repeat pop pop pop pop gR }bd /$c devr def /rectclip where { pop/rC/rectclip ld }{ /rC { np 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl :K clip np }bd }ifelse /rectfill where { pop/rF/rectfill ld }{ /rF { gS np 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl fill gR }bd }ifelse /rectstroke where { pop/rS/rectstroke ld }{ /rS { gS np 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl :K stroke gR }bd }ifelse %%EndFile %%BeginFile: lw8_level1_colorspace-2.0 /G/setgray ld /:F1/setgray ld /:F/setrgbcolor ld /:F4/setcmykcolor where { pop /setcmykcolor ld }{ { 3 { dup 3 -1 roll add dup 1 gt{pop 1}if 1 exch sub 4 1 roll }repeat pop setrgbcolor }bd }ifelse /:Fx { counttomark {0{G}0{:F}{:F4}} exch get exec pop }bd /$cs Z /:rg{devr :ss}bd /:sc{$cs :ss}bd /:dc { dup type/arraytype eq{0 get}if dup/DeviceCMYK eq { pop devc }{ /DeviceGray eq { devg }{ devr }ifelse }ifelse /$cs xdf }bd /:sgl{}def /:dr{}bd /:fCRD{pop}bd /:ckcs{}bd /:ss{/$c xdf}bd %%EndFile %%BeginFile: lw8_uniform_graphics-2.0 /@a { np :M 0 rl :L 0 exch rl 0 rl :L fill }bd /@b { np :M 0 rl 0 exch rl :L 0 rl 0 exch rl fill }bd /@c { moveto 0 rlineto stroke }bd /@w { moveto 0 exch rlineto stroke }bd /arct where { pop }{ /arct { arcto pop pop pop pop }bd }ifelse /x1 Z /x2 Z /y1 Z /y2 Z /rad Z /@q { /rad xs /y2 xs /x2 xs /y1 xs /x1 xs np x2 x1 add 2 div y1 :M x2 y1 x2 y2 rad arct x2 y2 x1 y2 rad arct x1 y2 x1 y1 rad arct x1 y1 x2 y1 rad arct fill }bd /@s { /rad xs /y2 xs /x2 xs /y1 xs /x1 xs np x2 x1 add 2 div y1 :M x2 y1 x2 y2 rad arct x2 y2 x1 y2 rad arct x1 y2 x1 y1 rad arct x1 y1 x2 y1 rad arct :K stroke }bd /@i { np 0 360 arc fill }bd /@j { gS np :T scale 0 0 .5 0 360 arc fill gR }bd /@e { np 0 360 arc :K stroke }bd /@f { np $m currentmatrix pop :T scale 0 0 .5 0 360 arc :K $m setmatrix stroke }bd /@k { gS np :T 0 0 :M 0 0 5 2 roll arc fill gR }bd /@l { gS np :T 0 0 :M scale 0 0 .5 5 -2 roll arc fill gR }bd /@m { np arc stroke }bd /@n { np $m currentmatrix pop :T scale 0 0 .5 5 -2 roll arc $m setmatrix stroke }bd %%EndFile %%BeginFile: lw8_basic_text-2.0 /S/show ld /A{ 0.0 exch ashow }bd /R{ 0.0 exch 32 exch widthshow }bd /W{ 0.0 3 1 roll widthshow }bd /J{ 0.0 32 4 2 roll 0.0 exch awidthshow }bd /V{ 0.0 4 1 roll 0.0 exch awidthshow }bd /fcflg T def /fc{ fcflg{ vmstatus exch sub 50000 lt{ (%%[ Warning: Running out of memory ]%%\r)print flush/fcflg F store }if pop }if }bd /$f[1 0 0 -1 0 0]def /:ff{$f :mf}bd /MacEncoding StandardEncoding 256 array copy def MacEncoding dup 9/space put dup 39/quotesingle put 96/grave put /Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute /agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave /ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute /ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis /dagger/degree/cent/sterling/section/bullet/paragraph/germandbls /registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash /infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation /product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash /questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft /guillemotright/ellipsis/space/Agrave/Atilde/Otilde/OE/oe /endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge /ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl /daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand /Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave /Oacute/Ocircumflex/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde /macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron MacEncoding 128 128 getinterval astore pop level2 startnoload /copyfontdict { findfont dup length dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall }bd /$ckeyd md def /:skey { 1 index maxlength 2 index length sub ge { begin /$mkeys 20 dict def /$mkeys load end dup/$ckeyd xs }if 3 1 roll put }bd /fD1pass { 40 $ckeyd //md ne { pop 1 }if $ckeyd exch :skey }bd /:searchdict Z /:searchdict { exch 2 copy known { get }{ exch/$mkeys get :searchdict }ifelse }bd /lU { //md exch 2 copy known { get }{ exch /$mkeys get :searchdict }ifelse }bd level2 endnoload level2 not startnoload /copyfontdict { findfont dup length dict copy begin }bd /fD1pass/def ld /lU/load ld level2 not endnoload /fD Z /sf Z /scf Z /sf1pass { lU setfont }bd /scf1pass { exch lU exch scalefont fD }bd /scf2pass { scalefont fD }bd md/fontname known not{ /fontname/customfont def }if /Encoding Z /:mre { copyfontdict /Encoding MacEncoding def fontname currentdict end definefont :ff fD }bd /:bsr { copyfontdict /Encoding Encoding 256 array copy def Encoding dup }bd /pd{put dup}bd /:esr { pop pop fontname currentdict end definefont :ff fD }bd /ps Z /fz{/ps xs}bd /cF/currentfont ld /mbf { /makeblendedfont where { pop makeblendedfont /ABlend exch definefont }{ pop }ifelse fD }def %%EndFile /currentpacking where {pop sc_oldpacking setpacking}if end %%EndProlog %%BeginSetup md begin /fD/def ld/sf/setfont ld /scf/scf2pass ld sfcl{ %%BeginFeature: *InputSlot Upper %%EndFeature }efcl sfcl{ %%BeginFeature: *ManualFeed False level2 {1 dict dup /ManualFeed false put setpagedevice}{statusdict begin /manualfeed false store end} ifelse %%EndFeature }efcl sfcl{ %%BeginFeature: *PageRegion LetterSmall level2 { 2 dict dup /PageSize [612 792] put dup /ImagingBBox [30 31 582 761] put setpagedevice }{ /lettersmall where {pop lettersmall} {letterR} ifelse } ifelse %%EndFeature }efcl ()setjob /mT[1 0 0 -1 30 761]def /sD 16 dict def 600 level2{1 dict dup/WaitTimeout 4 -1 roll put setuserparams}{statusdict/waittimeout 3 -1 roll put}ifelse %%IncludeFont: Times-Roman /f42/Times-Roman :mre /f56 f42 12 scf %%IncludeFont: Times-Bold /f67/Times-Bold :mre /f81 f67 18 scf /f92 f67 12 scf %%IncludeFont: Courier-Bold /f112/Courier-Bold :mre /f127 f112 10 scf %%IncludeFont: Times-Italic /f138/Times-Italic :mre /f153 f138 12 scf /f164 f42 9 scf /f175 f42 10 scf /f186 f138 10 scf /f197 f67 14 scf /f208 f112 9 scf /Courier findfont[10 0 0 -10 0 0]:mf setfont %%EndSetup %%Page: 1 1 %%BeginPageSetup initializepage (; page: 1 of 4)setjob %%EndPageSetup gS 0 0 552 728 rC 504 710 :M f56 sf (1)S 82 55 :M f81 sf (Floating-Point and Complex Arithmetic Enhancements)S 184 80 :M f92 sf (WG14/N964 J11/97-057 \(Draft 1997-0)S 377 80 :M (5-23)S 399 80 :M <29>S 264 104 :M f56 sf (Jim Thomas)S 54 104 :M (5)S 246 116 :M f127 sf (jthomas@best.com)S 96 163 :M f56 sf .835 .084(This documents describes potential C9X enhancements related to the floating-point)J 78 175 :M 1.213 .121(and complex arithmetic specifications. Section numbers refer to )J 409 175 :M 1.597 .16(C9X )J 437 175 :M 1.448 .145(Draft 9. Each)J 48 175 :M (1)S 54 175 :M (0)S 78 187 :M (enhancement could be accepted or rejected independently.)S 78 223 :M f92 sf (1. Enhancement:)S 171 223 :M f56 sf ( Clean up access to imaginary types:)S 48 235 :M (1)S 54 235 :M (5)S 78 247 :M (a\))S 96 247 :M 1.02 .102(Add a new )J 155 247 :M f127 sf .161( )A f56 sf .358 .036( macro )J f127 sf .161(_Complex_I)A f56 sf .576 .058( which gives a complex representation)J 96 259 :M (of the imaginary unit )S 200 259 :M f153 sf (i)S f56 sf ( \(even on implementations supporting imaginary types\).)S 78 283 :M (b\))S 96 283 :M .257 .026(Require the macro )J f127 sf .081(_Imaginary_I)A f56 sf .226 .023( to be an imaginary representation of )J 445 283 :M f153 sf .071(i)A f56 sf .311 .031( and specify)J 96 295 :M 2.072 .207(it to be defined if and only if the implementation provides imaginary types as)J 48 295 :M (2)S 54 295 :M (0)S 96 307 :M (specified in G.3\).)S 78 331 :M (c\))S 96 331 :M (Allow the implementation to define the macro )S 321 331 :M f127 sf (I)S f56 sf ( to be )S 357 331 :M f127 sf (_Complex_I)S f56 sf ( or )S 433 331 :M f127 sf (_Imaginary_I)S f56 sf (.)S 78 355 :M (d\))S 96 355 :M 1.029 .103(Reserve the token )J f127 sf .333(imaginary)A f56 sf .765 .076( to be a keyword just when )J 386 355 :M f127 sf .152( )A f56 sf .451 .045( is included)J 48 355 :M (2)S 54 355 :M (5)S 96 367 :M (and )S f127 sf (_Imaginary_I)S f56 sf ( is defined.)S 78 391 :M (e\))S 96 391 :M .571 .057(Add in normative text a conditionally defined macro signifying adherence to Annex)J 96 403 :M (G, while noting the annex\325s )S 232 403 :M f153 sf (informative)S f56 sf ( status.)S 48 415 :M (3)S 54 415 :M (0)S 78 427 :M (f\))S 96 427 :M 1.065 .107(Modify the definition of multiplication and division of two imaginary operands so)J 96 439 :M (that the result type is real.)S 78 463 :M f92 sf .133(Rationale:)A f56 sf .446 .045( \(a\)-\(c\) give the programmer on systems with imaginary types the facility to)J 78 475 :M .118 .012(control whether use of the macro )J f127 sf (I)S f56 sf .146 .015( introduces an imaginary type. Disallowing imaginary)J 48 475 :M (3)S 54 475 :M (5)S 78 487 :M .255 .025(types is useful for some programs intended to run on implementations without imaginary)J 78 499 :M (types.)S 96 523 :M 1.309 .131(\(b\) provides a test for whether imaginary types are supported \(whether or not the)J 78 535 :M (implementation fully supports Annex G\).)S 48 535 :M (4)S 54 535 :M (0)S 96 559 :M 1.756 .176(\(b\) and \(d\) reserve the keyword )J 267 559 :M f127 sf .347(imaginary)A f56 sf 1.2 .12( so that implementations can support)J 78 571 :M .586 .059(Annex G without breaking conformance to the normative standard. An implementation)J 78 583 :M (that does not support imaginary types need not reserve the keyword )S 406 583 :M f127 sf (imaginary)S f56 sf (.)S 48 595 :M (4)S 54 595 :M (5)S 96 607 :M .091 .009(\(e\) gives the programmer a way of testing whether the implementation claims support)J 78 619 :M (for Annex G, albeit without normative clout.)S 96 643 :M .933 .093(\(f\) provides a more natural behavior for imaginary types, while \(a\)-\(c\) provide an)J 78 655 :M (alternative for strict compatibility with systems without imaginary types.)S 48 655 :M (5)S 54 655 :M (0)S endp %%Page: 2 2 %%BeginPageSetup initializepage (; page: 2 of 4)setjob %%EndPageSetup gS 0 0 552 728 rC 42 14 :M f56 sf (WG14/N694)S 104 14 :M ( J11/97-057)S 418 14 :M (1997-05-23)S 42 722 :M (2)S 404 722 :M (Enhancements)S 42 50 :M f92 sf (Edits: )S 79 50 :M f153 sf (In 7.8, replace paragraphs [#2] and [#3] with:)S 60 74 :M f56 sf (The macro)S 78 98 :M f127 sf (_Complex_I)S 18 98 :M f56 sf (5)S 42 121 :M .092 .009(expands to an expression of type )J f127 sf .032(const\312float\312complex)A f56 sf .091 .009(, with the value of the imaginary)J 42 135 :M (unit)S 61 132 :M f164 sf (1)S 65 135 :M f56 sf (. The macro)S 78 159 :M f127 sf (_Imaginary_I)S 12 159 :M f56 sf (1)S 18 159 :M (0)S 42 182 :M .154 .015(is defined if and only if the implementation supports imaginary types as specified in G.3;)J 42 194 :M 1.702 .17(it expands to an expression of type )J 230 194 :M f127 sf .333(const\312float\312imaginary)A f56 sf .806 .081(, with the value of the)J 42 206 :M (imaginary unit. The macros are suitable for use in constant expressions.)S 12 218 :M (1)S 18 218 :M (5)S 60 230 :M (The macro)S 78 254 :M f127 sf (I)S 42 277 :M f56 sf 2.899 .29(is defined to be )J 136 277 :M f127 sf .551(_Complex_I)A f56 sf 1.148 .115( or, if defined, )J f127 sf .551(_Imaginary_I)A f56 sf 1.919 .192(. Notwithstanding the)J 12 277 :M (2)S 18 277 :M (0)S 42 289 :M (provisions of subclause 7.1.3, it is permitted to undefine the macro )S f127 sf (I)S f56 sf (.)S 42 313 :M f153 sf (In 6.1.1, add the keyword )S f127 sf (imaginary)S f153 sf (.)S 42 337 :M (In 6.1.1, replace [2] with:)S 12 337 :M f56 sf (2)S 18 337 :M (5)S 60 361 :M .431 .043(The token )J f127 sf .151(complex)A f56 sf .422 .042( is reserved in translation units where the header )J 396 361 :M f127 sf .06( )A f56 sf .091 .009( is)J 42 373 :M .954 .095(included; the token )J f127 sf .356(imaginary)A f56 sf 1.056 .106( is reserved in translation units where both the header)J 42 385 :M f127 sf .691( )A f56 sf 1.73 .173( is included and also the macro )J 285 385 :M f127 sf .629(_Imaginary_I)A f56 sf 1.441 .144( is defined; all other)J 42 397 :M .875 .088(keyword tokens are reserved in all translation units. When reserved, the above tokens)J 12 397 :M (3)S 18 397 :M (0)S 42 409 :M 1.066 .107(\(entirely in lower case\) are keywords \(in translation phases 7 and 8\), and shall not be)J 42 421 :M .583 .058(used otherwise. When the token )J 207 421 :M f127 sf .184(complex)A f56 sf .213 .021( or )J 267 421 :M f127 sf .185(imaginary)A f56 sf .441 .044( is reserved, its use prior to the)J 42 433 :M (first inclusion of the header )S 177 433 :M f127 sf ( )S f56 sf ( results in undefined behavior.)S 42 457 :M f153 sf (In 6.8.8, replace paragraph [#2] with:)S 12 457 :M f56 sf (3)S 18 457 :M (5)S 60 481 :M (The following macro names are conditionally defined by the implementation:)S 42 505 :M f127 sf (__STDC_IEC_559__)S 218 505 :M f56 sf 4.297 .43(The decimal constant 1, intended to indicate)J 218 517 :M 1.388 .139(conformance to the specification in Annex F \(IEC)J 12 517 :M (4)S 18 517 :M (0)S 218 529 :M (559 floating-point arithmetic\).)S 42 553 :M f127 sf (__STDC_IEC_559_COMPLEX__)S 218 553 :M f56 sf 4.297 .43(The decimal constant 1, intended to indicate)J 218 565 :M .656 .066(adherence to the specification in informative Annex)J 218 577 :M (G \(IEC 559 compatible complex arithmetic\).)S 12 577 :M (4)S 18 577 :M (5)S 42 601 :M f153 sf (In G.1, remove the sentence clause ")S 218 601 :M f56 sf (the macro expands to the decimal constant 1)S 431 601 :M f153 sf (".)S 42 625 :M (Remove G.2 \(and renumber subsequent subclauses\).)S 12 637 :M f56 sf (5)S 18 637 :M (0)S 42 673 :M ( )S .48 lw 144.48 42 670.24 @c 42 684 :M f164 sf (1)S 46 687 :M f175 sf ( The imaginary unit is a number )S 177 687 :M f186 sf (i)S 180 687 :M f175 sf ( such that )S 221 687 :M f186 sf (i)S 224 687 :M f175 sf (*)S f186 sf (i)S 232 687 :M f175 sf ( = -1.)S endp %%Page: 3 3 %%BeginPageSetup initializepage (; page: 3 of 4)setjob %%EndPageSetup gS 0 0 552 728 rC 78 14 :M f56 sf (Draft 1997-05-23)S 391 14 :M (WG14/N6)S 441 14 :M (57 J11/97-057)S 78 722 :M (Enhancements)S 504 722 :M (3)S 78 50 :M f153 sf (Replace the first paragraph of G.6 \(prior to renumbering\) with:)S 96 74 :M f56 sf (The macro)S 114 98 :M f127 sf (_Imaginary_I)S 54 98 :M f56 sf (5)S 78 121 :M (is defined, and the macro)S 114 145 :M f127 sf (I)S 48 156 :M f56 sf (1)S 54 156 :M (0)S 78 168 :M (is defined to be )S 155 168 :M f127 sf (_Imaginary_I)S f56 sf ( \(7.8\).)S 78 192 :M f153 sf .962 .096(In G.5.1 \(prior to renumbering\), paragraph [#1], replace the second sentence with:)J f56 sf .421 .042( If)J 78 204 :M (both operands have imaginary type, then the result has real type.)S 48 216 :M (1)S 54 216 :M (5)S 78 240 :M f92 sf .731 .073(2. Enhancement:)J f56 sf .376 .038( Change the type for the )J 296 240 :M f127 sf .118(INFINITY)A f56 sf .184 .018( and )J f127 sf .118(NAN)A f56 sf .307 .031( macros from )J f127 sf .118(float_t)A f56 sf .203 .02( to)J 78 252 :M f127 sf (float)S f56 sf (.)S 78 276 :M f92 sf .33(Rationale:)A f56 sf 1.203 .12( Currently these macros have different types depending on the evaluation)J 48 276 :M (2)S 54 276 :M (0)S 78 288 :M .025 .003(method. This makes writing portable code unnecessarily difficult, as type-dependent use,)J 78 300 :M .253 .025(e.g. )J 99 300 :M f127 sf .063(printf\("%e",\312INFINITY\))A f56 sf .163 .016(, must be avoided or put under a switch. This proposal is)J 78 312 :M .17 .017(in line with the earlier change in the corresponding real type of the imaginary unit )J f127 sf .061(I)A f56 sf .19 .019( from)J 78 324 :M f127 sf (float_t)S f56 sf ( to )S f127 sf (float)S f56 sf (.)S 48 336 :M (2)S 54 336 :M (5)S 78 348 :M f92 sf (Edits:)S 109 348 :M f56 sf .072 .007( )J f153 sf .513 .051(In 7.7, paragraphs [#4] and [#5], replace the four occurrences of)J 440 348 :M f56 sf .082 .008( )J f127 sf .18(float_t)A f56 sf .09 .009( )J 489 348 :M f153 sf (with)S 78 360 :M f127 sf (float)S f56 sf (.)S 78 396 :M f92 sf .616 .062(3. Enhancement:)J 170 396 :M f56 sf .692 .069( Annex F identifies the transformation )J 368 396 :M f127 sf (0\312*\312x)S f56 sf (\312-->\312)S 419 396 :M f127 sf .321(0.0)A f56 sf .62 .062( as invalid if )J 504 396 :M f127 sf (x)S 48 396 :M f56 sf (3)S 54 396 :M (0)S 78 408 :M (might be infinite or NaN. Add -0 to the invalidating values.)S 78 432 :M f92 sf (Rationale:)S f56 sf ( This points out a case that the implementor of the optimizer might overlook.)S 78 456 :M f92 sf (Edits:)S 109 456 :M f56 sf .527 .053( )J 117 456 :M f153 sf .369 .037(In F.8.2, paragraph [#1], bullet 0 * x --> 0.0, replace )J 385 456 :M f56 sf .297 .03("if )J f127 sf .164(x)A f56 sf .387 .039( is a NaN or infinite")J 48 456 :M (3)S 54 456 :M (5)S 78 468 :M f153 sf (with)S 99 468 :M f56 sf ( "if )S f127 sf (x)S f56 sf ( is a NaN, infinite, or -0".)S 78 504 :M f92 sf 2.285 .229(4. Enhancement:)J 176 504 :M f56 sf 2.857 .286( Provide a function for )J 315 504 :M f153 sf 1.333 .133(floating multiply-add)J 421 504 :M f56 sf .4 .04(: )J f127 sf .645(fma\(x,\312y,\312z\))A 78 516 :M f56 sf .75 .075(computes )J f127 sf .26(x\312*\312y\312+\312z)A f56 sf .683 .068( as one ternary operation \(i.e. with just one rounding\). IEC 559)J 48 516 :M (4)S 54 516 :M (0)S 78 528 :M (implementations must deliver the result with just one IEC 559-style rounding.)S 78 552 :M f92 sf .181(Rationale:)A f56 sf .607 .061( In many cases, clever use of floating multiply-add leads to much improved)J 78 564 :M 1.417 .142(code. However, its unexpected use by the compiler can undermine carefully written)J 78 576 :M 2.051 .205(code. The )J 140 576 :M f127 sf .479(FP_CONTRACT)A f56 sf 1.389 .139( directive in the current floating-point spec can be used to)J 48 576 :M (4)S 54 576 :M (5)S 78 588 :M .729 .073(disallow use of floating multiply-add. What's still needed is a way to guarantee its use)J 78 600 :M .362 .036(just in particular situations. Many current machines provide hardware floating multiply-)J 78 612 :M (add instructions; software implementation can be used for others.)S 96 636 :M 2.473 .247(There was a suggestion to add a macro for testing whether, in effect, )J 477 636 :M f127 sf .784(fma)A f56 sf 1.198 .12( is)J 48 636 :M (5)S 54 636 :M (0)S 78 648 :M 2.004 .2(implemented in hardware. Although potentially useful, such a macro is not being)J 78 660 :M 2.15 .215(proposed here. Similar macros would seem to be needed for other functions and)J 78 672 :M .137 .014(operations, notably the divide operator, and the need in the case of these existing routines)J 78 684 :M (has not been established.)S endp %%Page: 4 4 %%BeginPageSetup initializepage (; page: 4 of 4)setjob %%EndPageSetup gS 0 0 552 728 rC 42 14 :M f56 sf (WG14/N694)S 104 14 :M ( J11/97-057)S 418 14 :M (1997-05-23)S 42 722 :M (4)S 404 722 :M (Enhancements)S 42 62 :M f153 sf (Insert the following subclause in 7.7)S 217 62 :M ( in the section:)S 42 89 :M f197 sf (7.)S 53 89 :M (7.y Floating multiply-add)S 18 104 :M f56 sf (5)S 42 116 :M f92 sf (7.7.y.1 The )S f127 sf (fma)S f92 sf ( function)S 42 140 :M (Synopsis)S 78 164 :M f127 sf (#include )S 12 164 :M f56 sf (1)S 18 164 :M (0)S 78 175 :M f127 sf (double fma\(double x, double y, double z\);)S 42 198 :M f92 sf (Description)S 60 222 :M f56 sf 1.315 .131(The )J 84 222 :M f127 sf .334(fma)A f56 sf .993 .099( function computes the sum )J 247 222 :M f127 sf .459(z)A f56 sf 1.119 .112( plus the product )J 342 222 :M f127 sf .54(x)A f56 sf 1.108 .111( times )J 384 222 :M f127 sf .364(y)A f56 sf 1.059 .106(, rounded as one)J 12 222 :M (1)S 18 222 :M (5)S 42 234 :M 1.139 .114(ternary operation: it computes the sum )J f127 sf .393(z)A f56 sf .942 .094( plus the product )J f127 sf .393(x)A f56 sf .807 .081( times )J 381 234 :M f127 sf .441(y)A f56 sf 1.014 .101( \(as if\) to infinite)J 42 246 :M 2.616 .262(precision and rounds once to the result format, according to the rounding mode)J 42 258 :M (characterized by the value of )S 184 258 :M f127 sf (FLT_ROUNDS)S f56 sf (.)S 42 282 :M f92 sf (Returns)S 12 282 :M f56 sf (2)S 18 282 :M (0)S 60 306 :M .078 .008(The )J 82 306 :M f127 sf .022(fma)A f56 sf .059 .006( function returns the sum )J 224 306 :M f127 sf (z)S f56 sf .069 .007( plus the product )J f127 sf (x)S f56 sf .059 .006( times )J 352 306 :M f127 sf (y)S f56 sf .061 .006(, rounded as one ternary)J 42 318 :M (operation.)S 78 342 :M f175 sf ([A longer alternative name might be )S 226 342 :M f208 sf -.345(fmuladd)A f175 sf -.373(.])A 12 342 :M f56 sf (2)S 18 342 :M (5)S 42 368 :M f153 sf (Insert the following subclause in )S 202 368 :M (F.9 of the IEC 559 annex:)S 42 398 :M f197 sf (F)S 51 398 :M (.9.y Floating multiply-add)S 12 413 :M f56 sf (3)S 18 413 :M (0)S 42 425 :M f92 sf (F.9.y.1 The )S f127 sf (fma)S f92 sf ( function)S 60 449 :M f127 sf .304(fma\(x,\312y,\312z\))A f56 sf .823 .082( computes the sum )J 233 449 :M f127 sf .559(z)A f56 sf 1.361 .136( plus the product )J 331 449 :M f127 sf .37(x)A f56 sf .731 .073( times )J f127 sf .37(y)A f56 sf 1.476 .148(, correctly rounded)J 42 461 :M (once.)S 12 473 :M (3)S 18 473 :M (5)S 42 485 :M (\245)S 60 485 :M f127 sf .064(fma\(x,\312y,\312z\))A f56 sf .17 .017( returns one of its NaN arguments and raises no exception if )J f127 sf .064(x)A f56 sf .07 .007( or )J f127 sf .064(y)A f56 sf .085 .009( is a)J 42 497 :M (NaN.)S 42 509 :M (\245)S 60 509 :M f127 sf .198(fma\(x,\312y,\312z\))A f56 sf .538 .054( returns a NaN and optionally raises the invalid exception if one of )J 468 509 :M f127 sf (x)S 42 521 :M f56 sf (and )S f127 sf (y)S f56 sf ( is infinite, the other is zero, and )S 226 521 :M f127 sf (z)S f56 sf ( is a NaN.)S 42 533 :M (\245)S 60 533 :M f127 sf .385(fma\(x,\312y,\312z\))A f56 sf .979 .098( returns a NaN and raises the invalid exception if one of )J f127 sf .385(x)A f56 sf .599 .06( and )J f127 sf .385(y)A f56 sf .589 .059( is)J 12 533 :M (4)S 18 533 :M (0)S 42 545 :M (infinite, the other is zero, and )S 186 545 :M f127 sf (z)S f56 sf ( is not a NaN.)S 42 557 :M (\245)S 60 557 :M f127 sf .073(fma\(x,\312y,\312z\))A f56 sf .193 .019( returns a NaN and raises the invalid exception if )J 374 557 :M f127 sf .119(x)A f56 sf .244 .024( times )J 413 557 :M f127 sf .114(y)A f56 sf .248 .025( is an exact)J 42 569 :M (infinity and )S 101 569 :M f127 sf (z)S f56 sf ( is also an infinity but with the opposite sign.)S 45 581 :M ( )S 42 593 :M f153 sf .906 .091(Include fma in the list of \(but not \) functions that have a type-)J 12 593 :M f56 sf (4)S 18 593 :M (5)S 42 605 :M f153 sf (generic macro.)S endp %%Trailer end %%EOF

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4