Astro-FITS-CFITSIO
view release on metacpan or search on metacpan
ffikyg($fptr,'KY_IKYG',12.345678901234567, 13, "ikyg comment", $status);
@tmp = ();
for ($ii=$keynum-4; $ii<=$keynum+5;$ii++) {
ffgrec($fptr,$ii,$card,$status);
push @tmp, $card;
}
post_test(
cmp_str_arrays(
\@tmp,
[
q!COMMENT This keyword was written by fxpcom.!,
q!KY_IREC = 'This keyword inserted by fxirec'!,
q!KY_IKYS = 'insert_value_string' / ikys comment!,
q!KY_IKYJ = 49 / ikyj comment!,
q!KY_IKYL = T / ikyl comment!,
q!KY_IKYE = 1.2346E+01 / ikye comment!,
q!KY_IKYD = 1.23456789012346E+01 / ikyd comment!,
q!KY_IKYF = 12.3456 / ikyf comment!,
q!KY_IKYG = 12.3456789012346 / ikyg comment!,
q!KY_PKNS1= 'first string' / fxpkns comment!
]
) and $status == 0
);
pre_test('ffmrec/ffmcrd/ffmnam/ffmcom/ffmkyX');
ffmrec($fptr,$keynum-4,'COMMENT This keyword was modified by fxmrec', $status);
ffmcrd($fptr,'KY_IREC',"KY_MREC = 'This keyword was modified by fxmcrd'",$status);
ffmnam($fptr,'KY_IKYS','NEWIKYS',$status);
ffmcom($fptr,'KY_IKYJ','This is a modified comment', $status);
ffmkyj($fptr,'KY_IKYJ',50,'&',$status);
ffmkyl($fptr,'KY_IKYL',0,'&',$status);
ffmkys($fptr,'NEWIKYS','modified_string', '&', $status);
ffmkye($fptr,'KY_IKYE',-12.3456, 4, '&', $status);
ffmkyd($fptr,'KY_IKYD',-12.345678901234567, 14, 'modified comment', $status);
ffmkyf($fptr,'KY_IKYF',-12.3456, 4, '&', $status);
ffmkyg($fptr,'KY_IKYG',-12.345678901234567, 13, '&', $status);
@tmp = ();
for ($ii=$keynum-4; $ii<=$keynum+5;$ii++) {
ffgrec($fptr,$ii,$card,$status);
push @tmp, $card;
}
post_test(
cmp_str_arrays(
\@tmp,
[
q!COMMENT This keyword was modified by fxmrec!,
q!KY_MREC = 'This keyword was modified by fxmcrd'!,
q!NEWIKYS = 'modified_string' / ikys comment!,
q!KY_IKYJ = 50 / This is a modified comment!,
q!KY_IKYL = F / ikyl comment!,
q!KY_IKYE = -1.2346E+01 / ikye comment!,
q!KY_IKYD = -1.23456789012346E+01 / modified comment!,
q!KY_IKYF = -12.3456 / ikyf comment!,
q!KY_IKYG = -12.3456789012346 / ikyg comment!,
q!KY_PKNS1= 'first string' / fxpkns comment!,
]
) and $status == 0
);
pre_test('ffucrd/ffukyX');
ffucrd($fptr,'KY_MREC',"KY_UCRD = 'This keyword was updated by fxucrd'",$status);
ffukyj($fptr,'KY_IKYJ',51,'&',$status);
ffukyl($fptr,'KY_IKYL',1,'&',$status);
ffukys($fptr,'NEWIKYS',"updated_string",'&',$status);
ffukye($fptr,'KY_IKYE',-13.3456, 4,'&',$status);
ffukyd($fptr,'KY_IKYD',-13.345678901234567, 14,'modified comment',$status);
ffukyf($fptr,'KY_IKYF',-13.3456, 4,'&',$status);
ffukyg($fptr,'KY_IKYG',-13.345678901234567, 13,'&',$status);
@tmp=();
for ($ii=$keynum-4; $ii<=$keynum+5;$ii++) {
ffgrec($fptr,$ii,$card,$status);
push @tmp,$card;
}
post_test(
cmp_str_arrays(
\@tmp,
[
q!COMMENT This keyword was modified by fxmrec!,
q!KY_UCRD = 'This keyword was updated by fxucrd'!,
q!NEWIKYS = 'updated_string' / ikys comment!,
q!KY_IKYJ = 51 / This is a modified comment!,
q!KY_IKYL = T / ikyl comment!,
q!KY_IKYE = -1.3346E+01 / ikye comment!,
q!KY_IKYD = -1.33456789012346E+01 / modified comment!,
q!KY_IKYF = -13.3456 / ikyf comment!,
q!KY_IKYG = -13.3456789012346 / ikyg comment!,
q!KY_PKNS1= 'first string' / fxpkns comment!,
]
) and $status == 0
);
pre_test('ffgnxk');
ffgrec($fptr,0,$card,$status);
$nfound = 0;
@tmp = ();
my $inclist = [ 'key*', 'newikys' ];
my $exclist = [ 'key_pr*', 'key_pkls' ];
while (!ffgnxk($fptr,$inclist,2,$exclist,2,$card,$status)) {
$nfound++;
push @tmp, $card;
}
post_test(
$nfound == 13 and
cmp_str_arrays(
\@tmp,
[
q!KEY_PKYS= 'value_string' / fxpkys comment!,
q!KEY_PKYL= T / fxpkyl comment!,
q!KEY_PKYJ= 11 / [feet/second/second] fxpkyj comment!,
q!KEY_PKYF= 12.12121 / fxpkyf comment!,
q!KEY_PKYE= 1.313131E+01 / fxpkye comment!,
q!KEY_PKYG= 14.14141414141414 / fxpkyg comment!,
q!KEY_PKYD= 1.51515151515152E+01 / fxpkyd comment!,
q!KEY_PKYC= (1.313131E+01, 1.414141E+01) / fxpkyc comment!,
q!KEY_PKYM= (1.51515151515152E+01, 1.61616161616162E+01) / fxpkym comment!,
q!KEY_PKFC= (13.131313, 14.141414) / fxpkfc comment!,
q!KEY_PKFM= (15.15151515151515, 16.16161616161616) / fxpkfm comment!,
q!KEY_PKYT= 12345678.1234567890123456 / fxpkyt comment!,
q!NEWIKYS = 'updated_string' / ikys comment!,
]
)
);
$status = 0;
pre_test('ffcpky');
ffcpky($fptr,$fptr,1,4,'KY_PKNE',$status);
ffgkns($fptr,'ky_pkne',2,4,$inekey,$nfound,$status);
post_test(
$status == 0 and
sprintf("%f %f %f",@$inekey) eq '14.141410 15.151520 13.131310'
);
pre_test('ffpktp');
post_test( ffpktp($fptr,$template,$status) == 0);
my $tform = [ qw( 15A 1L 16X 1B 1I 1J 1E 1D 1C 1M ) ];
my $ttype = [ qw( Avalue Lvalue Xvalue Bvalue Ivalue Jvalue Evalue Dvalue Cvalue Mvalue ) ];
my $tunit = [ ( '', 'm**2', 'cm', 'erg/s', 'km/s', '', '', '', '', '') ];
my $nrows = 21;
my $tfields = 10;
$pcount = 0;
my $binname = 'Test-BINTABLE';
pre_test('ffibin');
post_test(
ffibin($fptr,$nrows,$tfields,$ttype,$tform,$tunit,$binname,0,$status) == 0 and
ffghdn($fptr,$hdunum) == 2
);
pre_test('ffghps');
ffghps($fptr,$existkeys,$keynum,$status);
post_test( $existkeys == 33 and $keynum == 1);
pre_test('ffhdef/ffghsp');
my $morekeys=40;
ffhdef($fptr,$morekeys,$status);
ffghsp($fptr,$existkeys,$morekeys,$status);
post_test( $existkeys == 33 and $morekeys == 74 );
fftnul($fptr,4,99,$status);
fftnul($fptr,5,99,$status);
fftnul($fptr,6,99,$status);
my $extvers=1;
ffpkyj($fptr,'EXTVER',$extvers,'extension version number', $status);
ffpkyj($fptr,'TNULL4',99,'value for undefined pixels',$status);
ffpkyj($fptr,'TNULL5',99,'value for undefined pixels',$status);
ffpkyj($fptr,'TNULL6',99,'value for undefined pixels',$status);
pre_test('ffptdm/ffgtdm');
$naxis=3;
$naxes=[1,2,8];
ffptdm($fptr,3,$naxis,$naxes,$status);
$naxis=0;
$naxes=undef;
ffgtdm($fptr,3,$naxis,$naxes,$status);
ffgkys($fptr,'TDIM3',$iskey,$comment,$status);
post_test(
( run in 1.211 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )