เบžเบฒเบชเบฒเบญเบฑเบ‡เบเบดเบ”เบžเบฒเบชเบฒเบเบฃเบฑเปˆเบ‡เปเบญเบชเบ›เบฒเป‚เบเบ™

Ad


OnWorks favicon

funcalc - เบญเบญเบ™เบฅเบฒเบเปƒเบ™เบ„เบฅเบฒเบง

เป€เบ›เบตเบ”เปƒเบŠเป‰ funcalc เปƒเบ™ OnWorks เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบŸเบฃเบตเบœเปˆเบฒเบ™ Ubuntu Online, Fedora Online, Windows online emulator เบซเบผเบท MAC OS online emulator

เบ™เบตเป‰เปเบกเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ funcalc เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป„เบ”เป‰เปƒเบ™ OnWorks เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบŸเบฃเบตเป‚เบ”เบเปƒเบŠเป‰เบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบฐเบ–เบฒเบ™เบตเป€เบฎเบฑเบ”เบงเบฝเบเบญเบญเบ™เป„เบฅเบ™เปŒเบŸเบฃเบตเบซเบผเบฒเบเบญเบฑเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบŠเบฑเปˆเบ™ Ubuntu Online, Fedora Online, Windows online emulator เบซเบผเบท MAC OS online emulator

เป‚เบ„เบ‡เบเบฒเบ™:

NAME


Funcalc - เป€เบ„เบทเปˆเบญเบ‡เบ„เบดเบ”เป€เบฅเบ Funtools (เบชเบณเบฅเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ„เบนเปˆ)

เบชเบฐเบซเบผเบธเบšเบชเบฑเบ‡เบฅเบงเบก


funcalc [-n] [-a argstr] [-e expr] [-f file] [-l link] [-p prog] [oname [เบ–เบฑเบ™]]

OPTIONS


-a argstr # arguments เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบˆเบฐเบชเบปเปˆเบ‡เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก
-e expr # เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ funcalc
-f เป„เบŸเบฅเปŒ # เป„เบŸเบฅเปŒเบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ funcalc
-l libs # libs เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเปƒเบชเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ
-n # เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบฅเบงเบšเบฅเบงเบกเปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”
-p prog # เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบกเบตเบŠเบทเปˆ, เบšเปเปˆเบกเบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”
-u # เบ•เบฒเบเบ–เป‰เบฒเบ•เบปเบงเปเบ›เปƒเบ”เบ™เบถเปˆเบ‡เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบเบฒเบ” (เบขเปˆเบฒเบ›เบฐเบเบฒเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”)

เบฅเบฒเบเบฅเบฐเบญเบฝเบ”


funcalc เป€เบ›เบฑเบ™โ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบเบฒเบ™โ€‹เบ„เบดเบ”โ€‹เป„เบฅเปˆโ€‹เบ—เบตเปˆโ€‹เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เบญเบญเบโ€‹เป‚เบ”เบโ€‹เบ•เบปเบ™โ€‹เป€เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบเปเปˆโ€‹เบชเป‰เบฒเบ‡โ€‹,
เบฅเบงเบšเบฅเบงเบก, เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เบ–เบฑเบ™เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Funtools (เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ„เบนเปˆ FITS เบซเบผเบทเป€เบซเบ”เบเบฒเบ™เบ”เบดเบš
เป„เบŸเบฅเปŒ). เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเบเบฒเบ™เบฅเบงเบกเบ•เบปเบงเบชเบฐเปเบ”เบ‡เบญเบญเบเบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เป€เบ‚เบปเป‰เบฒเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเปเบšเบš C, เบˆเบฒเบเบ™เบฑเป‰เบ™
เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™. funcalc expressions เปเบกเปˆเบ™เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡ C, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบšเบฒเบ‡
เบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™ (เป€เบŠเบฑเปˆเบ™เบเบฒเบ™เบ›เบฐเบเบฒเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡เบ•เบปเบงเปเบ›) เปเบกเปˆเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™.

funcalc เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบชเบฒเบกเบฒเบ”เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบชเบฒเบกเบงเบดเบ—เบต: เปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เป‚เบ”เบเปƒเบŠเป‰ -e
[เบชเบฐเปเบ”เบ‡เบญเบญเบ] เบชเบฐเบซเบผเบฑเบš, เปƒเบ™เป„เบŸเบฅเปŒเป‚เบ”เบเปƒเบŠเป‰ -f [เป„เบŸเบฅเปŒ] เบชเบฐเบซเบผเบฑเบš, เบซเบผเบทเบˆเบฒเบ stdin (เบ–เป‰เบฒเบšเปเปˆเปเบกเปˆเบ™ -e
neither -f เบ–เบทเบเบเปเบฒเบ™เบปเบ”). เปเบ™เปˆเบ™เบญเบ™, เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบต funcalc เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เบˆเบฒเบ
stdin.

เบเบฒเบ™โ€‹เบฎเบฝเบโ€‹เบฎเป‰เบญเบ‡โ€‹เบ‚เบญเบ‡โ€‹เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบ„เบปเบ™โ€‹ funcalc เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Funtools เบ—เบตเปˆเบˆเบฐเบฅเบฐเบšเบธเป€เบ›เบฑเบ™
เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เปเบฒเบญเบดเบ”. เป„เบŸเบฅเปŒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Funtools เบœเบปเบ™เบœเบฐเบฅเบดเบ”เปเบกเปˆเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเบชเบญเบ‡
เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒเป„เบŸเบฅเปŒ FITS เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™ (ie, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆ
เป„เบ”เป‰ funcalc expression เบžเบฝเบ‡เปเบ•เปˆเบžเบดเบกเบ„เปˆเบฒ, เบšเปเปˆเบกเบตเป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™). เบ–เป‰เบฒ input เปเบฅเบฐ output
เป„เบŸเบฅเปŒเบ—เบฑเบ‡เบชเบญเบ‡เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰, เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเบชเบฒเบกเบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฑเบ™เป„เบ”เป‰
activate (เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ FunColumnActivate()). เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒ funcalc เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบˆเบฐเบซเบผเบทเบšเปเปˆ
เบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™เป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบกเบตเบซเบผเบทเบšเปเปˆเบกเบตเบœเบปเบ™เบœเบฐเบฅเบดเบ”
เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เป„เบŸเบฅเปŒ.

A funcalc expression เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เปเบ•เปˆเบฅเบฐเปเบ–เบงเบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฅเบฐเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒ C
เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™เบ–เบฑเบ™เบ‚เบญเบ‡เปเบ–เบงเบ™เบฑเป‰เบ™ (เบญเบฒเบ”เบˆเบฐเปƒเบŠเป‰เบ•เบปเบงเปเบ›เบŠเบปเปˆเบงเบ„เบฒเบง).
เบžเบฒเบเปƒเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ, เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เปเบกเปˆเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบ–เบฑเบ™เบ‚เบญเบ‡ เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™ row เป‚เบ”เบเปƒเบŠเป‰เป‚เบ„เบ‡เบชเป‰เบฒเบ‡ C
syntax cur-[colname]>, เป€เบŠเบฑเปˆเบ™ cur->x, cur->pha, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบ›เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป„เบ”เป‰.
เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ C declarations เปƒเบ™โ€‹เบ•เบญเบ™โ€‹เบ•เบปเป‰เบ™โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เบญเบญเบโ€‹, เบซเบผเบทโ€‹เบญเบทเปˆเบ™เป†โ€‹เบ—เบตเปˆโ€‹เบžเบงเบโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป„เบ”เป‰โ€‹
เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป‚เบ”เบ funcalc (เป€เบ›เบฑเบ™เบ›เบฐเป€เบžเบ”เบชเบญเบ‡). เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, swap เบ‚เบญเบ‡เบ–เบฑเบ™ x
เปเบฅเบฐ y เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰เบ—เบฑเบ‡เบชเบญเบ‡เบญเบฑเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ—เบฝเบšเป€เบ—เบปเปˆเบฒ funcalc
เบชเบณเบ™เบงเบ™:

เบญเบธเบ™เบซเบฐเบžเบนเบกเบชเบญเบ‡เป€เบ—เบปเปˆเบฒ;
temp = cur->x;
cur->x = cur->y;
cur->y = temp;

เบซเบฅเบท:

temp = cur->x;
cur->x = cur->y;
cur->y = temp;

เป€เบกเบทเปˆเบญเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ™เบตเป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบŠเบฑเปˆเบ™:

funcalc -f swap.expr itest.ev otes.ev

เป„เบŸเบฅเปŒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฐเบกเบตเบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบ–เบฑเบ™ x เปเบฅเบฐ y swapped.

เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบชเปเบฒเบฅเบฑเบšเบ–เบฑเบ™เปเบกเปˆเบ™เบ„เบทเบเบฑเบ™เบเบฑเบšเบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡
เบ–เบฑเบ™เบ—เบตเปˆเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒ. เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เป€เบžเบตเปˆเบก ":[dtype]" เปƒเบชเปˆเบญเบฑเบ™เบ—เปเบฒเบญเบดเบ”
เบญเป‰เบฒเบ‡เป€เบ–เบดเบ‡เบ–เบฑเบ™เบ™เบฑเป‰เบ™. เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เป€เบžเบทเปˆเบญเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰ x เปเบฅเบฐ y เป€เบ›เบฑเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”เป€เบ›เบฑเบ™เบชเบญเบ‡เป€เบ—เบปเปˆเบฒ,
เบฅเบฐเบšเบธเบ›เบฐเป€เบžเบ” 'D' เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡:

temp = cur->x:D;
cur->x = cur->y:D;
cur->y = temp;

เบ•เบปเบงเบฅเบฐเบšเบธเบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบก syntax เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ FITS เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ–เบฑเบ™เป‚เบ”เบเปƒเบŠเป‰ TFORM:

ยท A: เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ ASCII

ยท B: unsigned char 8-bit

ยท เบ‚เป‰เบญเบ: เป€เบŠเบฑเบ™ int 16-bit

ยท U: unsigned 16-bit int (เบšเปเปˆเปเบกเปˆเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ FITS)

ยท J: เป€เบŠเบฑเบ™ int 32-bit

ยท V: unsigned 32-bit int (เบšเปเปˆเปเบกเปˆเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ FITS)

ยท E: 32-bit float

ยท D: 64-bit float

ยท X: bits (เบฎเบฑเบšเบเบฒเบ™เบ›เบดเปˆเบ™เบ›เบปเบงเป€เบ›เบฑเบ™ array เบ‚เบญเบ‡ chars)

เบˆเบปเปˆเบ‡เบˆเบทเปˆเป„เบงเป‰เบงเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡เบ—เปเบฒเบญเบดเบ”เบเบฑเบšเบ–เบฑเบ™เบ„เบงเบ™เบกเบตเบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™
เบ•เบปเบงเบฅเบฐเบšเบธ.

เปเบ™เปˆเบ™เบญเบ™, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบˆเบฑเบ”เบเบฒเบ™เบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ–เบฑเบ™เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡. เบซเบ™เบถเปˆเบ‡โ€‹เปƒเบ™
เบชเบฒเป€เบซเบ”เป€เบฅเบทเป‰เบญเบเป†เบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™ funcalc เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเปเบกเปˆเบ™เบเบฒเบ™เปƒเบŠเป‰เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡
เบžเบดเบกเบชเปเบฒเบฅเบฑเบšเบ–เบฑเบ™เปƒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ:

dx = (cur->x - cur->y)/(cur->x + cur->y);

เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰เป€เบฅเบเบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เบˆเบธเบ”เบฅเบญเบ. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆ x เปเบฅเบฐ y
เบ–เบฑเบ™เปเบกเปˆเบ™เบˆเปเบฒเบ™เบงเบ™เป€เบ•เบฑเบก, เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบญเปˆเบฒเบ™เบ„เปเบฅเปเบฒเป€เบ›เบฑเบ™เบชเบญเบ‡เป€เบ—เบปเปˆเบฒเป‚เบ”เบเปƒเบŠเป‰ explicit
เบ›เบฐเป€เบžเบ”เบชเบฐเป€เบžเบฒเบฐ:

dx = (cur->x:D - cur->y:D)/(cur->x + cur->y);

เบญเบตเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰ C type-casting เปƒเบ™ expression:

dx = ((double)cur->x - (double)cur->y)/((double)cur->x + (double)cur->y);

เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ„เปเบฅเปเบฒเปƒเบ™เปเบ–เบงเบ›เบฐเบˆเบธเบšเบฑเบ™, เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰
เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ เปเบ–เบงเบ—เบตเปˆเปƒเบŠเป‰ เบเปˆเบญเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เบ™เบตเป‰[colname]>, เปเบฅเบฐ เบ•เปเปˆเป„เบ› เปเบ–เบงเบ—เบตเปˆเปƒเบŠเป‰ เบ•เปเปˆเป„เบ›-[colname]>. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒ
if เบเปˆเบญเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เบ™เบตเป‰[colname]> เปเบกเปˆเบ™เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ funcalc เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ, เปเบ–เบงเบ—เปเบฒเบญเบดเบ”เบšเปเปˆเปเบกเปˆเบ™
เบ›เบธเบ‡เปเบ•เปˆเบ‡. เบ–เป‰เบฒ เบ•เปเปˆเป„เบ›-[colname]> เปเบกเปˆเบ™เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ funcalc เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ, เปเบ–เบงเบชเบธเบ”เบ—เป‰เบฒเบ
เบšเปเปˆเป„เบ”เป‰เบ›เบฐเบกเบงเบ™เบœเบปเบ™. เบ”เป‰เบงเบเบงเบดเบ—เบตเบ™เบตเป‰, prev เปเบฅเบฐ เบ•เปเปˆเป„เบ› เปเบกเปˆเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบชเบฐเป€เปเบตเป€เบžเบทเปˆเบญเบŠเบตเป‰เป„เบ›เบซเบฒเปเบ–เบงเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡.
เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบžเบดเบกเบ„เปˆเบฒเบ‚เบญเบ‡เบ–เบฑเบ™ x เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ เปเบฅเบฐเบ–เบฑเบ™ y เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ,
เปƒเบŠเป‰เบŸเบฑเบ‡เบŠเบฑเบ™ C fprintf เปƒเบ™ a funcalc เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ:

fprintf(stdout, "%d %d\n", cur->x, prev->y);

เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบ–เบฑเบ™เปƒเปเปˆเป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰เบญเบฑเบ™เบ”เบฝเบงเบเบฑเบ™ cur-[colname]> syntax เป‚เบ”เบเบเบฒเบ™เบ•เปเปˆเบ—เป‰เบฒเบเบ–เบฑเบ™
เบ›เบฐเป€เบžเบ” (เปเบฅเบฐเบ•เบปเบงเบฅเบฐเบšเบธ tlmin/tlmax/binsiz เบ—เบฒเบ‡เป€เบฅเบทเบญเบ), เปเบเบเป‚เบ”เบเบˆเปเป‰เบฒเบชเบญเบ‡เป€เบกเบฑเบ”. เบเบปเบโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡,
cur->avg:D เบˆเบฐเบเบณเบ™เบปเบ”เบ–เบฑเบ™เปƒเปเปˆเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ” double. เบ•เบปเบงเบฅเบฐเบšเบธเบ›เบฐเป€เบžเบ”เปเบกเปˆเบ™เบ„เบทเบเบฑเบ™
เปƒเบŠเป‰เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เป€เบžเบทเปˆเบญเบฅเบฐเบšเบธเบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™เปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบ–เบฑเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง.

เบ•เบปเบงเบขเปˆเบฒเบ‡: เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ เปเบฅเบฐเบญเบญเบเบ–เบฑเบ™เปƒเปเปˆเบ—เบตเปˆเป€เบ›เบฑเบ™เบ„เปˆเบฒเบชเบฐเป€เบฅเปˆเบเบ‚เบญเบ‡ x เปเบฅเบฐ y
เบ–เบฑเบ™, เบ–เบฑเบ™ "avg" เปƒเบซเบกเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”:

cur->avg:D = (cur->x + cur->y)/2.0

เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบชเบธเบ”เบ—เป‰เบฒเบ ';' เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเปƒเบ™เปเบ–เบงเบ”เบฝเบง.

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบชเบฐเป€เบžเบฒเบฐเบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™ FITS TFORM, เบ•เบปเบงเบฅเบฐเบšเบธเบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™เบ–เบฑเบ™เบชเบฒเบกเบฒเบ”เบ™เบณเปœเป‰เบฒเป„เบ”เป‰
เบ”เป‰เบงเบเบเบฒเบ™เบ™เบฑเบšเบ•เบปเบงเป€เบฅเบเป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบญเบฒเป€เบฃ, เบ•เบปเบงเบขเปˆเบฒเบ‡, "10I" เบซเบกเบฒเบเป€เบ–เบดเบ‡ vector เบ‚เบญเบ‡ 10 ints เบชเบฑเป‰เบ™, "2E"
เปเบฒเบเป€เบ–เบดเบ‡เบเบฒเบ™เป€เบฅเบทเปˆเบญเบ™เบ„เบงเบฒเบกเปเบกเปˆเบ™เบเปเบฒเบชเบญเบ‡เบญเบฑเบ™, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบ–เบฑเบ™เปƒเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบ–เบทเบเบเบณเบ™เบปเบ”เป€เบ—เบทเปˆเบญเบ”เบฝเบงเปƒเบ™ a
funcalc เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ›เบฐเป€เบžเบ”เบ„เบทเบ™เปƒเบซเบกเปˆ. เบ™เบตเป‰
เบฅเบงเบกเบกเบตเบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เป€เบ–เบดเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบ–เบฑเบ™เปเบ–เบง:

cur->avg[0]:2D = (cur->x + cur->y)/2.0;
cur->avg[1] = (cur->x - cur->y)/2.0;

เบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™ 'X' (bits) เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™ char array เบ‚เบญเบ‡เบกเบดเบ•เบด (numeric_count/8), ie,
16X เบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เป€เบ›เบฑเบ™ 2-byte char array. เปเบ•เปˆเบฅเบฐเบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบฒเป€เบฃ 8-bit เปเบกเปˆเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ:

cur->stat[0]:16X = 1;
cur->stat[1] = 2;

เบ—เบตเปˆเบ™เบตเป‰, เบ–เบฑเบ™ 16-bit เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบ”เป‰เบงเบ MSB เบ–เบทเบเบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™ 1 เปเบฅเบฐ LSB เบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™ 2.

เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เปเบ–เบงเบ—เบตเปˆเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ—เบฑเบ‡เปเบปเบ”เบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เปƒเบชเปˆเป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™
เบ‚เป‰เบฒเบกเบเบฒเบ™เบ‚เบฝเบ™เปเบ–เบงเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™, เบžเบฝเบ‡เปเบ•เปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡ C "เบชเบทเบšเบ•เปเปˆ" เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡
funcalc เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบ‚เบฝเบ™เปเบ–เบงเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบฑเบ™เบ—เบตเบซเบผเบฑเบ‡เบˆเบฒเบ
เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบ‚เป‰เบฒเบกเบเบฒเบ™เบ‚เบฝเบ™เปเบ–เบงเบ—เบตเปˆเบกเบตเบ„เปˆเบฒเบชเบฐเป€เบฅเปˆเบเป€เบ—เบปเปˆเบฒเบเบฑเบš
เบ„เปˆเบฒ x เปƒเบ™โ€‹เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹:

cur->avg[0]:2D = (cur->x + cur->y)/2.0;
cur->avg[1] = (cur->x - cur->y)/2.0;
เบ–เป‰เบฒ( cur->avg[0] == cur->x )
เบชเบทเบšเบ•เปเปˆ;

เบ–เป‰เบฒเบšเปเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ funcalc เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡, เบšเปเปˆเบกเบตเป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เปเบกเปˆเบ™
เป€เบ›เบตเบ”เปเบฅเบฐเบšเปเปˆเบกเบตเปเบ–เบงเบ‚เบฝเบ™. เบญเบฑเบ™เบ™เบตเป‰เบกเบตเบ›เบฐเป‚เบซเบเบ”เปƒเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ—เบตเปˆเบžเบฝเบ‡เปเบ•เปˆเบžเบดเบกเบœเบปเบ™เบœเบฐเบฅเบดเบ”
เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเปƒเบซเบกเปˆ:

fpv = (cur->av3:D-cur->av1:D)/(cur->av1+cur->av2:D+cur->av3);
fbv = cur->av2/(cur->av1+cur->av2+cur->av3);
fpu = ((double)cur->au3-cur->au1)/((double)cur->au1+cur->au2+cur->au3);
fbu = cur->au2/(double)(cur->au1+cur->au2+cur->au3);
fprintf(stdout, "%f\t%f\t%f\t%f\n", fpv, fbv, fpu, fbu);

เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบ—เบฑเบ‡เบชเบญเบ‡เบ›เบฐเป€เบžเบ”เบชเบฐเป€เบžเบฒเบฐเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™ (เบชเปเบฒเบฅเบฑเบšเบ„เปเบฅเปเบฒ "av") เปเบฅเบฐเบ›เบฐเป€เบžเบ”
เบเบฒเบ™เบซเบฅเปเปˆ (เบชเปเบฒเบฅเบฑเบšเบ„เปเบฅเปเบฒ "au") เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เบชเบญเบ‡เป€เบ—เบปเปˆเบฒ
เบ„เบงเบฒเบกเปเบกเปˆเบ™เบเปเบฒ.

เป€เบกเบทเปˆเบญเป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ–เบทเบเบฅเบฐเบšเบธ, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบฅเบทเบญเบเบˆเบฐเบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เปเบฅเบฐเปเบ–เบงเบœเบปเบ™เบœเบฐเบฅเบดเบ”
เบ–เบทเบเบ„เบฑเบ”เบฅเบญเบเปƒเบชเปˆเป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™ "stdout" เปƒเบ™
เป€เบžเบทเปˆเบญเบ‚เบฝเบ™เปเบ–เบงเบœเบปเบ™เบœเบฐเบฅเบดเบ”เป„เบ›เบซเบฒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เบ–เป‰เบฒเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เปเบกเปˆเบ™
เบœเปˆเบฒเบ™เป„เบ›, เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบตเบชเบฒเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบ–เบฑเบ™เปƒเบ”เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™.

เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ„เบนเปˆ FITS, เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบกเบฑเบ™เบชเบปเบกเบ„เบงเบ™เบ—เบตเปˆเบˆเบฐเบ„เบฑเบ”เบฅเบญเบเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ FITS เบญเบทเปˆเบ™เป†เบ—เบฑเบ‡เปเบปเบ”.
เบเบฑเบšเป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™. เบญเบฑเบ™เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เปƒเบชเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบ '+' เปƒเบชเปˆเบŠเบทเปˆเบ‚เบญเบ‡
เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบขเบนเปˆเปƒเบ™เบŠเบทเปˆเป„เบŸเบฅเปŒเบ—เบตเปˆเบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™. เป€เบšเบดเปˆเบ‡ เบกเปˆเบงเบ™ เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡.

funcalc เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เป‚เบ”เบโ€‹เบเบฒเบ™โ€‹เบฅเบงเบกโ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เบญเบญเบโ€‹เบ—เบตเปˆโ€‹เบฅเบฐโ€‹เบšเบธโ€‹เบœเบนเป‰โ€‹เปƒเบŠเป‰โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เป„เบ›โ€‹เปƒเบ™โ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เปเบกเปˆโ€‹เปเบšเบš Cโ€‹
เป€เบญเบตเป‰เบ™เบงเปˆเบฒ tabcalc.c. เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบชเปเบฒเป€เบฅเบฑเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป„เบ”เป‰เบ–เบทเบเบฅเบงเบšเบฅเบงเบกเปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™. เบ•เบปเบงเปเบ›
เบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™เบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ funcalc เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเปเบกเปˆเบ™เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เบžเบฒเบเบชเปˆเบงเบ™เบเบฒเบ™เบ›เบฐเบเบฒเบ”เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™
เบ‚เบญเบ‡โ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ•เบปเป‰เบ™โ€‹เบ•เปโ€‹เบ‚เบญเบ‡โ€‹เปเบกเปˆโ€‹เปเบšเบšโ€‹. เบชเบฒเบเบญเบทเปˆเบ™เป†เบ—เบฑเบ‡เปเบปเบ”เปเบกเปˆเบ™เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เป‚เบ›เบฃเปเบเบฃเบกเบซเบผเบฑเบเบ‚เบญเบ‡เปเบกเปˆเปเบšเบš
เบงเบปเบ‡เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบžเบฒเบเปƒเบ™. เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ”โ€‹เบญเบทเปˆเบ™เป†โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เบˆเบฑเบ”โ€‹เบเบฒเบ™โ€‹เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹. เบชเปเบฒเบฅเบฑเบš
เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ•เบปเบงเบฅเบฐเบšเบธเบ–เบฑเบ™เบ–เบทเบเบงเบดเป€เบ„เบฒเบฐเป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡ C เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เปเบ–เบง, เป€เบŠเบดเปˆเบ‡เปเบกเปˆเบ™
เบœเปˆเบฒเบ™เป„เบ› FunColumnSelect() เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™ FunTableRowGet(). เบ–เป‰เบฒเปƒเบŠเป‰เบ•เบปเบงเปเบ›เบ—เบตเปˆเบšเปเปˆเบฎเบนเป‰เบˆเบฑเบ
เปƒเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ, เบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก, เบเบฒเบ™เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™ retried เบซเบผเบฑเบ‡เบˆเบฒเบ
เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบ›เบ—เบตเปˆเบšเปเปˆเบฎเบนเป‰เบˆเบฑเบเป€เบ›เบฑเบ™เบ›เบฐเป€เบžเบ”เบชเบญเบ‡เป€เบ—เบปเปˆเบฒ.

เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบด, funcalc เบฅเบฐเบซเบฑเบ”เบชเบฐเปเบ”เบ‡เบญเบญเบเบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆ funcalc เปเบ–เบงเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™ loop. เบกเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เป„เบ›โ€‹เป„เบ”เป‰
เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ”เปƒเบชเปˆเบžเบฒเบเบชเปˆเบงเบ™เบญเบทเปˆเบ™เป†เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™เป‚เบ”เบเบเบฒเบ™เบงเบฒเบ‡เบฅเบฐเบซเบฑเบ”เบ™เบตเป‰เบขเบนเปˆเปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบžเบดเป€เบชเบ”
เบ‚เบญเบ‡โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹:

[เบŠเบทเปˆโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹]
... เบฅเบฐเบซเบฑเบ”เป„เบ›เบ™เบตเป‰ ...
เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบ

เบ„เบณเปเบ™เบฐเบ™เบณเปเบกเปˆเบ™:

ยท เบ—เบปเปˆเบงเป‚เบฅเบ เป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบเบฒเบ”เปƒเบ™เบŠเปˆเบญเบ‡เบ—เบปเปˆเบงเป‚เบฅเบ, เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ›เบปเบเบเบฐเบ•เบดเบ•เบปเป‰เบ™เบ•เป.

ยท เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ เป€เบžเบตเปˆเบกเบเบฒเบ™เบ›เบฐเบเบฒเบ” (เปเบฅเบฐเบฅเบฐเบซเบฑเบ”) เบžเบฝเบ‡เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบฐเบเบฒเบ”เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปƒเบ™เบ•เบปเป‰เบ™เบ•เป

ยท เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐ เป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ”เบเปˆเบญเบ™เป€เบ‚เบปเป‰เบฒเบฎเบญเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เปเบ–เบงเบซเบผเบฑเบ

ยท เบซเบผเบฑเบ‡เบˆเบฒเบ เป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเบญเบญเบเบˆเบฒเบ loop เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เปเบ–เบงเบซเบผเบฑเบ

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ•เปเปˆเป„เบ›เบ™เบตเป‰ funcalc เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™เบˆเบฐเบ›เบฐเบเบฒเบ”เบ•เบปเบงเปเบ›เบ—เบปเปˆเบงเป‚เบฅเบ เปเบฅเบฐเบชเป‰เบฒเบ‡เบฅเบฒเบเบเบฒเบ™เบเปˆเบญเบ
เป‚เบ—เบžเบฝเบ‡เปเบ•เปˆเบเปˆเบญเบ™เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบ loop เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ•เบปเป‰เบ™เบ•เป:

เบ—เบปเปˆเบงเป‚เบฅเบ
double v1, v2;
double init(void);
double finish(double v);
เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบ
เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐ
v1 = init();
เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบ
... เปเบ–เบงเบ‚เบฐเบšเบงเบ™เบเบฒเบ™, เบ”เป‰เบงเบเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเป‚เบ”เบเปƒเบŠเป‰ v1 ...
เบซเบผเบฑเบ‡เบˆเบฒเบ
v2 = เบชเปเบฒเป€เบฅเบฑเบ”เบฎเบนเบš(v1);
เบ–เป‰เบฒ(v2 < 0.0 ){
fprintf(stderr, "เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบฅเบปเป‰เบกเป€เบซเบฅเบง %g -> %g\n", v1, v2);
เบเบฒเบ™เบ—เปˆเบญเบ‡เบ—เปˆเบฝเบง(1)
}
เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบ

เบ›เบปเบเบเบฐเบ•เบดเป€เบŠเบฑเปˆเบ™ เปƒเบ™โ€‹เบกเบฑเบ™() เปเบฅเบฐ เบชเปเบฒเป€เบฅเบฑเบ”เบฎเบนเบš() เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เปเบกเปˆเบ™เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ -l [เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ directives ... ] เบชเบฐเบซเบผเบฑเบš. เบชเบฐเบ•เบฃเบดเบ‡เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เป‚เบ”เบเบชเบฐเบงเบดเบ”เบ™เบตเป‰เบˆเบฐเป€เบ›เบฑเบ™
เป€เบžเบตเปˆเบกเปƒเบชเปˆเป€เบชเบฑเป‰เบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™ (เบเปˆเบญเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” funtools). เบชเปเบฒเบฅเบฑเบš
เบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒ เปƒเบ™โ€‹เบกเบฑเบ™() เปเบฅเบฐ เบชเปเบฒเป€เบฅเบฑเบ”เบฎเบนเบš() เบขเบนเปˆเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” libmysubs.a เปƒเบ™
/opt/special/lib directory, เปƒเบŠเป‰:

funcalc -l "-L/opt/special/lib -lmysubs" ...

argument เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบเบชเบปเปˆเบ‡เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™ funcalc เบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเป‚เบ”เบเปƒเบŠเป‰ string argument เป„เบ›เบซเบฒ the
เบชเบฐเบซเบผเบฑเบš "-a". เบชเบฐเบ•เบฃเบดเบ‡เบ„เบงเบ™เบกเบตเบญเบฒเบเบดเบงเป€เบกเบฑเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบฑเบ‡เปเบปเบ”. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบœเปˆเบฒเบ™
เบˆเบณเบ™เบงเบ™ 1 เปเบฅเบฐ 2, เปƒเบŠเป‰:

funcalc -a "1 2" ...

arguments เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™ array เบžเบฒเบเปƒเบ™เปเบฅเบฐเบ–เบทเบเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป€เบ›เบฑเบ™ strings เบœเปˆเบฒเบ™ ARGV(n)
เบกเบฐเบซเบฒเบžเบฒเบ. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™
int pmin, pmax;
เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบ

เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐ
pmin=atoi(ARGV(0));
pmax=atoi(ARGV(1));
เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบ

เบ–เป‰เบฒ((cur->pha>= pmin) && (cur->pha <= pmax))
fprintf(stderr, "%d %d %d\n", cur->x, cur->y, cur->pha);

เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ™เบตเป‰เบˆเบฐเบžเบดเบกเบญเบญเบเบ„เปˆเบฒ x, y, เปเบฅเบฐ pha เบชเปเบฒเบฅเบฑเบšเปเบ–เบงเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบ„เปˆเบฒ pha เปเบกเปˆเบ™
เบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบญเบ‡เบ„เปˆเบฒเบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰:

funcalc -a '1 12' -f foo snr.ev'[cir 512 512 .1]'
+512 512 6
+512 512 8
+512 512 5
+512 512 5
+512 512 8

funcalc -a '5 6' -f foo snr.ev'[cir 512 512 .1]'
+512 512 6
+512 512 5
+512 512 5

เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡
เปเบกเปˆเบ™เบœเปˆเบฒเบ™. Macro ARGV(n) เบชเบปเปˆเบ‡เบ„เบทเบ™เบ„เปˆเบฒ NULL เบ–เป‰เบฒเบญเบฒเบเบดเบงเป€เบกเบฑเบ™เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เปเบ™เบฑเป‰เบ™เบขเบนเปˆเบ™เบญเบเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”.
เบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™เบ•เบปเบงเบˆเบดเบ‡เบ‚เบญเบ‡ args, เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบดเบˆเบฐเบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰ SEGV เบ–เป‰เบฒเบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™ blindly. เป€เบžเบทเปˆเบญเบเบงเบ”เบเบฒเป€เบšเบดเปˆเบ‡
argument count, เปƒเบŠเป‰ macro ARGC:

เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™
long int seed=1;
double limit=0.8;
เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบ

เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐ
if( ARGC >= 1 ) seed = atol(ARGV(0));
if( ARGC >= 2 ) limit = atof(ARGV(1));
srand48(เปเบเปˆเบ™);
เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบ

เบ–เป‰เบฒ (drand48() > limit ) เบชเบทเบšเบ•เปเปˆ;

เบกเบฐเบซเบฒเบžเบฒเบ WRITE_ROW เบ‚เบฐเบซเบเบฒเบเป„เบ›เบซเบฒ FunTableRowPut() เป‚เบ—เบ—เบตเปˆเบ‚เบฝเบ™เปเบ–เบงเบ›เบฐเบˆเบธเบšเบฑเบ™. เบกเบฑเบ™
เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ‚เบฝเบ™เปเบ–เบงเป„เบ”เป‰เบซเบผเบฒเบเบเบงเปˆเบฒเปœเบถเปˆเบ‡เบ„เบฑเป‰เบ‡. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, macro NROW เบ‚เบฐเบซเบเบฒเบเป„เบ›เบชเบนเปˆ
เปเบฒเบเป€เบฅเบเปเบ–เบงเบเบณเบฅเบฑเบ‡เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบขเบนเปˆ. เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ‚เบญเบ‡โ€‹เบชเบญเบ‡ macro เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹
เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡:

if( cur->pha:I == cur->pi:I ) เบชเบทเบšเบ•เปเปˆ;
a = cur->pha;
cur->pha = cur->pi;
cur->pi = a;
cur->AVG:E = (cur->pha+cur->pi)/2.0;
cur->NR:I = NROW;
เบ–เป‰เบฒ( NROW < 10 ) WRITE_ROW;

เบ–เป‰เบฒ -p [เป‚เบ„เบ‡เบเบฒเบ™] เบชเบฐเบงเบดเบ”เบ–เบทเบเบฅเบฐเบšเบธ, เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, เป„เบ”เป‰
เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ—เบตเปˆโ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เป„เบงเป‰โ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบŠเบทเปˆโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป„เบงเป‰โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ•เปเปˆโ€‹เบกเบฒโ€‹.

เบ–เป‰เบฒ -n เบชเบฐเบงเบดเบ”เบ–เบทเบเบฅเบฐเบšเบธ, เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™
เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™ stdout. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ skeleton
เปเบฅเบฐเป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡, เบซเบผเบทเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ„เปเบฒเป€เบซเบฑเบ™
เปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ”เปƒเบซเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ compiler เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เปƒเบ™เบ™เบฑเป‰เบ™
เป€เบงเบ—เบต. (เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เบˆเบฒเบเป€เบงเบ—เบตเป„เบ›เบซเบฒเป€เบงเบ—เบตเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰
เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบชเบฐเบซเบผเบฑเบš compiler, เปเบฅเบฐเบญเบทเปˆเบ™เป†)

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเบเปˆเบญเบ™ เปœเป‰เบฒ เบ™เบตเป‰, funcalc เบˆเบฐเบ›เบฐเบเบฒเบ”เบ•เบปเบงเปเบ› scalar เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” (เป€เบ›เบฑเบ™
double) เบ–เป‰เบฒเบ•เบปเบงเปเบ›เบ™เบฑเป‰เบ™เบ–เบทเบเปƒเบŠเป‰เปเบ•เปˆเบšเปเปˆเป„เบ”เป‰เบ›เบฐเบเบฒเบ”. เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ™เบตเป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”
เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ sed script เบ—เบตเปˆโ€‹เบกเบตโ€‹เบŠเบทเปˆ funcalc.sed, เป€เบŠเบดเปˆเบ‡โ€‹เบ›เบฐโ€‹เบกเบงเบ™โ€‹เบœเบปเบ™โ€‹เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ” compiler เบเบฑเบšโ€‹เบ„เบงเบฒเบกโ€‹เบฎเบนเป‰โ€‹เบชเบถเบ an
เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ•เบปเบงเปเบ›เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ›เบฐเบเบฒเบ”. script เบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบ seeded เบ”เป‰เบงเบเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก
เบ‚เปเป‰เบกเบนเบ™เบชเปเบฒเบฅเบฑเบš gcc, เปเบฅเบฐเบชเปเบฒเบฅเบฑเบš cc เปƒเบ™เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก Solaris, DecAlpha, เปเบฅเบฐ SGI. เบ–เป‰เบฒเป€เบˆเบปเป‰เบฒเบžเบปเบšเป€เบซเบฑเบ™เบ™เบฑเป‰เบ™
เบเบฒเบ™เบ›เบฐเบเบฒเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡ scalar เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เป€เบงเบ—เบตเบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เปƒเบซเป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡ script sed เบ™เบตเป‰;
เบกเบฑเบ™โ€‹เบญเบฒเบ”โ€‹เบˆเบฐโ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เป€เบžเบตเปˆเบกโ€‹เบซเบผเบทโ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เบšเบฒเบ‡โ€‹เบ‚เปเป‰โ€‹เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹เบกเบฑเบ™โ€‹เบฎเบนเป‰โ€‹เบชเบถเบโ€‹.

เป€เบžเบทเปˆเบญเบฎเบฑเบเบชเบฒเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ lexical เบ‚เบญเบ‡ funcalc เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ (เบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™) เบ‡เปˆเบฒเบเบ”เบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบทเบญเบ
เป€เบžเบทเปˆเบญเบเบญเบกเบฎเบฑเบšเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบ—เบตเปˆ C เบ„เปเบฒเบ„เบดเบ”เป€เบซเบฑเบ™, เบเบฐเบซเบงเปˆเบฒเบ‡, เปเบฅเบฐเปเบ–เบงเปƒเบซเบกเปˆเบ–เบทเบเบงเบฒเบ‡เป„เบงเป‰เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡
เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบ„เปเบฒเป€เบซเบฑเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ•เบปเบงเปเบ›เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป„เบ”เป‰เบ›เบฐเบเบฒเบ”
เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ (ie, เบšเปเปˆเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™ a เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ ... เบชเบดเป‰เบ™เบชเบธเบ” block) เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบˆเบฐเบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡
เปƒเบ™เบงเบปเบ‡เบžเบฒเบเปƒเบ™, เบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เบ›เบฐเบเบฒเบ”เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™:

/* เบ„เปเบฒเบ„เบดเบ”เป€เบซเบฑเบ™เบ™เบตเป‰เบˆเบฐเบชเบดเป‰เบ™เบชเบธเบ”เปƒเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡ (เป€เบŠเบฑเปˆเบ™: เบงเบปเบ‡เปƒเบ™) */
double a; /* เบขเบนเปˆโ€‹เปƒเบ™โ€‹เบชเบฐโ€‹เบ–เบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ” */
/* เบ™เบตเป‰โ€‹เบˆเบฐโ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹เบชเบฐโ€‹เบ–เบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบ—เบตเปˆโ€‹เป€เบซเบกเบฒเบฐโ€‹เบชเบปเบก (เบงเบปเบ‡โ€‹เปƒเบ™โ€‹) */
เบ–เป‰เบฒ ( cur->x:D == cur->y:D ) เบชเบทเบšเบ•เปเปˆ; /* เบขเบนเปˆโ€‹เบšเปˆเบญเบ™โ€‹เบ—เบตเปˆโ€‹เบ–เบทเบโ€‹เบ•เป‰เบญเบ‡ */
a = cur->x;
cur->x = cur->y;
cur->y = เป€เบ›เบฑเบ™;
cur->avg:E = (cur->x+cur->y)/2.0;

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™, เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡ เปเบฅเบฐเปเบ–เบงเปƒเปเปˆเบเปเบ–เบทเบเบฅเบฐเป€เบงเบฑเป‰เบ™ เบซเบผเบทเป€เบžเบตเปˆเบกเปƒเบ™เปเบšเบšเบ—เบตเปˆเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบšเปเปˆเบกเบฑเบ.
เบฅเบฑเบเบชเบฐเบ™เบฐ. เปเบ™เปˆโ€‹เบ™เบญเบ™โ€‹เบงเปˆเบฒโ€‹, เบšเปเปˆโ€‹เบกเบตโ€‹เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ” stylistic เป€เบซเบผเบปเปˆเบฒโ€‹เบ™เบตเป‰โ€‹เบกเบตโ€‹เบœเบปเบ™โ€‹เบเบฐโ€‹เบ—เบปเบšโ€‹เบ„เบงเบฒเบกโ€‹เบ–เบทเบโ€‹เบ•เป‰เบญเบ‡โ€‹เบ‚เบญเบ‡โ€‹
เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™.

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ funcalc เบ•เป‰เบญเบ‡เบงเบดเป€เบ„เบฒเบฐเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เป‚เบ”เบเปƒเบŠเป‰เป„เบŸเบฅเปŒเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบœเปˆเบฒเบ™
เปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡, เป„เบŸเบฅเปŒเบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบ•เป‰เบญเบ‡เบ–เบทเบเป€เบ›เบตเบ” เปเบฅเบฐเบญเปˆเบฒเบ™เบชเบญเบ‡เป€เบ—เบทเปˆเบญ: XNUMX เบ„เบฑเป‰เบ‡เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™
เบเบฒเบ™เบœเบฐเบฅเบดเบ”เปเบฅเบฐเบ„เบฑเป‰เบ‡เบ”เบฝเบงเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰ stdin เบชเปเบฒเบฅเบฑเบš
เป„เบŸเบฅเปŒเบ›เป‰เบญเบ™: funcalc เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเบเบญเบ‡เป„เบ”เป‰. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป€เบญเบปเบฒเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ™เบตเป‰เบญเบญเบ
เปƒเบ™เป€เบงเบฅเบฒเบ•เปเปˆเบกเบฒ.

เบ„เบฝเบ‡เบ„เบนเปˆเบเบฑเบšเบ„เปเบฒเป€เบซเบฑเบ™ C, funcalc เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบชเบฒเบกเบฒเบ”เบกเบตเบ„เปเบฒเป€เบซเบฑเบ™เบžเบฒเบเปƒเบ™เปเบ–เบงเบ”เบฝเบงเบ—เบตเปˆเป€เบ›เบฑเบ™
เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบชเบปเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เบเบฑเบšโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™ C เบ—เบตเปˆโ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เป„เบ”เป‰โ€‹. เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบžเบฒเบเปƒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ #
เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปเบฅเบฐเบชเบทเบšเบ•เปเปˆเป€เบ–เบดเบ‡เปเบ–เบงเปƒเบซเบกเปˆ:

double a; # เบญเบฑเบ™เบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเป„เบŸเบฅเปŒ C เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™
# เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™
a = cur->x;
cur->x = cur->y;
cur->y = เป€เบ›เบฑเบ™;
/* เบ„เปเบฒโ€‹เบ„เบดเบ”โ€‹เป€เบซเบฑเบ™โ€‹เบ™เบตเป‰โ€‹เบ–เบทเบโ€‹เบชเบปเปˆเบ‡โ€‹เป„เบ›โ€‹เบ—เบตเปˆโ€‹เป„เบŸเบฅโ€‹เปŒ C */
cur->avg:E = (cur->x+cur->y)/2.0;

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เบ–เบฑเบ™เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบ•เบฒเบกเบ›เบปเบเบเบฐเบ•เบดเปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบเบฒเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบžเบฒเบเปƒเบ™
loop เป€เบซเบ”เบเบฒเบ™เบžเบฒเบเปƒเบ™. เบกเบตเบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบซเบฒเบเบฒเบเบ—เบตเปˆเบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เบญเปˆเบฒเบ™เบ„เปเบฅเปเบฒเปเบฅเบฐ
เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบกเบฑเบ™เบขเบนเปˆเบ™เบญเบ loop เบ•เบปเป‰เบ™เบ•เป. เบ•เบปเบงเบขเปˆเบฒเบ‡, qsort เบญเบฒเบ”เบˆเบฐเปƒเบŠเป‰เบ–เบฑเบ™เปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เบ‚เบญเบ‡เบกเบฑเบ™
เบ›เบปเบเบเบฐเบ•เบดเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบžเบฒเบเปƒเบ™ loop เบžเบฒเบเปƒเบ™ (เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบšเปเปˆเปเบกเปˆเบ™
เบฅเบฐเบšเบธ implicitly เป€เบ›เบฑเบ™เบ–เบฑเบ™เบ—เบตเปˆเบˆเบฐเบญเปˆเบฒเบ™). เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบ„เปเบฅเปเบฒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ–เบทเบเบญเปˆเบฒเบ™เป‚เบ”เบ
เป€เบซเบ”เบเบฒเบ™ loop, เปƒเบŠเป‰ เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™ เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™. เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบเบฑเบšเบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™เบ™เบตเป‰เบเปเบฒเบ™เบปเบ”เบ„เปเบฅเปเบฒเบ—เบตเปˆ
เบ„เบงเบ™เบญเปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเป„เบ”เป‰เบเปˆเบฒเบงเป€เบ–เบดเบ‡เปƒเบ™
เบงเบปเบ‡เปƒเบ™. เบเบปเบโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡:

pi pha เบˆเบฐเปเบˆเป‰เบ‡

เบˆเบฐเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบ–เบฑเบ™ pi เปเบฅเบฐ pha เป„เบ”เป‰เบ–เบทเบเบญเปˆเบฒเบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเปเบ–เบง, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™
เบ›เบฐเบกเบงเบ™เบœเบปเบ™เปƒเบ™ loop เป€เบซเบ”เบเบฒเบ™เบžเบฒเบเปƒเบ™. เป„เบ”เป‰ เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™ เบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบงเบฒเบ‡เป„เบงเป‰เบ—เบธเบเบšเปˆเบญเบ™.

เบชเบธเบ”เบ—เป‰เบฒเบ, เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒ funcalc เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ„เบนเปˆ FITS เปเบฅเบฐ
เป„เบŸเบฅเปŒเป€เบซเบ”เบเบฒเบ™เบ”เบดเบš. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบฎเบนเบšเบžเบฒเบšเปƒเบ™เบˆเบธเบ”เบ•เปเปˆเบกเบฒ,
เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบกเบตโ€‹เบ„เบงเบฒเบกโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เบˆเบฒเบโ€‹เบŠเบธเบกโ€‹เบŠเบปเบ™โ€‹.

เปƒเบŠเป‰ funcalc เบญเบญเบ™เป„เบฅเบ™เปŒเป‚เบ”เบเปƒเบŠเป‰เบšเปเบฅเบดเบเบฒเบ™ onworks.net


เป€เบŠเบตเบšเป€เบงเบต เปเบฅเบฐเบชเบฐเบ–เบฒเบ™เบตเป€เบฎเบฑเบ”เบงเบฝเบเบŸเบฃเบต

เบ”เบฒเบงเป‚เบซเบผเบ”เปเบญเบฑเบš Windows เปเบฅเบฐ Linux

  • 1
    SWIG
    SWIG
    SWIG เป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบžเบฑเบ”เบ—เบฐเบ™เบฒเบŠเบญเบšเปเบง
    เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบšเบฑเบ™เบ”เบฒเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบ‚เบฝเบ™เปƒเบ™ C เปเบฅเบฐ
    C ++ เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบซเบฅเบฒเบเบซเบฅเบฒเบเบ‚เบญเบ‡เบฅเบฐเบ”เบฑเบšเบชเบนเบ‡
    เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบก. SWIG เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบเบฑเบš
    เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™ ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” SWIG
  • 2
    WooCommerce Nextjs React Theme
    WooCommerce Nextjs React Theme
    React WooCommerce เบซเบปเบงเบ‚เปเป‰, เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบ”เป‰เบงเบ
    JS เบ•เปเปˆเป„เบ›, Webpack, Babel, Node, เปเบฅเบฐ
    เบ”เปˆเบงเบ™, เปƒเบŠเป‰ GraphQL เปเบฅเบฐ Apollo
    เบฅเบนเบโ€‹เบ„เป‰เบฒ. เบฎเป‰เบฒเบ™ WooCommerce เปƒเบ™ React(
    เบ›เบฐโ€‹เบเบญเบšโ€‹เบ”เป‰เบงเบโ€‹: เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบ•เบฐโ€‹เบžเบฑเบ™ ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” WooCommerce Nextjs React Theme
  • 3
    archlabs_repo
    archlabs_repo
    Package repo เบชเปเบฒเบฅเบฑเบš ArchLabs เบ™เบตเป‰เปเบกเปˆเบ™
    เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เป€เบญเบปเบฒเบกเบฒเป„เบ”เป‰
    เบˆเบฒเบ
    https://sourceforge.net/projects/archlabs-repo/.
    เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบขเบนเปˆเปƒเบ™ OnWorks เปƒเบ™ ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” archlabs_repo
  • 4
    เป‚เบ„เบ‡เบเบฒเบ™ Zephyr
    เป‚เบ„เบ‡เบเบฒเบ™ Zephyr
    เป‚เบ„เบ‡เบเบฒเบ™ Zephyr เปเบกเปˆเบ™เบ„เบปเบ™เบฎเบธเปˆเบ™เปƒเบซเบกเปˆ
    เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปƒเบ™เป€เบงเบฅเบฒเบˆเบดเบ‡ (RTOS) เบ™เบฑเป‰เบ™
    เบฎเบญเบ‡เบฎเบฑเบšเบฎเบฒเบ”เปเบงเบซเบผเบฒเบเบญเบฑเบ™
    เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ. เบกเบฑเบ™เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆ a
    เปเบเปˆเบ™เบฎเบญเบเบ•เบตเบ™เบ™เป‰เบญเบ...
    เบ”เบฒเบงเป‚เบซเบฅเบ”เป‚เบ„เบ‡เบเบฒเบ™ Zephyr
  • 5
    SCons
    SCons
    SCons เป€เบ›เบฑเบ™โ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เบเบฒเบ™โ€‹เบเปเปˆโ€‹เบชเป‰เบฒเบ‡โ€‹เบŠเบญเบšโ€‹เปเบงโ€‹
    เบ™เบฑเป‰เบ™โ€‹เปเบกเปˆเบ™โ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ—เบตเปˆโ€‹เบ”เบตโ€‹เป€เบฅเบตเบ”โ€‹เบ‚เบญเบ‡โ€‹
    เบ„เบฅเบฒเบชเบชเบดเบ "เป€เบฎเบฑเบ”" เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ—เบตเปˆ
    เบžเบงเบเป€เบฎเบปเบฒเบ—เบธเบเบ„เบปเบ™เบฎเบนเป‰เบˆเบฑเบเปเบฅเบฐเบฎเบฑเบ. SCons เปเบกเปˆเบ™
    เป„เบ”เป‰โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เป€เบ›เบฑเบ™ ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” SCons
  • 6
    PSeInt
    PSeInt
    PSeInt เป€เบ›เบฑเบ™เบ™เบฒเบเบžเบฒเบชเบฒ pseudo-code เบชเปเบฒเบฅเบฑเบš
    เบ™เบฑเบเบชเบถเบเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบ—เบตเปˆเป€เบงเบปเป‰เบฒเบžเบฒเบชเบฒเบชเบฐเป€เบ›เบ™.
    เบˆเบธเบ”โ€‹เบ›เบฐโ€‹เบชเบปเบ‡โ€‹เบ•เบปเป‰เบ™โ€‹เบ•เปโ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹เปเบกเปˆเบ™โ€‹เป€เบžเบทเปˆเบญโ€‹เป€เบ›เบฑเบ™โ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹
    เบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เปเบฅเบฐเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบžเบทเป‰เบ™เบ–เบฒเบ™
    เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”...
    เบ”เบฒเบงเป‚เบซเบฅเบ” PSeInt
  • เป€เบžเบตเปˆเบกเป€เบ•เบตเบก ยป

Linux เบ„เบณ เบชเบฑเปˆเบ‡

  • 1
    7z
    7z
    7z - เปเบŸเป‰เบกเบˆเบฑเบ”เป€เบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบชเบนเบ‡เบชเบธเบ”
    เบญเบฑเบ”โ€‹เบ•เบฒโ€‹เบชเปˆเบงเบ™โ€‹เบเบฒเบ™โ€‹เบšเบตเบšโ€‹เบญเบฑเบ” ...
    เปเบฅเปˆเบ™ 7z
  • 2
    7za
    7za
    7za - เปเบŸเป‰เบกเบˆเบฑเบ”เป€เบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบชเบนเบ‡เบชเบธเบ”
    เบญเบฑเบ”โ€‹เบ•เบฒโ€‹เบชเปˆเบงเบ™โ€‹เบเบฒเบ™โ€‹เบšเบตเบšโ€‹เบญเบฑเบ” ...
    เปเบฅเปˆเบ™ 7za
  • 3
    creepy
    creepy
    CREEPY - เบ‚เปเป‰เบกเบนเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ•เบฑเป‰เบ‡เบžเบนเบกเบชเบฒเบ”
    เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบ•เบปเบงเบชเบฑเบ‡เบฅเบงเบก: creepy เปเบกเปˆเบ™
    เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบเปเบฒ
    เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบžเบนเบกโ€‹เบชเบฒเบ”โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹
    เบœเบนเป‰โ€‹เปƒเบŠเป‰โ€‹เบˆเบฒเบ ...
    เปเบฅเปˆเบ™ creepy
  • 4
    cricket-compile
    cricket-compile
    cricket - เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบเบฒเบ™โ€‹เบ„เบธเป‰เบกโ€‹เบ„เบญเบ‡โ€‹เบเบฒเบ™โ€‹
    เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเปเบฅเบฐเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบŠเบธเบ”เป€เบงเบฅเบฒ
    เบ‚เปเป‰เบกเบนเบ™...
    เปเบฅเปˆเบ™ cricket-compile
  • 5
    g-wrap-config
    g-wrap-config
    g-wrap-config - script เป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบฎเบฑเบš
    เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบชเบฐเบšเบฑเบšเบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡
    เบ‚เบญเบ‡ G-Wrap ...
    เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ g-wrap-config
  • 6
    g.accessgrass
    g.accessgrass
    g.access - เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡
    เปเบœเบ™โ€‹เบ—เบตเปˆโ€‹เปƒเบ™โ€‹เบ›เบฐโ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบœเบนเป‰โ€‹เปƒเบŠเป‰โ€‹เบญเบทเปˆเบ™เป†โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹
    เบฅเบฐเบšเบปเบš. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบซเป‰, เบžเบดเบก
    เบชเบฐเบ–เบฒเบ™เบฐเบ›เบฑเบ”เบˆเบธเบšเบฑเบ™. เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™: เบ—เบปเปˆเบงเป„เบ›, เปเบœเบ™เบ—เบตเปˆ
    เบเบฒเบ™โ€‹เบ„เบธเป‰เบกโ€‹เบ„เบญเบ‡โ€‹, p ...
    เปเบฅเปˆเบ™ g.accessgrass
  • เป€เบžเบตเปˆเบกเป€เบ•เบตเบก ยป

Ad