| 549 | 549 | printf (" should be: %d\n", 5); |
|---|
| 550 | 550 | printf ("Bool_Glob: %d\n", Bool_Glob); |
|---|
| 551 | 551 | printf (" should be: %d\n", 1); |
|---|
| 552 | 552 | printf ("Ch_1_Glob: %c\n", Ch_1_Glob); |
|---|
| 553 | 553 | printf (" should be: %c\n", cast(int)'A'); |
|---|
| 554 | 554 | printf ("Ch_2_Glob: %c\n", Ch_2_Glob); |
|---|
| 555 | 555 | printf (" should be: %c\n", cast(int)'B'); |
|---|
| 556 | 556 | printf ("Arr_1_Glob[8]: %d\n", Arr_1_Glob[8]); |
|---|
| 557 | 557 | printf (" should be: %d\n", 7); |
|---|
| 558 | 558 | printf ("Arr_2_Glob[8][7]: %d\n", Arr_2_Glob[8][7]); |
|---|
| 559 | 559 | printf (" should be: Number_Of_Runs + 10\n"); |
|---|
| 560 | 560 | printf ("Ptr_Glob.\n"); |
|---|
| 561 | 561 | printf (" Ptr_Comp: %d\n", cast(int) Ptr_Glob.Ptr_Comp); |
|---|
| 562 | 562 | printf (" should be: (implementation-dependent)\n"); |
|---|
| 563 | 563 | printf (" Discr: %d\n", Ptr_Glob.Discr); |
|---|
| 564 | 564 | printf (" should be: %d\n", 0); |
|---|
| 565 | 565 | printf (" Enum_Comp: %d\n", Ptr_Glob.variant.var_1.Enum_Comp); |
|---|
| 566 | 566 | printf (" should be: %d\n", 2); |
|---|
| 567 | 567 | printf (" Int_Comp: %d\n", Ptr_Glob.variant.var_1.Int_Comp); |
|---|
| 568 | 568 | printf (" should be: %d\n", 17); |
|---|
| 570 | 570 | printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); |
|---|
| 571 | 571 | printf ("Next_Ptr_Glob.\n"); |
|---|
| 572 | 572 | printf (" Ptr_Comp: %d\n", cast(int) Next_Ptr_Glob.Ptr_Comp); |
|---|
| 573 | 573 | printf (" should be: (implementation-dependent), same as above\n"); |
|---|
| 574 | 574 | printf (" Discr: %d\n", Next_Ptr_Glob.Discr); |
|---|
| 575 | 575 | printf (" should be: %d\n", 0); |
|---|
| 576 | 576 | printf (" Enum_Comp: %d\n", Next_Ptr_Glob.variant.var_1.Enum_Comp); |
|---|
| 577 | 577 | printf (" should be: %d\n", 1); |
|---|
| 578 | 578 | printf (" Int_Comp: %d\n", Next_Ptr_Glob.variant.var_1.Int_Comp); |
|---|
| 579 | 579 | printf (" should be: %d\n", 18); |
|---|
| 581 | 581 | printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); |
|---|
| 582 | 582 | printf ("Int_1_Loc: %d\n", Int_1_Loc); |
|---|
| 583 | 583 | printf (" should be: %d\n", 5); |
|---|
| 584 | 584 | printf ("Int_2_Loc: %d\n", Int_2_Loc); |
|---|
| 585 | 585 | printf (" should be: %d\n", 13); |
|---|
| 586 | 586 | printf ("Int_3_Loc: %d\n", Int_3_Loc); |
|---|
| 587 | 587 | printf (" should be: %d\n", 7); |
|---|
| 588 | 588 | printf ("Enum_Loc: %d\n", Enum_Loc); |
|---|
| 589 | 589 | printf (" should be: %d\n", 1); |
|---|
| 593 | 593 | printf (" should be: DHRYSTONE PROGRAM, 2'ND STRING\n"); |
|---|
| 594 | 594 | printf ("\n"); |
|---|
| 595 | 595 | |
|---|
| 596 | 596 | User_Time = End_Time - Begin_Time; |
|---|
| 597 | 597 | |
|---|
| 598 | 598 | if (User_Time < Too_Small_Time) |
|---|
| 599 | 599 | { |
|---|
| 600 | 600 | printf ("Measured time too small to obtain meaningful results\n"); |
|---|
| 601 | 601 | printf ("Please increase number of runs\n"); |
|---|
| 602 | 602 | printf ("\n"); |
|---|
| 603 | 603 | } |
|---|
| 604 | 604 | else |
|---|
| 605 | 605 | { |
|---|
| 606 | 606 | Microseconds = User_Time * Mic_secs_Per_Second |
|---|
| 607 | 607 | / cast(double) Number_Of_Runs; |
|---|
| 608 | 608 | Dhrystones_Per_Second = cast(double) Number_Of_Runs / User_Time; |
|---|
| 609 | 609 | Vax_Mips = Dhrystones_Per_Second / 1757.0; |
|---|
| 610 | 610 | |
|---|
| 611 | 611 | printf ("Register option selected? NO\n"); |
|---|
| 612 | 612 | strcpy(Reg_Define.ptr, "Register option not selected."); |
|---|
| 613 | 613 | printf ("Microseconds for one run through Dhrystone: "); |
|---|
| 614 | 614 | printf ("%7.1lf \n", Microseconds); |
|---|
| 615 | 615 | printf ("Dhrystones per Second: "); |
|---|
| 616 | 616 | printf ("%10.1lf \n", Dhrystones_Per_Second); |
|---|
| 617 | 617 | printf ("VAX MIPS rating = %10.3lf \n",Vax_Mips); |
|---|
| 618 | 618 | printf ("\n"); |
|---|
| 619 | 619 | |
|---|
| 620 | 620 | /+ |
|---|
| 621 | 621 | fprintf(Ap,"\n"); |
|---|
| 622 | 622 | fprintf(Ap,"Dhrystone Benchmark, Version 2.1 (Language: D)\n"); |
|---|
| 624 | 624 | fprintf(Ap,"Microseconds for one loop: %7.1lf\n",Microseconds); |
|---|
| 625 | 625 | fprintf(Ap,"Dhrystones per second: %10.1lf\n",Dhrystones_Per_Second); |
|---|
| 626 | 626 | fprintf(Ap,"VAX MIPS rating: %10.3lf\n",Vax_Mips); |
|---|
| 627 | 627 | fclose(Ap); |
|---|
| 628 | 628 | +/ |
|---|
| 629 | 629 | |
|---|
| 630 | 630 | } |
|---|
| 631 | 631 | |
|---|
| 632 | 632 | } |
|---|
| 633 | 633 | |
|---|
| 634 | 634 | void Proc_1 (Rec_Pointer Ptr_Val_Par) |
|---|
| 635 | 635 | /******************/ |
|---|
| 636 | 636 | |
|---|
| 637 | 637 | /* executed once */ |
|---|
| 638 | 638 | { |
|---|
| 639 | 639 | Rec_Pointer Next_Record = Ptr_Val_Par.Ptr_Comp; |
|---|
| 640 | 640 | /* == Ptr_Glob_Next */ |
|---|
| 641 | 641 | /* Local variable, initialized with Ptr_Val_Par.Ptr_Comp, */ |
|---|
| 642 | 642 | /* corresponds to "rename" in Ada, "with" in Pascal */ |
|---|
| 643 | 643 | |
|---|