00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <stdio.h>
00023 #include <stdlib.h>
00024 #include <string.h>
00025 #include <flgrCoreData.h>
00026 #include <flgrCoreCopy.h>
00027 #include <flgrCoreMalloc.h>
00028 #include <flgrCoreNhbManage.h>
00029 #include <flgrCoreDispatch.h>
00030 #include <flgrCoreTypes.h>
00031 #include "flgrMorphoGolay.h"
00032
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00112
00114 #define GOLAY_SQ_L_0(VAR) \
00115 VAR[9]={2,2,2, \
00116 0,2,0, \
00117 1,1,1}
00118
00119 #define GOLAY_SQ_L_1(VAR) \
00120 VAR[9]={0,2,0, \
00121 1,2,2, \
00122 1,1,0}
00123
00124 #define GOLAY_SQ_L_2(VAR) \
00125 VAR[9]={1,0,2, \
00126 1,2,2, \
00127 1,0,2}
00128
00129 #define GOLAY_SQ_L_3(VAR) \
00130 VAR[9]={1,1,0, \
00131 1,2,2, \
00132 0,2,0}
00133
00134 #define GOLAY_SQ_L_4(VAR) \
00135 VAR[9]={1,1,1, \
00136 0,2,0, \
00137 2,2,2}
00138
00139 #define GOLAY_SQ_L_5(VAR) \
00140 VAR[9]={0,1,1, \
00141 2,2,1, \
00142 0,2,0}
00143
00144 #define GOLAY_SQ_L_6(VAR) \
00145 VAR[9]={2,0,1, \
00146 2,2,1, \
00147 2,0,1}
00148
00149 #define GOLAY_SQ_L_7(VAR) \
00150 VAR[9]={0,2,0, \
00151 2,2,1, \
00152 0,1,1}
00153
00154
00156
00158 #define GOLAY_SQ_M_0(VAR) \
00159 VAR[9]={2,2,2, \
00160 0,2,0, \
00161 0,1,0}
00162
00163 #define GOLAY_SQ_M_1(VAR) \
00164 VAR[9]={0,2,0, \
00165 0,2,2, \
00166 1,0,0}
00167
00168 #define GOLAY_SQ_M_2(VAR) \
00169 VAR[9]={0,0,2, \
00170 1,2,2, \
00171 0,0,2}
00172
00173 #define GOLAY_SQ_M_3(VAR) \
00174 VAR[9]={1,0,0, \
00175 0,2,2, \
00176 0,2,0}
00177
00178 #define GOLAY_SQ_M_4(VAR) \
00179 VAR[9]={0,1,0, \
00180 0,2,0, \
00181 2,2,2}
00182
00183 #define GOLAY_SQ_M_5(VAR) \
00184 VAR[9]={0,0,1, \
00185 2,2,0, \
00186 0,2,0}
00187
00188 #define GOLAY_SQ_M_6(VAR) \
00189 VAR[9]={2,0,0, \
00190 2,2,1, \
00191 2,0,0}
00192
00193 #define GOLAY_SQ_M_7(VAR) \
00194 VAR[9]={0,2,0, \
00195 2,2,0, \
00196 0,0,1}
00197
00199
00201 #define GOLAY_SQ_C_0(VAR) \
00202 VAR[9]={2,0,0, \
00203 2,1,0, \
00204 2,0,0}
00205
00206 #define GOLAY_SQ_C_1(VAR) \
00207 VAR[9]={0,2,0, \
00208 2,1,0, \
00209 0,0,0}
00210
00211 #define GOLAY_SQ_C_2(VAR) \
00212 VAR[9]={2,2,2, \
00213 0,1,0, \
00214 0,0,0}
00215
00216 #define GOLAY_SQ_C_3(VAR) \
00217 VAR[9]={0,2,0, \
00218 0,1,2, \
00219 0,0,0}
00220
00221 #define GOLAY_SQ_C_4(VAR) \
00222 VAR[9]={0,0,2, \
00223 0,1,2, \
00224 0,0,2}
00225
00226 #define GOLAY_SQ_C_5(VAR) \
00227 VAR[9]={0,0,0, \
00228 0,1,2, \
00229 0,2,0}
00230
00231 #define GOLAY_SQ_C_6(VAR) \
00232 VAR[9]={0,0,0, \
00233 0,1,0, \
00234 2,2,2}
00235
00236 #define GOLAY_SQ_C_7(VAR) \
00237 VAR[9]={0,0,0, \
00238 2,1,0, \
00239 0,2,0}
00240
00242
00244 #define GOLAY_SQ_E_0(VAR) \
00245 VAR[9]={0,2,0, \
00246 1,2,1, \
00247 1,1,1}
00248
00249 #define GOLAY_SQ_E_1(VAR) \
00250 VAR[9]={1,0,0, \
00251 1,2,1, \
00252 1,1,1}
00253
00254 #define GOLAY_SQ_E_2(VAR) \
00255 VAR[9]={1,1,0, \
00256 1,2,2, \
00257 1,1,0}
00258
00259 #define GOLAY_SQ_E_3(VAR) \
00260 VAR[9]={1,1,1, \
00261 1,2,0, \
00262 1,1,0}
00263
00264 #define GOLAY_SQ_E_4(VAR) \
00265 VAR[9]={1,1,1, \
00266 1,2,1, \
00267 0,2,0}
00268
00269 #define GOLAY_SQ_E_5(VAR) \
00270 VAR[9]={1,1,1, \
00271 1,2,1, \
00272 0,0,1}
00273
00274 #define GOLAY_SQ_E_6(VAR) \
00275 VAR[9]={0,1,1, \
00276 2,2,1, \
00277 0,1,1}
00278
00279 #define GOLAY_SQ_E_7(VAR) \
00280 VAR[9]={0,1,1, \
00281 0,2,1, \
00282 1,1,1}
00283
00284
00286
00288 #define GOLAY_SQ_F_0(VAR) \
00289 VAR[9]={1,1,2, \
00290 2,2,1, \
00291 1,2,1}
00292
00293 #define GOLAY_SQ_F_1(VAR) \
00294 VAR[9]={2,1,1, \
00295 1,2,2, \
00296 2,1,1}
00297
00298 #define GOLAY_SQ_F_2(VAR) \
00299 VAR[9]={1,2,1, \
00300 2,2,1, \
00301 1,1,2}
00302
00303 #define GOLAY_SQ_F_3(VAR) \
00304 VAR[9]={2,1,2, \
00305 1,2,1, \
00306 1,2,1}
00307
00308 #define GOLAY_SQ_F_4(VAR) \
00309 VAR[9]={1,2,1, \
00310 1,2,2, \
00311 2,1,1}
00312
00313 #define GOLAY_SQ_F_5(VAR) \
00314 VAR[9]={1,1,2, \
00315 2,2,1, \
00316 1,1,2}
00317
00318 #define GOLAY_SQ_F_6(VAR) \
00319 VAR[9]={2,1,1, \
00320 1,2,2, \
00321 1,2,1}
00322
00323 #define GOLAY_SQ_F_7(VAR) \
00324 VAR[9]={1,2,1, \
00325 1,2,1, \
00326 2,1,2}
00327
00329
00331 #define GOLAY_SQ_F2_0(VAR) \
00332 VAR[9]={2,2,2, \
00333 1,2,1, \
00334 1,1,1}
00335
00336 #define GOLAY_SQ_F2_1(VAR) \
00337 VAR[9]={1,2,0, \
00338 1,2,2, \
00339 1,1,1}
00340
00341 #define GOLAY_SQ_F2_2(VAR) \
00342 VAR[9]={1,1,2, \
00343 1,2,2, \
00344 1,1,2}
00345
00346 #define GOLAY_SQ_F2_3(VAR) \
00347 VAR[9]={1,1,1, \
00348 1,2,2, \
00349 1,2,0}
00350
00351 #define GOLAY_SQ_F2_4(VAR) \
00352 VAR[9]={1,1,1, \
00353 1,2,1, \
00354 2,2,2}
00355
00356 #define GOLAY_SQ_F2_5(VAR) \
00357 VAR[9]={1,1,1, \
00358 2,2,1, \
00359 0,2,1}
00360
00361 #define GOLAY_SQ_F2_6(VAR) \
00362 VAR[9]={2,1,1, \
00363 2,2,1, \
00364 2,1,1}
00365
00366 #define GOLAY_SQ_F2_7(VAR) \
00367 VAR[9]={0,2,1, \
00368 2,2,1, \
00369 1,1,1}
00370
00371
00372
00374
00376 #define GOLAY_SQ_H_0(VAR) \
00377 VAR[9]={2,2,2, \
00378 2,2,2, \
00379 2,2,2}
00380
00381 #define GOLAY_SQ_H_1(VAR) \
00382 VAR[9]={2,2,2, \
00383 2,2,2, \
00384 2,2,2}
00385
00386 #define GOLAY_SQ_H_2(VAR) \
00387 VAR[9]={2,2,2, \
00388 2,2,2, \
00389 2,2,2}
00390
00391 #define GOLAY_SQ_H_3(VAR) \
00392 VAR[9]={2,2,2, \
00393 2,2,2, \
00394 2,2,2}
00395
00396 #define GOLAY_SQ_H_4(VAR) \
00397 VAR[9]={2,2,2, \
00398 2,2,2, \
00399 2,2,2}
00400
00401 #define GOLAY_SQ_H_5(VAR) \
00402 VAR[9]={2,2,2, \
00403 2,2,2, \
00404 2,2,2}
00405
00406 #define GOLAY_SQ_H_6(VAR) \
00407 VAR[9]={2,2,2, \
00408 2,2,2, \
00409 2,2,2}
00410
00411 #define GOLAY_SQ_H_7(VAR) \
00412 VAR[9]={2,2,2, \
00413 2,2,2, \
00414 2,2,2}
00415
00417
00419 #define GOLAY_SQ_I_0(VAR) \
00420 VAR[9]={1,1,1, \
00421 1,2,1, \
00422 1,1,1}
00423
00424 #define GOLAY_SQ_I_1(VAR) \
00425 VAR[9]={1,1,1, \
00426 1,2,1, \
00427 1,1,1}
00428
00429 #define GOLAY_SQ_I_2(VAR) \
00430 VAR[9]={1,1,1, \
00431 1,2,1, \
00432 1,1,1}
00433
00434 #define GOLAY_SQ_I_3(VAR) \
00435 VAR[9]={1,1,1, \
00436 1,2,1, \
00437 1,1,1}
00438
00439 #define GOLAY_SQ_I_4(VAR) \
00440 VAR[9]={1,1,1, \
00441 1,2,1, \
00442 1,1,1}
00443
00444 #define GOLAY_SQ_I_5(VAR) \
00445 VAR[9]={1,1,1, \
00446 1,2,1, \
00447 1,1,1}
00448
00449 #define GOLAY_SQ_I_6(VAR) \
00450 VAR[9]={1,1,1, \
00451 1,2,1, \
00452 1,1,1}
00453
00454 #define GOLAY_SQ_I_7(VAR) \
00455 VAR[9]={1,1,1, \
00456 1,2,1, \
00457 1,1,1}
00458
00459
00460
00461
00462
00463
00464
00465
00466
00467
00468
00469
00470
00471
00472
00474
00476 #define GOLAY_HEX_L_0(VAR) \
00477 VAR[9]= { 0, 1,1, \
00478 0,2,0, \
00479 0, 2,2}
00480
00481 #define GOLAY_HEX_L_1(VAR) \
00482 VAR[9]= { 0, 0,1, \
00483 2,2,1, \
00484 0, 2,0}
00485
00486 #define GOLAY_HEX_L_2(VAR) \
00487 VAR[9]= { 0, 2,0, \
00488 2,2,1, \
00489 0, 0,1}
00490
00491 #define GOLAY_HEX_L_3(VAR) \
00492 VAR[9]= { 0, 2,2, \
00493 0,2,0, \
00494 0, 1,1}
00495
00496 #define GOLAY_HEX_L_4(VAR) \
00497 VAR[9]= { 0, 0,2, \
00498 1,2,2, \
00499 0, 1,0}
00500
00501 #define GOLAY_HEX_L_5(VAR) \
00502 VAR[9]= { 0, 1,0, \
00503 1,2,2, \
00504 0, 0,2}
00505
00507
00509 #define GOLAY_HEX_M_0(VAR) \
00510 VAR[9]= { 0, 2,0, \
00511 2,2,1, \
00512 0, 2,0}
00513
00514 #define GOLAY_HEX_M_1(VAR) \
00515 VAR[9]= { 0, 2,2, \
00516 2,2,0, \
00517 0, 0,1}
00518
00519 #define GOLAY_HEX_M_2(VAR) \
00520 VAR[9]= { 0, 2,2, \
00521 0,2,2, \
00522 0, 1,0}
00523
00524 #define GOLAY_HEX_M_3(VAR) \
00525 VAR[9]= { 0, 0,2, \
00526 1,2,2, \
00527 0, 0,2}
00528
00529 #define GOLAY_HEX_M_4(VAR) \
00530 VAR[9]= { 0, 1,0, \
00531 0,2,2, \
00532 0, 2,2}
00533
00534 #define GOLAY_HEX_M_5(VAR) \
00535 VAR[9] ={ 0, 0,1, \
00536 2,2,0, \
00537 0, 2,2}
00538
00540
00542 #define GOLAY_HEX_D_0(VAR) \
00543 VAR[9]= { 0, 1,0, \
00544 1,2,2, \
00545 0, 1,0}
00546
00547 #define GOLAY_HEX_D_1(VAR) \
00548 VAR[9]= { 0, 1,1, \
00549 1,2,0, \
00550 0, 0,2}
00551
00552 #define GOLAY_HEX_D_2(VAR) \
00553 VAR[9]= { 0, 1,1, \
00554 0,2,1, \
00555 0, 2,0}
00556
00557 #define GOLAY_HEX_D_3(VAR) \
00558 VAR[9]= { 0, 0,1, \
00559 2,2,1, \
00560 0, 0,1}
00561
00562 #define GOLAY_HEX_D_4(VAR) \
00563 VAR[9]= { 0, 2,0, \
00564 0,2,1, \
00565 0, 1,1}
00566
00567 #define GOLAY_HEX_D_5(VAR) \
00568 VAR[9] ={ 0, 1,2, \
00569 1,2,0, \
00570 0, 1,0}
00571
00572
00574
00576 #define GOLAY_HEX_C_0(VAR) \
00577 VAR[9]= { 0, 2,0, \
00578 2,1,0, \
00579 0, 2,0}
00580
00581 #define GOLAY_HEX_C_1(VAR) \
00582 VAR[9]= { 0, 2,2, \
00583 2,1,0, \
00584 0, 0,0}
00585
00586 #define GOLAY_HEX_C_2(VAR) \
00587 VAR[9]= { 0, 2,2, \
00588 0,1,2, \
00589 0, 0,0}
00590
00591 #define GOLAY_HEX_C_3(VAR) \
00592 VAR[9]= { 0, 0,2, \
00593 0,1,2, \
00594 0, 0,2}
00595
00596 #define GOLAY_HEX_C_4(VAR) \
00597 VAR[9]= { 0, 0,0, \
00598 0,1,2, \
00599 0, 2,2}
00600
00601 #define GOLAY_HEX_C_5(VAR) \
00602 VAR[9] ={ 0, 0,0, \
00603 2,1,0, \
00604 0, 2,2}
00605
00607
00609 #define GOLAY_HEX_E_0(VAR) \
00610 VAR[9]= { 0, 0,0, \
00611 1,2,1, \
00612 0, 1,1}
00613
00614 #define GOLAY_HEX_E_1(VAR) \
00615 VAR[9]= { 0, 1,0, \
00616 1,2,0, \
00617 0, 1,1}
00618
00619 #define GOLAY_HEX_E_2(VAR) \
00620 VAR[9]= { 0, 1,1, \
00621 1,2,0, \
00622 0, 1,0}
00623
00624 #define GOLAY_HEX_E_3(VAR) \
00625 VAR[9]= { 0, 1,1, \
00626 1,2,1, \
00627 0, 0,0}
00628
00629 #define GOLAY_HEX_E_4(VAR) \
00630 VAR[9]= { 0, 1,1, \
00631 0,2,1, \
00632 0, 0,1}
00633
00634 #define GOLAY_HEX_E_5(VAR) \
00635 VAR[9] ={ 0, 0,1, \
00636 0,2,1, \
00637 0, 1,1}
00638
00640
00642 #define GOLAY_HEX_F_0(VAR) \
00643 VAR[9]= { 0, 2,1, \
00644 1,2,2, \
00645 0, 2,1}
00646
00647 #define GOLAY_HEX_F_1(VAR) \
00648 VAR[9]= { 0, 1,2, \
00649 2,2,1, \
00650 0, 1,2}
00651
00652 #define GOLAY_HEX_F_2(VAR) \
00653 VAR[9]= { 0, 2,1, \
00654 1,2,2, \
00655 0, 2,1}
00656
00657 #define GOLAY_HEX_F_3(VAR) \
00658 VAR[9]= { 0, 1,2, \
00659 2,2,1, \
00660 0, 1,2}
00661
00662 #define GOLAY_HEX_F_4(VAR) \
00663 VAR[9]= { 0, 2,1, \
00664 1,2,2, \
00665 0, 2,1}
00666
00667 #define GOLAY_HEX_F_5(VAR) \
00668 VAR[9]= { 0, 1,2, \
00669 2,2,1, \
00670 0, 1,2}
00671
00672
00673
00675
00677 #define GOLAY_HEX_F2_0(VAR) \
00678 VAR[9]= { 0, 2,1, \
00679 2,2,1, \
00680 0, 1,1}
00681
00682 #define GOLAY_HEX_F2_1(VAR) \
00683 VAR[9]= { 0, 2,2, \
00684 1,2,1, \
00685 0, 1,1}
00686
00687 #define GOLAY_HEX_F2_2(VAR) \
00688 VAR[9]= { 0, 1,2, \
00689 1,2,2, \
00690 0, 1,1}
00691
00692 #define GOLAY_HEX_F2_3(VAR) \
00693 VAR[9]= { 0, 1,1, \
00694 1,2,2, \
00695 0, 1,2}
00696
00697 #define GOLAY_HEX_F2_4(VAR) \
00698 VAR[9]= { 0, 1,1, \
00699 1,2,1, \
00700 0, 2,2}
00701
00702 #define GOLAY_HEX_F2_5(VAR) \
00703 VAR[9] ={ 0, 1,1, \
00704 2,2,1, \
00705 0, 2,1}
00706
00708
00710 #define GOLAY_HEX_H_0(VAR) \
00711 VAR[9]= { 0, 2,2, \
00712 2,2,2, \
00713 0, 2,2}
00714
00715 #define GOLAY_HEX_H_1(VAR) \
00716 VAR[9]= { 0, 2,2, \
00717 2,2,2, \
00718 0, 2,2}
00719
00720 #define GOLAY_HEX_H_2(VAR) \
00721 VAR[9]= { 0, 2,2, \
00722 2,2,2, \
00723 0, 2,2}
00724
00725 #define GOLAY_HEX_H_3(VAR) \
00726 VAR[9]= { 0, 2,2, \
00727 2,2,2, \
00728 0, 2,2}
00729
00730 #define GOLAY_HEX_H_4(VAR) \
00731 VAR[9]= { 0, 2,2, \
00732 2,2,2, \
00733 0, 2,2}
00734
00735 #define GOLAY_HEX_H_5(VAR) \
00736 VAR[9] ={ 0, 2,2, \
00737 2,2,2, \
00738 0, 2,2}
00739
00741
00743 #define GOLAY_HEX_I_0(VAR) \
00744 VAR[9]= { 0, 1,1, \
00745 1,2,1, \
00746 0, 1,1}
00747
00748 #define GOLAY_HEX_I_1(VAR) \
00749 VAR[9]= { 0, 1,1, \
00750 1,2,1, \
00751 0, 1,1}
00752
00753 #define GOLAY_HEX_I_2(VAR) \
00754 VAR[9]= { 0, 1,1, \
00755 1,2,1, \
00756 0, 1,1}
00757
00758 #define GOLAY_HEX_I_3(VAR) \
00759 VAR[9]= { 0, 1,1, \
00760 1,2,1, \
00761 0, 1,1}
00762
00763 #define GOLAY_HEX_I_4(VAR) \
00764 VAR[9]= { 0, 1,1, \
00765 1,2,1, \
00766 0, 1,1}
00767
00768 #define GOLAY_HEX_I_5(VAR) \
00769 VAR[9] ={ 0, 1,1, \
00770 1,2,1, \
00771 0, 1,1}
00772
00773
00776 #define setSqNhb(dtype,letter) \
00777 dtype GOLAY_SQ_##letter##_0(letter0); \
00778 dtype GOLAY_SQ_##letter##_1(letter1); \
00779 dtype GOLAY_SQ_##letter##_2(letter2); \
00780 dtype GOLAY_SQ_##letter##_3(letter3); \
00781 dtype GOLAY_SQ_##letter##_4(letter4); \
00782 dtype GOLAY_SQ_##letter##_5(letter5); \
00783 dtype GOLAY_SQ_##letter##_6(letter6); \
00784 dtype GOLAY_SQ_##letter##_7(letter7); \
00785 \
00786 int i; \
00787 \
00788 gl->se = (FLGR_Data2D**) flgr_malloc(sizeof(FLGR_Data2D*)*8); \
00789 gl->nbse = 8; \
00790 \
00791 for(i=0 ; i<8 ; i++) { \
00792 gl->se[i] = flgr2d_create_##dtype(3,3,1,FLGR_USER_SHAPE, \
00793 FLGR_8_CONNEX); \
00794 } \
00795 \
00796 flgr2d_import_raw_##dtype(gl->se[0],letter0); \
00797 flgr2d_import_raw_##dtype(gl->se[1],letter1); \
00798 flgr2d_import_raw_##dtype(gl->se[2],letter2); \
00799 flgr2d_import_raw_##dtype(gl->se[3],letter3); \
00800 flgr2d_import_raw_##dtype(gl->se[4],letter4); \
00801 flgr2d_import_raw_##dtype(gl->se[5],letter5); \
00802 flgr2d_import_raw_##dtype(gl->se[6],letter6); \
00803 flgr2d_import_raw_##dtype(gl->se[7],letter7); \
00804 \
00805 return
00806
00809 #define setHexNhb(dtype,letter) \
00810 dtype GOLAY_HEX_##letter##_0(letter0); \
00811 dtype GOLAY_HEX_##letter##_1(letter1); \
00812 dtype GOLAY_HEX_##letter##_2(letter2); \
00813 dtype GOLAY_HEX_##letter##_3(letter3); \
00814 dtype GOLAY_HEX_##letter##_4(letter4); \
00815 dtype GOLAY_HEX_##letter##_5(letter5); \
00816 \
00817 int i; \
00818 \
00819 gl->se = (FLGR_Data2D**) flgr_malloc(sizeof(FLGR_Data2D*)*6); \
00820 gl->nbse = 6; \
00821 \
00822 for(i=0 ; i<6 ; i++) { \
00823 gl->se[i] = flgr2d_create_##dtype(3,3,1,FLGR_USER_SHAPE, \
00824 FLGR_6_CONNEX); \
00825 } \
00826 \
00827 flgr2d_import_raw_##dtype(gl->se[0],letter0); \
00828 flgr2d_import_raw_##dtype(gl->se[1],letter1); \
00829 flgr2d_import_raw_##dtype(gl->se[2],letter2); \
00830 flgr2d_import_raw_##dtype(gl->se[3],letter3); \
00831 flgr2d_import_raw_##dtype(gl->se[4],letter4); \
00832 flgr2d_import_raw_##dtype(gl->se[5],letter5); \
00833 \
00834 return
00835
00836
00839 void flgr_fill_square_nhb_golay_L_fgBIT(FLGR_Golay *gl) {
00840 flgr_no_define_type_function(FLGR_BIT);
00841 }
00842 void flgr_fill_square_nhb_golay_L_fgUINT8(FLGR_Golay *gl) {
00843 setSqNhb(fgUINT8,L);
00844 }
00845 void flgr_fill_square_nhb_golay_L_fgUINT16(FLGR_Golay *gl) {
00846 setSqNhb(fgUINT16,L);
00847 }
00848 void flgr_fill_square_nhb_golay_L_fgUINT32(FLGR_Golay *gl) {
00849 setSqNhb(fgUINT32,L);
00850 }
00851 void flgr_fill_square_nhb_golay_L_fgINT8(FLGR_Golay *gl) {
00852 setSqNhb(fgINT8,L);
00853 }
00854 void flgr_fill_square_nhb_golay_L_fgINT16(FLGR_Golay *gl) {
00855 setSqNhb(fgINT16,L);
00856 }
00857 void flgr_fill_square_nhb_golay_L_fgINT32(FLGR_Golay *gl) {
00858 setSqNhb(fgINT32,L);
00859 }
00860 void flgr_fill_square_nhb_golay_L_fgFLOAT32(FLGR_Golay *gl) {
00861 setSqNhb(fgFLOAT32,L);
00862 }
00863 void flgr_fill_square_nhb_golay_L_fgFLOAT64(FLGR_Golay *gl) {
00864 setSqNhb(fgFLOAT64,L);
00865 }
00866
00867
00868 void flgr_fill_hexa_nhb_golay_L_fgBIT(FLGR_Golay *gl) {
00869 flgr_no_define_type_function(FLGR_BIT);
00870 }
00871 void flgr_fill_hexa_nhb_golay_L_fgUINT8(FLGR_Golay *gl) {
00872 setHexNhb(fgUINT8,L);
00873 }
00874 void flgr_fill_hexa_nhb_golay_L_fgUINT16(FLGR_Golay *gl) {
00875 setHexNhb(fgUINT16,L);
00876 }
00877 void flgr_fill_hexa_nhb_golay_L_fgUINT32(FLGR_Golay *gl) {
00878 setHexNhb(fgUINT32,L);
00879 }
00880 void flgr_fill_hexa_nhb_golay_L_fgINT8(FLGR_Golay *gl) {
00881 setHexNhb(fgINT8,L);
00882 }
00883 void flgr_fill_hexa_nhb_golay_L_fgINT16(FLGR_Golay *gl) {
00884 setHexNhb(fgINT16,L);
00885 }
00886 void flgr_fill_hexa_nhb_golay_L_fgINT32(FLGR_Golay *gl) {
00887 setHexNhb(fgINT32,L);
00888 }
00889 void flgr_fill_hexa_nhb_golay_L_fgFLOAT32(FLGR_Golay *gl) {
00890 setHexNhb(fgFLOAT32,L);
00891 }
00892 void flgr_fill_hexa_nhb_golay_L_fgFLOAT64(FLGR_Golay *gl) {
00893 setHexNhb(fgFLOAT64,L);
00894 }
00895
00896
00899 void flgr_fill_square_nhb_golay_M_fgBIT(FLGR_Golay *gl) {
00900 flgr_no_define_type_function(FLGR_BIT);
00901 }
00902 void flgr_fill_square_nhb_golay_M_fgUINT8(FLGR_Golay *gl) {
00903 setSqNhb(fgUINT8,M);
00904 }
00905 void flgr_fill_square_nhb_golay_M_fgUINT16(FLGR_Golay *gl) {
00906 setSqNhb(fgUINT16,M);
00907 }
00908 void flgr_fill_square_nhb_golay_M_fgUINT32(FLGR_Golay *gl) {
00909 setSqNhb(fgUINT32,M);
00910 }
00911 void flgr_fill_square_nhb_golay_M_fgINT8(FLGR_Golay *gl) {
00912 setSqNhb(fgINT8,M);
00913 }
00914 void flgr_fill_square_nhb_golay_M_fgINT16(FLGR_Golay *gl) {
00915 setSqNhb(fgINT16,M);
00916 }
00917 void flgr_fill_square_nhb_golay_M_fgINT32(FLGR_Golay *gl) {
00918 setSqNhb(fgINT32,M);
00919 }
00920 void flgr_fill_square_nhb_golay_M_fgFLOAT32(FLGR_Golay *gl) {
00921 setSqNhb(fgFLOAT32,M);
00922 }
00923 void flgr_fill_square_nhb_golay_M_fgFLOAT64(FLGR_Golay *gl) {
00924 setSqNhb(fgFLOAT64,M);
00925 }
00926
00927
00928 void flgr_fill_hexa_nhb_golay_M_fgBIT(FLGR_Golay *gl) {
00929 flgr_no_define_type_function(FLGR_BIT);
00930 }
00931 void flgr_fill_hexa_nhb_golay_M_fgUINT8(FLGR_Golay *gl) {
00932 setHexNhb(fgUINT8,M);
00933 }
00934 void flgr_fill_hexa_nhb_golay_M_fgUINT16(FLGR_Golay *gl) {
00935 setHexNhb(fgUINT16,M);
00936 }
00937 void flgr_fill_hexa_nhb_golay_M_fgUINT32(FLGR_Golay *gl) {
00938 setHexNhb(fgUINT32,M);
00939 }
00940 void flgr_fill_hexa_nhb_golay_M_fgINT8(FLGR_Golay *gl) {
00941 setHexNhb(fgINT8,M);
00942 }
00943 void flgr_fill_hexa_nhb_golay_M_fgINT16(FLGR_Golay *gl) {
00944 setHexNhb(fgINT16,M);
00945 }
00946 void flgr_fill_hexa_nhb_golay_M_fgINT32(FLGR_Golay *gl) {
00947 setHexNhb(fgINT32,M);
00948 }
00949 void flgr_fill_hexa_nhb_golay_M_fgFLOAT32(FLGR_Golay *gl) {
00950 setHexNhb(fgFLOAT32,M);
00951 }
00952 void flgr_fill_hexa_nhb_golay_M_fgFLOAT64(FLGR_Golay *gl) {
00953 setHexNhb(fgFLOAT64,M);
00954 }
00955
00956
00959 void flgr_fill_hexa_nhb_golay_D_fgBIT(FLGR_Golay *gl) {
00960 flgr_no_define_type_function(FLGR_BIT);
00961 }
00962 void flgr_fill_hexa_nhb_golay_D_fgUINT8(FLGR_Golay *gl) {
00963 setHexNhb(fgUINT8,D);
00964 }
00965 void flgr_fill_hexa_nhb_golay_D_fgUINT16(FLGR_Golay *gl) {
00966 setHexNhb(fgUINT16,D);
00967 }
00968 void flgr_fill_hexa_nhb_golay_D_fgUINT32(FLGR_Golay *gl) {
00969 setHexNhb(fgUINT32,D);
00970 }
00971 void flgr_fill_hexa_nhb_golay_D_fgINT8(FLGR_Golay *gl) {
00972 setHexNhb(fgINT8,D);
00973 }
00974 void flgr_fill_hexa_nhb_golay_D_fgINT16(FLGR_Golay *gl) {
00975 setHexNhb(fgINT16,D);
00976 }
00977 void flgr_fill_hexa_nhb_golay_D_fgINT32(FLGR_Golay *gl) {
00978 setHexNhb(fgINT32,D);
00979 }
00980 void flgr_fill_hexa_nhb_golay_D_fgFLOAT32(FLGR_Golay *gl) {
00981 setHexNhb(fgFLOAT32,D);
00982 }
00983 void flgr_fill_hexa_nhb_golay_D_fgFLOAT64(FLGR_Golay *gl) {
00984 setHexNhb(fgFLOAT64,D);
00985 }
00986
00987
00990 void flgr_fill_square_nhb_golay_E_fgBIT(FLGR_Golay *gl) {
00991 flgr_no_define_type_function(FLGR_BIT);
00992 }
00993 void flgr_fill_square_nhb_golay_E_fgUINT8(FLGR_Golay *gl) {
00994 setSqNhb(fgUINT8,E);
00995 }
00996 void flgr_fill_square_nhb_golay_E_fgUINT16(FLGR_Golay *gl) {
00997 setSqNhb(fgUINT16,E);
00998 }
00999 void flgr_fill_square_nhb_golay_E_fgUINT32(FLGR_Golay *gl) {
01000 setSqNhb(fgUINT32,E);
01001 }
01002 void flgr_fill_square_nhb_golay_E_fgINT8(FLGR_Golay *gl) {
01003 setSqNhb(fgINT8,E);
01004 }
01005 void flgr_fill_square_nhb_golay_E_fgINT16(FLGR_Golay *gl) {
01006 setSqNhb(fgINT16,E);
01007 }
01008 void flgr_fill_square_nhb_golay_E_fgINT32(FLGR_Golay *gl) {
01009 setSqNhb(fgINT32,E);
01010 }
01011 void flgr_fill_square_nhb_golay_E_fgFLOAT32(FLGR_Golay *gl) {
01012 setSqNhb(fgFLOAT32,E);
01013 }
01014 void flgr_fill_square_nhb_golay_E_fgFLOAT64(FLGR_Golay *gl) {
01015 setSqNhb(fgFLOAT64,E);
01016 }
01017
01018
01019 void flgr_fill_hexa_nhb_golay_E_fgBIT(FLGR_Golay *gl) {
01020 flgr_no_define_type_function(FLGR_BIT);
01021 }
01022 void flgr_fill_hexa_nhb_golay_E_fgUINT8(FLGR_Golay *gl) {
01023 setHexNhb(fgUINT8,E);
01024 }
01025 void flgr_fill_hexa_nhb_golay_E_fgUINT16(FLGR_Golay *gl) {
01026 setHexNhb(fgUINT16,E);
01027 }
01028 void flgr_fill_hexa_nhb_golay_E_fgUINT32(FLGR_Golay *gl) {
01029 setHexNhb(fgUINT32,E);
01030 }
01031 void flgr_fill_hexa_nhb_golay_E_fgINT8(FLGR_Golay *gl) {
01032 setHexNhb(fgINT8,E);
01033 }
01034 void flgr_fill_hexa_nhb_golay_E_fgINT16(FLGR_Golay *gl) {
01035 setHexNhb(fgINT16,E);
01036 }
01037 void flgr_fill_hexa_nhb_golay_E_fgINT32(FLGR_Golay *gl) {
01038 setHexNhb(fgINT32,E);
01039 }
01040 void flgr_fill_hexa_nhb_golay_E_fgFLOAT32(FLGR_Golay *gl) {
01041 setHexNhb(fgFLOAT32,E);
01042 }
01043 void flgr_fill_hexa_nhb_golay_E_fgFLOAT64(FLGR_Golay *gl) {
01044 setHexNhb(fgFLOAT64,E);
01045 }
01046
01047
01050 void flgr_fill_square_nhb_golay_C_fgBIT(FLGR_Golay *gl) {
01051 flgr_no_define_type_function(FLGR_BIT);
01052 }
01053 void flgr_fill_square_nhb_golay_C_fgUINT8(FLGR_Golay *gl) {
01054 setSqNhb(fgUINT8,C);
01055 }
01056 void flgr_fill_square_nhb_golay_C_fgUINT16(FLGR_Golay *gl) {
01057 setSqNhb(fgUINT16,C);
01058 }
01059 void flgr_fill_square_nhb_golay_C_fgUINT32(FLGR_Golay *gl) {
01060 setSqNhb(fgUINT32,C);
01061 }
01062 void flgr_fill_square_nhb_golay_C_fgINT8(FLGR_Golay *gl) {
01063 setSqNhb(fgINT8,C);
01064 }
01065 void flgr_fill_square_nhb_golay_C_fgINT16(FLGR_Golay *gl) {
01066 setSqNhb(fgINT16,C);
01067 }
01068 void flgr_fill_square_nhb_golay_C_fgINT32(FLGR_Golay *gl) {
01069 setSqNhb(fgINT32,C);
01070 }
01071 void flgr_fill_square_nhb_golay_C_fgFLOAT32(FLGR_Golay *gl) {
01072 setSqNhb(fgFLOAT32,C);
01073 }
01074 void flgr_fill_square_nhb_golay_C_fgFLOAT64(FLGR_Golay *gl) {
01075 setSqNhb(fgFLOAT64,C);
01076 }
01077
01078
01079 void flgr_fill_hexa_nhb_golay_C_fgBIT(FLGR_Golay *gl) {
01080 flgr_no_define_type_function(FLGR_BIT);
01081 }
01082 void flgr_fill_hexa_nhb_golay_C_fgUINT8(FLGR_Golay *gl) {
01083 setHexNhb(fgUINT8,C);
01084 }
01085 void flgr_fill_hexa_nhb_golay_C_fgUINT16(FLGR_Golay *gl) {
01086 setHexNhb(fgUINT16,C);
01087 }
01088 void flgr_fill_hexa_nhb_golay_C_fgUINT32(FLGR_Golay *gl) {
01089 setHexNhb(fgUINT32,C);
01090 }
01091 void flgr_fill_hexa_nhb_golay_C_fgINT8(FLGR_Golay *gl) {
01092 setHexNhb(fgINT8,C);
01093 }
01094 void flgr_fill_hexa_nhb_golay_C_fgINT16(FLGR_Golay *gl) {
01095 setHexNhb(fgINT16,C);
01096 }
01097 void flgr_fill_hexa_nhb_golay_C_fgINT32(FLGR_Golay *gl) {
01098 setHexNhb(fgINT32,C);
01099 }
01100 void flgr_fill_hexa_nhb_golay_C_fgFLOAT32(FLGR_Golay *gl) {
01101 setHexNhb(fgFLOAT32,C);
01102 }
01103 void flgr_fill_hexa_nhb_golay_C_fgFLOAT64(FLGR_Golay *gl) {
01104 setHexNhb(fgFLOAT64,C);
01105 }
01106
01107
01110 void flgr_fill_square_nhb_golay_H_fgBIT(FLGR_Golay *gl) {
01111 flgr_no_define_type_function(FLGR_BIT);
01112 }
01113 void flgr_fill_square_nhb_golay_H_fgUINT8(FLGR_Golay *gl) {
01114 setSqNhb(fgUINT8,H);
01115 }
01116 void flgr_fill_square_nhb_golay_H_fgUINT16(FLGR_Golay *gl) {
01117 setSqNhb(fgUINT16,H);
01118 }
01119 void flgr_fill_square_nhb_golay_H_fgUINT32(FLGR_Golay *gl) {
01120 setSqNhb(fgUINT32,H);
01121 }
01122 void flgr_fill_square_nhb_golay_H_fgINT8(FLGR_Golay *gl) {
01123 setSqNhb(fgINT8,H);
01124 }
01125 void flgr_fill_square_nhb_golay_H_fgINT16(FLGR_Golay *gl) {
01126 setSqNhb(fgINT16,H);
01127 }
01128 void flgr_fill_square_nhb_golay_H_fgINT32(FLGR_Golay *gl) {
01129 setSqNhb(fgINT32,H);
01130 }
01131 void flgr_fill_square_nhb_golay_H_fgFLOAT32(FLGR_Golay *gl) {
01132 setSqNhb(fgFLOAT32,H);
01133 }
01134 void flgr_fill_square_nhb_golay_H_fgFLOAT64(FLGR_Golay *gl) {
01135 setSqNhb(fgFLOAT64,H);
01136 }
01137
01138
01139 void flgr_fill_hexa_nhb_golay_H_fgBIT(FLGR_Golay *gl) {
01140 flgr_no_define_type_function(FLGR_BIT);
01141 }
01142 void flgr_fill_hexa_nhb_golay_H_fgUINT8(FLGR_Golay *gl) {
01143 setHexNhb(fgUINT8,H);
01144 }
01145 void flgr_fill_hexa_nhb_golay_H_fgUINT16(FLGR_Golay *gl) {
01146 setHexNhb(fgUINT16,H);
01147 }
01148 void flgr_fill_hexa_nhb_golay_H_fgUINT32(FLGR_Golay *gl) {
01149 setHexNhb(fgUINT32,H);
01150 }
01151 void flgr_fill_hexa_nhb_golay_H_fgINT8(FLGR_Golay *gl) {
01152 setHexNhb(fgINT8,H);
01153 }
01154 void flgr_fill_hexa_nhb_golay_H_fgINT16(FLGR_Golay *gl) {
01155 setHexNhb(fgINT16,H);
01156 }
01157 void flgr_fill_hexa_nhb_golay_H_fgINT32(FLGR_Golay *gl) {
01158 setHexNhb(fgINT32,H);
01159 }
01160 void flgr_fill_hexa_nhb_golay_H_fgFLOAT32(FLGR_Golay *gl) {
01161 setHexNhb(fgFLOAT32,H);
01162 }
01163 void flgr_fill_hexa_nhb_golay_H_fgFLOAT64(FLGR_Golay *gl) {
01164 setHexNhb(fgFLOAT64,H);
01165 }
01166
01167
01170 void flgr_fill_square_nhb_golay_I_fgBIT(FLGR_Golay *gl) {
01171 flgr_no_define_type_function(FLGR_BIT);
01172 }
01173 void flgr_fill_square_nhb_golay_I_fgUINT8(FLGR_Golay *gl) {
01174 setSqNhb(fgUINT8,I);
01175 }
01176 void flgr_fill_square_nhb_golay_I_fgUINT16(FLGR_Golay *gl) {
01177 setSqNhb(fgUINT16,I);
01178 }
01179 void flgr_fill_square_nhb_golay_I_fgUINT32(FLGR_Golay *gl) {
01180 setSqNhb(fgUINT32,I);
01181 }
01182 void flgr_fill_square_nhb_golay_I_fgINT8(FLGR_Golay *gl) {
01183 setSqNhb(fgINT8,I);
01184 }
01185 void flgr_fill_square_nhb_golay_I_fgINT16(FLGR_Golay *gl) {
01186 setSqNhb(fgINT16,I);
01187 }
01188 void flgr_fill_square_nhb_golay_I_fgINT32(FLGR_Golay *gl) {
01189 setSqNhb(fgINT32,I);
01190 }
01191 void flgr_fill_square_nhb_golay_I_fgFLOAT32(FLGR_Golay *gl) {
01192 setSqNhb(fgFLOAT32,I);
01193 }
01194 void flgr_fill_square_nhb_golay_I_fgFLOAT64(FLGR_Golay *gl) {
01195 setSqNhb(fgFLOAT64,I);
01196 }
01197
01198
01199 void flgr_fill_hexa_nhb_golay_I_fgBIT(FLGR_Golay *gl) {
01200 flgr_no_define_type_function(FLGR_BIT);
01201 }
01202 void flgr_fill_hexa_nhb_golay_I_fgUINT8(FLGR_Golay *gl) {
01203 setHexNhb(fgUINT8,I);
01204 }
01205 void flgr_fill_hexa_nhb_golay_I_fgUINT16(FLGR_Golay *gl) {
01206 setHexNhb(fgUINT16,I);
01207 }
01208 void flgr_fill_hexa_nhb_golay_I_fgUINT32(FLGR_Golay *gl) {
01209 setHexNhb(fgUINT32,I);
01210 }
01211 void flgr_fill_hexa_nhb_golay_I_fgINT8(FLGR_Golay *gl) {
01212 setHexNhb(fgINT8,I);
01213 }
01214 void flgr_fill_hexa_nhb_golay_I_fgINT16(FLGR_Golay *gl) {
01215 setHexNhb(fgINT16,I);
01216 }
01217 void flgr_fill_hexa_nhb_golay_I_fgINT32(FLGR_Golay *gl) {
01218 setHexNhb(fgINT32,I);
01219 }
01220 void flgr_fill_hexa_nhb_golay_I_fgFLOAT32(FLGR_Golay *gl) {
01221 setHexNhb(fgFLOAT32,I);
01222 }
01223 void flgr_fill_hexa_nhb_golay_I_fgFLOAT64(FLGR_Golay *gl) {
01224 setHexNhb(fgFLOAT64,I);
01225 }
01226
01229 void flgr_fill_square_nhb_golay_F_fgBIT(FLGR_Golay *gl) {
01230 flgr_no_define_type_function(FLGR_BIT);
01231 }
01232 void flgr_fill_square_nhb_golay_F_fgUINT8(FLGR_Golay *gl) {
01233 setSqNhb(fgUINT8,F);
01234 }
01235 void flgr_fill_square_nhb_golay_F_fgUINT16(FLGR_Golay *gl) {
01236 setSqNhb(fgUINT16,F);
01237 }
01238 void flgr_fill_square_nhb_golay_F_fgUINT32(FLGR_Golay *gl) {
01239 setSqNhb(fgUINT32,F);
01240 }
01241 void flgr_fill_square_nhb_golay_F_fgINT8(FLGR_Golay *gl) {
01242 setSqNhb(fgINT8,F);
01243 }
01244 void flgr_fill_square_nhb_golay_F_fgINT16(FLGR_Golay *gl) {
01245 setSqNhb(fgINT16,F);
01246 }
01247 void flgr_fill_square_nhb_golay_F_fgINT32(FLGR_Golay *gl) {
01248 setSqNhb(fgINT32,F);
01249 }
01250 void flgr_fill_square_nhb_golay_F_fgFLOAT32(FLGR_Golay *gl) {
01251 setSqNhb(fgFLOAT32,F);
01252 }
01253 void flgr_fill_square_nhb_golay_F_fgFLOAT64(FLGR_Golay *gl) {
01254 setSqNhb(fgFLOAT64,F);
01255 }
01256
01257
01258 void flgr_fill_hexa_nhb_golay_F_fgBIT(FLGR_Golay *gl) {
01259 flgr_no_define_type_function(FLGR_BIT);
01260 }
01261 void flgr_fill_hexa_nhb_golay_F_fgUINT8(FLGR_Golay *gl) {
01262 setHexNhb(fgUINT8,F);
01263 }
01264 void flgr_fill_hexa_nhb_golay_F_fgUINT16(FLGR_Golay *gl) {
01265 setHexNhb(fgUINT16,F);
01266 }
01267 void flgr_fill_hexa_nhb_golay_F_fgUINT32(FLGR_Golay *gl) {
01268 setHexNhb(fgUINT32,F);
01269 }
01270 void flgr_fill_hexa_nhb_golay_F_fgINT8(FLGR_Golay *gl) {
01271 setHexNhb(fgINT8,F);
01272 }
01273 void flgr_fill_hexa_nhb_golay_F_fgINT16(FLGR_Golay *gl) {
01274 setHexNhb(fgINT16,F);
01275 }
01276 void flgr_fill_hexa_nhb_golay_F_fgINT32(FLGR_Golay *gl) {
01277 setHexNhb(fgINT32,F);
01278 }
01279 void flgr_fill_hexa_nhb_golay_F_fgFLOAT32(FLGR_Golay *gl) {
01280 setHexNhb(fgFLOAT32,F);
01281 }
01282 void flgr_fill_hexa_nhb_golay_F_fgFLOAT64(FLGR_Golay *gl) {
01283 setHexNhb(fgFLOAT64,F);
01284 }
01285
01288 void flgr_fill_square_nhb_golay_F2_fgBIT(FLGR_Golay *gl) {
01289 flgr_no_define_type_function(FLGR_BIT);
01290 }
01291 void flgr_fill_square_nhb_golay_F2_fgUINT8(FLGR_Golay *gl) {
01292 setSqNhb(fgUINT8,F2);
01293 }
01294 void flgr_fill_square_nhb_golay_F2_fgUINT16(FLGR_Golay *gl) {
01295 setSqNhb(fgUINT16,F2);
01296 }
01297 void flgr_fill_square_nhb_golay_F2_fgUINT32(FLGR_Golay *gl) {
01298 setSqNhb(fgUINT32,F2);
01299 }
01300 void flgr_fill_square_nhb_golay_F2_fgINT8(FLGR_Golay *gl) {
01301 setSqNhb(fgINT8,F2);
01302 }
01303 void flgr_fill_square_nhb_golay_F2_fgINT16(FLGR_Golay *gl) {
01304 setSqNhb(fgINT16,F2);
01305 }
01306 void flgr_fill_square_nhb_golay_F2_fgINT32(FLGR_Golay *gl) {
01307 setSqNhb(fgINT32,F2);
01308 }
01309 void flgr_fill_square_nhb_golay_F2_fgFLOAT32(FLGR_Golay *gl) {
01310 setSqNhb(fgFLOAT32,F2);
01311 }
01312 void flgr_fill_square_nhb_golay_F2_fgFLOAT64(FLGR_Golay *gl) {
01313 setSqNhb(fgFLOAT64,F2);
01314 }
01315
01316
01317 void flgr_fill_hexa_nhb_golay_F2_fgBIT(FLGR_Golay *gl) {
01318 flgr_no_define_type_function(FLGR_BIT);
01319 }
01320 void flgr_fill_hexa_nhb_golay_F2_fgUINT8(FLGR_Golay *gl) {
01321 setHexNhb(fgUINT8,F2);
01322 }
01323 void flgr_fill_hexa_nhb_golay_F2_fgUINT16(FLGR_Golay *gl) {
01324 setHexNhb(fgUINT16,F2);
01325 }
01326 void flgr_fill_hexa_nhb_golay_F2_fgUINT32(FLGR_Golay *gl) {
01327 setHexNhb(fgUINT32,F2);
01328 }
01329 void flgr_fill_hexa_nhb_golay_F2_fgINT8(FLGR_Golay *gl) {
01330 setHexNhb(fgINT8,F2);
01331 }
01332 void flgr_fill_hexa_nhb_golay_F2_fgINT16(FLGR_Golay *gl) {
01333 setHexNhb(fgINT16,F2);
01334 }
01335 void flgr_fill_hexa_nhb_golay_F2_fgINT32(FLGR_Golay *gl) {
01336 setHexNhb(fgINT32,F2);
01337 }
01338 void flgr_fill_hexa_nhb_golay_F2_fgFLOAT32(FLGR_Golay *gl) {
01339 setHexNhb(fgFLOAT32,F2);
01340 }
01341 void flgr_fill_hexa_nhb_golay_F2_fgFLOAT64(FLGR_Golay *gl) {
01342 setHexNhb(fgFLOAT64,F2);
01343 }
01344
01345
01346
01347
01348 #define setSqNhbDispatchLetter(dtype) \
01349 if(strcmp(letter,"L")==0) { \
01350 flgr_fill_square_nhb_golay_L_##dtype(gl); \
01351 \
01352 }else if(strcmp(letter,"M")==0) { \
01353 flgr_fill_square_nhb_golay_M_##dtype(gl); \
01354 \
01355 }else if(strcmp(letter,"C")==0) { \
01356 flgr_fill_square_nhb_golay_C_##dtype(gl); \
01357 \
01358 }else if(strcmp(letter,"E")==0) { \
01359 flgr_fill_square_nhb_golay_E_##dtype(gl); \
01360 \
01361 }else if(strcmp(letter,"F")==0) { \
01362 flgr_fill_square_nhb_golay_F_##dtype(gl); \
01363 \
01364 }else if(strcmp(letter,"F2")==0) { \
01365 flgr_fill_square_nhb_golay_F2_##dtype(gl); \
01366 \
01367 }else if(strcmp(letter,"H")==0) { \
01368 flgr_fill_square_nhb_golay_H_##dtype(gl); \
01369 \
01370 }else if(strcmp(letter,"I")==0) { \
01371 flgr_fill_square_nhb_golay_I_##dtype(gl); \
01372 \
01373 }else { \
01374 POST_ERROR("Unknown Golay Letter : %s\n",letter); \
01375 return NULL ; \
01376 }
01377
01378
01379 #define setHexNhbDispatchLetter(dtype) \
01380 if(strcmp(letter,"L")==0) { \
01381 flgr_fill_hexa_nhb_golay_L_##dtype(gl); \
01382 \
01383 }else if(strcmp(letter,"M")==0) { \
01384 flgr_fill_hexa_nhb_golay_M_##dtype(gl); \
01385 \
01386 }else if(strcmp(letter,"D")==0) { \
01387 flgr_fill_hexa_nhb_golay_D_##dtype(gl); \
01388 \
01389 }else if(strcmp(letter,"C")==0) { \
01390 flgr_fill_hexa_nhb_golay_C_##dtype(gl); \
01391 \
01392 }else if(strcmp(letter,"E")==0) { \
01393 flgr_fill_hexa_nhb_golay_E_##dtype(gl); \
01394 \
01395 }else if(strcmp(letter,"F")==0) { \
01396 flgr_fill_hexa_nhb_golay_F_##dtype(gl); \
01397 \
01398 }else if(strcmp(letter,"F2")==0) { \
01399 flgr_fill_hexa_nhb_golay_F2_##dtype(gl); \
01400 \
01401 }else if(strcmp(letter,"H")==0) { \
01402 flgr_fill_hexa_nhb_golay_H_##dtype(gl); \
01403 \
01404 }else if(strcmp(letter,"I")==0) { \
01405 flgr_fill_hexa_nhb_golay_I_##dtype(gl); \
01406 \
01407 }else { \
01408 POST_ERROR("Unknown Golay Letter : %s\n",letter); \
01409 return NULL ; \
01410 }
01411
01412
01413
01414
01416
01457
01458 FLGR_Golay* flgr2d_create_golay(char *letter, FLGR_Type type, FLGR_Connexity connexity) {
01459
01460
01461
01462 FLGR_Golay *gl = flgr_malloc(sizeof(FLGR_Golay));
01463
01464 if((connexity != FLGR_8_CONNEX) && (connexity != FLGR_6_CONNEX)) {
01465 connexity = FLGR_8_CONNEX;
01466 POST_WARNING("Switching to a valid connexity\n");
01467 }
01468
01469 if(connexity == FLGR_8_CONNEX) {
01470
01471 if(type == FLGR_UINT8) {
01472 setSqNhbDispatchLetter(fgUINT8);
01473
01474 }else if(type == FLGR_UINT16) {
01475 setSqNhbDispatchLetter(fgUINT16);
01476
01477 }else if(type == FLGR_UINT32) {
01478 setSqNhbDispatchLetter(fgUINT32);
01479
01480 }else if(type == FLGR_INT8) {
01481 setSqNhbDispatchLetter(fgINT8);
01482
01483 }else if(type == FLGR_INT16) {
01484 setSqNhbDispatchLetter(fgINT16);
01485
01486 }else if(type == FLGR_INT32) {
01487 setSqNhbDispatchLetter(fgINT32);
01488
01489 }else if(type == FLGR_FLOAT32) {
01490 setSqNhbDispatchLetter(fgFLOAT32);
01491
01492 }else if(type == FLGR_FLOAT64) {
01493 setSqNhbDispatchLetter(fgFLOAT64);
01494
01495 }else if(type == FLGR_BIT) {
01496 setSqNhbDispatchLetter(fgBIT);
01497
01498 }else {
01499 POST_ERROR("type unknown!\n");
01500 return NULL;
01501
01502 }
01503
01504 }else if(connexity== FLGR_6_CONNEX) {
01505
01506 if(type == FLGR_UINT8) {
01507 setHexNhbDispatchLetter(fgUINT8);
01508
01509 }else if(type == FLGR_UINT16) {
01510 setHexNhbDispatchLetter(fgUINT16);
01511
01512 }else if(type == FLGR_UINT32) {
01513 setHexNhbDispatchLetter(fgUINT32);
01514
01515 }else if(type == FLGR_INT8) {
01516 setHexNhbDispatchLetter(fgINT8);
01517
01518 }else if(type == FLGR_INT16) {
01519 setHexNhbDispatchLetter(fgINT16);
01520
01521 }else if(type == FLGR_INT32) {
01522 setHexNhbDispatchLetter(fgINT32);
01523
01524 }else if(type == FLGR_FLOAT32) {
01525 setHexNhbDispatchLetter(fgFLOAT32);
01526
01527 }else if(type == FLGR_FLOAT64) {
01528 setHexNhbDispatchLetter(fgFLOAT64);
01529
01530 }else if(type == FLGR_BIT) {
01531 setHexNhbDispatchLetter(fgBIT);
01532
01533 }else {
01534 POST_ERROR("type unknown!\n");
01535 return NULL;
01536
01537 }
01538
01539 }else {
01540 POST_ERROR("Connexity not available for Golay letter : %d\n",connexity);
01541 return NULL;
01542
01543 }
01544
01545 return gl;
01546
01547 }
01548
01549
01550
01551 void flgr2d_destroy_golay(FLGR_Golay* gl) {
01552 int i;
01553
01554 if(gl==NULL) {
01555 POST_ERROR("Null Object!\n");
01556 return;
01557 }
01558
01559 for(i=0 ; i<gl->nbse ; i++) {
01560 flgr2d_destroy(gl->se[i]);
01561 }
01562
01563 flgr_free(gl->se);
01564
01565 }
01566
01567
01568