ruby-iup 0.0.2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. data/CHANGES +3 -0
  2. data/MANIFEST +8 -0
  3. data/MIT-LICENSE +18 -0
  4. data/README +12 -0
  5. data/Rakefile +68 -80
  6. data/doc/build_install.txt +9 -12
  7. data/examples/ctrl/cbox.rb +14 -15
  8. data/examples/ctrl/checkboard.rb +1 -1
  9. data/examples/ctrl/example1.rb +53 -53
  10. data/examples/ctrl/example2.rb +39 -39
  11. data/examples/ctrl/iupcolorbar.rb +95 -95
  12. data/examples/ctrl/iupcolorbrowser.rb +45 -45
  13. data/examples/ctrl/iupdial.rb +117 -117
  14. data/examples/ctrl/iupgetcolor.rb +7 -7
  15. data/examples/ctrl/iupgetparam.rb +62 -62
  16. data/examples/ctrl/iupglcanvas.rb +172 -172
  17. data/examples/ctrl/iupmask.rb +1 -3
  18. data/examples/ctrl/iupmatrix.rb +39 -39
  19. data/examples/ctrl/iupplot2.rb +2 -1
  20. data/examples/ctrl/iuptabs.rb +22 -22
  21. data/examples/ctrl/iuptree.rb +190 -190
  22. data/examples/ctrl/iupval.rb +71 -71
  23. data/examples/ctrl/numbering.rb +46 -46
  24. data/examples/ctrl/sample.rb +166 -166
  25. data/examples/dlg/iupfiledlg.rb +19 -19
  26. data/examples/dlg/iupgetfile.rb +19 -19
  27. data/examples/dlg/iuplistdialog.rb +26 -26
  28. data/examples/dlg/iupmessage.rb +5 -5
  29. data/examples/dlg/iupscanf.rb +17 -17
  30. data/examples/elem/iupdialog2.rb +25 -25
  31. data/examples/elem/iupfill.rb +51 -51
  32. data/examples/elem/iupframe.rb +25 -25
  33. data/examples/elem/iuphbox.rb +68 -68
  34. data/examples/elem/iupimage.rb +113 -113
  35. data/examples/elem/iupitem.rb +60 -60
  36. data/examples/elem/iuplabel.rb +57 -57
  37. data/examples/elem/iuplist.rb +41 -41
  38. data/examples/elem/iuplist2.rb +125 -125
  39. data/examples/elem/iupmenu.rb +32 -32
  40. data/examples/elem/iupmultiline.rb +24 -24
  41. data/examples/elem/iupmultiline2.rb +156 -156
  42. data/examples/elem/iupradio.rb +32 -32
  43. data/examples/elem/iupseparator.rb +81 -81
  44. data/examples/elem/iupsubmenu.rb +85 -85
  45. data/examples/elem/iuptext.rb +61 -61
  46. data/examples/elem/iuptimer.rb +36 -36
  47. data/examples/elem/iuptoggle.rb +110 -110
  48. data/examples/elem/iupvbox.rb +87 -87
  49. data/examples/elem/iupzbox.rb +60 -60
  50. data/examples/elem/mdisample.rb +377 -376
  51. data/examples/elem/scrollbar.rb +66 -66
  52. data/examples/elem/tray.rb +90 -90
  53. data/examples/func/iupgetattribute.rb +32 -32
  54. data/examples/func/iupidle.rb +48 -48
  55. data/ext/extconf.rb +62 -27
  56. data/ext/iup-linux/include/cd.h +9 -5
  57. data/ext/iup-linux/include/cd_private.h +13 -6
  58. data/ext/iup-linux/include/cdsvg.h +22 -0
  59. data/ext/iup-linux/include/im.h +287 -282
  60. data/ext/iup-linux/include/im_attrib.h +120 -116
  61. data/ext/iup-linux/include/im_attrib_flat.h +39 -39
  62. data/ext/iup-linux/include/im_binfile.h +224 -214
  63. data/ext/iup-linux/include/im_capture.h +365 -365
  64. data/ext/iup-linux/include/im_color.h +465 -465
  65. data/ext/iup-linux/include/im_colorhsi.h +56 -61
  66. data/ext/iup-linux/include/im_complex.h +180 -160
  67. data/ext/iup-linux/include/im_convert.h +142 -127
  68. data/ext/iup-linux/include/im_counter.h +69 -69
  69. data/ext/iup-linux/include/im_dib.h +195 -195
  70. data/ext/iup-linux/include/im_file.h +115 -111
  71. data/ext/iup-linux/include/im_format.h +97 -79
  72. data/ext/iup-linux/include/im_format_all.h +575 -576
  73. data/ext/iup-linux/include/im_format_avi.h +88 -87
  74. data/ext/iup-linux/include/im_format_ecw.h +93 -93
  75. data/ext/iup-linux/include/im_format_jp2.h +79 -78
  76. data/ext/iup-linux/include/im_format_raw.h +74 -64
  77. data/ext/iup-linux/include/im_format_wmv.h +101 -100
  78. data/ext/iup-linux/include/im_image.h +425 -403
  79. data/ext/iup-linux/include/im_kernel.h +315 -315
  80. data/ext/iup-linux/include/im_lib.h +191 -191
  81. data/ext/iup-linux/include/im_math.h +368 -368
  82. data/ext/iup-linux/include/im_math_op.h +214 -219
  83. data/ext/iup-linux/include/im_palette.h +172 -172
  84. data/ext/iup-linux/include/im_plus.h +73 -73
  85. data/ext/iup-linux/include/im_process.h +36 -35
  86. data/ext/iup-linux/include/im_process_ana.h +222 -221
  87. data/ext/iup-linux/include/im_process_glo.h +170 -170
  88. data/ext/iup-linux/include/im_process_loc.h +608 -577
  89. data/ext/iup-linux/include/im_process_pon.h +734 -712
  90. data/ext/iup-linux/include/im_raw.h +34 -34
  91. data/ext/iup-linux/include/im_util.h +277 -277
  92. data/ext/iup-linux/include/imlua.h +75 -83
  93. data/ext/iup-linux/include/iup.h +86 -40
  94. data/ext/iup-linux/include/iupcb.h +1 -25
  95. data/ext/iup-linux/include/iupcbox.h +1 -0
  96. data/ext/iup-linux/include/iupcbs.h +1 -1
  97. data/ext/iup-linux/include/iupcells.h +1 -130
  98. data/ext/iup-linux/include/iupcolorbar.h +1 -126
  99. data/ext/iup-linux/include/iupcontrols.h +26 -16
  100. data/ext/iup-linux/include/iupdef.h +205 -0
  101. data/ext/iup-linux/include/iupdial.h +1 -63
  102. data/ext/iup-linux/include/iupgauge.h +1 -57
  103. data/ext/iup-linux/include/iupgc.h +1 -0
  104. data/ext/iup-linux/include/iupgetparam.h +1 -27
  105. data/ext/iup-linux/include/iupgl.h +2 -7
  106. data/ext/iup-linux/include/iupim.h +7 -1
  107. data/ext/iup-linux/include/iupkey.h +4 -4
  108. data/ext/iup-linux/include/iupmask.h +2 -1
  109. data/ext/iup-linux/include/iupmatrix.h +1 -63
  110. data/ext/iup-linux/include/iupsbox.h +1 -0
  111. data/ext/iup-linux/include/iupspin.h +1 -21
  112. data/ext/iup-linux/include/iuptabs.h +1 -75
  113. data/ext/iup-linux/include/iuptree.h +1 -93
  114. data/ext/iup-linux/include/iupval.h +1 -46
  115. data/ext/iup-linux/include/old_im.h +59 -59
  116. data/ext/iup-linux/include/wd.h +5 -0
  117. data/ext/iup-linux/libcd.a +0 -0
  118. data/ext/iup-linux/libcdcontextplus.a +0 -0
  119. data/ext/iup-linux/libcdgdk.a +0 -0
  120. data/ext/iup-linux/libcdpdf.a +0 -0
  121. data/ext/iup-linux/libfreetype.a +0 -0
  122. data/ext/iup-linux/libim.a +0 -0
  123. data/ext/iup-linux/libim_fftw.a +0 -0
  124. data/ext/iup-linux/libim_jp2.a +0 -0
  125. data/ext/iup-linux/libim_process.a +0 -0
  126. data/ext/iup-linux/libiup.a +0 -0
  127. data/ext/iup-linux/libiup_pplot.a +0 -0
  128. data/ext/iup-linux/libiupcd.a +0 -0
  129. data/ext/iup-linux/libiupcontrols.a +0 -0
  130. data/ext/iup-linux/libiupgl.a +0 -0
  131. data/ext/iup-linux/libiupim.a +0 -0
  132. data/ext/iup-linux/libiupimglib.a +0 -0
  133. data/ext/iup-linux/libiupmot.a +0 -0
  134. data/ext/iup-linux/libpdflib.a +0 -0
  135. data/ext/{iup-win32 → iup-mingw32}/include/cd.h +9 -5
  136. data/ext/{iup-win32 → iup-mingw32}/include/cd_canvas.hpp +0 -0
  137. data/ext/{iup-win32 → iup-mingw32}/include/cd_old.h +0 -0
  138. data/ext/{iup-win32 → iup-mingw32}/include/cd_private.h +13 -6
  139. data/ext/{iup-win32 → iup-mingw32}/include/cdcgm.h +0 -0
  140. data/ext/{iup-win32 → iup-mingw32}/include/cdclipbd.h +0 -0
  141. data/ext/{iup-win32 → iup-mingw32}/include/cddbuf.h +0 -0
  142. data/ext/{iup-win32 → iup-mingw32}/include/cddebug.h +0 -0
  143. data/ext/{iup-win32 → iup-mingw32}/include/cddgn.h +0 -0
  144. data/ext/{iup-win32 → iup-mingw32}/include/cddxf.h +0 -0
  145. data/ext/{iup-win32 → iup-mingw32}/include/cdemf.h +0 -0
  146. data/ext/{iup-win32 → iup-mingw32}/include/cdgdiplus.h +0 -0
  147. data/ext/{iup-win32 → iup-mingw32}/include/cdimage.h +0 -0
  148. data/ext/{iup-win32 → iup-mingw32}/include/cdirgb.h +0 -0
  149. data/ext/{iup-win32 → iup-mingw32}/include/cdiup.h +0 -0
  150. data/ext/{iup-win32 → iup-mingw32}/include/cdlua.h +0 -0
  151. data/ext/{iup-win32 → iup-mingw32}/include/cdlua3_private.h +0 -0
  152. data/ext/{iup-win32 → iup-mingw32}/include/cdlua5_private.h +0 -0
  153. data/ext/{iup-win32 → iup-mingw32}/include/cdluaim.h +0 -0
  154. data/ext/{iup-win32 → iup-mingw32}/include/cdluaiup.h +0 -0
  155. data/ext/{iup-win32 → iup-mingw32}/include/cdluapdf.h +0 -0
  156. data/ext/{iup-win32 → iup-mingw32}/include/cdmf.h +0 -0
  157. data/ext/{iup-win32 → iup-mingw32}/include/cdmf_private.h +0 -0
  158. data/ext/{iup-win32 → iup-mingw32}/include/cdnative.h +0 -0
  159. data/ext/{iup-win32 → iup-mingw32}/include/cdpdf.h +0 -0
  160. data/ext/{iup-win32 → iup-mingw32}/include/cdpicture.h +0 -0
  161. data/ext/{iup-win32 → iup-mingw32}/include/cdprint.h +0 -0
  162. data/ext/{iup-win32 → iup-mingw32}/include/cdps.h +0 -0
  163. data/ext/iup-mingw32/include/cdsvg.h +22 -0
  164. data/ext/{iup-win32 → iup-mingw32}/include/cdwmf.h +0 -0
  165. data/ext/iup-mingw32/include/im.h +287 -0
  166. data/ext/iup-mingw32/include/im_attrib.h +120 -0
  167. data/ext/iup-mingw32/include/im_attrib_flat.h +39 -0
  168. data/ext/iup-mingw32/include/im_binfile.h +224 -0
  169. data/ext/iup-mingw32/include/im_capture.h +365 -0
  170. data/ext/iup-mingw32/include/im_color.h +465 -0
  171. data/ext/iup-mingw32/include/im_colorhsi.h +56 -0
  172. data/ext/iup-mingw32/include/im_complex.h +180 -0
  173. data/ext/iup-mingw32/include/im_convert.h +142 -0
  174. data/ext/iup-mingw32/include/im_counter.h +69 -0
  175. data/ext/iup-mingw32/include/im_dib.h +195 -0
  176. data/ext/iup-mingw32/include/im_file.h +115 -0
  177. data/ext/iup-mingw32/include/im_format.h +97 -0
  178. data/ext/iup-mingw32/include/im_format_all.h +575 -0
  179. data/ext/iup-mingw32/include/im_format_avi.h +88 -0
  180. data/ext/iup-mingw32/include/im_format_ecw.h +93 -0
  181. data/ext/iup-mingw32/include/im_format_jp2.h +79 -0
  182. data/ext/iup-mingw32/include/im_format_raw.h +74 -0
  183. data/ext/iup-mingw32/include/im_format_wmv.h +101 -0
  184. data/ext/iup-mingw32/include/im_image.h +425 -0
  185. data/ext/iup-mingw32/include/im_kernel.h +315 -0
  186. data/ext/iup-mingw32/include/im_lib.h +191 -0
  187. data/ext/iup-mingw32/include/im_math.h +368 -0
  188. data/ext/iup-mingw32/include/im_math_op.h +214 -0
  189. data/ext/iup-mingw32/include/im_palette.h +172 -0
  190. data/ext/iup-mingw32/include/im_plus.h +73 -0
  191. data/ext/iup-mingw32/include/im_process.h +36 -0
  192. data/ext/iup-mingw32/include/im_process_ana.h +222 -0
  193. data/ext/iup-mingw32/include/im_process_glo.h +170 -0
  194. data/ext/iup-mingw32/include/im_process_loc.h +608 -0
  195. data/ext/iup-mingw32/include/im_process_pon.h +734 -0
  196. data/ext/iup-mingw32/include/im_raw.h +34 -0
  197. data/ext/iup-mingw32/include/im_util.h +277 -0
  198. data/ext/iup-mingw32/include/imlua.h +75 -0
  199. data/ext/{iup-win32 → iup-mingw32}/include/iup.h +86 -40
  200. data/ext/{iup-win32 → iup-mingw32}/include/iup_pplot.h +0 -0
  201. data/ext/iup-mingw32/include/iupcb.h +1 -0
  202. data/ext/iup-mingw32/include/iupcbox.h +1 -0
  203. data/ext/{iup-win32 → iup-mingw32}/include/iupcbs.h +1 -1
  204. data/ext/iup-mingw32/include/iupcells.h +1 -0
  205. data/ext/iup-mingw32/include/iupcolorbar.h +1 -0
  206. data/ext/iup-mingw32/include/iupcontrols.h +46 -0
  207. data/ext/{iup-win32 → iup-mingw32}/include/iupdef.h +205 -0
  208. data/ext/iup-mingw32/include/iupdial.h +1 -0
  209. data/ext/iup-mingw32/include/iupgauge.h +1 -0
  210. data/ext/iup-mingw32/include/iupgc.h +1 -0
  211. data/ext/iup-mingw32/include/iupgetparam.h +1 -0
  212. data/ext/{iup-win32 → iup-mingw32}/include/iupgl.h +2 -7
  213. data/ext/{iup-win32 → iup-mingw32}/include/iupim.h +7 -1
  214. data/ext/{iup-win32 → iup-mingw32}/include/iupkey.h +4 -4
  215. data/ext/{iup-win32 → iup-mingw32}/include/iuplua.h +0 -0
  216. data/ext/{iup-win32 → iup-mingw32}/include/iuplua_pplot.h +0 -0
  217. data/ext/{iup-win32 → iup-mingw32}/include/iupluacontrols.h +0 -0
  218. data/ext/{iup-win32 → iup-mingw32}/include/iupluagl.h +0 -0
  219. data/ext/{iup-win32 → iup-mingw32}/include/iupluaim.h +0 -0
  220. data/ext/{iup-win32 → iup-mingw32}/include/iupluaole.h +0 -0
  221. data/ext/{iup-win32 → iup-mingw32}/include/iupmask.h +2 -1
  222. data/ext/iup-mingw32/include/iupmatrix.h +1 -0
  223. data/ext/{iup-win32 → iup-mingw32}/include/iupole.h +0 -0
  224. data/ext/iup-mingw32/include/iupsbox.h +1 -0
  225. data/ext/iup-mingw32/include/iupspin.h +1 -0
  226. data/ext/iup-mingw32/include/iuptabs.h +1 -0
  227. data/ext/iup-mingw32/include/iuptree.h +1 -0
  228. data/ext/iup-mingw32/include/iupval.h +1 -0
  229. data/ext/iup-mingw32/include/old_im.h +59 -0
  230. data/ext/{iup-win32 → iup-mingw32}/include/wd.h +5 -0
  231. data/ext/{iup-win32 → iup-mingw32}/include/wd_old.h +0 -0
  232. data/ext/iup-mingw32/libcd.a +0 -0
  233. data/ext/iup-mingw32/libcdpdf.a +0 -0
  234. data/ext/iup-mingw32/libfreetype6.a +0 -0
  235. data/ext/iup-mingw32/libim.a +0 -0
  236. data/ext/iup-mingw32/libim_avi.a +0 -0
  237. data/ext/iup-mingw32/libim_fftw.a +0 -0
  238. data/ext/iup-mingw32/libim_jp2.a +0 -0
  239. data/ext/iup-mingw32/libim_process.a +0 -0
  240. data/ext/iup-mingw32/libiup.a +0 -0
  241. data/ext/iup-mingw32/libiup_pplot.a +0 -0
  242. data/ext/iup-mingw32/libiupcd.a +0 -0
  243. data/ext/iup-mingw32/libiupcontrols.a +0 -0
  244. data/ext/iup-mingw32/libiupgl.a +0 -0
  245. data/ext/iup-mingw32/libiupim.a +0 -0
  246. data/ext/iup-mingw32/libiupimglib.a +0 -0
  247. data/ext/iup-mingw32/libiupole.a +0 -0
  248. data/ext/iup-mingw32/libpdflib.a +0 -0
  249. data/ext/iup-mswin32/cd.lib +0 -0
  250. data/ext/iup-mswin32/cdcontextplus.lib +0 -0
  251. data/ext/iup-mswin32/cdgdk.lib +0 -0
  252. data/ext/iup-mswin32/cdpdf.lib +0 -0
  253. data/ext/iup-mswin32/freetype6.lib +0 -0
  254. data/ext/iup-mswin32/im.lib +0 -0
  255. data/ext/iup-mswin32/im_avi.lib +0 -0
  256. data/ext/iup-mswin32/im_capture.lib +0 -0
  257. data/ext/iup-mswin32/im_fftw.lib +0 -0
  258. data/ext/iup-mswin32/im_jp2.lib +0 -0
  259. data/ext/iup-mswin32/im_process.lib +0 -0
  260. data/ext/iup-mswin32/im_wmv.lib +0 -0
  261. data/ext/iup-mswin32/include/cd.h +498 -0
  262. data/ext/iup-mswin32/include/cd_canvas.hpp +358 -0
  263. data/ext/iup-mswin32/include/cd_old.h +158 -0
  264. data/ext/iup-mswin32/include/cd_private.h +369 -0
  265. data/ext/iup-mswin32/include/cdcgm.h +34 -0
  266. data/ext/iup-mswin32/include/cdclipbd.h +22 -0
  267. data/ext/iup-mswin32/include/cddbuf.h +23 -0
  268. data/ext/iup-mswin32/include/cddebug.h +24 -0
  269. data/ext/iup-mswin32/include/cddgn.h +23 -0
  270. data/ext/iup-mswin32/include/cddxf.h +22 -0
  271. data/ext/iup-mswin32/include/cdemf.h +22 -0
  272. data/ext/iup-mswin32/include/cdgdiplus.h +29 -0
  273. data/ext/iup-mswin32/include/cdimage.h +23 -0
  274. data/ext/iup-mswin32/include/cdirgb.h +30 -0
  275. data/ext/iup-mswin32/include/cdiup.h +22 -0
  276. data/ext/iup-mswin32/include/cdlua.h +39 -0
  277. data/ext/iup-mswin32/include/cdlua3_private.h +120 -0
  278. data/ext/iup-mswin32/include/cdlua5_private.h +141 -0
  279. data/ext/iup-mswin32/include/cdluaim.h +24 -0
  280. data/ext/iup-mswin32/include/cdluaiup.h +27 -0
  281. data/ext/iup-mswin32/include/cdluapdf.h +27 -0
  282. data/ext/iup-mswin32/include/cdmf.h +24 -0
  283. data/ext/iup-mswin32/include/cdmf_private.h +32 -0
  284. data/ext/iup-mswin32/include/cdnative.h +26 -0
  285. data/ext/iup-mswin32/include/cdpdf.h +38 -0
  286. data/ext/iup-mswin32/include/cdpicture.h +22 -0
  287. data/ext/iup-mswin32/include/cdprint.h +23 -0
  288. data/ext/iup-mswin32/include/cdps.h +37 -0
  289. data/ext/iup-mswin32/include/cdsvg.h +22 -0
  290. data/ext/iup-mswin32/include/cdwmf.h +22 -0
  291. data/ext/iup-mswin32/include/im.h +287 -0
  292. data/ext/iup-mswin32/include/im_attrib.h +120 -0
  293. data/ext/iup-mswin32/include/im_attrib_flat.h +39 -0
  294. data/ext/iup-mswin32/include/im_binfile.h +224 -0
  295. data/ext/iup-mswin32/include/im_capture.h +365 -0
  296. data/ext/iup-mswin32/include/im_color.h +465 -0
  297. data/ext/iup-mswin32/include/im_colorhsi.h +56 -0
  298. data/ext/iup-mswin32/include/im_complex.h +180 -0
  299. data/ext/iup-mswin32/include/im_convert.h +142 -0
  300. data/ext/iup-mswin32/include/im_counter.h +69 -0
  301. data/ext/iup-mswin32/include/im_dib.h +195 -0
  302. data/ext/iup-mswin32/include/im_file.h +115 -0
  303. data/ext/iup-mswin32/include/im_format.h +97 -0
  304. data/ext/iup-mswin32/include/im_format_all.h +575 -0
  305. data/ext/iup-mswin32/include/im_format_avi.h +88 -0
  306. data/ext/iup-mswin32/include/im_format_ecw.h +93 -0
  307. data/ext/iup-mswin32/include/im_format_jp2.h +79 -0
  308. data/ext/iup-mswin32/include/im_format_raw.h +74 -0
  309. data/ext/iup-mswin32/include/im_format_wmv.h +101 -0
  310. data/ext/iup-mswin32/include/im_image.h +425 -0
  311. data/ext/iup-mswin32/include/im_kernel.h +315 -0
  312. data/ext/iup-mswin32/include/im_lib.h +191 -0
  313. data/ext/iup-mswin32/include/im_math.h +368 -0
  314. data/ext/iup-mswin32/include/im_math_op.h +214 -0
  315. data/ext/iup-mswin32/include/im_palette.h +172 -0
  316. data/ext/iup-mswin32/include/im_plus.h +73 -0
  317. data/ext/iup-mswin32/include/im_process.h +36 -0
  318. data/ext/iup-mswin32/include/im_process_ana.h +222 -0
  319. data/ext/iup-mswin32/include/im_process_glo.h +170 -0
  320. data/ext/iup-mswin32/include/im_process_loc.h +608 -0
  321. data/ext/iup-mswin32/include/im_process_pon.h +734 -0
  322. data/ext/iup-mswin32/include/im_raw.h +34 -0
  323. data/ext/iup-mswin32/include/im_util.h +277 -0
  324. data/ext/iup-mswin32/include/imlua.h +75 -0
  325. data/ext/iup-mswin32/include/iup.h +364 -0
  326. data/ext/iup-mswin32/include/iup_pplot.h +40 -0
  327. data/ext/iup-mswin32/include/iupcb.h +1 -0
  328. data/ext/iup-mswin32/include/iupcbox.h +1 -0
  329. data/ext/iup-mswin32/include/iupcbs.h +43 -0
  330. data/ext/iup-mswin32/include/iupcells.h +1 -0
  331. data/ext/iup-mswin32/include/iupcolorbar.h +1 -0
  332. data/ext/iup-mswin32/include/iupcontrols.h +46 -0
  333. data/ext/iup-mswin32/include/iupdef.h +725 -0
  334. data/ext/iup-mswin32/include/iupdial.h +1 -0
  335. data/ext/iup-mswin32/include/iupgauge.h +1 -0
  336. data/ext/iup-mswin32/include/iupgc.h +1 -0
  337. data/ext/iup-mswin32/include/iupgetparam.h +1 -0
  338. data/ext/iup-mswin32/include/iupgl.h +96 -0
  339. data/ext/iup-mswin32/include/iupim.h +27 -0
  340. data/ext/iup-mswin32/include/iupkey.h +457 -0
  341. data/ext/iup-mswin32/include/iuplua.h +41 -0
  342. data/ext/iup-mswin32/include/iuplua_pplot.h +26 -0
  343. data/ext/iup-mswin32/include/iupluacontrols.h +27 -0
  344. data/ext/iup-mswin32/include/iupluagl.h +26 -0
  345. data/ext/iup-mswin32/include/iupluaim.h +26 -0
  346. data/ext/iup-mswin32/include/iupluaole.h +26 -0
  347. data/ext/iup-mswin32/include/iupmask.h +41 -0
  348. data/ext/iup-mswin32/include/iupmatrix.h +1 -0
  349. data/ext/iup-mswin32/include/iupole.h +24 -0
  350. data/ext/iup-mswin32/include/iupsbox.h +1 -0
  351. data/ext/iup-mswin32/include/iupspin.h +1 -0
  352. data/ext/iup-mswin32/include/iuptabs.h +1 -0
  353. data/ext/iup-mswin32/include/iuptree.h +1 -0
  354. data/ext/iup-mswin32/include/iupval.h +1 -0
  355. data/ext/iup-mswin32/include/old_im.h +59 -0
  356. data/ext/iup-mswin32/include/wd.h +83 -0
  357. data/ext/iup-mswin32/include/wd_old.h +85 -0
  358. data/ext/iup-mswin32/iup.lib +0 -0
  359. data/ext/iup-mswin32/iup_pplot.lib +0 -0
  360. data/ext/iup-mswin32/iupcd.lib +0 -0
  361. data/ext/iup-mswin32/iupcontrols.lib +0 -0
  362. data/ext/iup-mswin32/iupgl.lib +0 -0
  363. data/ext/iup-mswin32/iupgtk.lib +0 -0
  364. data/ext/iup-mswin32/iupim.lib +0 -0
  365. data/ext/{iup-win32/iupimglib.dll → iup-mswin32/iupimglib.lib} +0 -0
  366. data/ext/iup-mswin32/iupole.lib +0 -0
  367. data/ext/iup-mswin32/pdflib.lib +0 -0
  368. data/ext/iup.c +6 -37
  369. data/ext/{rb_cd.h → rb_cd.c} +300 -302
  370. data/ext/rb_iup.c +2485 -0
  371. data/ext/rb_iup.h +400 -2475
  372. data/ext/{rb_iup_pplot.h → rb_iup_pplot.c} +21 -22
  373. data/ext/{rb_iupcb.h → rb_iupcb.c} +2 -3
  374. data/ext/{rb_iupcells.h → rb_iupcells.c} +5 -5
  375. data/ext/{rb_iupcolorbar.h → rb_iupcolorbar.c} +2 -3
  376. data/ext/{rb_iupcontrols.h → rb_iupcontrols.c} +1 -1
  377. data/ext/{rb_iupdial.h → rb_iupdial.c} +3 -4
  378. data/ext/{rb_iupgauge.h → rb_iupgauge.c} +2 -3
  379. data/ext/{rb_iupgc.h → rb_iupgc.c} +1 -1
  380. data/ext/{rb_iupgetparam.h → rb_iupgetparam.c} +12 -10
  381. data/ext/{rb_iupgl.h → rb_iupgl.c} +10 -10
  382. data/ext/{rb_iupim.h → rb_iupim.c} +6 -6
  383. data/ext/{rb_iupmatrix.h → rb_iupmatrix.c} +15 -16
  384. data/ext/{rb_iupole.h → rb_iupole.c} +4 -4
  385. data/ext/{rb_iupsbox.h → rb_iupsbox.c} +3 -3
  386. data/ext/{rb_iupspin.h → rb_iupspin.c} +4 -5
  387. data/ext/{rb_iuptabs.h → rb_iuptabs.c} +5 -6
  388. data/ext/{rb_iuptree.h → rb_iuptree.c} +20 -21
  389. data/ext/{rb_iupval.h → rb_iupval.c} +3 -4
  390. data/ruby-iup.gemspec +26 -0
  391. data/test/test_ruby_iup.rb +25 -0
  392. metadata +395 -270
  393. data/ext/iup-linux/include/lauxlib.h +0 -174
  394. data/ext/iup-linux/include/lua.h +0 -388
  395. data/ext/iup-linux/include/lua.hpp +0 -9
  396. data/ext/iup-linux/include/luaconf.h +0 -763
  397. data/ext/iup-linux/include/lualib.h +0 -53
  398. data/ext/iup-linux/libcd.so +0 -0
  399. data/ext/iup-linux/libcdcontextplus.so +0 -0
  400. data/ext/iup-linux/libcdpdf.so +0 -0
  401. data/ext/iup-linux/libfreetype.so +0 -0
  402. data/ext/iup-linux/libim.so +0 -0
  403. data/ext/iup-linux/libim_fftw.so +0 -0
  404. data/ext/iup-linux/libim_jp2.so +0 -0
  405. data/ext/iup-linux/libim_process.so +0 -0
  406. data/ext/iup-linux/libiup.so +0 -0
  407. data/ext/iup-linux/libiup_pplot.so +0 -0
  408. data/ext/iup-linux/libiupcd.so +0 -0
  409. data/ext/iup-linux/libiupcontrols.so +0 -0
  410. data/ext/iup-linux/libiupgl.so +0 -0
  411. data/ext/iup-linux/libiupim.so +0 -0
  412. data/ext/iup-linux/libiupimglib.so +0 -0
  413. data/ext/iup-linux/libiupmot.so +0 -0
  414. data/ext/iup-linux/libpdflib.so +0 -0
  415. data/ext/iup-win32/cd.dll +0 -0
  416. data/ext/iup-win32/cd.lib +0 -0
  417. data/ext/iup-win32/cdcontextplus.dll +0 -0
  418. data/ext/iup-win32/cdcontextplus.lib +0 -0
  419. data/ext/iup-win32/cdpdf.dll +0 -0
  420. data/ext/iup-win32/cdpdf.lib +0 -0
  421. data/ext/iup-win32/freetype6.dll +0 -0
  422. data/ext/iup-win32/freetype6.lib +0 -0
  423. data/ext/iup-win32/im.dll +0 -0
  424. data/ext/iup-win32/im.lib +0 -0
  425. data/ext/iup-win32/im_avi.dll +0 -0
  426. data/ext/iup-win32/im_avi.lib +0 -0
  427. data/ext/iup-win32/im_capture.dll +0 -0
  428. data/ext/iup-win32/im_capture.lib +0 -0
  429. data/ext/iup-win32/im_ecw.dll +0 -0
  430. data/ext/iup-win32/im_fftw.dll +0 -0
  431. data/ext/iup-win32/im_fftw.lib +0 -0
  432. data/ext/iup-win32/im_jp2.dll +0 -0
  433. data/ext/iup-win32/im_jp2.lib +0 -0
  434. data/ext/iup-win32/im_process.dll +0 -0
  435. data/ext/iup-win32/im_process.lib +0 -0
  436. data/ext/iup-win32/im_wmv.dll +0 -0
  437. data/ext/iup-win32/im_wmv.lib +0 -0
  438. data/ext/iup-win32/imlua_capture51.dll +0 -0
  439. data/ext/iup-win32/imlua_capture51.lib +0 -0
  440. data/ext/iup-win32/imlua_wmv51.dll +0 -0
  441. data/ext/iup-win32/imlua_wmv51.lib +0 -0
  442. data/ext/iup-win32/include/iupcb.h +0 -25
  443. data/ext/iup-win32/include/iupcells.h +0 -130
  444. data/ext/iup-win32/include/iupcolorbar.h +0 -126
  445. data/ext/iup-win32/include/iupcontrols.h +0 -36
  446. data/ext/iup-win32/include/iupdial.h +0 -63
  447. data/ext/iup-win32/include/iupgauge.h +0 -57
  448. data/ext/iup-win32/include/iupgetparam.h +0 -27
  449. data/ext/iup-win32/include/iupmatrix.h +0 -63
  450. data/ext/iup-win32/include/iupspin.h +0 -21
  451. data/ext/iup-win32/include/iuptabs.h +0 -75
  452. data/ext/iup-win32/include/iuptree.h +0 -93
  453. data/ext/iup-win32/include/iupval.h +0 -46
  454. data/ext/iup-win32/iup.dll +0 -0
  455. data/ext/iup-win32/iup.lib +0 -0
  456. data/ext/iup-win32/iup_pplot.dll +0 -0
  457. data/ext/iup-win32/iup_pplot.lib +0 -0
  458. data/ext/iup-win32/iupcd.dll +0 -0
  459. data/ext/iup-win32/iupcd.lib +0 -0
  460. data/ext/iup-win32/iupcontrols.dll +0 -0
  461. data/ext/iup-win32/iupcontrols.lib +0 -0
  462. data/ext/iup-win32/iupgl.dll +0 -0
  463. data/ext/iup-win32/iupgl.lib +0 -0
  464. data/ext/iup-win32/iupgtk.dll +0 -0
  465. data/ext/iup-win32/iupgtk.lib +0 -0
  466. data/ext/iup-win32/iupim.dll +0 -0
  467. data/ext/iup-win32/iupim.lib +0 -0
  468. data/ext/iup-win32/iupimglib.lib +0 -0
  469. data/ext/iup-win32/iupole.dll +0 -0
  470. data/ext/iup-win32/iupole.lib +0 -0
  471. data/ext/iup-win32/iupstub.lib +0 -0
  472. data/ext/iup-win32/pdflib.dll +0 -0
  473. data/ext/iup-win32/pdflib.lib +0 -0
  474. data/ext/mkrf_conf.rb +0 -72
  475. data/ext/rb_iupcompat.h +0 -237
  476. data/ext/rb_iupdef.h +0 -3
  477. data/ext/rb_iupmask.h +0 -189
  478. data/lib/README +0 -1
@@ -1,61 +1,56 @@
1
- /** \file
2
- * \brief HSI Color Manipulation
3
- *
4
- * See Copyright Notice in im_lib.h
5
- */
6
-
7
- #ifndef __IM_COLORHSI_H
8
- #define __IM_COLORHSI_H
9
-
10
- #if defined(__cplusplus)
11
- extern "C" {
12
- #endif
13
-
14
-
15
- /** \defgroup hsi HSI Color Coordinate System Conversions
16
- *
17
- * \par
18
- * HSI is just the RGB color space written in a different coordinate system.
19
- * \par
20
- * "I" is defined along the cube diagonal. It ranges from 0 (black) to 1 (white). \n
21
- * HS are the polar coordinates of a plane normal to "I". \n
22
- * "S" is the normal distance from the diagonal of the RGB cube. It ranges from 0 to Smax. \n
23
- * "H" is the angle starting from the red vector, given in degrees.
24
- * \par
25
- * This is not a new color space, this is exactly the same gammut as RGB. \n
26
- * Since it is still a cube, Smax depends on H.
27
- * \par
28
- * See \ref im_colorhsi.h
29
- * \ingroup color */
30
-
31
-
32
- /** Returns the maximum S for H (here in radians) and I.
33
- * \ingroup hsi */
34
- float imColorHSI_Smax(float h, double cosh, double sinh, float i);
35
-
36
- /** Returns I where S is maximum given H (here in radians).
37
- * \ingroup hsi */
38
- float imColorHSI_ImaxS(float h, double cosh, double sinh);
39
-
40
- /** Converts from RGB to HSI.
41
- * \ingroup hsi */
42
- void imColorRGB2HSI(float r, float g, float b, float *h, float *s, float *i);
43
-
44
- /** Converts from RGB (byte) to HSI.
45
- * \ingroup hsi */
46
- void imColorRGB2HSIbyte(unsigned char r, unsigned char g, unsigned char b, float *h, float *s, float *i);
47
-
48
- /** Converts from HSI to RGB.
49
- * \ingroup hsi */
50
- void imColorHSI2RGB(float h, float s, float i, float *r, float *g, float *b);
51
-
52
- /** Converts from HSI to RGB (byte).
53
- * \ingroup hsi */
54
- void imColorHSI2RGBbyte(float h, float s, float i, unsigned char *r, unsigned char *g, unsigned char *b);
55
-
56
-
57
- #if defined(__cplusplus)
58
- }
59
- #endif
60
-
61
- #endif
1
+ /** \file
2
+ * \brief HSI Color Manipulation
3
+ *
4
+ * See Copyright Notice in im_lib.h
5
+ */
6
+
7
+ #ifndef __IM_COLORHSI_H
8
+ #define __IM_COLORHSI_H
9
+
10
+ #if defined(__cplusplus)
11
+ extern "C" {
12
+ #endif
13
+
14
+
15
+ /** \defgroup hsi HSI Color Coordinate System Conversions
16
+ *
17
+ * \par
18
+ * HSI is just the RGB color space written in a different coordinate system.
19
+ * \par
20
+ * "I" is defined along the cube diagonal. It ranges from 0 (black) to 1 (white). \n
21
+ * HS are the polar coordinates of a plane normal to "I". \n
22
+ * "S" is the normal distance from the diagonal of the RGB cube. It ranges from 0 to 1. \n
23
+ * "H" is the angle starting from the red vector, given in degrees.
24
+ * \par
25
+ * This is not a new color space, this is exactly the same gammut as RGB. \n
26
+ * \par
27
+ * See \ref im_colorhsi.h
28
+ * \ingroup color */
29
+
30
+
31
+ /** Returns I where S is maximum given H (here in radians).
32
+ * \ingroup hsi */
33
+ float imColorHSI_ImaxS(float h, double cosh, double sinh);
34
+
35
+ /** Converts from RGB to HSI.
36
+ * \ingroup hsi */
37
+ void imColorRGB2HSI(float r, float g, float b, float *h, float *s, float *i);
38
+
39
+ /** Converts from RGB (byte) to HSI.
40
+ * \ingroup hsi */
41
+ void imColorRGB2HSIbyte(unsigned char r, unsigned char g, unsigned char b, float *h, float *s, float *i);
42
+
43
+ /** Converts from HSI to RGB.
44
+ * \ingroup hsi */
45
+ void imColorHSI2RGB(float h, float s, float i, float *r, float *g, float *b);
46
+
47
+ /** Converts from HSI to RGB (byte).
48
+ * \ingroup hsi */
49
+ void imColorHSI2RGBbyte(float h, float s, float i, unsigned char *r, unsigned char *g, unsigned char *b);
50
+
51
+
52
+ #if defined(__cplusplus)
53
+ }
54
+ #endif
55
+
56
+ #endif
@@ -1,160 +1,180 @@
1
- /** \file
2
- * \brief Complex Data Type.
3
- *
4
- * See Copyright Notice in im_lib.h
5
- */
6
-
7
- #ifndef __IM_COMPLEX_H
8
- #define __IM_COMPLEX_H
9
-
10
- #include "im_math.h"
11
-
12
- /** \defgroup cpx Complex Numbers
13
- * \par
14
- * See \ref im_complex.h
15
- * \ingroup util
16
- */
17
-
18
- /** \brief Complex Float Data Type
19
- *
20
- * \par
21
- * Complex class using two floats, one for real part, one for the imaginary part.
22
- * \par
23
- * It is not a complete complex class, we just implement constructors inside the class.
24
- * All the other operators and functions are external to the class.
25
- * \ingroup cpx */
26
- class imcfloat
27
- {
28
- public:
29
- float real; ///< Real part.
30
- float imag; ///< Imaginary part.
31
-
32
- /// Default Constructor (0,0).
33
- imcfloat():real(0), imag(0) {}
34
-
35
- /// Constructor from (real, imag)
36
- imcfloat(const float& r, const float& i):real(r),imag(i) {}
37
-
38
- /// Constructor from (real)
39
- imcfloat(const float& r):real(r),imag(0) {}
40
- };
41
-
42
- /** \addtogroup cpx
43
- * Complex numbers operators.
44
- * @{
45
- */
46
-
47
- inline int operator <= (const imcfloat& C1, const imcfloat& C2)
48
- {
49
- return ((C1.real <= C2.real) && (C1.imag <= C2.imag));
50
- }
51
-
52
- inline int operator <= (const imcfloat& C, const float& F)
53
- {
54
- return ((F <= C.real) && (0 <= C.imag));
55
- }
56
-
57
- inline imcfloat operator + (const imcfloat& C1, const imcfloat& C2)
58
- {
59
- return imcfloat(C1.real + C2.real, C1.imag + C2.imag);
60
- }
61
-
62
- inline imcfloat operator += (const imcfloat& C1, const imcfloat& C2)
63
- {
64
- return imcfloat(C1.real + C2.real, C1.imag + C2.imag);
65
- }
66
-
67
- inline imcfloat operator - (const imcfloat& C1, const imcfloat& C2)
68
- {
69
- return imcfloat(C1.real - C2.real, C1.imag - C2.imag);
70
- }
71
-
72
- inline imcfloat operator * (const imcfloat& C1, const imcfloat& C2)
73
- {
74
- return imcfloat(C1.real * C2.real - C1.imag * C2.imag,
75
- C1.imag * C2.real + C1.real * C2.imag);
76
- }
77
-
78
- inline imcfloat operator / (const imcfloat& C1, const imcfloat& C2)
79
- {
80
- float den = C2.real * C2.real - C2.imag * C2.imag;
81
- return imcfloat((C1.real * C2.real + C1.imag * C2.imag) / den,
82
- (C1.imag * C2.real - C1.real * C2.imag) / den);
83
- }
84
-
85
- inline imcfloat operator / (const imcfloat& C, const float& R)
86
- {
87
- return imcfloat(C.real / R, C.imag / R);
88
- }
89
-
90
- inline imcfloat operator /= (const imcfloat& C, const float& R)
91
- {
92
- return imcfloat(C.real / R, C.imag / R);
93
- }
94
-
95
- inline imcfloat operator * (const imcfloat& C, const float& R)
96
- {
97
- return imcfloat(C.real * R, C.imag * R);
98
- }
99
-
100
- inline int operator == (const imcfloat& C1, const imcfloat& C2)
101
- {
102
- return ((C1.real == C2.real) && (C1.imag == C2.imag));
103
- }
104
-
105
- inline float cpxreal(const imcfloat& C)
106
- {
107
- return C.real;
108
- }
109
-
110
- inline float cpximag(const imcfloat& C)
111
- {
112
- return C.imag;
113
- }
114
-
115
- inline float cpxmag(const imcfloat& C)
116
- {
117
- return sqrtf(C.real*C.real + C.imag*C.imag);
118
- }
119
-
120
- inline float cpxphase(const imcfloat& C)
121
- {
122
- return atan2f(C.real, C.imag);
123
- }
124
-
125
- inline imcfloat cpxconj(const imcfloat& C)
126
- {
127
- return imcfloat(C.real, -C.imag);
128
- }
129
-
130
- inline imcfloat log(const imcfloat& C)
131
- {
132
- return imcfloat(logf(cpxmag(C)), atan2f(C.real, C.imag));
133
- }
134
-
135
- inline imcfloat exp(const imcfloat& C)
136
- {
137
- float mag = expf(C.real);
138
- return imcfloat(mag * cosf(C.imag), mag * sinf(C.imag));
139
- }
140
-
141
- inline imcfloat pow(const imcfloat& C1, const imcfloat& C2)
142
- {
143
- return exp(C1 * log(C2));
144
- }
145
-
146
- inline imcfloat sqrt(const imcfloat& C)
147
- {
148
- float mag = sqrtf(sqrtf(C.real*C.real + C.imag*C.imag));
149
- float phase = atan2f(C.real, C.imag) / 2;
150
- return imcfloat(mag * cosf(phase), mag * sinf(phase));
151
- }
152
-
153
- inline imcfloat cpxpolar(const float& mag, const float& phase)
154
- {
155
- return imcfloat(mag * cosf(phase), mag * sinf(phase));
156
- }
157
-
158
- /** @} */
159
-
160
- #endif
1
+ /** \file
2
+ * \brief Complex Data Type.
3
+ *
4
+ * See Copyright Notice in im_lib.h
5
+ */
6
+
7
+ #ifndef __IM_COMPLEX_H
8
+ #define __IM_COMPLEX_H
9
+
10
+ #include "im_math.h"
11
+
12
+ /** \defgroup cpx Complex Numbers
13
+ * \par
14
+ * See \ref im_complex.h
15
+ * \ingroup util
16
+ */
17
+
18
+ /** \brief Complex Float Data Type
19
+ *
20
+ * \par
21
+ * Complex class using two floats, one for real part, one for the imaginary part.
22
+ * \par
23
+ * It is not a complete complex class, we just implement constructors inside the class.
24
+ * All the other operators and functions are external to the class.
25
+ * \ingroup cpx */
26
+ class imcfloat
27
+ {
28
+ public:
29
+ float real; ///< Real part.
30
+ float imag; ///< Imaginary part.
31
+
32
+ /// Default Constructor (0,0).
33
+ imcfloat():real(0), imag(0) {}
34
+
35
+ /// Constructor from (real, imag)
36
+ imcfloat(const float& r, const float& i):real(r),imag(i) {}
37
+
38
+ /// Constructor from (real)
39
+ imcfloat(const float& r):real(r),imag(0) {}
40
+ };
41
+
42
+ /** \addtogroup cpx
43
+ * Complex numbers operators.
44
+ * @{
45
+ */
46
+
47
+ inline int operator <= (const imcfloat& C1, const imcfloat& C2)
48
+ {
49
+ return ((C1.real <= C2.real) && (C1.imag <= C2.imag));
50
+ }
51
+
52
+ inline int operator <= (const imcfloat& C, const float& F)
53
+ {
54
+ return ((F <= C.real) && (0 <= C.imag));
55
+ }
56
+
57
+ inline int operator < (const imcfloat& C1, const imcfloat& C2)
58
+ {
59
+ return ((C1.real < C2.real) && (C1.imag < C2.imag));
60
+ }
61
+
62
+ inline int operator < (const imcfloat& C, const float& F)
63
+ {
64
+ return ((F < C.real) && (0 < C.imag));
65
+ }
66
+
67
+ inline int operator > (const imcfloat& C1, const imcfloat& C2)
68
+ {
69
+ return ((C1.real > C2.real) && (C1.imag > C2.imag));
70
+ }
71
+
72
+ inline int operator > (const imcfloat& C, const float& F)
73
+ {
74
+ return ((F > C.real) && (0 > C.imag));
75
+ }
76
+
77
+ inline imcfloat operator + (const imcfloat& C1, const imcfloat& C2)
78
+ {
79
+ return imcfloat(C1.real + C2.real, C1.imag + C2.imag);
80
+ }
81
+
82
+ inline imcfloat operator += (const imcfloat& C1, const imcfloat& C2)
83
+ {
84
+ return imcfloat(C1.real + C2.real, C1.imag + C2.imag);
85
+ }
86
+
87
+ inline imcfloat operator - (const imcfloat& C1, const imcfloat& C2)
88
+ {
89
+ return imcfloat(C1.real - C2.real, C1.imag - C2.imag);
90
+ }
91
+
92
+ inline imcfloat operator * (const imcfloat& C1, const imcfloat& C2)
93
+ {
94
+ return imcfloat(C1.real * C2.real - C1.imag * C2.imag,
95
+ C1.imag * C2.real + C1.real * C2.imag);
96
+ }
97
+
98
+ inline imcfloat operator / (const imcfloat& C1, const imcfloat& C2)
99
+ {
100
+ float den = C2.real * C2.real - C2.imag * C2.imag;
101
+ return imcfloat((C1.real * C2.real + C1.imag * C2.imag) / den,
102
+ (C1.imag * C2.real - C1.real * C2.imag) / den);
103
+ }
104
+
105
+ inline imcfloat operator / (const imcfloat& C, const float& R)
106
+ {
107
+ return imcfloat(C.real / R, C.imag / R);
108
+ }
109
+
110
+ inline imcfloat operator /= (const imcfloat& C, const float& R)
111
+ {
112
+ return imcfloat(C.real / R, C.imag / R);
113
+ }
114
+
115
+ inline imcfloat operator * (const imcfloat& C, const float& R)
116
+ {
117
+ return imcfloat(C.real * R, C.imag * R);
118
+ }
119
+
120
+ inline int operator == (const imcfloat& C1, const imcfloat& C2)
121
+ {
122
+ return ((C1.real == C2.real) && (C1.imag == C2.imag));
123
+ }
124
+
125
+ inline float cpxreal(const imcfloat& C)
126
+ {
127
+ return C.real;
128
+ }
129
+
130
+ inline float cpximag(const imcfloat& C)
131
+ {
132
+ return C.imag;
133
+ }
134
+
135
+ inline float cpxmag(const imcfloat& C)
136
+ {
137
+ return sqrtf(C.real*C.real + C.imag*C.imag);
138
+ }
139
+
140
+ inline float cpxphase(const imcfloat& C)
141
+ {
142
+ return atan2f(C.real, C.imag);
143
+ }
144
+
145
+ inline imcfloat cpxconj(const imcfloat& C)
146
+ {
147
+ return imcfloat(C.real, -C.imag);
148
+ }
149
+
150
+ inline imcfloat log(const imcfloat& C)
151
+ {
152
+ return imcfloat(logf(cpxmag(C)), atan2f(C.real, C.imag));
153
+ }
154
+
155
+ inline imcfloat exp(const imcfloat& C)
156
+ {
157
+ float mag = expf(C.real);
158
+ return imcfloat(mag * cosf(C.imag), mag * sinf(C.imag));
159
+ }
160
+
161
+ inline imcfloat pow(const imcfloat& C1, const imcfloat& C2)
162
+ {
163
+ return exp(C1 * log(C2));
164
+ }
165
+
166
+ inline imcfloat sqrt(const imcfloat& C)
167
+ {
168
+ float mag = sqrtf(sqrtf(C.real*C.real + C.imag*C.imag));
169
+ float phase = atan2f(C.real, C.imag) / 2;
170
+ return imcfloat(mag * cosf(phase), mag * sinf(phase));
171
+ }
172
+
173
+ inline imcfloat cpxpolar(const float& mag, const float& phase)
174
+ {
175
+ return imcfloat(mag * cosf(phase), mag * sinf(phase));
176
+ }
177
+
178
+ /** @} */
179
+
180
+ #endif