6 MODULE = XS::APItest:Hash PACKAGE = XS::APItest::Hash
8 #define UTF8KLEN(sv, len) (SvUTF8(sv) ? -(I32)len : (I32)len)
19 key = SvPV(key_sv, len);
20 RETVAL = hv_exists(hash, key, UTF8KLEN(key_sv, len));
33 key = SvPV(key_sv, len);
34 /* It's already mortal, so need to increase reference count. */
35 RETVAL = SvREFCNT_inc(hv_delete(hash, key, UTF8KLEN(key_sv, len), 0));
40 store_ent(hash, key, value)
50 result = hv_store_ent(hash, key, copy, 0);
51 SvSetMagicSV(copy, value);
56 /* It's about to become mortal, so need to increase reference count.
58 RETVAL = SvREFCNT_inc(HeVAL(result));
64 store(hash, key_sv, value)
75 key = SvPV(key_sv, len);
77 result = hv_store(hash, key, UTF8KLEN(key_sv, len), copy, 0);
78 SvSetMagicSV(copy, value);
83 /* It's about to become mortal, so need to increase reference count.
85 RETVAL = SvREFCNT_inc(*result);
100 key = SvPV(key_sv, len);
101 result = hv_fetch(hash, key, UTF8KLEN(key_sv, len), 0);
106 RETVAL = newSVsv(*result);
111 sub TIEHASH { bless {}, $_[0] }
112 sub STORE { $_[0]->{$_[1]} = $_[2] }
113 sub FETCH { $_[0]->{$_[1]} }
114 sub FIRSTKEY { my $a = scalar keys %{$_[0]}; each %{$_[0]} }
115 sub NEXTKEY { each %{$_[0]} }
116 sub EXISTS { exists $_[0]->{$_[1]} }
117 sub DELETE { delete $_[0]->{$_[1]} }
118 sub CLEAR { %{$_[0]} = () }
122 MODULE = XS::APItest PACKAGE = XS::APItest
130 printf("%5.3f\n",val);
135 #ifdef HAS_LONG_DOUBLE
146 #ifdef HAS_LONG_DOUBLE
147 # if defined(PERL_PRIfldbl) && (LONG_DOUBLESIZE > DOUBLESIZE)
148 long double val = 7.0;
149 printf("%5.3" PERL_PRIfldbl "\n",val);
152 printf("%5.3f\n",val);
172 printf("%5.3f\n",val);