Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. #pragma once
  2.  
  3. int WyborDlaKlonu(int opt1, int opt2, int opt3, int losW)
  4. {
  5. int choice;
  6.  
  7. __asm {
  8. mov eax, losW
  9. mov ebx, opt1
  10. cmp eax, ebx
  11. jbe choice1
  12.  
  13. mov eax, losW
  14. mov ebx, opt2
  15. cmp eax, ebx
  16. jbe choice2
  17.  
  18. mov eax, losW
  19. mov ebx, opt3
  20. cmp eax, ebx
  21. jbe choice3
  22. jmp choice4
  23.  
  24. choice1 :
  25. mov choice, 1
  26. jmp end_prog
  27.  
  28. choice2 :
  29. mov choice, 2
  30. jmp end_prog
  31. choice3 :
  32. mov choice, 3
  33. jmp end_prog
  34. choice4 :
  35. mov choice, 4
  36.  
  37. end_prog :
  38. };
  39.  
  40. return choice;
  41. }
  42.  
  43. //---Algorytm generowania fraktali IFS
  44. double genNewX(double a, double b, double c, double x, double y)
  45. {
  46. double xtemp = 0;
  47. __asm //xtemp = (a * x) + (b * y) + c; <---- x'
  48. {
  49. finit
  50. fld a
  51. fld x
  52. fmul
  53. fld b
  54. fld y
  55. fmul
  56. fadd
  57. fld c
  58. fadd
  59. fstp xtemp
  60. };
  61. return xtemp;
  62. }
  63. double genNewY(double d, double e, double f, double x, double y)
  64. {
  65. double ytemp = 0;
  66. __asm { //ytemp = (d * x) + (e * y) + f; <---- y'
  67. finit
  68. fld d
  69. fld x
  70. fmul
  71. fld e
  72. fld y
  73. fmul
  74. fadd
  75. fld f
  76. fadd
  77. fstp ytemp
  78. };
  79. return ytemp;
  80. }
  81.  
  82. //---Transformacja współrzędnych
  83. int genXe(double x, double xmin, double xmax, int gxmax)
  84. {
  85. int xe = 0;
  86. __asm { //xe = ((x-xmin)/(xmax-xmin))*gxmax;
  87. finit
  88. fld x
  89. fld xmin
  90. fsub
  91. fld xmax
  92. fld xmin
  93. fsub
  94. fdiv
  95. fld gxmax
  96. fmul
  97. fstp xe
  98. };
  99. return xe;
  100. }
  101.  
  102. int genYe(double y, double ymin, double ymax, int gymax)
  103. {
  104. int ye = 0;
  105. int minus = (-1);
  106. __asm { //ye = (((y-ymin)/(ymax-ymin))*gymax-gymax)*(-1);
  107. finit
  108. fld y
  109. fld ymin
  110. fsub
  111. fld ymax
  112. fld ymin
  113. fsub
  114. fdiv
  115. fld gymax
  116. fmul
  117. fld gymax
  118. fsub
  119. fild minus
  120. fmul
  121. fstp ye
  122. }
  123. return ye;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement