pango 3.1.1-x64-mingw32 → 3.1.2-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (306) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +27 -5
  3. data/ext/pango/depend +2 -2
  4. data/ext/pango/extconf.rb +32 -28
  5. data/ext/pango/pango.def +0 -16
  6. data/ext/pango/rb-pango-attr-list.c +64 -0
  7. data/ext/pango/rb-pango-attribute.c +147 -0
  8. data/ext/pango/rb-pango-context.c +79 -0
  9. data/ext/pango/{rbpangoconversions.h → rb-pango-conversions.h} +4 -6
  10. data/ext/pango/rb-pango-private.h +27 -0
  11. data/ext/pango/rb-pango.c +32 -0
  12. data/ext/pango/rb-pango.h +29 -0
  13. data/extconf.rb +25 -9
  14. data/lib/2.2/pango.so +0 -0
  15. data/lib/2.3/pango.so +0 -0
  16. data/lib/2.4/pango.so +0 -0
  17. data/lib/pango.rb +24 -68
  18. data/lib/pango/cairo-loader.rb +63 -0
  19. data/lib/pango/color.rb +31 -0
  20. data/lib/pango/deprecated.rb +37 -0
  21. data/lib/pango/font-description.rb +29 -0
  22. data/lib/pango/language.rb +29 -0
  23. data/lib/pango/layout.rb +41 -0
  24. data/lib/pango/loader.rb +87 -0
  25. data/lib/pango/markup.rb +31 -0
  26. data/lib/pango/matrix.rb +64 -0
  27. data/lib/pango/rectangle.rb +28 -0
  28. data/lib/pango/version.rb +30 -0
  29. data/test/pango-test-utils.rb +7 -7
  30. data/test/run-test.rb +34 -8
  31. data/test/test-attr-list.rb +28 -0
  32. data/test/test-color.rb +1 -3
  33. data/test/test-context.rb +4 -4
  34. data/test/test-enum.rb +37 -0
  35. data/test/test-font-description.rb +31 -0
  36. data/test/test-language.rb +2 -1
  37. data/test/test-layout.rb +12 -0
  38. data/test/test-markup.rb +30 -0
  39. data/test/test-matrix.rb +131 -5
  40. data/test/test-rectangle.rb +16 -3
  41. data/vendor/local/bin/derb.exe +0 -0
  42. data/vendor/local/bin/genbrk.exe +0 -0
  43. data/vendor/local/bin/genccode.exe +0 -0
  44. data/vendor/local/bin/gencfu.exe +0 -0
  45. data/vendor/local/bin/gencmn.exe +0 -0
  46. data/vendor/local/bin/gencnval.exe +0 -0
  47. data/vendor/local/bin/gendict.exe +0 -0
  48. data/vendor/local/bin/gennorm2.exe +0 -0
  49. data/vendor/local/bin/genrb.exe +0 -0
  50. data/vendor/local/bin/gensprep.exe +0 -0
  51. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  52. data/vendor/local/bin/hb-shape.exe +0 -0
  53. data/vendor/local/bin/hb-view.exe +0 -0
  54. data/vendor/local/bin/icuinfo.exe +0 -0
  55. data/vendor/local/bin/icupkg.exe +0 -0
  56. data/vendor/local/bin/libgraphene-1.0-0.dll +0 -0
  57. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  58. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  59. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  60. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  61. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  62. data/vendor/local/bin/makeconv.exe +0 -0
  63. data/vendor/local/bin/pango-view.exe +0 -0
  64. data/vendor/local/bin/pkgdata.exe +0 -0
  65. data/vendor/local/bin/uconv.exe +0 -0
  66. data/vendor/local/include/graphene-1.0/graphene-box.h +148 -0
  67. data/vendor/local/include/graphene-1.0/graphene-euler.h +140 -0
  68. data/vendor/local/include/graphene-1.0/graphene-frustum.h +93 -0
  69. data/vendor/local/include/graphene-1.0/graphene-gobject.h +119 -0
  70. data/vendor/local/include/graphene-1.0/graphene-macros.h +105 -0
  71. data/vendor/local/include/graphene-1.0/graphene-matrix.h +288 -0
  72. data/vendor/local/include/graphene-1.0/graphene-plane.h +99 -0
  73. data/vendor/local/include/graphene-1.0/graphene-point.h +120 -0
  74. data/vendor/local/include/graphene-1.0/graphene-point3d.h +140 -0
  75. data/vendor/local/include/graphene-1.0/graphene-quad.h +80 -0
  76. data/vendor/local/include/graphene-1.0/graphene-quaternion.h +136 -0
  77. data/vendor/local/include/graphene-1.0/graphene-ray.h +98 -0
  78. data/vendor/local/include/graphene-1.0/graphene-rect.h +180 -0
  79. data/vendor/local/include/graphene-1.0/graphene-simd4f.h +1870 -0
  80. data/vendor/local/include/graphene-1.0/graphene-simd4x4f.h +1045 -0
  81. data/vendor/local/include/graphene-1.0/graphene-size.h +105 -0
  82. data/vendor/local/include/graphene-1.0/graphene-sphere.h +97 -0
  83. data/vendor/local/include/graphene-1.0/graphene-triangle.h +105 -0
  84. data/vendor/local/include/graphene-1.0/graphene-types.h +88 -0
  85. data/vendor/local/include/graphene-1.0/graphene-vec2.h +130 -0
  86. data/vendor/local/include/graphene-1.0/graphene-vec3.h +155 -0
  87. data/vendor/local/include/graphene-1.0/graphene-vec4.h +156 -0
  88. data/vendor/local/include/graphene-1.0/graphene-version-macros.h +185 -0
  89. data/vendor/local/include/graphene-1.0/graphene-version.h +70 -0
  90. data/vendor/local/include/graphene-1.0/graphene.h +61 -0
  91. data/vendor/local/include/harfbuzz/hb-common.h +36 -0
  92. data/vendor/local/include/harfbuzz/hb-font.h +18 -1
  93. data/vendor/local/include/harfbuzz/hb-ot-var.h +105 -0
  94. data/vendor/local/include/harfbuzz/hb-ot.h +1 -0
  95. data/vendor/local/include/harfbuzz/hb-shape.h +0 -16
  96. data/vendor/local/include/harfbuzz/hb-version.h +2 -2
  97. data/vendor/local/include/pango-1.0/pango/pango-engine.h +6 -6
  98. data/vendor/local/include/pango-1.0/pango/pango-features.h +2 -2
  99. data/vendor/local/include/pango-1.0/pango/pango-layout.h +1 -1
  100. data/vendor/local/lib/girepository-1.0/Graphene-1.0.typelib +0 -0
  101. data/vendor/local/lib/girepository-1.0/Pango-1.0.typelib +0 -0
  102. data/vendor/local/lib/graphene-1.0/include/graphene-config.h +89 -0
  103. data/vendor/local/lib/icudt.dll +0 -0
  104. data/vendor/local/lib/icudt58.dll +0 -0
  105. data/vendor/local/lib/icuin.dll +0 -0
  106. data/vendor/local/lib/icuin58.dll +0 -0
  107. data/vendor/local/lib/icuio.dll +0 -0
  108. data/vendor/local/lib/icuio58.dll +0 -0
  109. data/vendor/local/lib/icutest.dll +0 -0
  110. data/vendor/local/lib/icutest58.dll +0 -0
  111. data/vendor/local/lib/icutu.dll +0 -0
  112. data/vendor/local/lib/icutu58.dll +0 -0
  113. data/vendor/local/lib/icuuc.dll +0 -0
  114. data/vendor/local/lib/icuuc58.dll +0 -0
  115. data/vendor/local/lib/libgraphene-1.0.dll.a +0 -0
  116. data/vendor/local/lib/libgraphene-1.0.la +41 -0
  117. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  118. data/vendor/local/lib/libharfbuzz-icu.la +1 -1
  119. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  120. data/vendor/local/lib/libharfbuzz.la +1 -1
  121. data/vendor/local/lib/libicudt.dll.a +0 -0
  122. data/vendor/local/lib/libicuin.dll.a +0 -0
  123. data/vendor/local/lib/libicuio.dll.a +0 -0
  124. data/vendor/local/lib/libicutest.dll.a +0 -0
  125. data/vendor/local/lib/libicutu.dll.a +0 -0
  126. data/vendor/local/lib/libicuuc.dll.a +0 -0
  127. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  128. data/vendor/local/lib/libpango-1.0.la +1 -1
  129. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  130. data/vendor/local/lib/libpangocairo-1.0.la +1 -1
  131. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  132. data/vendor/local/lib/libpangoft2-1.0.la +1 -1
  133. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  134. data/vendor/local/lib/libpangowin32-1.0.la +1 -1
  135. data/vendor/local/lib/pkgconfig/graphene-1.0.pc +15 -0
  136. data/vendor/local/lib/pkgconfig/graphene-gobject-1.0.pc +15 -0
  137. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
  138. data/vendor/local/lib/pkgconfig/harfbuzz.pc +1 -1
  139. data/vendor/local/lib/pkgconfig/pango.pc +1 -1
  140. data/vendor/local/lib/pkgconfig/pangocairo.pc +1 -1
  141. data/vendor/local/lib/pkgconfig/pangoft2.pc +1 -1
  142. data/vendor/local/lib/pkgconfig/pangowin32.pc +1 -1
  143. data/vendor/local/share/gir-1.0/Graphene-1.0.gir +8180 -0
  144. data/vendor/local/share/gir-1.0/Pango-1.0.gir +12 -16
  145. data/vendor/local/share/gtk-doc/html/graphene/annotation-glossary.html +57 -0
  146. data/vendor/local/share/gtk-doc/html/graphene/api-index.html +1985 -0
  147. data/vendor/local/share/gtk-doc/html/graphene/ch01.html +97 -0
  148. data/vendor/local/share/gtk-doc/html/graphene/deprecated-api-index.html +34 -0
  149. data/vendor/local/share/gtk-doc/html/graphene/graphene-Box.html +1252 -0
  150. data/vendor/local/share/gtk-doc/html/graphene/graphene-Euler.html +886 -0
  151. data/vendor/local/share/gtk-doc/html/graphene/graphene-Frustum.html +527 -0
  152. data/vendor/local/share/gtk-doc/html/graphene/graphene-GObject-integration.html +147 -0
  153. data/vendor/local/share/gtk-doc/html/graphene/graphene-Matrix.html +2959 -0
  154. data/vendor/local/share/gtk-doc/html/graphene/graphene-Plane.html +641 -0
  155. data/vendor/local/share/gtk-doc/html/graphene/graphene-Point.html +689 -0
  156. data/vendor/local/share/gtk-doc/html/graphene/graphene-Point3D.html +916 -0
  157. data/vendor/local/share/gtk-doc/html/graphene/graphene-Quad.html +418 -0
  158. data/vendor/local/share/gtk-doc/html/graphene/graphene-Quaternion.html +1056 -0
  159. data/vendor/local/share/gtk-doc/html/graphene/graphene-Ray.html +596 -0
  160. data/vendor/local/share/gtk-doc/html/graphene/graphene-Rectangle.html +1483 -0
  161. data/vendor/local/share/gtk-doc/html/graphene/graphene-SIMD-matrix.html +1475 -0
  162. data/vendor/local/share/gtk-doc/html/graphene/graphene-SIMD-vector.html +3046 -0
  163. data/vendor/local/share/gtk-doc/html/graphene/graphene-Size.html +489 -0
  164. data/vendor/local/share/gtk-doc/html/graphene/graphene-Sphere.html +641 -0
  165. data/vendor/local/share/gtk-doc/html/graphene/graphene-Triangle.html +705 -0
  166. data/vendor/local/share/gtk-doc/html/graphene/graphene-Vectors.html +3715 -0
  167. data/vendor/local/share/gtk-doc/html/graphene/graphene-Versioning-information.html +104 -0
  168. data/vendor/local/share/gtk-doc/html/graphene/graphene.devhelp2 +534 -0
  169. data/vendor/local/share/gtk-doc/html/graphene/home.png +0 -0
  170. data/vendor/local/share/gtk-doc/html/graphene/index.html +107 -0
  171. data/vendor/local/share/gtk-doc/html/graphene/ix03.html +1313 -0
  172. data/vendor/local/share/gtk-doc/html/graphene/ix04.html +582 -0
  173. data/vendor/local/share/gtk-doc/html/graphene/ix05.html +151 -0
  174. data/vendor/local/share/gtk-doc/html/graphene/ix06.html +34 -0
  175. data/vendor/local/share/gtk-doc/html/graphene/left-insensitive.png +0 -0
  176. data/vendor/local/share/gtk-doc/html/graphene/left.png +0 -0
  177. data/vendor/local/share/gtk-doc/html/{pango/api-index-1-40.html → graphene/object-tree.html} +14 -11
  178. data/vendor/local/share/gtk-doc/html/graphene/rectangle-intersection.png +0 -0
  179. data/vendor/local/share/gtk-doc/html/graphene/rectangle-union.png +0 -0
  180. data/vendor/local/share/gtk-doc/html/graphene/rectangle.png +0 -0
  181. data/vendor/local/share/gtk-doc/html/graphene/right-insensitive.png +0 -0
  182. data/vendor/local/share/gtk-doc/html/graphene/right.png +0 -0
  183. data/vendor/local/share/gtk-doc/html/graphene/style.css +479 -0
  184. data/vendor/local/share/gtk-doc/html/graphene/triangle-barycentric.png +0 -0
  185. data/vendor/local/share/gtk-doc/html/graphene/up-insensitive.png +0 -0
  186. data/vendor/local/share/gtk-doc/html/graphene/up.png +0 -0
  187. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-1-2-3.html +2 -2
  188. data/vendor/local/share/gtk-doc/html/harfbuzz/{api-index-1-4-0.html → api-index-1-3-3.html} +2 -2
  189. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +104 -0
  190. data/vendor/local/share/gtk-doc/html/harfbuzz/deprecated-api-index.html +9 -2
  191. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Shaping.html +1 -1
  192. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html +156 -40
  193. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gobject.html +73 -0
  194. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html +1 -0
  195. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +49 -0
  196. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-math.html +174 -177
  197. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html +40 -0
  198. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +2 -2
  199. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +28 -10
  200. data/vendor/local/share/gtk-doc/html/harfbuzz/index.html +1 -1
  201. data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +2 -2
  202. data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +2 -2
  203. data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +2 -2
  204. data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +1 -1
  205. data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +1 -1
  206. data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +3 -3
  207. data/vendor/local/share/gtk-doc/html/pango/PangoMarkupFormat.html +1 -1
  208. data/vendor/local/share/gtk-doc/html/pango/PangoRenderer.html +2 -2
  209. data/vendor/local/share/gtk-doc/html/pango/annotation-glossary.html +1 -1
  210. data/vendor/local/share/gtk-doc/html/pango/api-index-full.html +1 -1
  211. data/vendor/local/share/gtk-doc/html/pango/index.html +2 -23
  212. data/vendor/local/share/gtk-doc/html/pango/lowlevel.html +1 -1
  213. data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +1 -1
  214. data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +69 -69
  215. data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +1 -1
  216. data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +1 -1
  217. data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +5 -1
  218. data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +5 -4
  219. data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +8 -4
  220. data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +3 -3
  221. data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +4 -4
  222. data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +1 -1
  223. data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +3 -1
  224. data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +1 -1
  225. data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +3 -3
  226. data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +1 -1
  227. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +1 -1
  228. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +3 -3
  229. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +3 -3
  230. data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +1 -1
  231. data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +3 -3
  232. data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +1 -1
  233. data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +1 -1
  234. data/vendor/local/share/gtk-doc/html/pango/pango.html +1 -1
  235. data/vendor/local/share/gtk-doc/html/pango/rendering.html +1 -1
  236. data/vendor/local/share/man/man1/pango-view.1 +2 -2
  237. metadata +119 -78
  238. data/README +0 -32
  239. data/ext/pango/rbpango.c +0 -356
  240. data/ext/pango/rbpango.h +0 -95
  241. data/ext/pango/rbpangoanalysis.c +0 -218
  242. data/ext/pango/rbpangoattribute.c +0 -506
  243. data/ext/pango/rbpangoattriterator.c +0 -141
  244. data/ext/pango/rbpangoattrlist.c +0 -101
  245. data/ext/pango/rbpangocairo.c +0 -122
  246. data/ext/pango/rbpangocairocontext.c +0 -131
  247. data/ext/pango/rbpangocolor.c +0 -120
  248. data/ext/pango/rbpangocontext.c +0 -344
  249. data/ext/pango/rbpangocoverage.c +0 -106
  250. data/ext/pango/rbpangoengine.c +0 -73
  251. data/ext/pango/rbpangofont.c +0 -110
  252. data/ext/pango/rbpangofontdescription.c +0 -282
  253. data/ext/pango/rbpangofontface.c +0 -73
  254. data/ext/pango/rbpangofontfamily.c +0 -79
  255. data/ext/pango/rbpangofontmap.c +0 -102
  256. data/ext/pango/rbpangofontmetrics.c +0 -85
  257. data/ext/pango/rbpangofontset.c +0 -69
  258. data/ext/pango/rbpangofontsetsimple.c +0 -60
  259. data/ext/pango/rbpangoglyphinfo.c +0 -123
  260. data/ext/pango/rbpangoglyphitem.c +0 -125
  261. data/ext/pango/rbpangoglyphstring.c +0 -151
  262. data/ext/pango/rbpangogravity.c +0 -54
  263. data/ext/pango/rbpangoitem.c +0 -95
  264. data/ext/pango/rbpangolanguage.c +0 -94
  265. data/ext/pango/rbpangolayout.c +0 -583
  266. data/ext/pango/rbpangolayoutiter.c +0 -189
  267. data/ext/pango/rbpangolayoutline.c +0 -243
  268. data/ext/pango/rbpangologattr.c +0 -109
  269. data/ext/pango/rbpangomatrix.c +0 -143
  270. data/ext/pango/rbpangoprivate.h +0 -49
  271. data/ext/pango/rbpangorectangle.c +0 -170
  272. data/ext/pango/rbpangorenderer.c +0 -193
  273. data/ext/pango/rbpangoscript.c +0 -84
  274. data/ext/pango/rbpangoscriptiter.c +0 -92
  275. data/ext/pango/rbpangotabarray.c +0 -128
  276. data/sample/attribute.rb +0 -82
  277. data/sample/break.rb +0 -28
  278. data/sample/gdk_layout.rb +0 -27
  279. data/sample/glyphstring.rb +0 -61
  280. data/sample/item.rb +0 -37
  281. data/sample/label.rb +0 -23
  282. data/sample/layout.rb +0 -102
  283. data/sample/pango_cairo.rb +0 -66
  284. data/sample/parse.rb +0 -33
  285. data/sample/sample.txt +0 -10
  286. data/sample/script.rb +0 -23
  287. data/vendor/local/share/gtk-doc/html/pango/api-index-1-10.html +0 -134
  288. data/vendor/local/share/gtk-doc/html/pango/api-index-1-12.html +0 -48
  289. data/vendor/local/share/gtk-doc/html/pango/api-index-1-14.html +0 -63
  290. data/vendor/local/share/gtk-doc/html/pango/api-index-1-16.html +0 -227
  291. data/vendor/local/share/gtk-doc/html/pango/api-index-1-18.html +0 -151
  292. data/vendor/local/share/gtk-doc/html/pango/api-index-1-2.html +0 -121
  293. data/vendor/local/share/gtk-doc/html/pango/api-index-1-20.html +0 -86
  294. data/vendor/local/share/gtk-doc/html/pango/api-index-1-22.html +0 -123
  295. data/vendor/local/share/gtk-doc/html/pango/api-index-1-24.html +0 -96
  296. data/vendor/local/share/gtk-doc/html/pango/api-index-1-26.html +0 -45
  297. data/vendor/local/share/gtk-doc/html/pango/api-index-1-30.html +0 -38
  298. data/vendor/local/share/gtk-doc/html/pango/api-index-1-31-0.html +0 -38
  299. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32-4.html +0 -52
  300. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32.html +0 -41
  301. data/vendor/local/share/gtk-doc/html/pango/api-index-1-34.html +0 -38
  302. data/vendor/local/share/gtk-doc/html/pango/api-index-1-38.html +0 -79
  303. data/vendor/local/share/gtk-doc/html/pango/api-index-1-4.html +0 -200
  304. data/vendor/local/share/gtk-doc/html/pango/api-index-1-6.html +0 -164
  305. data/vendor/local/share/gtk-doc/html/pango/api-index-1-8.html +0 -170
  306. data/vendor/local/share/gtk-doc/html/pango/api-index-deprecated.html +0 -441
@@ -0,0 +1,1475 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>SIMD matrix: Graphene Reference Manual</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7
+ <link rel="home" href="index.html" title="Graphene Reference Manual">
8
+ <link rel="up" href="ch01.html" title="Graphene">
9
+ <link rel="prev" href="graphene-SIMD-vector.html" title="SIMD vector">
10
+ <link rel="next" href="graphene-Vectors.html" title="Vectors">
11
+ <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ </head>
14
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16
+ <td width="100%" align="left" class="shortcuts">
17
+ <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18
+ <a href="#graphene-SIMD-matrix.description" class="shortcut">Description</a></span>
19
+ </td>
20
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
21
+ <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
22
+ <td><a accesskey="p" href="graphene-SIMD-vector.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
23
+ <td><a accesskey="n" href="graphene-Vectors.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
24
+ </tr></table>
25
+ <div class="refentry">
26
+ <a name="graphene-SIMD-matrix"></a><div class="titlepage"></div>
27
+ <div class="refnamediv"><table width="100%"><tr>
28
+ <td valign="top">
29
+ <h2><span class="refentrytitle"><a name="graphene-SIMD-matrix.top_of_page"></a>SIMD matrix</span></h2>
30
+ <p>SIMD matrix — Low level floating point 4 by 4 matrix</p>
31
+ </td>
32
+ <td class="gallery_image" valign="top" align="right"></td>
33
+ </tr></table></div>
34
+ <div class="refsect1">
35
+ <a name="graphene-SIMD-matrix.functions"></a><h2>Functions</h2>
36
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
37
+ <colgroup>
38
+ <col width="150px" class="functions_return">
39
+ <col class="functions_name">
40
+ </colgroup>
41
+ <tbody>
42
+ <tr>
43
+ <td class="function_type">
44
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="returnvalue">graphene_simd4x4f_t</span></a>
45
+ </td>
46
+ <td class="function_name">
47
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-init" title="graphene_simd4x4f_init ()">graphene_simd4x4f_init</a> <span class="c_punctuation">()</span>
48
+ </td>
49
+ </tr>
50
+ <tr>
51
+ <td class="function_type">
52
+ <span class="returnvalue">void</span>
53
+ </td>
54
+ <td class="function_name">
55
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-init-identity" title="graphene_simd4x4f_init_identity ()">graphene_simd4x4f_init_identity</a> <span class="c_punctuation">()</span>
56
+ </td>
57
+ </tr>
58
+ <tr>
59
+ <td class="function_type">
60
+ <span class="returnvalue">void</span>
61
+ </td>
62
+ <td class="function_name">
63
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-init-from-float" title="graphene_simd4x4f_init_from_float ()">graphene_simd4x4f_init_from_float</a> <span class="c_punctuation">()</span>
64
+ </td>
65
+ </tr>
66
+ <tr>
67
+ <td class="function_type">
68
+ <span class="returnvalue">void</span>
69
+ </td>
70
+ <td class="function_name">
71
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-to-float" title="graphene_simd4x4f_to_float ()">graphene_simd4x4f_to_float</a> <span class="c_punctuation">()</span>
72
+ </td>
73
+ </tr>
74
+ <tr>
75
+ <td class="function_type">
76
+ <span class="returnvalue">void</span>
77
+ </td>
78
+ <td class="function_name">
79
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-transpose-in-place" title="graphene_simd4x4f_transpose_in_place ()">graphene_simd4x4f_transpose_in_place</a> <span class="c_punctuation">()</span>
80
+ </td>
81
+ </tr>
82
+ <tr>
83
+ <td class="function_type">
84
+ <span class="returnvalue">void</span>
85
+ </td>
86
+ <td class="function_name">
87
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-sum" title="graphene_simd4x4f_sum ()">graphene_simd4x4f_sum</a> <span class="c_punctuation">()</span>
88
+ </td>
89
+ </tr>
90
+ <tr>
91
+ <td class="function_type">
92
+ <span class="returnvalue">void</span>
93
+ </td>
94
+ <td class="function_name">
95
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-vec4-mul" title="graphene_simd4x4f_vec4_mul ()">graphene_simd4x4f_vec4_mul</a> <span class="c_punctuation">()</span>
96
+ </td>
97
+ </tr>
98
+ <tr>
99
+ <td class="function_type">
100
+ <span class="returnvalue">void</span>
101
+ </td>
102
+ <td class="function_name">
103
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-vec3-mul" title="graphene_simd4x4f_vec3_mul ()">graphene_simd4x4f_vec3_mul</a> <span class="c_punctuation">()</span>
104
+ </td>
105
+ </tr>
106
+ <tr>
107
+ <td class="function_type">
108
+ <span class="returnvalue">void</span>
109
+ </td>
110
+ <td class="function_name">
111
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-point3-mul" title="graphene_simd4x4f_point3_mul ()">graphene_simd4x4f_point3_mul</a> <span class="c_punctuation">()</span>
112
+ </td>
113
+ </tr>
114
+ <tr>
115
+ <td class="function_type">
116
+ <span class="returnvalue">void</span>
117
+ </td>
118
+ <td class="function_name">
119
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-transpose" title="graphene_simd4x4f_transpose ()">graphene_simd4x4f_transpose</a> <span class="c_punctuation">()</span>
120
+ </td>
121
+ </tr>
122
+ <tr>
123
+ <td class="function_type">
124
+ <span class="returnvalue">void</span>
125
+ </td>
126
+ <td class="function_name">
127
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-inv-ortho-vec3-mul" title="graphene_simd4x4f_inv_ortho_vec3_mul ()">graphene_simd4x4f_inv_ortho_vec3_mul</a> <span class="c_punctuation">()</span>
128
+ </td>
129
+ </tr>
130
+ <tr>
131
+ <td class="function_type">
132
+ <span class="returnvalue">void</span>
133
+ </td>
134
+ <td class="function_name">
135
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-inv-ortho-point3-mul" title="graphene_simd4x4f_inv_ortho_point3_mul ()">graphene_simd4x4f_inv_ortho_point3_mul</a> <span class="c_punctuation">()</span>
136
+ </td>
137
+ </tr>
138
+ <tr>
139
+ <td class="function_type">
140
+ <span class="returnvalue">void</span>
141
+ </td>
142
+ <td class="function_name">
143
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-matrix-mul" title="graphene_simd4x4f_matrix_mul ()">graphene_simd4x4f_matrix_mul</a> <span class="c_punctuation">()</span>
144
+ </td>
145
+ </tr>
146
+ <tr>
147
+ <td class="function_type">
148
+ <span class="returnvalue">void</span>
149
+ </td>
150
+ <td class="function_name">
151
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-init-perspective" title="graphene_simd4x4f_init_perspective ()">graphene_simd4x4f_init_perspective</a> <span class="c_punctuation">()</span>
152
+ </td>
153
+ </tr>
154
+ <tr>
155
+ <td class="function_type">
156
+ <span class="returnvalue">void</span>
157
+ </td>
158
+ <td class="function_name">
159
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-init-ortho" title="graphene_simd4x4f_init_ortho ()">graphene_simd4x4f_init_ortho</a> <span class="c_punctuation">()</span>
160
+ </td>
161
+ </tr>
162
+ <tr>
163
+ <td class="function_type">
164
+ <span class="returnvalue">void</span>
165
+ </td>
166
+ <td class="function_name">
167
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-init-look-at" title="graphene_simd4x4f_init_look_at ()">graphene_simd4x4f_init_look_at</a> <span class="c_punctuation">()</span>
168
+ </td>
169
+ </tr>
170
+ <tr>
171
+ <td class="function_type">
172
+ <span class="returnvalue">void</span>
173
+ </td>
174
+ <td class="function_name">
175
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-init-frustum" title="graphene_simd4x4f_init_frustum ()">graphene_simd4x4f_init_frustum</a> <span class="c_punctuation">()</span>
176
+ </td>
177
+ </tr>
178
+ <tr>
179
+ <td class="function_type">
180
+ <span class="returnvalue">void</span>
181
+ </td>
182
+ <td class="function_name">
183
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-perspective" title="graphene_simd4x4f_perspective ()">graphene_simd4x4f_perspective</a> <span class="c_punctuation">()</span>
184
+ </td>
185
+ </tr>
186
+ <tr>
187
+ <td class="function_type">
188
+ <span class="returnvalue">void</span>
189
+ </td>
190
+ <td class="function_name">
191
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-translation" title="graphene_simd4x4f_translation ()">graphene_simd4x4f_translation</a> <span class="c_punctuation">()</span>
192
+ </td>
193
+ </tr>
194
+ <tr>
195
+ <td class="function_type">
196
+ <span class="returnvalue">void</span>
197
+ </td>
198
+ <td class="function_name">
199
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-scale" title="graphene_simd4x4f_scale ()">graphene_simd4x4f_scale</a> <span class="c_punctuation">()</span>
200
+ </td>
201
+ </tr>
202
+ <tr>
203
+ <td class="function_type">
204
+ <span class="returnvalue">void</span>
205
+ </td>
206
+ <td class="function_name">
207
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-rotation" title="graphene_simd4x4f_rotation ()">graphene_simd4x4f_rotation</a> <span class="c_punctuation">()</span>
208
+ </td>
209
+ </tr>
210
+ <tr>
211
+ <td class="function_type">
212
+ <span class="returnvalue">void</span>
213
+ </td>
214
+ <td class="function_name">
215
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-add" title="graphene_simd4x4f_add ()">graphene_simd4x4f_add</a> <span class="c_punctuation">()</span>
216
+ </td>
217
+ </tr>
218
+ <tr>
219
+ <td class="function_type">
220
+ <span class="returnvalue">void</span>
221
+ </td>
222
+ <td class="function_name">
223
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-sub" title="graphene_simd4x4f_sub ()">graphene_simd4x4f_sub</a> <span class="c_punctuation">()</span>
224
+ </td>
225
+ </tr>
226
+ <tr>
227
+ <td class="function_type">
228
+ <span class="returnvalue">void</span>
229
+ </td>
230
+ <td class="function_name">
231
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-mul" title="graphene_simd4x4f_mul ()">graphene_simd4x4f_mul</a> <span class="c_punctuation">()</span>
232
+ </td>
233
+ </tr>
234
+ <tr>
235
+ <td class="function_type">
236
+ <span class="returnvalue">void</span>
237
+ </td>
238
+ <td class="function_name">
239
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-div" title="graphene_simd4x4f_div ()">graphene_simd4x4f_div</a> <span class="c_punctuation">()</span>
240
+ </td>
241
+ </tr>
242
+ <tr>
243
+ <td class="function_type">
244
+ <span class="returnvalue">bool</span>
245
+ </td>
246
+ <td class="function_name">
247
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-inverse" title="graphene_simd4x4f_inverse ()">graphene_simd4x4f_inverse</a> <span class="c_punctuation">()</span>
248
+ </td>
249
+ </tr>
250
+ <tr>
251
+ <td class="function_type">
252
+ <span class="returnvalue">void</span>
253
+ </td>
254
+ <td class="function_name">
255
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-determinant" title="graphene_simd4x4f_determinant ()">graphene_simd4x4f_determinant</a> <span class="c_punctuation">()</span>
256
+ </td>
257
+ </tr>
258
+ <tr>
259
+ <td class="function_type">
260
+ <span class="returnvalue">bool</span>
261
+ </td>
262
+ <td class="function_name">
263
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-is-identity" title="graphene_simd4x4f_is_identity ()">graphene_simd4x4f_is_identity</a> <span class="c_punctuation">()</span>
264
+ </td>
265
+ </tr>
266
+ <tr>
267
+ <td class="function_type">
268
+ <span class="returnvalue">bool</span>
269
+ </td>
270
+ <td class="function_name">
271
+ <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-is-2d" title="graphene_simd4x4f_is_2d ()">graphene_simd4x4f_is_2d</a> <span class="c_punctuation">()</span>
272
+ </td>
273
+ </tr>
274
+ </tbody>
275
+ </table></div>
276
+ </div>
277
+ <div class="refsect1">
278
+ <a name="graphene-SIMD-matrix.other"></a><h2>Types and Values</h2>
279
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
280
+ <colgroup>
281
+ <col width="150px" class="name">
282
+ <col class="description">
283
+ </colgroup>
284
+ <tbody><tr>
285
+ <td class="datatype_keyword"> </td>
286
+ <td class="function_name"><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t">graphene_simd4x4f_t</a></td>
287
+ </tr></tbody>
288
+ </table></div>
289
+ </div>
290
+ <div class="refsect1">
291
+ <a name="graphene-SIMD-matrix.includes"></a><h2>Includes</h2>
292
+ <pre class="synopsis">#include &lt;graphene.h&gt;
293
+ </pre>
294
+ </div>
295
+ <div class="refsect1">
296
+ <a name="graphene-SIMD-matrix.description"></a><h2>Description</h2>
297
+ <p>The <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> type wraps a platform specific implementation of
298
+ a four by four matrix of floating point values, using four <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a>
299
+ row vectors.</p>
300
+ <p>Like <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a>, the <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> type should be treated
301
+ as an opaque type; you cannot access its components directly, and you can
302
+ only operate on all components at the same time.</p>
303
+ </div>
304
+ <div class="refsect1">
305
+ <a name="graphene-SIMD-matrix.functions_details"></a><h2>Functions</h2>
306
+ <div class="refsect2">
307
+ <a name="graphene-simd4x4f-init"></a><h3>graphene_simd4x4f_init ()</h3>
308
+ <pre class="programlisting"><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="returnvalue">graphene_simd4x4f_t</span></a>
309
+ graphene_simd4x4f_init (<em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> x</code></em>,
310
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> y</code></em>,
311
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> z</code></em>,
312
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> w</code></em>);</pre>
313
+ <p>Creates a new <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> using the given row vectors
314
+ to initialize it.</p>
315
+ <div class="refsect3">
316
+ <a name="graphene-simd4x4f-init.parameters"></a><h4>Parameters</h4>
317
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
318
+ <colgroup>
319
+ <col width="150px" class="parameters_name">
320
+ <col class="parameters_description">
321
+ <col width="200px" class="parameters_annotations">
322
+ </colgroup>
323
+ <tbody>
324
+ <tr>
325
+ <td class="parameter_name"><p>x</p></td>
326
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> for the first row</p></td>
327
+ <td class="parameter_annotations"> </td>
328
+ </tr>
329
+ <tr>
330
+ <td class="parameter_name"><p>y</p></td>
331
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> for the second row</p></td>
332
+ <td class="parameter_annotations"> </td>
333
+ </tr>
334
+ <tr>
335
+ <td class="parameter_name"><p>z</p></td>
336
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> for the third row</p></td>
337
+ <td class="parameter_annotations"> </td>
338
+ </tr>
339
+ <tr>
340
+ <td class="parameter_name"><p>w</p></td>
341
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> for the fourth row</p></td>
342
+ <td class="parameter_annotations"> </td>
343
+ </tr>
344
+ </tbody>
345
+ </table></div>
346
+ </div>
347
+ <div class="refsect3">
348
+ <a name="graphene-simd4x4f-init.returns"></a><h4>Returns</h4>
349
+ <p> the newly created <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p>
350
+ </div>
351
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
352
+ </div>
353
+ <hr>
354
+ <div class="refsect2">
355
+ <a name="graphene-simd4x4f-init-identity"></a><h3>graphene_simd4x4f_init_identity ()</h3>
356
+ <pre class="programlisting"><span class="returnvalue">void</span>
357
+ graphene_simd4x4f_init_identity (<em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>);</pre>
358
+ <p>Initializes <em class="parameter"><code>m</code></em>
359
+ to be the identity matrix.</p>
360
+ <div class="refsect3">
361
+ <a name="graphene-simd4x4f-init-identity.parameters"></a><h4>Parameters</h4>
362
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
363
+ <colgroup>
364
+ <col width="150px" class="parameters_name">
365
+ <col class="parameters_description">
366
+ <col width="200px" class="parameters_annotations">
367
+ </colgroup>
368
+ <tbody><tr>
369
+ <td class="parameter_name"><p>m</p></td>
370
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
371
+ <td class="parameter_annotations"> </td>
372
+ </tr></tbody>
373
+ </table></div>
374
+ </div>
375
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
376
+ </div>
377
+ <hr>
378
+ <div class="refsect2">
379
+ <a name="graphene-simd4x4f-init-from-float"></a><h3>graphene_simd4x4f_init_from_float ()</h3>
380
+ <pre class="programlisting"><span class="returnvalue">void</span>
381
+ graphene_simd4x4f_init_from_float (<em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
382
+ <em class="parameter"><code>const <span class="type">float</span> *f</code></em>);</pre>
383
+ <p>Initializes a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> with the given array
384
+ of floating point values.</p>
385
+ <div class="refsect3">
386
+ <a name="graphene-simd4x4f-init-from-float.parameters"></a><h4>Parameters</h4>
387
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
388
+ <colgroup>
389
+ <col width="150px" class="parameters_name">
390
+ <col class="parameters_description">
391
+ <col width="200px" class="parameters_annotations">
392
+ </colgroup>
393
+ <tbody>
394
+ <tr>
395
+ <td class="parameter_name"><p>m</p></td>
396
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
397
+ <td class="parameter_annotations"> </td>
398
+ </tr>
399
+ <tr>
400
+ <td class="parameter_name"><p>f</p></td>
401
+ <td class="parameter_description"><p> an array of 16 floating point values. </p></td>
402
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> fixed-size=16]</span></td>
403
+ </tr>
404
+ </tbody>
405
+ </table></div>
406
+ </div>
407
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
408
+ </div>
409
+ <hr>
410
+ <div class="refsect2">
411
+ <a name="graphene-simd4x4f-to-float"></a><h3>graphene_simd4x4f_to_float ()</h3>
412
+ <pre class="programlisting"><span class="returnvalue">void</span>
413
+ graphene_simd4x4f_to_float (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
414
+ <em class="parameter"><code><span class="type">float</span> *v</code></em>);</pre>
415
+ <p>Copies the content of <em class="parameter"><code>m</code></em>
416
+ in a float array.</p>
417
+ <div class="refsect3">
418
+ <a name="graphene-simd4x4f-to-float.parameters"></a><h4>Parameters</h4>
419
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
420
+ <colgroup>
421
+ <col width="150px" class="parameters_name">
422
+ <col class="parameters_description">
423
+ <col width="200px" class="parameters_annotations">
424
+ </colgroup>
425
+ <tbody>
426
+ <tr>
427
+ <td class="parameter_name"><p>m</p></td>
428
+ <td class="parameter_description"><p>a <span class="type">graphene_sidm4x4f_t</span></p></td>
429
+ <td class="parameter_annotations"> </td>
430
+ </tr>
431
+ <tr>
432
+ <td class="parameter_name"><p>v</p></td>
433
+ <td class="parameter_description"><p> a floating
434
+ point values vector capable of holding at least 16 values. </p></td>
435
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> fixed-size=16]</span></td>
436
+ </tr>
437
+ </tbody>
438
+ </table></div>
439
+ </div>
440
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
441
+ </div>
442
+ <hr>
443
+ <div class="refsect2">
444
+ <a name="graphene-simd4x4f-transpose-in-place"></a><h3>graphene_simd4x4f_transpose_in_place ()</h3>
445
+ <pre class="programlisting"><span class="returnvalue">void</span>
446
+ graphene_simd4x4f_transpose_in_place (<em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *s</code></em>);</pre>
447
+ <p>Transposes <em class="parameter"><code>s</code></em>
448
+ in place.</p>
449
+ <div class="refsect3">
450
+ <a name="graphene-simd4x4f-transpose-in-place.parameters"></a><h4>Parameters</h4>
451
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
452
+ <colgroup>
453
+ <col width="150px" class="parameters_name">
454
+ <col class="parameters_description">
455
+ <col width="200px" class="parameters_annotations">
456
+ </colgroup>
457
+ <tbody><tr>
458
+ <td class="parameter_name"><p>s</p></td>
459
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
460
+ <td class="parameter_annotations"> </td>
461
+ </tr></tbody>
462
+ </table></div>
463
+ </div>
464
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
465
+ </div>
466
+ <hr>
467
+ <div class="refsect2">
468
+ <a name="graphene-simd4x4f-sum"></a><h3>graphene_simd4x4f_sum ()</h3>
469
+ <pre class="programlisting"><span class="returnvalue">void</span>
470
+ graphene_simd4x4f_sum (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *a</code></em>,
471
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> *res</code></em>);</pre>
472
+ <p>Adds all the row vectors of <em class="parameter"><code>a</code></em>
473
+ .</p>
474
+ <div class="refsect3">
475
+ <a name="graphene-simd4x4f-sum.parameters"></a><h4>Parameters</h4>
476
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
477
+ <colgroup>
478
+ <col width="150px" class="parameters_name">
479
+ <col class="parameters_description">
480
+ <col width="200px" class="parameters_annotations">
481
+ </colgroup>
482
+ <tbody>
483
+ <tr>
484
+ <td class="parameter_name"><p>a</p></td>
485
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a></p></td>
486
+ <td class="parameter_annotations"> </td>
487
+ </tr>
488
+ <tr>
489
+ <td class="parameter_name"><p>res</p></td>
490
+ <td class="parameter_description"><p> return location for the sum vector. </p></td>
491
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
492
+ </tr>
493
+ </tbody>
494
+ </table></div>
495
+ </div>
496
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
497
+ </div>
498
+ <hr>
499
+ <div class="refsect2">
500
+ <a name="graphene-simd4x4f-vec4-mul"></a><h3>graphene_simd4x4f_vec4_mul ()</h3>
501
+ <pre class="programlisting"><span class="returnvalue">void</span>
502
+ graphene_simd4x4f_vec4_mul (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *a</code></em>,
503
+ <em class="parameter"><code>const <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> *b</code></em>,
504
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> *res</code></em>);</pre>
505
+ <p>Multiplies the given <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> with the given
506
+ <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> using a dot product.</p>
507
+ <div class="refsect3">
508
+ <a name="graphene-simd4x4f-vec4-mul.parameters"></a><h4>Parameters</h4>
509
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
510
+ <colgroup>
511
+ <col width="150px" class="parameters_name">
512
+ <col class="parameters_description">
513
+ <col width="200px" class="parameters_annotations">
514
+ </colgroup>
515
+ <tbody>
516
+ <tr>
517
+ <td class="parameter_name"><p>a</p></td>
518
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
519
+ <td class="parameter_annotations"> </td>
520
+ </tr>
521
+ <tr>
522
+ <td class="parameter_name"><p>b</p></td>
523
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a></p></td>
524
+ <td class="parameter_annotations"> </td>
525
+ </tr>
526
+ <tr>
527
+ <td class="parameter_name"><p>res</p></td>
528
+ <td class="parameter_description"><p> return location for a <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a>. </p></td>
529
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
530
+ </tr>
531
+ </tbody>
532
+ </table></div>
533
+ </div>
534
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
535
+ </div>
536
+ <hr>
537
+ <div class="refsect2">
538
+ <a name="graphene-simd4x4f-vec3-mul"></a><h3>graphene_simd4x4f_vec3_mul ()</h3>
539
+ <pre class="programlisting"><span class="returnvalue">void</span>
540
+ graphene_simd4x4f_vec3_mul (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
541
+ <em class="parameter"><code>const <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> *v</code></em>,
542
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> *res</code></em>);</pre>
543
+ <p>Multiplies the given <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> with the given
544
+ <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a>, using only the first three row vectors
545
+ of the matrix, and the first three components of the vector.</p>
546
+ <div class="refsect3">
547
+ <a name="graphene-simd4x4f-vec3-mul.parameters"></a><h4>Parameters</h4>
548
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
549
+ <colgroup>
550
+ <col width="150px" class="parameters_name">
551
+ <col class="parameters_description">
552
+ <col width="200px" class="parameters_annotations">
553
+ </colgroup>
554
+ <tbody>
555
+ <tr>
556
+ <td class="parameter_name"><p>m</p></td>
557
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
558
+ <td class="parameter_annotations"> </td>
559
+ </tr>
560
+ <tr>
561
+ <td class="parameter_name"><p>v</p></td>
562
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a></p></td>
563
+ <td class="parameter_annotations"> </td>
564
+ </tr>
565
+ <tr>
566
+ <td class="parameter_name"><p>res</p></td>
567
+ <td class="parameter_description"><p> return location for a <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a>. </p></td>
568
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
569
+ </tr>
570
+ </tbody>
571
+ </table></div>
572
+ </div>
573
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
574
+ </div>
575
+ <hr>
576
+ <div class="refsect2">
577
+ <a name="graphene-simd4x4f-point3-mul"></a><h3>graphene_simd4x4f_point3_mul ()</h3>
578
+ <pre class="programlisting"><span class="returnvalue">void</span>
579
+ graphene_simd4x4f_point3_mul (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
580
+ <em class="parameter"><code>const <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> *p</code></em>,
581
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> *res</code></em>);</pre>
582
+ <p>Multiplies the given <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> with the given
583
+ <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a>.</p>
584
+ <p>Unlike <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-vec3-mul" title="graphene_simd4x4f_vec3_mul ()"><code class="function">graphene_simd4x4f_vec3_mul()</code></a>, this function will
585
+ also use the fourth row vector of the matrix.</p>
586
+ <div class="refsect3">
587
+ <a name="graphene-simd4x4f-point3-mul.parameters"></a><h4>Parameters</h4>
588
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
589
+ <colgroup>
590
+ <col width="150px" class="parameters_name">
591
+ <col class="parameters_description">
592
+ <col width="200px" class="parameters_annotations">
593
+ </colgroup>
594
+ <tbody>
595
+ <tr>
596
+ <td class="parameter_name"><p>m</p></td>
597
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
598
+ <td class="parameter_annotations"> </td>
599
+ </tr>
600
+ <tr>
601
+ <td class="parameter_name"><p>p</p></td>
602
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a></p></td>
603
+ <td class="parameter_annotations"> </td>
604
+ </tr>
605
+ <tr>
606
+ <td class="parameter_name"><p>res</p></td>
607
+ <td class="parameter_description"><p> return location for a <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a>. </p></td>
608
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
609
+ </tr>
610
+ </tbody>
611
+ </table></div>
612
+ </div>
613
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
614
+ </div>
615
+ <hr>
616
+ <div class="refsect2">
617
+ <a name="graphene-simd4x4f-transpose"></a><h3>graphene_simd4x4f_transpose ()</h3>
618
+ <pre class="programlisting"><span class="returnvalue">void</span>
619
+ graphene_simd4x4f_transpose (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *s</code></em>,
620
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *res</code></em>);</pre>
621
+ <p>Transposes the given <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a>.</p>
622
+ <div class="refsect3">
623
+ <a name="graphene-simd4x4f-transpose.parameters"></a><h4>Parameters</h4>
624
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
625
+ <colgroup>
626
+ <col width="150px" class="parameters_name">
627
+ <col class="parameters_description">
628
+ <col width="200px" class="parameters_annotations">
629
+ </colgroup>
630
+ <tbody>
631
+ <tr>
632
+ <td class="parameter_name"><p>s</p></td>
633
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
634
+ <td class="parameter_annotations"> </td>
635
+ </tr>
636
+ <tr>
637
+ <td class="parameter_name"><p>res</p></td>
638
+ <td class="parameter_description"><p> return location for the transposed matrix. </p></td>
639
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
640
+ </tr>
641
+ </tbody>
642
+ </table></div>
643
+ </div>
644
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
645
+ </div>
646
+ <hr>
647
+ <div class="refsect2">
648
+ <a name="graphene-simd4x4f-inv-ortho-vec3-mul"></a><h3>graphene_simd4x4f_inv_ortho_vec3_mul ()</h3>
649
+ <pre class="programlisting"><span class="returnvalue">void</span>
650
+ graphene_simd4x4f_inv_ortho_vec3_mul (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *a</code></em>,
651
+ <em class="parameter"><code>const <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> *b</code></em>,
652
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> *res</code></em>);</pre>
653
+ <p>Performs the inverse orthographic transformation of the first
654
+ three components in the given vector, using the first three
655
+ row vectors of the given SIMD matrix.</p>
656
+ <div class="refsect3">
657
+ <a name="graphene-simd4x4f-inv-ortho-vec3-mul.parameters"></a><h4>Parameters</h4>
658
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
659
+ <colgroup>
660
+ <col width="150px" class="parameters_name">
661
+ <col class="parameters_description">
662
+ <col width="200px" class="parameters_annotations">
663
+ </colgroup>
664
+ <tbody>
665
+ <tr>
666
+ <td class="parameter_name"><p>a</p></td>
667
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
668
+ <td class="parameter_annotations"> </td>
669
+ </tr>
670
+ <tr>
671
+ <td class="parameter_name"><p>b</p></td>
672
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a></p></td>
673
+ <td class="parameter_annotations"> </td>
674
+ </tr>
675
+ <tr>
676
+ <td class="parameter_name"><p>res</p></td>
677
+ <td class="parameter_description"><p> return location for the transformed vector. </p></td>
678
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
679
+ </tr>
680
+ </tbody>
681
+ </table></div>
682
+ </div>
683
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
684
+ </div>
685
+ <hr>
686
+ <div class="refsect2">
687
+ <a name="graphene-simd4x4f-inv-ortho-point3-mul"></a><h3>graphene_simd4x4f_inv_ortho_point3_mul ()</h3>
688
+ <pre class="programlisting"><span class="returnvalue">void</span>
689
+ graphene_simd4x4f_inv_ortho_point3_mul
690
+ (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *a</code></em>,
691
+ <em class="parameter"><code>const <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> *b</code></em>,
692
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> *res</code></em>);</pre>
693
+ <p>Performs the inverse orthographic transformation of the first
694
+ three components in the given vector, using the given SIMD
695
+ matrix.</p>
696
+ <p>Unlike <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-inv-ortho-vec3-mul" title="graphene_simd4x4f_inv_ortho_vec3_mul ()"><code class="function">graphene_simd4x4f_inv_ortho_vec3_mul()</code></a>, this function
697
+ will also use the fourth row vector of the SIMD matrix.</p>
698
+ <div class="refsect3">
699
+ <a name="graphene-simd4x4f-inv-ortho-point3-mul.parameters"></a><h4>Parameters</h4>
700
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
701
+ <colgroup>
702
+ <col width="150px" class="parameters_name">
703
+ <col class="parameters_description">
704
+ <col width="200px" class="parameters_annotations">
705
+ </colgroup>
706
+ <tbody>
707
+ <tr>
708
+ <td class="parameter_name"><p>a</p></td>
709
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
710
+ <td class="parameter_annotations"> </td>
711
+ </tr>
712
+ <tr>
713
+ <td class="parameter_name"><p>b</p></td>
714
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
715
+ <td class="parameter_annotations"> </td>
716
+ </tr>
717
+ <tr>
718
+ <td class="parameter_name"><p>res</p></td>
719
+ <td class="parameter_description"><p> return location for the result vector. </p></td>
720
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
721
+ </tr>
722
+ </tbody>
723
+ </table></div>
724
+ </div>
725
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
726
+ </div>
727
+ <hr>
728
+ <div class="refsect2">
729
+ <a name="graphene-simd4x4f-matrix-mul"></a><h3>graphene_simd4x4f_matrix_mul ()</h3>
730
+ <pre class="programlisting"><span class="returnvalue">void</span>
731
+ graphene_simd4x4f_matrix_mul (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *a</code></em>,
732
+ <em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *b</code></em>,
733
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *res</code></em>);</pre>
734
+ <p>Multiplies the two matrices.</p>
735
+ <div class="refsect3">
736
+ <a name="graphene-simd4x4f-matrix-mul.parameters"></a><h4>Parameters</h4>
737
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
738
+ <colgroup>
739
+ <col width="150px" class="parameters_name">
740
+ <col class="parameters_description">
741
+ <col width="200px" class="parameters_annotations">
742
+ </colgroup>
743
+ <tbody>
744
+ <tr>
745
+ <td class="parameter_name"><p>a</p></td>
746
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
747
+ <td class="parameter_annotations"> </td>
748
+ </tr>
749
+ <tr>
750
+ <td class="parameter_name"><p>b</p></td>
751
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
752
+ <td class="parameter_annotations"> </td>
753
+ </tr>
754
+ <tr>
755
+ <td class="parameter_name"><p>res</p></td>
756
+ <td class="parameter_description"><p> return location for the result. </p></td>
757
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
758
+ </tr>
759
+ </tbody>
760
+ </table></div>
761
+ </div>
762
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
763
+ </div>
764
+ <hr>
765
+ <div class="refsect2">
766
+ <a name="graphene-simd4x4f-init-perspective"></a><h3>graphene_simd4x4f_init_perspective ()</h3>
767
+ <pre class="programlisting"><span class="returnvalue">void</span>
768
+ graphene_simd4x4f_init_perspective (<em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
769
+ <em class="parameter"><code><span class="type">float</span> fovy_rad</code></em>,
770
+ <em class="parameter"><code><span class="type">float</span> aspect</code></em>,
771
+ <em class="parameter"><code><span class="type">float</span> z_near</code></em>,
772
+ <em class="parameter"><code><span class="type">float</span> z_far</code></em>);</pre>
773
+ <p>Initializes a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> with a perspective projection.</p>
774
+ <div class="refsect3">
775
+ <a name="graphene-simd4x4f-init-perspective.parameters"></a><h4>Parameters</h4>
776
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
777
+ <colgroup>
778
+ <col width="150px" class="parameters_name">
779
+ <col class="parameters_description">
780
+ <col width="200px" class="parameters_annotations">
781
+ </colgroup>
782
+ <tbody>
783
+ <tr>
784
+ <td class="parameter_name"><p>m</p></td>
785
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
786
+ <td class="parameter_annotations"> </td>
787
+ </tr>
788
+ <tr>
789
+ <td class="parameter_name"><p>fovy_rad</p></td>
790
+ <td class="parameter_description"><p>the angle of the field of vision, in radians</p></td>
791
+ <td class="parameter_annotations"> </td>
792
+ </tr>
793
+ <tr>
794
+ <td class="parameter_name"><p>aspect</p></td>
795
+ <td class="parameter_description"><p>the aspect value</p></td>
796
+ <td class="parameter_annotations"> </td>
797
+ </tr>
798
+ <tr>
799
+ <td class="parameter_name"><p>z_near</p></td>
800
+ <td class="parameter_description"><p>the depth of the near clipping plane</p></td>
801
+ <td class="parameter_annotations"> </td>
802
+ </tr>
803
+ <tr>
804
+ <td class="parameter_name"><p>z_far</p></td>
805
+ <td class="parameter_description"><p>the depth of the far clipping plane</p></td>
806
+ <td class="parameter_annotations"> </td>
807
+ </tr>
808
+ </tbody>
809
+ </table></div>
810
+ </div>
811
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
812
+ </div>
813
+ <hr>
814
+ <div class="refsect2">
815
+ <a name="graphene-simd4x4f-init-ortho"></a><h3>graphene_simd4x4f_init_ortho ()</h3>
816
+ <pre class="programlisting"><span class="returnvalue">void</span>
817
+ graphene_simd4x4f_init_ortho (<em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
818
+ <em class="parameter"><code><span class="type">float</span> left</code></em>,
819
+ <em class="parameter"><code><span class="type">float</span> right</code></em>,
820
+ <em class="parameter"><code><span class="type">float</span> bottom</code></em>,
821
+ <em class="parameter"><code><span class="type">float</span> top</code></em>,
822
+ <em class="parameter"><code><span class="type">float</span> z_near</code></em>,
823
+ <em class="parameter"><code><span class="type">float</span> z_far</code></em>);</pre>
824
+ <p>Initializes the given SIMD matrix with an orthographic projection.</p>
825
+ <div class="refsect3">
826
+ <a name="graphene-simd4x4f-init-ortho.parameters"></a><h4>Parameters</h4>
827
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
828
+ <colgroup>
829
+ <col width="150px" class="parameters_name">
830
+ <col class="parameters_description">
831
+ <col width="200px" class="parameters_annotations">
832
+ </colgroup>
833
+ <tbody>
834
+ <tr>
835
+ <td class="parameter_name"><p>m</p></td>
836
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
837
+ <td class="parameter_annotations"> </td>
838
+ </tr>
839
+ <tr>
840
+ <td class="parameter_name"><p>left</p></td>
841
+ <td class="parameter_description"><p>edge of the left clipping plane</p></td>
842
+ <td class="parameter_annotations"> </td>
843
+ </tr>
844
+ <tr>
845
+ <td class="parameter_name"><p>right</p></td>
846
+ <td class="parameter_description"><p>edge of the right clipping plane</p></td>
847
+ <td class="parameter_annotations"> </td>
848
+ </tr>
849
+ <tr>
850
+ <td class="parameter_name"><p>bottom</p></td>
851
+ <td class="parameter_description"><p>edge of the bottom clipping plane</p></td>
852
+ <td class="parameter_annotations"> </td>
853
+ </tr>
854
+ <tr>
855
+ <td class="parameter_name"><p>top</p></td>
856
+ <td class="parameter_description"><p>edge of the top clipping plane</p></td>
857
+ <td class="parameter_annotations"> </td>
858
+ </tr>
859
+ <tr>
860
+ <td class="parameter_name"><p>z_near</p></td>
861
+ <td class="parameter_description"><p>depth of the near clipping plane</p></td>
862
+ <td class="parameter_annotations"> </td>
863
+ </tr>
864
+ <tr>
865
+ <td class="parameter_name"><p>z_far</p></td>
866
+ <td class="parameter_description"><p>depth of the far clipping plane</p></td>
867
+ <td class="parameter_annotations"> </td>
868
+ </tr>
869
+ </tbody>
870
+ </table></div>
871
+ </div>
872
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
873
+ </div>
874
+ <hr>
875
+ <div class="refsect2">
876
+ <a name="graphene-simd4x4f-init-look-at"></a><h3>graphene_simd4x4f_init_look_at ()</h3>
877
+ <pre class="programlisting"><span class="returnvalue">void</span>
878
+ graphene_simd4x4f_init_look_at (<em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
879
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> eye</code></em>,
880
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> center</code></em>,
881
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> up</code></em>);</pre>
882
+ <p>Initializes a SIMD matrix with the projection necessary for
883
+ the camera at the <em class="parameter"><code>eye</code></em>
884
+ coordinates to look at the object at
885
+ the <em class="parameter"><code>center</code></em>
886
+ coordinates. The top of the camera is aligned to
887
+ the <em class="parameter"><code>up</code></em>
888
+ vector.</p>
889
+ <div class="refsect3">
890
+ <a name="graphene-simd4x4f-init-look-at.parameters"></a><h4>Parameters</h4>
891
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
892
+ <colgroup>
893
+ <col width="150px" class="parameters_name">
894
+ <col class="parameters_description">
895
+ <col width="200px" class="parameters_annotations">
896
+ </colgroup>
897
+ <tbody>
898
+ <tr>
899
+ <td class="parameter_name"><p>m</p></td>
900
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
901
+ <td class="parameter_annotations"> </td>
902
+ </tr>
903
+ <tr>
904
+ <td class="parameter_name"><p>eye</p></td>
905
+ <td class="parameter_description"><p>vector for the camera coordinates</p></td>
906
+ <td class="parameter_annotations"> </td>
907
+ </tr>
908
+ <tr>
909
+ <td class="parameter_name"><p>center</p></td>
910
+ <td class="parameter_description"><p>vector for the object coordinates</p></td>
911
+ <td class="parameter_annotations"> </td>
912
+ </tr>
913
+ <tr>
914
+ <td class="parameter_name"><p>up</p></td>
915
+ <td class="parameter_description"><p>vector for the upwards direction</p></td>
916
+ <td class="parameter_annotations"> </td>
917
+ </tr>
918
+ </tbody>
919
+ </table></div>
920
+ </div>
921
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
922
+ </div>
923
+ <hr>
924
+ <div class="refsect2">
925
+ <a name="graphene-simd4x4f-init-frustum"></a><h3>graphene_simd4x4f_init_frustum ()</h3>
926
+ <pre class="programlisting"><span class="returnvalue">void</span>
927
+ graphene_simd4x4f_init_frustum (<em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
928
+ <em class="parameter"><code><span class="type">float</span> left</code></em>,
929
+ <em class="parameter"><code><span class="type">float</span> right</code></em>,
930
+ <em class="parameter"><code><span class="type">float</span> bottom</code></em>,
931
+ <em class="parameter"><code><span class="type">float</span> top</code></em>,
932
+ <em class="parameter"><code><span class="type">float</span> z_near</code></em>,
933
+ <em class="parameter"><code><span class="type">float</span> z_far</code></em>);</pre>
934
+ <p>Initializes a SIMD matrix with a frustum described by the distances
935
+ of six clipping planes.</p>
936
+ <div class="refsect3">
937
+ <a name="graphene-simd4x4f-init-frustum.parameters"></a><h4>Parameters</h4>
938
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
939
+ <colgroup>
940
+ <col width="150px" class="parameters_name">
941
+ <col class="parameters_description">
942
+ <col width="200px" class="parameters_annotations">
943
+ </colgroup>
944
+ <tbody>
945
+ <tr>
946
+ <td class="parameter_name"><p>m</p></td>
947
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
948
+ <td class="parameter_annotations"> </td>
949
+ </tr>
950
+ <tr>
951
+ <td class="parameter_name"><p>left</p></td>
952
+ <td class="parameter_description"><p>distance of the left clipping plane</p></td>
953
+ <td class="parameter_annotations"> </td>
954
+ </tr>
955
+ <tr>
956
+ <td class="parameter_name"><p>right</p></td>
957
+ <td class="parameter_description"><p>distance of the right clipping plane</p></td>
958
+ <td class="parameter_annotations"> </td>
959
+ </tr>
960
+ <tr>
961
+ <td class="parameter_name"><p>bottom</p></td>
962
+ <td class="parameter_description"><p>distance of the bottom clipping plane</p></td>
963
+ <td class="parameter_annotations"> </td>
964
+ </tr>
965
+ <tr>
966
+ <td class="parameter_name"><p>top</p></td>
967
+ <td class="parameter_description"><p>distance of the top clipping plane</p></td>
968
+ <td class="parameter_annotations"> </td>
969
+ </tr>
970
+ <tr>
971
+ <td class="parameter_name"><p>z_near</p></td>
972
+ <td class="parameter_description"><p>distance of the near clipping plane</p></td>
973
+ <td class="parameter_annotations"> </td>
974
+ </tr>
975
+ <tr>
976
+ <td class="parameter_name"><p>z_far</p></td>
977
+ <td class="parameter_description"><p>distance of the far clipping plane</p></td>
978
+ <td class="parameter_annotations"> </td>
979
+ </tr>
980
+ </tbody>
981
+ </table></div>
982
+ </div>
983
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
984
+ </div>
985
+ <hr>
986
+ <div class="refsect2">
987
+ <a name="graphene-simd4x4f-perspective"></a><h3>graphene_simd4x4f_perspective ()</h3>
988
+ <pre class="programlisting"><span class="returnvalue">void</span>
989
+ graphene_simd4x4f_perspective (<em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
990
+ <em class="parameter"><code><span class="type">float</span> depth</code></em>);</pre>
991
+ <p>Adds a perspective transformation for the given <em class="parameter"><code>depth</code></em>
992
+ .</p>
993
+ <div class="refsect3">
994
+ <a name="graphene-simd4x4f-perspective.parameters"></a><h4>Parameters</h4>
995
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
996
+ <colgroup>
997
+ <col width="150px" class="parameters_name">
998
+ <col class="parameters_description">
999
+ <col width="200px" class="parameters_annotations">
1000
+ </colgroup>
1001
+ <tbody>
1002
+ <tr>
1003
+ <td class="parameter_name"><p>m</p></td>
1004
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1005
+ <td class="parameter_annotations"> </td>
1006
+ </tr>
1007
+ <tr>
1008
+ <td class="parameter_name"><p>depth</p></td>
1009
+ <td class="parameter_description"><p>depth of the perspective</p></td>
1010
+ <td class="parameter_annotations"> </td>
1011
+ </tr>
1012
+ </tbody>
1013
+ </table></div>
1014
+ </div>
1015
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
1016
+ </div>
1017
+ <hr>
1018
+ <div class="refsect2">
1019
+ <a name="graphene-simd4x4f-translation"></a><h3>graphene_simd4x4f_translation ()</h3>
1020
+ <pre class="programlisting"><span class="returnvalue">void</span>
1021
+ graphene_simd4x4f_translation (<em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
1022
+ <em class="parameter"><code><span class="type">float</span> x</code></em>,
1023
+ <em class="parameter"><code><span class="type">float</span> y</code></em>,
1024
+ <em class="parameter"><code><span class="type">float</span> z</code></em>);</pre>
1025
+ <p>Initializes <em class="parameter"><code>m</code></em>
1026
+ to contain a translation to the given coordinates.</p>
1027
+ <div class="refsect3">
1028
+ <a name="graphene-simd4x4f-translation.parameters"></a><h4>Parameters</h4>
1029
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
1030
+ <colgroup>
1031
+ <col width="150px" class="parameters_name">
1032
+ <col class="parameters_description">
1033
+ <col width="200px" class="parameters_annotations">
1034
+ </colgroup>
1035
+ <tbody>
1036
+ <tr>
1037
+ <td class="parameter_name"><p>m</p></td>
1038
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1039
+ <td class="parameter_annotations"> </td>
1040
+ </tr>
1041
+ <tr>
1042
+ <td class="parameter_name"><p>x</p></td>
1043
+ <td class="parameter_description"><p>coordinate of the X translation</p></td>
1044
+ <td class="parameter_annotations"> </td>
1045
+ </tr>
1046
+ <tr>
1047
+ <td class="parameter_name"><p>y</p></td>
1048
+ <td class="parameter_description"><p>coordinate of the Y translation</p></td>
1049
+ <td class="parameter_annotations"> </td>
1050
+ </tr>
1051
+ <tr>
1052
+ <td class="parameter_name"><p>z</p></td>
1053
+ <td class="parameter_description"><p>coordinate of the Z translation</p></td>
1054
+ <td class="parameter_annotations"> </td>
1055
+ </tr>
1056
+ </tbody>
1057
+ </table></div>
1058
+ </div>
1059
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
1060
+ </div>
1061
+ <hr>
1062
+ <div class="refsect2">
1063
+ <a name="graphene-simd4x4f-scale"></a><h3>graphene_simd4x4f_scale ()</h3>
1064
+ <pre class="programlisting"><span class="returnvalue">void</span>
1065
+ graphene_simd4x4f_scale (<em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
1066
+ <em class="parameter"><code><span class="type">float</span> x</code></em>,
1067
+ <em class="parameter"><code><span class="type">float</span> y</code></em>,
1068
+ <em class="parameter"><code><span class="type">float</span> z</code></em>);</pre>
1069
+ <p>Initializes <em class="parameter"><code>m</code></em>
1070
+ to contain a scaling transformation with the
1071
+ given factors.</p>
1072
+ <div class="refsect3">
1073
+ <a name="graphene-simd4x4f-scale.parameters"></a><h4>Parameters</h4>
1074
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
1075
+ <colgroup>
1076
+ <col width="150px" class="parameters_name">
1077
+ <col class="parameters_description">
1078
+ <col width="200px" class="parameters_annotations">
1079
+ </colgroup>
1080
+ <tbody>
1081
+ <tr>
1082
+ <td class="parameter_name"><p>m</p></td>
1083
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1084
+ <td class="parameter_annotations"> </td>
1085
+ </tr>
1086
+ <tr>
1087
+ <td class="parameter_name"><p>x</p></td>
1088
+ <td class="parameter_description"><p>scaling factor on the X axis</p></td>
1089
+ <td class="parameter_annotations"> </td>
1090
+ </tr>
1091
+ <tr>
1092
+ <td class="parameter_name"><p>y</p></td>
1093
+ <td class="parameter_description"><p>scaling factor on the Y axis</p></td>
1094
+ <td class="parameter_annotations"> </td>
1095
+ </tr>
1096
+ <tr>
1097
+ <td class="parameter_name"><p>z</p></td>
1098
+ <td class="parameter_description"><p>scaling factor on the Z axis</p></td>
1099
+ <td class="parameter_annotations"> </td>
1100
+ </tr>
1101
+ </tbody>
1102
+ </table></div>
1103
+ </div>
1104
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
1105
+ </div>
1106
+ <hr>
1107
+ <div class="refsect2">
1108
+ <a name="graphene-simd4x4f-rotation"></a><h3>graphene_simd4x4f_rotation ()</h3>
1109
+ <pre class="programlisting"><span class="returnvalue">void</span>
1110
+ graphene_simd4x4f_rotation (<em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
1111
+ <em class="parameter"><code><span class="type">float</span> rad</code></em>,
1112
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> axis</code></em>);</pre>
1113
+ <p>Initializes <em class="parameter"><code>m</code></em>
1114
+ to contain a rotation of the given angle
1115
+ along the given axis.</p>
1116
+ <div class="refsect3">
1117
+ <a name="graphene-simd4x4f-rotation.parameters"></a><h4>Parameters</h4>
1118
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
1119
+ <colgroup>
1120
+ <col width="150px" class="parameters_name">
1121
+ <col class="parameters_description">
1122
+ <col width="200px" class="parameters_annotations">
1123
+ </colgroup>
1124
+ <tbody>
1125
+ <tr>
1126
+ <td class="parameter_name"><p>m</p></td>
1127
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1128
+ <td class="parameter_annotations"> </td>
1129
+ </tr>
1130
+ <tr>
1131
+ <td class="parameter_name"><p>rad</p></td>
1132
+ <td class="parameter_description"><p>the rotation, in radians</p></td>
1133
+ <td class="parameter_annotations"> </td>
1134
+ </tr>
1135
+ <tr>
1136
+ <td class="parameter_name"><p>axis</p></td>
1137
+ <td class="parameter_description"><p>the vector of the axis of rotation</p></td>
1138
+ <td class="parameter_annotations"> </td>
1139
+ </tr>
1140
+ </tbody>
1141
+ </table></div>
1142
+ </div>
1143
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
1144
+ </div>
1145
+ <hr>
1146
+ <div class="refsect2">
1147
+ <a name="graphene-simd4x4f-add"></a><h3>graphene_simd4x4f_add ()</h3>
1148
+ <pre class="programlisting"><span class="returnvalue">void</span>
1149
+ graphene_simd4x4f_add (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *a</code></em>,
1150
+ <em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *b</code></em>,
1151
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *res</code></em>);</pre>
1152
+ <p>Adds each row vector of <em class="parameter"><code>a</code></em>
1153
+ and <em class="parameter"><code>b</code></em>
1154
+ and places the results in <em class="parameter"><code>res</code></em>
1155
+ .</p>
1156
+ <div class="refsect3">
1157
+ <a name="graphene-simd4x4f-add.parameters"></a><h4>Parameters</h4>
1158
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
1159
+ <colgroup>
1160
+ <col width="150px" class="parameters_name">
1161
+ <col class="parameters_description">
1162
+ <col width="200px" class="parameters_annotations">
1163
+ </colgroup>
1164
+ <tbody>
1165
+ <tr>
1166
+ <td class="parameter_name"><p>a</p></td>
1167
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1168
+ <td class="parameter_annotations"> </td>
1169
+ </tr>
1170
+ <tr>
1171
+ <td class="parameter_name"><p>b</p></td>
1172
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1173
+ <td class="parameter_annotations"> </td>
1174
+ </tr>
1175
+ <tr>
1176
+ <td class="parameter_name"><p>res</p></td>
1177
+ <td class="parameter_description"><p> return location for a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a>. </p></td>
1178
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
1179
+ </tr>
1180
+ </tbody>
1181
+ </table></div>
1182
+ </div>
1183
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
1184
+ </div>
1185
+ <hr>
1186
+ <div class="refsect2">
1187
+ <a name="graphene-simd4x4f-sub"></a><h3>graphene_simd4x4f_sub ()</h3>
1188
+ <pre class="programlisting"><span class="returnvalue">void</span>
1189
+ graphene_simd4x4f_sub (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *a</code></em>,
1190
+ <em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *b</code></em>,
1191
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *res</code></em>);</pre>
1192
+ <p>Subtracts each row vector of <em class="parameter"><code>a</code></em>
1193
+ and <em class="parameter"><code>b</code></em>
1194
+ and places the results in <em class="parameter"><code>res</code></em>
1195
+ .</p>
1196
+ <div class="refsect3">
1197
+ <a name="graphene-simd4x4f-sub.parameters"></a><h4>Parameters</h4>
1198
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
1199
+ <colgroup>
1200
+ <col width="150px" class="parameters_name">
1201
+ <col class="parameters_description">
1202
+ <col width="200px" class="parameters_annotations">
1203
+ </colgroup>
1204
+ <tbody>
1205
+ <tr>
1206
+ <td class="parameter_name"><p>a</p></td>
1207
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1208
+ <td class="parameter_annotations"> </td>
1209
+ </tr>
1210
+ <tr>
1211
+ <td class="parameter_name"><p>b</p></td>
1212
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1213
+ <td class="parameter_annotations"> </td>
1214
+ </tr>
1215
+ <tr>
1216
+ <td class="parameter_name"><p>res</p></td>
1217
+ <td class="parameter_description"><p> return location for a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a>. </p></td>
1218
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
1219
+ </tr>
1220
+ </tbody>
1221
+ </table></div>
1222
+ </div>
1223
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
1224
+ </div>
1225
+ <hr>
1226
+ <div class="refsect2">
1227
+ <a name="graphene-simd4x4f-mul"></a><h3>graphene_simd4x4f_mul ()</h3>
1228
+ <pre class="programlisting"><span class="returnvalue">void</span>
1229
+ graphene_simd4x4f_mul (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *a</code></em>,
1230
+ <em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *b</code></em>,
1231
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *res</code></em>);</pre>
1232
+ <p>Multiplies each row vector of <em class="parameter"><code>a</code></em>
1233
+ and <em class="parameter"><code>b</code></em>
1234
+ and places the results in <em class="parameter"><code>res</code></em>
1235
+ .</p>
1236
+ <p>You most likely want <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-matrix-mul" title="graphene_simd4x4f_matrix_mul ()"><code class="function">graphene_simd4x4f_matrix_mul()</code></a> instead.</p>
1237
+ <div class="refsect3">
1238
+ <a name="graphene-simd4x4f-mul.parameters"></a><h4>Parameters</h4>
1239
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
1240
+ <colgroup>
1241
+ <col width="150px" class="parameters_name">
1242
+ <col class="parameters_description">
1243
+ <col width="200px" class="parameters_annotations">
1244
+ </colgroup>
1245
+ <tbody>
1246
+ <tr>
1247
+ <td class="parameter_name"><p>a</p></td>
1248
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1249
+ <td class="parameter_annotations"> </td>
1250
+ </tr>
1251
+ <tr>
1252
+ <td class="parameter_name"><p>b</p></td>
1253
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1254
+ <td class="parameter_annotations"> </td>
1255
+ </tr>
1256
+ <tr>
1257
+ <td class="parameter_name"><p>res</p></td>
1258
+ <td class="parameter_description"><p> return location for a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a>. </p></td>
1259
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
1260
+ </tr>
1261
+ </tbody>
1262
+ </table></div>
1263
+ </div>
1264
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
1265
+ </div>
1266
+ <hr>
1267
+ <div class="refsect2">
1268
+ <a name="graphene-simd4x4f-div"></a><h3>graphene_simd4x4f_div ()</h3>
1269
+ <pre class="programlisting"><span class="returnvalue">void</span>
1270
+ graphene_simd4x4f_div (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *a</code></em>,
1271
+ <em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *b</code></em>,
1272
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *res</code></em>);</pre>
1273
+ <p>Divides each row vector of <em class="parameter"><code>a</code></em>
1274
+ and <em class="parameter"><code>b</code></em>
1275
+ and places the results in <em class="parameter"><code>res</code></em>
1276
+ .</p>
1277
+ <div class="refsect3">
1278
+ <a name="graphene-simd4x4f-div.parameters"></a><h4>Parameters</h4>
1279
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
1280
+ <colgroup>
1281
+ <col width="150px" class="parameters_name">
1282
+ <col class="parameters_description">
1283
+ <col width="200px" class="parameters_annotations">
1284
+ </colgroup>
1285
+ <tbody>
1286
+ <tr>
1287
+ <td class="parameter_name"><p>a</p></td>
1288
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1289
+ <td class="parameter_annotations"> </td>
1290
+ </tr>
1291
+ <tr>
1292
+ <td class="parameter_name"><p>b</p></td>
1293
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1294
+ <td class="parameter_annotations"> </td>
1295
+ </tr>
1296
+ <tr>
1297
+ <td class="parameter_name"><p>res</p></td>
1298
+ <td class="parameter_description"><p> return location for a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a>. </p></td>
1299
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
1300
+ </tr>
1301
+ </tbody>
1302
+ </table></div>
1303
+ </div>
1304
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
1305
+ </div>
1306
+ <hr>
1307
+ <div class="refsect2">
1308
+ <a name="graphene-simd4x4f-inverse"></a><h3>graphene_simd4x4f_inverse ()</h3>
1309
+ <pre class="programlisting"><span class="returnvalue">bool</span>
1310
+ graphene_simd4x4f_inverse (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
1311
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *res</code></em>);</pre>
1312
+ <p>Inverts the given <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a>.</p>
1313
+ <div class="refsect3">
1314
+ <a name="graphene-simd4x4f-inverse.parameters"></a><h4>Parameters</h4>
1315
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
1316
+ <colgroup>
1317
+ <col width="150px" class="parameters_name">
1318
+ <col class="parameters_description">
1319
+ <col width="200px" class="parameters_annotations">
1320
+ </colgroup>
1321
+ <tbody>
1322
+ <tr>
1323
+ <td class="parameter_name"><p>m</p></td>
1324
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1325
+ <td class="parameter_annotations"> </td>
1326
+ </tr>
1327
+ <tr>
1328
+ <td class="parameter_name"><p>res</p></td>
1329
+ <td class="parameter_description"><p> return location for the inverse matrix. </p></td>
1330
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
1331
+ </tr>
1332
+ </tbody>
1333
+ </table></div>
1334
+ </div>
1335
+ <div class="refsect3">
1336
+ <a name="graphene-simd4x4f-inverse.returns"></a><h4>Returns</h4>
1337
+ <p> <code class="literal">true</code> if the matrix was invertible</p>
1338
+ </div>
1339
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
1340
+ </div>
1341
+ <hr>
1342
+ <div class="refsect2">
1343
+ <a name="graphene-simd4x4f-determinant"></a><h3>graphene_simd4x4f_determinant ()</h3>
1344
+ <pre class="programlisting"><span class="returnvalue">void</span>
1345
+ graphene_simd4x4f_determinant (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>,
1346
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> *det_r</code></em>,
1347
+ <em class="parameter"><code><a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> *invdet_r</code></em>);</pre>
1348
+ <p>Computes the determinant (and its inverse) of the given matrix</p>
1349
+ <div class="refsect3">
1350
+ <a name="graphene-simd4x4f-determinant.parameters"></a><h4>Parameters</h4>
1351
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
1352
+ <colgroup>
1353
+ <col width="150px" class="parameters_name">
1354
+ <col class="parameters_description">
1355
+ <col width="200px" class="parameters_annotations">
1356
+ </colgroup>
1357
+ <tbody>
1358
+ <tr>
1359
+ <td class="parameter_name"><p>m</p></td>
1360
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1361
+ <td class="parameter_annotations"> </td>
1362
+ </tr>
1363
+ <tr>
1364
+ <td class="parameter_name"><p>det_r</p></td>
1365
+ <td class="parameter_description"><p> return location for the matrix determinant. </p></td>
1366
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
1367
+ </tr>
1368
+ <tr>
1369
+ <td class="parameter_name"><p>invdet_r</p></td>
1370
+ <td class="parameter_description"><p> return location for the inverse of the matrix
1371
+ determinant. </p></td>
1372
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
1373
+ </tr>
1374
+ </tbody>
1375
+ </table></div>
1376
+ </div>
1377
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
1378
+ </div>
1379
+ <hr>
1380
+ <div class="refsect2">
1381
+ <a name="graphene-simd4x4f-is-identity"></a><h3>graphene_simd4x4f_is_identity ()</h3>
1382
+ <pre class="programlisting"><span class="returnvalue">bool</span>
1383
+ graphene_simd4x4f_is_identity (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>);</pre>
1384
+ <p>Checks whether the given matrix is the identity matrix.</p>
1385
+ <div class="refsect3">
1386
+ <a name="graphene-simd4x4f-is-identity.parameters"></a><h4>Parameters</h4>
1387
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
1388
+ <colgroup>
1389
+ <col width="150px" class="parameters_name">
1390
+ <col class="parameters_description">
1391
+ <col width="200px" class="parameters_annotations">
1392
+ </colgroup>
1393
+ <tbody><tr>
1394
+ <td class="parameter_name"><p>m</p></td>
1395
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1396
+ <td class="parameter_annotations"> </td>
1397
+ </tr></tbody>
1398
+ </table></div>
1399
+ </div>
1400
+ <div class="refsect3">
1401
+ <a name="graphene-simd4x4f-is-identity.returns"></a><h4>Returns</h4>
1402
+ <p> <code class="literal">true</code> if the matrix is the identity matrix</p>
1403
+ </div>
1404
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
1405
+ </div>
1406
+ <hr>
1407
+ <div class="refsect2">
1408
+ <a name="graphene-simd4x4f-is-2d"></a><h3>graphene_simd4x4f_is_2d ()</h3>
1409
+ <pre class="programlisting"><span class="returnvalue">bool</span>
1410
+ graphene_simd4x4f_is_2d (<em class="parameter"><code>const <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> *m</code></em>);</pre>
1411
+ <p>Checks whether the given matrix is compatible with an affine
1412
+ transformation matrix.</p>
1413
+ <div class="refsect3">
1414
+ <a name="graphene-simd4x4f-is-2d.parameters"></a><h4>Parameters</h4>
1415
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
1416
+ <colgroup>
1417
+ <col width="150px" class="parameters_name">
1418
+ <col class="parameters_description">
1419
+ <col width="200px" class="parameters_annotations">
1420
+ </colgroup>
1421
+ <tbody><tr>
1422
+ <td class="parameter_name"><p>m</p></td>
1423
+ <td class="parameter_description"><p>a <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a></p></td>
1424
+ <td class="parameter_annotations"> </td>
1425
+ </tr></tbody>
1426
+ </table></div>
1427
+ </div>
1428
+ <div class="refsect3">
1429
+ <a name="graphene-simd4x4f-is-2d.returns"></a><h4>Returns</h4>
1430
+ <p> <code class="literal">true</code> if the matrix is compatible with an affine
1431
+ transformation matrix</p>
1432
+ </div>
1433
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
1434
+ </div>
1435
+ </div>
1436
+ <div class="refsect1">
1437
+ <a name="graphene-SIMD-matrix.other_details"></a><h2>Types and Values</h2>
1438
+ <div class="refsect2">
1439
+ <a name="graphene-simd4x4f-t"></a><h3>graphene_simd4x4f_t</h3>
1440
+ <pre class="programlisting">typedef struct _graphene_simd4x4f_t graphene_simd4x4f_t;</pre>
1441
+ <p>A SIMD-based matrix type that uses four <a class="link" href="graphene-SIMD-vector.html#graphene-simd4f-t" title="graphene_simd4f_t"><span class="type">graphene_simd4f_t</span></a> vectors.</p>
1442
+ <p>The matrix is treated as row-major, i.e. the x, y, z, and w vectors
1443
+ are rows, and elements of each vector are a column:</p>
1444
+ <div class="informalexample">
1445
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1446
+ <tbody>
1447
+ <tr>
1448
+ <td class="listing_lines" align="right"><pre>1
1449
+ 2
1450
+ 3
1451
+ 4
1452
+ 5
1453
+ 6</pre></td>
1454
+ <td class="listing_code"><pre class="programlisting"><span class="normal"><a href="graphene-SIMD-matrix.html#graphene-simd4x4f-t">graphene_simd4x4f_t</a> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span>
1455
+ <span class="normal"> x</span><span class="symbol">.</span><span class="normal">x</span><span class="symbol">,</span><span class="normal"> x</span><span class="symbol">.</span><span class="normal">y</span><span class="symbol">,</span><span class="normal"> x</span><span class="symbol">.</span><span class="normal">z</span><span class="symbol">,</span><span class="normal"> x</span><span class="symbol">.</span><span class="normal">w</span><span class="symbol">,</span>
1456
+ <span class="normal"> y</span><span class="symbol">.</span><span class="normal">x</span><span class="symbol">,</span><span class="normal"> y</span><span class="symbol">.</span><span class="normal">y</span><span class="symbol">,</span><span class="normal"> y</span><span class="symbol">.</span><span class="normal">z</span><span class="symbol">,</span><span class="normal"> y</span><span class="symbol">.</span><span class="normal">w</span><span class="symbol">,</span>
1457
+ <span class="normal"> z</span><span class="symbol">.</span><span class="normal">x</span><span class="symbol">,</span><span class="normal"> z</span><span class="symbol">.</span><span class="normal">y</span><span class="symbol">,</span><span class="normal"> z</span><span class="symbol">.</span><span class="normal">z</span><span class="symbol">,</span><span class="normal"> z</span><span class="symbol">.</span><span class="normal">w</span><span class="symbol">,</span>
1458
+ <span class="normal"> w</span><span class="symbol">.</span><span class="normal">x</span><span class="symbol">,</span><span class="normal"> w</span><span class="symbol">.</span><span class="normal">y</span><span class="symbol">,</span><span class="normal"> w</span><span class="symbol">.</span><span class="normal">z</span><span class="symbol">,</span><span class="normal"> w</span><span class="symbol">.</span><span class="normal">w</span>
1459
+ <span class="cbracket">}</span></pre></td>
1460
+ </tr>
1461
+ </tbody>
1462
+ </table>
1463
+ </div>
1464
+
1465
+ <p></p>
1466
+ <p>The contents of the <a class="link" href="graphene-SIMD-matrix.html#graphene-simd4x4f-t" title="graphene_simd4x4f_t"><span class="type">graphene_simd4x4f_t</span></a> type are private and
1467
+ cannot be accessed directly; use the provided API instead.</p>
1468
+ <p class="since">Since: <a class="link" href="ix03.html#api-index-1.0">1.0</a></p>
1469
+ </div>
1470
+ </div>
1471
+ </div>
1472
+ <div class="footer">
1473
+ <hr>Generated by GTK-Doc V1.25</div>
1474
+ </body>
1475
+ </html>