āĻāĻāĻŋ āĻšāĻ˛ PDL::PPp āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻžāĻ§āĻŋāĻ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§āĻ° āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻ¸ā§āĻā§āĻļāĻ¨ āĻ¯ā§āĻŽāĻ¨ āĻāĻŦā§āĻ¨ā§āĻā§ āĻ āĻ¨āĻ˛āĻžāĻāĻ¨, āĻĢā§āĻĄā§āĻ°āĻž āĻ āĻ¨āĻ˛āĻžāĻāĻ¨, āĻāĻāĻ¨ā§āĻĄā§āĻ āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻāĻŽā§āĻ˛ā§āĻāĻ° āĻŦāĻž MAC OS āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻāĻŽā§āĻ˛ā§āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ OnWorks āĻĢā§āĻ°āĻŋ āĻšā§āĻ¸ā§āĻāĻŋāĻ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ¤ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻžāĻ°ā§āĻ¯āĻā§āĻ°āĻŽ:
NAME āĻāĻ°
PDL::PP - āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĨā§āĻā§ PDL āĻ°ā§āĻāĻŋāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
āĻ¸āĻžāĻāĻ¨ā§āĻĒāĻŋāĻ¸āĻŋāĻ¸
āĻ¯ā§āĻŽāĻ¨
pp_def(
'sumover',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); [āĻ]āĻŦāĻŋ();',
āĻā§āĻĄ => q{
āĻĄāĻŦāĻ˛ tmp = 0;
āĻ˛ā§āĻĒ(n) %{
tmp += $a();
%}
$b() = tmp;
},
);
pp_done();
āĻĢāĻžāĻāĻļāĻ¨
āĻāĻāĻžāĻ¨ā§ PDL::PP āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
pp_add_boot
āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž XS āĻĢāĻžāĻāĻ˛ā§āĻ° āĻŦā§āĻ āĻŦāĻŋāĻāĻžāĻā§ āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
pp_add_exported
āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋāĻā§āĻ¤ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻĢāĻžāĻāĻļāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
pp_add_isa
@ISA āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻāĻ¨ā§āĻā§āĻ°āĻŋ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
pp_addbegin
āĻā§āĻ¨āĻžāĻ°ā§āĻ .pm āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻĒāĻ°ā§ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄ āĻ¸ā§āĻ āĻāĻ°ā§
pp_addhdr
āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž XS āĻĢāĻžāĻāĻ˛ā§āĻ° C āĻŦāĻŋāĻāĻžāĻā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨
pp_addpm
āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž .pm āĻĢāĻžāĻāĻ˛ā§ āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
pp_addxs
āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž XS āĻĢāĻžāĻāĻ˛ā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ XS āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
pp_beginwrap
āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž .pm āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄā§ BEGIN-āĻŦā§āĻ˛āĻ āĻ°âā§āĻ¯āĻžāĻĒāĻŋāĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
pp_bless
āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¸ā§āĻ āĻāĻ°ā§ āĻ¯ā§āĻāĻžāĻ¨ā§ XS āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻšāĻ˛ PDL)
pp_boundscheck
PDL āĻŦāĻžāĻāĻ¨ā§āĻĄ āĻā§āĻāĻŋāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒā§āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ āĻŦāĻ¸ā§āĻĨāĻž
pp_core_importList
PDL::Core āĻĨā§āĻā§ āĻāĻŋ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§āĻ¨
pp_def
āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ PDL āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨
pp_deprecate_module
āĻāĻāĻāĻŋ āĻŽāĻĄāĻŋāĻāĻ˛ āĻ āĻŦāĻšā§āĻ˛āĻŋāĻ¤ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻāĻŦāĻ POD āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
pp_done
āĻĢāĻžāĻāĻ˛ā§ PDL::PP āĻ¸āĻāĻā§āĻāĻžāĻ° āĻļā§āĻˇ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°ā§āĻ¨
pp_export_nothing
āĻāĻĒāĻ¨āĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻŽāĻĄāĻŋāĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¸āĻžāĻĢ āĻāĻ°ā§āĻ¨
pp_āĻ˛āĻžāĻāĻ¨_āĻ¸āĻāĻā§āĻ¯āĻž
PDL::PP āĻā§āĻĄā§āĻ° āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ āĻ¸āĻšāĻ āĻāĻ°āĻ¤ā§ āĻ˛āĻžāĻāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻ¤āĻĨā§āĻ¯ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
pp_setversion
.pm āĻāĻŦāĻ .xs āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨ā§ˇ
āĻāĻ āĻ¨āĻāĻ°ā§
āĻā§āĻ¨ āĻāĻŽāĻ°āĻž āĻĒāĻŋāĻĒāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨? āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻžāĻ°āĻŖ: āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻŽāĻ°āĻž āĻ¸āĻžāĻŦāĻ°ā§āĻāĻŋāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻ¤ā§ āĻāĻžāĻ
PDL āĻĄā§āĻāĻžāĻāĻžāĻāĻĒā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄ (PDL_Byte, PDL_Short, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ)āĨ¤ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§. āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻ¤,
āĻ¯āĻāĻ¨ āĻĒāĻžāĻ°ā§āĻ˛ā§ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ āĻ ā§āĻ¯āĻžāĻ°ā§āĻ° āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ (āĻ¯ā§āĻŽāĻ¨ "$a->āĻ¸ā§āĻ˛āĻžāĻāĻ¸('0:10:2,:')" āĻŦāĻž āĻ āĻ¨ā§āĻ¯
āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĒā§āĻā§āĻ° āĻŽāĻ¤ā§ āĻāĻŋāĻ¨āĻŋāĻ¸) āĻāĻāĻŋ āĻ¸ā§āĻŦāĻā§āĻāĻāĻžāĻŦā§ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻāĻ¯āĻŧāĻž āĻāĻŦāĻ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻāĻ¯āĻŧāĻž āĻāĻžāĻ˛
āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ 'āĻāĻ¨-āĻĒā§āĻ˛ā§āĻ¸' - āĻ āĻ°ā§āĻĨāĻžā§, āĻŦāĻŋāĻāĻžāĻā§āĻ° āĻāĻāĻāĻŋ āĻŽā§āĻŽāĻ°āĻŋ āĻāĻĒāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻžāĨ¤ āĻĒāĻŋāĻĒāĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻā§āĻ˛āĻŋ
āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻŦāĻ āĻ āĻĢāĻ¸ā§āĻ āĻĒāĻžāĻāĻŋāĻāĻŖāĻŋāĻ¤āĨ¤ āĻāĻ° āĻ§āĻžāĻ°āĻŖāĻžāĻ āĻ°āĻ¯āĻŧā§āĻā§
āĻĨā§āĻ°ā§āĻĄāĻŋāĻ (āĻāĻāĻžāĻ§āĻŋāĻ āĻ¸ā§āĻ˛āĻžāĻāĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻ āĻ°ā§āĻāĻŋāĻ¨ā§āĻ° āĻŦāĻžāĻ°āĻŦāĻžāĻ° āĻāĻ˛āĻŋāĻ, āĻĻā§āĻā§āĻ¨ PDL::Indexing)
āĻāĻŦāĻ āĻĄā§āĻāĻžāĻĢā§āĻ˛ā§ (āĻĒāĻŋāĻĄāĻŋāĻāĻ˛::āĻĄā§āĻāĻžāĻĢā§āĻ˛ā§ āĻĻā§āĻā§āĻ¨) āĻ¯āĻž āĻĒāĻŋāĻĒāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻ° āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻŽāĻ°āĻž āĻāĻ° āĻ§āĻžāĻ°āĻŖāĻžāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻžāĻ āĻā§āĻ° āĻĒāĻ°āĻŋāĻāĻŋāĻ¤āĻŋ āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻŦ
PDL-āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻāĻŦāĻ āĻ¸ā§āĻĒāĻˇā§āĻ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻāĻŦāĻ āĻ¸ā§āĻāĻ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻļāĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻ¨āĻ āĻ¨āĻž
āĻāĻ āĻ§āĻžāĻ°āĻŖāĻžāĻā§āĻ˛āĻŋ āĻļā§āĻ¨ā§āĻāĻŋ āĻŦāĻž āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻŦ āĻāĻ°āĻžāĻŽāĻĻāĻžāĻ¯āĻŧāĻ āĻ¨āĻ¯āĻŧ āĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ
āĻĒāĻŋāĻĄāĻŋāĻāĻ˛::āĻāĻ¨āĻĄā§āĻā§āĻ¸āĻŋāĻāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻāĻ° āĻ¨āĻžāĻŽ āĻĨā§āĻā§ āĻĒā§āĻ°āĻļāĻāĻ¸āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ PDL::PP āĻšāĻ˛ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻ-āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°, āĻ āĻ°ā§āĻĨāĻžā§ āĻāĻāĻŋ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻā§āĻĄ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°ā§
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ¸āĻŋ-āĻā§āĻĄ āĻāĻ°āĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĨ¤ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§, āĻāĻāĻāĻĒā§āĻ āĻšāĻ˛ XS āĻā§āĻĄ (āĻĻā§āĻā§āĻ¨ perlxs) āĻāĻŋāĻ¨ā§āĻ¤ā§
āĻ¯ā§āĻāĻž C āĻāĻ° āĻā§āĻŦ āĻāĻžāĻāĻžāĻāĻžāĻāĻŋāĨ¤
āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻĒāĻŋāĻĒāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĻ¨? āĻāĻ¯āĻŧā§āĻ˛ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻ āĻāĻļā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸āĻŋ āĻā§āĻĄ āĻŦā§āĻ¯āĻ¤ā§āĻ¤ āĻ˛āĻŋāĻā§āĻ¨
āĻŦāĻŋāĻļā§āĻˇ āĻĒāĻŋāĻĒāĻŋ āĻāĻ āĻ¨ āĻ¯āĻž āĻĢāĻ°ā§āĻŽ āĻ¨ā§āĻ¯āĻŧ:
$something (āĻ āĻ¨ā§āĻ¯ āĻāĻŋāĻā§)
āĻŦāĻž:
āĻĒāĻŋāĻĒāĻŋ āĻĢāĻžāĻāĻļāĻ¨ %{
%}
āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻĒāĻŋāĻĒāĻŋ āĻāĻ āĻ¨ āĻšāĻ˛ "$array()" āĻĢāĻ°ā§āĻŽāĨ¤ āĻā§āĻŦ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻŋāĻĒāĻŋ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§āĻ¨
āĻāĻāĻāĻŋ 1D āĻā§āĻā§āĻāĻ°ā§āĻ° āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¯ā§āĻāĻĢāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻļāĻ¨ (āĻāĻ¸āĻ˛ā§ āĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§āĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻŦ āĻŽāĻŋāĻ˛
'sumover' āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻā§āĻĄ):
pp_def('āĻ¸ā§āĻŽāĻŋāĻ¤',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); [āĻ]āĻŦāĻŋ();',
āĻā§āĻĄ => q{
āĻĄāĻŦāĻ˛ tmp;
tmp = 0;
āĻ˛ā§āĻĒ(n) %{
tmp += $a();
%}
$b() = tmp;
}
);
āĻāĻŋ āĻšāĻā§āĻā§? "Pars =>" āĻ˛āĻžāĻāĻ¨āĻāĻŋ PP-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ - āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§
āĻ¯ā§āĻā§āĻ¤āĻŋ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻžāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻ āĻāĻ˛ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻĒāĻŋāĻĒāĻŋ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° (āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°ā§āĻ¨
āĻāĻāĻžāĻĄāĻŧāĻžāĻ PDL::āĻāĻ¨āĻĄā§āĻā§āĻ¸āĻŋāĻ-āĻ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻžāĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ°ā§āĻāĻŋāĻ¨ āĻāĻāĻāĻŋ 1-āĻĄāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¨ā§āĻ¯āĻŧ
āĻāĻ¨āĻĒā§āĻ āĻāĻŦāĻ āĻāĻāĻāĻĒā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ 0-āĻĄāĻŋ āĻ¸ā§āĻā§āĻ˛āĻžāĻ° āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ "$a()" PP āĻāĻ¨āĻ¸ā§āĻā§āĻ°āĻžāĻā§āĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ
āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ ā§āĻ¯āĻžāĻ°ā§āĻ° āĻāĻĒāĻžāĻĻāĻžāĻ¨ a(n) - PP āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ C āĻā§āĻĄ āĻĒā§āĻ°āĻŖ āĻāĻ°ā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻŦā§āĻ¨ āĻ¯ā§ āĻāĻŽāĻ°āĻž "q{}" āĻāĻāĻ-āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻ āĻĒāĻžāĻ°ā§āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻāĻŋāĨ¤ āĻāĻ āĻāĻāĻāĻŋ āĻ¨āĻž
āĻĻā§āĻ°ā§āĻāĻāĻ¨āĻž āĻāĻĒāĻ¨āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻŋāĻĒāĻŋ āĻā§āĻĄ āĻŦāĻŋāĻāĻžāĻāĻā§āĻ˛āĻŋ āĻŦā§āĻāĻžāĻ¤ā§ āĻāĻāĻ āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨āĨ¤ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛::āĻĒāĻŋāĻĒāĻŋ
āĻāĻāĻŋāĻ° āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ "$var()" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻ āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻĒāĻžāĻ°ā§āĻ˛ āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦā§
āĻāĻ¨ā§āĻāĻžāĻ°āĻĒā§āĻ˛ā§āĻ "$var()"āĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻā§āĻāĻāĻĄāĻŧāĻž āĻ§āĻ¨ā§āĻ°ā§āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻ¸āĻš āĻāĻāĻ āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ "q" āĻ āĻĒāĻžāĻ°ā§āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§
āĻĻā§āĻā§ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻā§āĻĄ āĻŦā§āĻ˛āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻā§āĻ¨, āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻŦāĻ˛āĻ¤ā§ āĻāĻžāĻā§āĻā§āĻ¨āĨ¤ (āĻĒāĻžāĻ°ā§āĻ˛ āĻ¯āĻĨā§āĻˇā§āĻ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻ
āĻ¨ā§āĻ¸ā§āĻā§āĻĄ āĻā§āĻāĻāĻĄāĻŧāĻž āĻ§āĻ¨ā§āĻ°ā§āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻĻā§āĻ§ā§āĻ¤āĻŋāĻāĻŋ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž āĻ¯āĻ¤āĻā§āĻˇāĻŖ āĻ¨āĻž āĻāĻāĻŋ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻā§āĻāĻāĻĄāĻŧāĻžāĻāĻŋ āĻā§āĻāĻā§ āĻĒāĻžāĻ¯āĻŧ
āĻŦāĻ¨ā§āĻ§āĻ¨ā§, āĻ¤āĻžāĻ āĻ¨ā§āĻ¸ā§āĻā§āĻĄ āĻŦā§āĻ˛āĻ āĻ°āĻžāĻāĻž āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻāĨ¤) āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§, āĻ¯ā§āĻŽāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨
āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ¸āĻāĻ¯ā§āĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻā§āĻĄ āĻŦā§āĻ˛āĻ āĻāĻāĻ¸āĻžāĻĨā§ āĻ¸ā§āĻ˛āĻžāĻ āĻāĻ°āĻž, āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻ¸āĻšāĻ
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻāĻāĻ āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§
āĻā§āĻĄ => 'something'.$interpolatable.'somethingelse;'
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻžāĻ¨ā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻĒāĻŋāĻĒāĻŋ āĻāĻ¨āĻ¸ā§āĻā§āĻ°āĻžāĻāĻ "āĻ˛ā§āĻĒ(āĻāĻ¨)%{ ...
"n" āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ˛ā§āĻĒ āĻāĻ°āĻ¤ā§ %}" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§ˇ PP-āĻāĻ° āĻāĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻāĻŋ āĻ¨ā§āĻ āĻāĻ°ā§āĻ¨: ALL
āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¨āĻžāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ.
āĻāĻŽāĻ°āĻž āĻĒāĻŋāĻĒāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻāĻ˛āĻ˛ā§ āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ˛ā§āĻĒ() āĻ˛ā§āĻĒāĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ˛āĻŋāĻā§āĻ¨
āĻĒā§āĻ°āĻāĻ˛āĻŋāĻ¤ āĻ¸āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§:
pp_def('āĻ¸ā§āĻŽāĻŋāĻ¤',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); [āĻ]āĻŦāĻŋ();',
āĻā§āĻĄ => q{
int i,n_size;
āĻĄāĻŦāĻ˛ tmp;
n_size = $SIZE(n);
tmp = 0;
āĻāĻ¨ā§āĻ¯(i=0; i
tmp += $a(n=>i);
}
$b() = tmp;
},
);
āĻ¯āĻž āĻāĻā§āĻ° āĻŽāĻ¤āĻ āĻāĻžāĻ āĻāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ°ā§ āĻĻā§āĻ°ā§āĻ-āĻāĻ¨ā§āĻ¨āĻ¤āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ "i" āĻĒā§āĻ¤ā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
a() āĻāĻŽāĻ°āĻž āĻŦāĻ˛āĻŋ "$a(n=>i)" - āĻāĻŽāĻ°āĻž "n" āĻ¨āĻžāĻŽā§ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻāĻŋāĨ¤ 2D āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻŦāĻ˛āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
Pars =>'a(m,n);',
...
tmp += $a(m=>i,n=>j);
...
āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ "m=>i" āĻĒāĻžāĻ°ā§āĻ˛ āĻšā§āĻ¯āĻžāĻļ āĻĨā§āĻā§ āĻ§āĻžāĻ° āĻāĻ°ā§, āĻ¯āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ
āĻĒāĻŋāĻĒāĻŋ āĻāĻ°āĨ¤ āĻā§āĻ "$a(n=>j,m=>i)" āĻŦāĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻžāĻ°āĻŖ āĻ āĻ°ā§āĻĄāĻžāĻ° āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ¨āĻ¯āĻŧāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖā§ āĻ āĻ¨ā§āĻ¯ āĻĒāĻŋāĻĒāĻŋ āĻāĻ¨āĻ¸ā§āĻā§āĻ°āĻžāĻā§āĻ - $SIZE(n) āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻŽāĻžāĻ¤ā§āĻ°āĻž "n" āĻāĻ° āĻĻā§āĻ°ā§āĻā§āĻ¯āĨ¤
āĻ¤āĻŦā§, āĻāĻāĻŋ āĻ˛āĻā§āĻˇ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¤āĻāĻ¨ āĻāĻāĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¸āĻŋ-āĻ˛ā§āĻĒ āĻ˛ā§āĻāĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ
PDL::PP āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ˛ā§āĻĒā§āĻ° āĻ¸ā§āĻŽāĻž āĻā§āĻ āĻāĻ°āĻžāĻ° āĻĒāĻ° āĻĨā§āĻā§ PP "āĻ˛ā§āĻĒ" āĻāĻ¨āĻ¸ā§āĻā§āĻ°āĻžāĻāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻā§
āĻāĻĒāĻ¨āĻŋ, "āĻ˛ā§āĻĒ" āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻā§āĻĄāĻāĻŋāĻā§ āĻāĻ°āĻ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ āĻ¤āĻŦā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ°āĻ¯āĻŧā§āĻā§
āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ˛ā§āĻĒā§āĻ° āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŦāĻ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨ā§āĻ¨ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ;)āĨ¤
'āĻā§āĻ¨ āĻĒāĻŋāĻĒāĻŋ?' - āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ°ā§āĻ° āĻā§āĻĄ āĻ¸ā§āĻŽāĻŋāĻ¤() āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĄā§āĻāĻž-āĻāĻžāĻāĻĒā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻāĻāĻž
'āĻāĻ¨-āĻĒā§āĻ˛ā§āĻ¸' āĻ ā§āĻ¯āĻžāĻ°ā§āĻ° āĻ¸ā§āĻ˛āĻžāĻāĻ¸āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻžāĻ āĻāĻ°āĻŦā§āĨ¤ āĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻĨā§āĻ°ā§āĻĄ āĻšāĻŦā§ - āĻ¯ā§āĻŽāĻ¨ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ 2D āĻšāĻ¯āĻŧ
āĻ ā§āĻ¯āĻžāĻ°ā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ 1D āĻ¸āĻžāĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻžāĻ°āĻŦāĻžāĻ° āĻāĻ˛ āĻāĻ°āĻž āĻšāĻŦā§ (āĻāĻŦāĻžāĻ° PDL::āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨āĻĄā§āĻā§āĻ¸āĻŋāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨
āĻĨā§āĻ°ā§āĻĄāĻŋāĻāĻ¯āĻŧā§āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ)āĨ¤ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° b() āĻšāĻŦā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸āĻžāĻ°āĻŋāĻ° āĻ¯ā§āĻāĻĢāĻ˛ā§āĻ° āĻāĻāĻāĻŋ 1D āĻ ā§āĻ¯āĻžāĻ°ā§āĨ¤ āĻāĻŽāĻ°āĻž āĻĒāĻžāĻ°āĻ¤āĻžāĻŽ
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻ˛āĻžāĻŽ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ $a->xchg(0,1) āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻ˛ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻŦāĻ āĻĄā§āĻāĻžāĻĢā§āĻ˛ā§ āĻā§āĻ°ā§āĻ¸āĻŋāĻ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻšāĻŦā§
āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ.
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨ āĻ¯ā§ āĻĒāĻŋāĻĒāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ°āĻā§ āĻ āĻ¨ā§āĻ āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻŽā§āĻ˛āĻ āĻ¸āĻŋ-āĻā§āĻĄ āĻ˛ā§āĻāĻž āĻĨā§āĻā§ āĻŦāĻžāĻāĻāĻžāĻ¯āĻŧ --
āĻāĻŽāĻžāĻĻā§āĻ° āĻŽāĻ¤ā§ āĻāĻāĻŋ PDL āĻ¤ā§āĻ°āĻŋāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻŋ āĻ¸āĻžāĻŦāĻ°ā§āĻāĻŋāĻ¨ āĻ˛ā§āĻāĻžāĻ° āĻ āĻ¨ā§āĻ¯āĻ¤āĻŽ āĻ¸ā§āĻ°āĻž āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯
PDL-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻļā§āĻāĻ°ā§āĻ¯āĻāĻ¨āĻāĻāĻžāĻŦā§ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦā§āĻ¯āĻžāĻ¯āĻŧāĻžāĻŽāĨ¤ āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻāĻžāĻ°āĻŖ āĻšāĻ˛ āĻĒāĻŋāĻĒāĻŋ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž
āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻā§āĻĄ āĻ¸āĻāĻā§āĻāĻž āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŋ āĻā§āĻĄā§
āĻĒā§āĻ°āĻļā§āĻ¨āĻŦāĻŋāĻĻā§āĻ§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯. āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻĒāĻžāĻ° āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ° āĻĒā§āĻ¯āĻŧā§ āĻāĻžāĻā§āĻ¯āĻŦāĻžāĻ¨
āĻ¤ā§āĻŽāĻžāĻ° āĻšāĻžāĻ¤; āĻ¸ā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻĒāĻ¨āĻŋ PDL::PP āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻŽāĻ¨ āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¯āĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¨ā§āĻ¯āĻŧ
āĻāĻĒāĻ¨āĻžāĻ° āĻŽā§āĻļāĻŋāĻ¨ā§āĻ° āĻā§āĻā§āĻāĻ°āĻžāĻāĻāĻŋāĻ/āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻŋāĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻ° (āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ
āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤)āĨ¤ āĻ¯āĻžāĻ āĻšā§āĻ āĻ¨āĻž āĻā§āĻ¨, āĻ¨ā§āĻā§āĻ° āĻ˛āĻžāĻāĻ¨ āĻšāĻ˛ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻā§āĻĄāĻāĻŋ āĻāĻāĻ¨āĻ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤
PDL āĻāĻ° āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ˛ā§āĻ XS āĻā§āĻĄ āĻāĻžāĻ āĻāĻ°ā§āĨ¤
āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ¤ āĻĒāĻžāĻ°ā§āĻ˛ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§ āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻā§āĻ¨, āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ āĻ¨ā§āĻ āĻŽāĻāĻž āĻāĻā§
āĻāĻĒāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻŋāĻ¨āĻŋāĻ¸. āĻ§āĻ°āĻž āĻ¯āĻžāĻ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻā§ sumit (āĻāĻĒāĻ°ā§āĻ° āĻŽāĻ¤) āĻāĻŦāĻ multit āĻāĻāĻ¯āĻŧāĻ āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻāĻā§ āĻ¸ā§āĻāĻ¨āĻļā§āĻ˛āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§, āĻāĻŽāĻ°āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ
āĻāĻ° āĻāĻ¨ā§āĻ¯ ({āĻ¨āĻžāĻŽ => 'āĻ¸ā§āĻŽāĻŋāĻ¤', āĻāĻ¨āĻŋāĻ => '0', āĻ āĻĒ => '+='},
{āĻ¨āĻžāĻŽ => 'āĻŽāĻžāĻ˛ā§āĻāĻŋāĻ', āĻāĻ¨āĻŋāĻ => '1', āĻ āĻĒ => '*='}) {
pp_def($_->{āĻ¨āĻžāĻŽ},
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); [āĻ]āĻŦāĻŋ();',
āĻā§āĻĄ => '
āĻĄāĻŦāĻ˛ tmp;
tmp = '.$_->{Init}.';
āĻ˛ā§āĻĒ(n) %{
tmp '.$_->{āĻ āĻĒ}āĨ¤' $a();
%}
$b() = tmp;
');
}
āĻ¯āĻž āĻāĻāĻ¯āĻŧ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻšāĻā§āĻ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĨ¤ āĻāĻāĻ¨, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻĒāĻ°ā§ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻŦāĻž
āĻŽāĻžāĻ¤ā§āĻ°āĻŋāĻāĻ¤āĻž āĻŦāĻž āĻ¯āĻžāĻ āĻšā§āĻ āĻ¨āĻž āĻā§āĻ¨, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻĄā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ¯āĻŧāĻāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻšā§āĻ¯āĻž āĻ āĻŦāĻļā§āĻ¯āĻ,
āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻā§āĻ° 'āĻāĻžāĻ āĻāĻŦāĻ āĻĒā§āĻ¸ā§āĻ' āĻāĻŦāĻ 'āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨' āĻāĻā§ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻāĻ¨āĻ āĻāĻŽ
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ¯āĻŧāĻāĻž āĻā§āĻ˛ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻāĻŦāĻ āĻ āĻĻā§āĻā§āĻ¤ āĻŦāĻžāĻ āĻĨāĻžāĻāĻž āĻŦāĻŋāĻ°āĻā§āĻ¤āĻŋāĻāĻ° āĻāĻŦāĻ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻ°āĻ āĻāĻ āĻŋāĻ¨
creep in. āĻāĻāĻžāĻĄāĻŧāĻžāĻ, 'orit' (bitwise āĻŦāĻž) āĻĒāĻ°ā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻ¯āĻŧāĻžāĻ¨-āĻ˛āĻžāĻāĻ¨āĻžāĻ°āĨ¤
āĻāĻŦāĻ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨, āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻĒāĻžāĻ°ā§āĻ˛ā§āĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻā§āĻˇāĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§ - āĻāĻĒāĻ¨āĻŋ āĻā§āĻŦ āĻ¸āĻšāĻā§āĻ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ¯ā§āĻā§āĻ¨ā§ āĻāĻ¨āĻĒā§āĻ āĻĢāĻžāĻāĻ˛ āĻāĻŦāĻ āĻ¸ā§āĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¤āĻĨā§āĻ¯ āĻĨā§āĻā§ āĻ°ā§āĻāĻŋāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¯ā§āĻŽāĻ¨ āĻ¸āĻšāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§
āĻāĻĒāĻ°ā§āĻ°, āĻ˛ā§āĻāĻ (Tjl) āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻāĻĒāĻ°ā§āĻ° āĻŽāĻ¤ āĻšā§āĻ¯āĻžāĻļ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ° āĻĒāĻā§āĻˇā§ - āĻāĻāĻŋ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻ¨āĻ¯āĻŧ
āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ āĻ¨ā§āĻ āĻŦā§āĻļāĻŋ āĻ āĻā§āĻˇāĻ° āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŦā§āĻāĻž āĻ āĻ¨ā§āĻ āĻ¸āĻšāĻ āĻāĻŦāĻ
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨.
āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻžāĻ¨ā§ āĻĄā§āĻāĻžāĻ° āĻļā§āĻ°ā§āĻ¤ā§ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻžāĻ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤
āĻŽā§āĻŽāĻ°āĻŋ - āĻāĻŋāĻā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ PDL āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°ā§āĻŦāĻļāĻ°ā§āĻ¤āĨ¤ āĻāĻ āĻ¸āĻā§āĻā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ
"$P(var)" āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž, āĻ¨ā§āĻā§ āĻĻā§āĻā§āĻ¨āĨ¤
āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ pp_def'ined āĻĢāĻžāĻāĻļāĻ¨ā§ āĻāĻžāĻ āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻā§āĻ˛ āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ°āĻŦā§āĻ¨
āĻā§āĻĒāĻ¨ā§āĻ¨ XS āĻĢāĻžāĻāĻ˛ā§ āĻ˛āĻžāĻāĻ¨ āĻ¸āĻāĻā§āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻāĻāĻāĻŋ āĻāĻžāĻĻāĻž āĻā§āĻāĻā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ
XS āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻā§āĻāĻžāĻŦā§ āĻĒāĻĄāĻŧāĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻāĻžāĻ¨ā§āĻ¨ (āĻŦāĻž āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ āĻŋāĻ¨ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻļāĻŋāĻāĻ¤ā§ āĻāĻžāĻ¨), āĻāĻĒāĻ¨āĻŋ āĻā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
XS āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻš āĻ˛āĻžāĻāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¤āĻŦā§ āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻ āĻāĻāĻāĻŋ
PDL::PP āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻ¸āĻ āĻŋāĻ āĻ˛āĻžāĻāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§:
"pp_line_numbers"āĨ¤ āĻŽā§āĻ˛ āĻ¸āĻžāĻŽāĻŋāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻž, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻ˛ āĻŦāĻžāĻ¨āĻžāĻ¨ āĻĨāĻžāĻā§
āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻĄā§ tmp, āĻāĻĒāĻ¨āĻŋ (erroneos) āĻā§āĻĄāĻāĻŋāĻā§ āĻāĻ°āĻāĻŽ āĻāĻŋāĻā§āĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ
āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ°āĻ āĻ āĻ¨ā§āĻ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ¤āĻĨā§āĻ¯ āĻĻā§āĻŦā§:
pp_def('āĻ¸ā§āĻŽāĻŋāĻ¤',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); [āĻ]āĻŦāĻŋ();',
āĻā§āĻĄ => pp_line_numbers(__LINE__, q{
āĻĄāĻŦāĻ˛ tmp;
tmp = 0;
āĻ˛ā§āĻĒ(n) %{
tmp += $a();
%}
$b() = rmp;
})
);
āĻāĻĒāĻ°ā§āĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻžāĻ° āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻŽāĻžāĻā§ āĻŦāĻ˛ā§:
...
test.pd:15: āĻ¤ā§āĻ°ā§āĻāĻŋ: 'rmp' āĻ āĻā§āĻˇāĻŋāĻ¤ (āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ā§ āĻĒā§āĻ°āĻĨāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°)
...
āĻāĻŽāĻžāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§ (āĻ¯āĻžāĻā§ test.pd āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ), āĻ˛āĻžāĻāĻ¨ 15 āĻ āĻŋāĻ āĻ¸ā§āĻ āĻ˛āĻžāĻāĻ¨āĻāĻŋ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻŋ āĻāĻŽāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻāĻŋ
āĻāĻžāĻāĻĒā§: "tmp" āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ "rmp"āĨ¤
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ PDL āĻ°ā§āĻāĻŋāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸ā§āĻŦāĻžāĻĻ āĻāĻ āĻĻā§āĻ°ā§āĻ¤ āĻāĻāĻžāĻ°āĻāĻŋāĻ āĻĒāĻ°ā§
PDL::PP āĻāĻ° āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ āĻā§āĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¸āĻ˛ā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤
āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°/āĻĒā§āĻ°āĻŋ-āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻžāĻ¨ PDL::PP āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨
¡ āĻāĻŋāĻā§ āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ PDL
¡ āĻāĻŋāĻā§ āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻ˛āĻŋāĻā§āĻ¨ āĻ¯āĻž āĻĒāĻžāĻ°ā§āĻ˛ā§ āĻā§āĻĄ āĻāĻ°āĻž āĻšāĻ˛ā§ āĻ§ā§āĻ° āĻšāĻŦā§ (āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻ¤ā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻ¨āĻ¯āĻŧ
āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽā§ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻāĻŦāĻ āĻĄā§āĻāĻžāĻĢā§āĻ˛ā§ āĻĻā§āĻā§āĻ¨)āĨ¤
¡ āĻāĻāĻāĻ¨ PDL āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§ āĻšāĻ¨ (āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§āĻ āĻāĻāĻŋ āĻŦāĻžāĻ§ā§āĻ¯āĻ¤āĻžāĻŽā§āĻ˛āĻ āĻ¨āĻ¯āĻŧ)
āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻžāĻŽā§āĻ˛āĻ
āĻāĻ° āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯ā§āĻ° āĻāĻžāĻ°āĻŖā§, PDL::PP āĻāĻāĻĻāĻŋāĻā§ āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻ¸āĻšāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§,
āĻāĻāĻ¨āĻ āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§ exuberantly āĻāĻāĻŋāĻ˛. āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§, āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ āĻāĻļ āĻšāĻ˛ āĻ¸ā§āĻ āĻ¤ā§āĻ°ā§āĻāĻŋ
āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋ āĻā§āĻŦ āĻ¤āĻĨā§āĻ¯āĻĒā§āĻ°ā§āĻŖ āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻŋāĻā§ āĻā§āĻ˛ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻā§ āĻāĻžāĻ¨ā§āĻ¨ āĻ¤āĻž āĻāĻĒāĻ¨āĻŋ āĻāĻ°āĻ āĻāĻžāĻ˛āĻāĻžāĻŦā§ āĻāĻžāĻ¨āĻ¤ā§ āĻāĻžāĻ¨
āĻāĻ°āĻā§āĻ¨ āĻāĻŦāĻ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻĨ āĻšā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§āĻ¨ (āĻŦāĻž āĻāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§āĻ¨
āĻā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ āĻāĻŦāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ "pp_def" āĻ āĻāĻĒāĻ¨āĻžāĻ° args āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŋ āĻā§āĻ˛)āĨ¤ āĻ¯āĻĻāĻŋāĻ āĻāĻžāĻ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻ°āĻ āĻāĻžāĻ˛ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨, āĻ¯āĻĻāĻŋ āĻŽā§āĻāĻ˛āĻŋāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻļā§āĻ¨ āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻāĻ¯āĻŧ āĻĒāĻžāĻŦā§āĻ¨ āĻ¨āĻž
āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯āĻŧ āĻĒāĻĄāĻŧā§āĻ¨āĨ¤
āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ
āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ "pp_def" āĻā§āĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĻ¨ āĻ¤āĻž āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻāĻŋāĻā§ āĻ§āĻžāĻ°āĻŖāĻž āĻāĻā§ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ
"pp_def" āĻāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°ā§āĻ¨āĨ¤ "pp_def" āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻšāĻŋāĻ¸ā§āĻŦā§ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻ° āĻ¨āĻžāĻŽ āĻ¨ā§āĻ¯āĻŧ
āĻĢāĻžāĻāĻļāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻā§āĻ¨ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻāĻāĻŋ āĻšā§āĻ¯āĻžāĻļ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¯āĻž āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻā§ āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻ āĻā§āĻā§āĻ˛āĻŋāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ PP XS āĻā§āĻĄ āĻāĻŦāĻ āĻāĻāĻāĻŋ .pm āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻĢāĻžāĻāĻļāĻ¨ "pp_done" (āĻĻā§āĻā§āĻ¨
SYNOPSIS-āĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ) PDL::PP āĻŦāĻ˛āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻ¯ā§ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ° āĻā§āĻ¨ āĻ¸āĻāĻā§āĻāĻž āĻ¨ā§āĻ
āĻāĻ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻāĻŦāĻ āĻāĻāĻŋ .xs āĻāĻŦāĻ āĻā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ
.pm āĻĢāĻžāĻāĻ˛āĨ¤
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ pp_def() āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻ˛ āĻāĻ°ā§ (āĻāĻ¨āĻā§āĻ¨āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž
āĻĒāĻŋāĻĒāĻŋ āĻā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ .pd āĻŦāĻž .pp) āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ pp_done().
āĻĻā§āĻāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻā§ pp_def(), 'āĻĄā§āĻāĻž āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨' āĻāĻŦāĻ 'āĻ¸ā§āĻ˛āĻžāĻāĻ¸
āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨' āĻĒā§āĻ°ā§āĻā§āĻāĻžāĻāĻĒāĨ¤
'āĻĄā§āĻāĻž āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨' āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŋāĻā§ āĻĄāĻžāĻāĻž āĻ¨āĻŋāĻ¤ā§, āĻŽā§āĻ¯āĻžāĻā§āĻā§āĻ˛ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻĄāĻžāĻāĻž āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻ¤ā§āĨ¤ āĻāĻ
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ '+' āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨, āĻŽā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻā§āĻ¸ āĻāĻ¨āĻāĻžāĻ°ā§āĻ¸, āĻ¸ā§āĻŽā§āĻāĻžāĻ° āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§
āĻāĻŽāĻ°āĻž āĻ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ āĻ¨āĻĨāĻŋāĻ¤ā§ āĻāĻĨāĻž āĻŦāĻ˛ā§āĻāĻŋāĨ¤ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻāĻŦāĻ āĻ¸ā§āĻĒāĻˇā§āĻ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻāĻŦāĻ
āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¸ā§āĻˇā§āĻāĻŋ āĻ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¯āĻ¤ā§āĻ¨ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ. āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻ¨āĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
"āĻ¸ā§āĻŽāĻŋāĻ", "āĻ¸ā§āĻŽā§āĻāĻžāĻ°" āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻĻāĻŋāĻ¯āĻŧā§ āĻĄā§āĻāĻžāĻĢā§āĻ˛ā§ āĻāĻ°ā§āĻ¨ (āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻŦā§āĻāĻ¤ā§ āĻ¨āĻž āĻĒāĻžāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻšāĻ¤āĻžāĻļ āĻšāĻŦā§āĻ¨ āĻ¨āĻž
PDL-āĻ āĻĄā§āĻāĻžāĻĢā§āĻ˛ā§ āĻ§āĻžāĻ°āĻŖāĻž āĻāĻāĻ¨āĻ āĻā§āĻŦ āĻāĻžāĻ˛; āĻāĻāĻŋ āĻāĻāĻ¨āĻ āĻ āĻ¨ā§āĻ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ)āĨ¤
'āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨' āĻāĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨: āĻāĻāĻāĻŋ āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§, āĻāĻĒāĻ¨āĻŋ āĻ¨āĻ¨
āĻ¯ā§āĻā§āĻ¨ā§ āĻ¤āĻĨā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻŋāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻŋāĻ āĻŋāĻĒāĻ¤ā§āĻ° āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻā§āĻ¨
āĻĒāĻŋāĻĄāĻ˛āĻ¸ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻā§āĻ˛āĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻ¸ā§āĻāĻ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻļāĻ¨/āĻ¸ā§āĻ˛āĻžāĻāĻ¸āĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻž āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§
slices.pd āĻāĻāĻŋ PDL āĻŦāĻŋāĻ¤āĻ°āĻŖā§āĻ° āĻ āĻāĻļ; āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻžāĻŦāĻ§āĻžāĻ¨, āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ¯āĻŧāĻ āĻ¸ā§āĻ¤āĻ° āĻ¨āĻ¯āĻŧ
āĻāĻŋāĻ¨āĻŋāĻ¸āĻĒāĻ¤ā§āĻ°).
āĻ¯āĻĻāĻŋ PDL āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻš āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧ (āĻ¯ā§āĻŽāĻ¨ "WITH_BADVAL => 1"), āĻ¤āĻžāĻšāĻ˛ā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤
"pp_def" āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻ¯ā§āĻŽāĻ¨āĻāĻŋ āĻ¨ā§āĻā§ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŋāĻā§ āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻā§āĻ°āĻšā§ āĻšāĻ¨ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻāĻŋāĻā§
āĻ°ā§āĻāĻŋāĻ āĻŦā§āĻāĻāĻŖāĻŋāĻ¤/āĻŽā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻā§āĻ¸ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ), āĻāĻĒāĻ¨āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ 'āĻĄā§āĻāĻž āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨' āĻāĻžāĻāĻŦā§āĻ¨ āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻ¯āĻžāĻā§āĻāĻŋ
āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻ¤ā§āĨ¤
āĻāĻĒāĻžāĻ¤ā§āĻ¤ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨
A āĻ¸āĻšāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ
āĻĄā§āĻāĻž āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻžāĻ¨āĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻā§ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻĄā§āĻāĻž āĻĻāĻ°āĻāĻžāĻ°āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ
āĻ¸ā§āĻā§āĻ˛āĻžāĻ° āĻ¸āĻš:
pp_def('āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(); b(); [o]c();',
āĻā§āĻĄ => '$c() = $a() + $b();'
);
āĻāĻāĻž āĻāĻāĻā§ āĻ āĻĻā§āĻā§āĻ¤ āĻĻā§āĻāĻžāĻ¯āĻŧ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ° āĻŦā§āĻ¯āĻŦāĻā§āĻā§āĻĻ āĻāĻ°āĻž āĻ¯āĻžāĻ. āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻžāĻāĻ¨āĻāĻŋ āĻ¸āĻšāĻ: āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻāĻŋ
'āĻ¯ā§āĻ' āĻ¨āĻžāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻ°ā§āĻāĻŋāĻ¨āĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ˛āĻžāĻāĻ¨āĻāĻŋ āĻā§āĻŦāĻ˛ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻā§āĻˇāĻŖāĻž āĻāĻ°ā§ āĻāĻŦāĻ
āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻŽāĻžāĻ¨ā§ āĻ¯ā§ āĻ¤āĻžāĻ°āĻž āĻ¸ā§āĻā§āĻ˛āĻžāĻ°āĨ¤ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻā§ āĻāĻ˛ āĻāĻ°āĻŋ āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻāĻŦāĻ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§
āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻŋāĻāĻ¤āĻž āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻ¯ā§ āĻĢāĻžāĻāĻļāĻ¨. āĻāĻ° āĻĒā§āĻ°āĻžāĻ¸āĻā§āĻāĻŋāĻāĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯
āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻāĻŦāĻ āĻāĻ¨āĻĄā§āĻā§āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻļāĻ¨ PDL::āĻāĻ¨āĻĄā§āĻā§āĻ¸āĻŋāĻ āĻŽā§āĻ¯āĻžāĻ¨ āĻĒā§āĻ āĻā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻ˛āĻžāĻāĻ¨ āĻšāĻ˛ āĻĒā§āĻ°āĻā§āĻ¤ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨āĨ¤ āĻāĻĒāĻ¨āĻžāĻā§ āĻĄāĻ˛āĻžāĻ°ā§āĻ° āĻāĻŋāĻšā§āĻ¨ āĻāĻŦāĻ āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻ¤ā§ (āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻā§āĻ¨ā§ āĻ¸āĻŽāĻ¯āĻŧā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻŦā§, āĻāĻāĻŦāĻžāĻ° a
āĻāĻžāĻ˛ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ)āĨ¤
āĻāĻ āĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋ āĻāĻ¸āĻ˛ā§ PDL-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻŦāĻāĻŋāĻā§ (āĻāĻžāĻ˛,
āĻāĻ¸āĻ˛ā§ āĻāĻāĻž āĻ¨āĻž; āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻāĻāĻŋ Makefile.PL āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻŦā§ (āĻ¨ā§āĻā§ āĻĻā§āĻā§āĻ¨) āĻāĻŦāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
āĻŽāĻĄāĻŋāĻāĻ˛ ('perl Makefile.PL; make' āĻāĻ° āĻŽāĻ¤ā§ āĻāĻŋāĻā§); āĻ¤āĻŦā§ āĻāĻ¸ā§āĻ¨ āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻŋ)āĨ¤
āĻ¤āĻžāĻ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
MyModule āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨;
$a = pdl 2,3,4;
$b = pdl 5;
$c = add($a,$b);
# āĻ āĻĨāĻŦāĻž
āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨($a,$b,($c=null)); # āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĢāĻ°ā§āĻŽ, $c āĻĨāĻžāĻāĻ˛ā§ āĻĻāĻ°āĻāĻžāĻ°ā§
# āĻŦāĻĄāĻŧ āĻāĻŋāĻā§ āĻĒā§āĻ°āĻŋāĻ¸ā§āĻ, āĻāĻāĻžāĻ¨ā§ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ¨āĻ¯āĻŧāĨ¤
āĻāĻŦāĻ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻāĻžāĻ āĻāĻ°ā§āĻ¨ (āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻ˛ $c == [7 8 9])āĨ¤
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻ āĻāĻļ āĻ āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ: āĻĻā§āĻ¯ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° of a PP āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž
āĻāĻĒāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻā§āĻĄāĻāĻŋ āĻĻā§āĻā§ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻŦā§āĻ¨: āĻāĻ āĻ āĻĻā§āĻā§āĻ¤ "$c=null" āĻāĻŋ
āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨āĻ¤ā§āĻ¨ "āĻ ā§āĻ¯āĻžāĻĄ" āĻĢāĻžāĻāĻļāĻ¨ā§ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻāĻ˛ā§ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸? āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ°ā§āĻāĻŦāĻžāĻ° āĻĻā§āĻā§ āĻ¨ā§āĻ¨
"add" āĻāĻ° āĻ¸āĻāĻā§āĻāĻž āĻāĻĒāĻ¨āĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻŦā§āĻ¨ āĻ¯ā§ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ "c" āĻāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ¤āĻžāĻāĻžāĻā§āĻāĻŋāĻ¤
āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° "[o]" āĻ¯āĻž PDL::PP āĻā§ āĻŦāĻ˛ā§ āĻ¯ā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻāĻāĻĒā§āĻ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻāĨ¤ āĻ¤āĻžāĻ āĻāĻĒāĻ°ā§āĻ° āĻāĻ˛
āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻ āĻ°ā§āĻĨ 'āĻ¸āĻ āĻŋāĻ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¸āĻš āĻ¸ā§āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ $c āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨' - "āĻ¨āĻžāĻ˛" āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ
'āĻāĻžāĻ˛āĻŋ āĻĒāĻŋāĻĄāĻ˛'-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻā§āĻ¨ (āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻā§āĻ¨ āĻāĻŽāĻ°āĻž āĻāĻāĻŋāĻā§ āĻĒāĻ¤āĻžāĻāĻžāĻā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ "undef" āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĻ¨āĻŋ
PDL āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ "āĻ¨āĻžāĻ˛" āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§; āĻāĻŽāĻ°āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°āĻāĻŋ;)
[āĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻāĻŋāĻ° āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨āĻ āĻŦāĻŋāĻāĻžāĻā§āĻ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻž āĻāĻāĻŋāĻ¤!] āĻāĻ° āĻāĻžāĻ°āĻŖ
āĻāĻāĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻšāĻā§āĻā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻŦāĻŋāĻļāĻžāĻ˛ piddles āĻāĻā§, āĻāĻĒāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
$c = PDL->āĻļā§āĻ¨ā§āĻ¯;
āĻāĻ¨ā§āĻ¯ (āĻāĻŋāĻā§ āĻĻā§āĻ°ā§āĻ āĻ˛ā§āĻĒ) {
# āĻŽā§āĻā§āĻā§ āĻ, āĻ
āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨($a,$b,$c);
# āĻŽā§āĻā§āĻā§ āĻ, āĻ, āĻ āĻ¤ā§ āĻāĻŋāĻā§ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ¨
}
āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° $c āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻŦāĻ āĻĄāĻŋāĻ˛āĻā§āĻāĻŋāĻ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻāĻ˛ā§āĻ¨āĨ¤ āĻāĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻāĻŦāĻžāĻ° āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ () āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ $c āĻ§ā§āĻŦāĻāĻ¸ āĻ¨āĻž āĻšāĻāĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŽā§āĻŽāĻ°āĻŋ āĻĨāĻžāĻā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻļā§āĻ§ā§ āĻŦāĻ˛ā§āĻ¨
$c = add($a,$b);
PP āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻā§āĻĄ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ "$c=null" āĻĒā§āĻ°āĻŖ āĻāĻ°āĻŦā§ āĻāĻŦāĻ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻŦā§āĨ¤ āĻ¯āĻĻāĻŋ
āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¨ PDL::PP āĻāĻ āĻ¸ā§āĻāĻžāĻāĻ˛ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻ¸ā§āĻ āĻāĻžāĻ°āĻŖ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻāĻžāĻ¨āĻ¤ā§ āĻāĻžāĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻĒā§āĻ
āĻļā§āĻˇ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ PDL::Indexing man page āĻā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
"[o]" āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻ¨āĻ¯āĻŧ āĻ¯ā§ āĻāĻāĻāĻŋ pdl āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻ°ā§āĻāĻāĻž
āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻšāĻ˛ "[t]" āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ¯āĻž āĻāĻāĻāĻŋ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛āĻā§ āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ āĻāĻ°ā§āĨ¤ āĻ¯ā§ āĻāĻŋ āĻāĻ°ā§
āĻŽāĻžāĻ¨ā§? āĻāĻĒāĻ¨āĻŋ PDL::PP āĻŦāĻ˛āĻŦā§āĻ¨ āĻ¯ā§ āĻāĻ pdl āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻā§āĻ°ā§āĻ¸ā§āĻ° āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻāĻŖāĻ¨āĻž āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻĒāĻ°ā§ āĻ¤āĻžāĻ° āĻŽāĻžāĻ¨ āĻāĻā§āĻ°āĻšā§ āĻ¨āĻž
āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻā§āĻ¨ PDL::PP āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻžāĻ¨āĻ¤ā§ āĻāĻžāĻāĻŦā§? āĻāĻžāĻ°āĻ¨
pdl āĻ āĻā§ āĻ¤ā§āĻ°āĻŋāĻ° āĻ§āĻžāĻ°āĻŖāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¨āĻŋāĻˇā§āĻ āĻāĻžāĻŦā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ (āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ°ā§ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻļā§āĻ¨ā§āĻā§āĻ¨) āĻāĻŦāĻ
āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻāĻĒāĻ¨āĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ˛ā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻ¤āĻžāĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž
āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ āĻāĻ¸āĻ˛ā§ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻĨā§āĻā§ āĻŦāĻĄāĻŧāĨ¤ "[o]" āĻĒāĻ¤āĻžāĻāĻžāĻ¯ā§āĻā§āĻ¤
pdls āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§ āĻ¯āĻžāĻ¤ā§ āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻ¤āĻžāĻĻā§āĻ° āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻĨāĻžāĻā§
āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĨā§āĻ°ā§āĻĄ āĻŽāĻžāĻ¤ā§āĻ°āĻž. āĻāĻāĻāĻŋ āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¤āĻŦā§, āĻāĻāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻšāĻŦā§
āĻ¯āĻĨā§āĻˇā§āĻ āĻŦāĻĄāĻŧ āĻāĻ°āĻž āĻšāĻŦā§ āĻ¯āĻžāĻ¤ā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĨā§āĻ°ā§āĻĄ āĻ˛ā§āĻĒā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ§āĻ°ā§ āĻ°āĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯ā§āĻŽāĻ¨
āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻĄāĻŧ. āĻ¤āĻžāĻ āĻāĻŽ āĻŽā§āĻŽāĻ°āĻŋ āĻ¨āĻˇā§āĻ āĻšāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ pdl āĻšāĻŋāĻ¸ā§āĻŦā§ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ āĻāĻ°ā§āĻ¨
āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻ¤, āĻāĻĒāĻ¨āĻŋ āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ pdls āĻ¸āĻš āĻāĻāĻāĻĒā§āĻ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŽāĻ¨āĻāĻŋ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ
āĻ¸ā§āĻĒāĻˇā§āĻ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻā§ āĻ¯āĻž "[o]" āĻĻāĻŋāĻ¯āĻŧā§ āĻĒāĻ¤āĻžāĻāĻžāĻā§āĻāĻŋāĻ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻāĻāĻĒā§āĻ pdls-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§
(āĻĒāĻŋāĻĄāĻŋāĻāĻ˛::āĻāĻ¨āĻĄā§āĻā§āĻ¸āĻŋāĻ āĻĻā§āĻā§āĻ¨)āĨ¤
āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž [t] āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĨ¤ āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻĢāĻžāĻāĻļāĻ¨ "calf" āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤
āĻāĻāĻāĻŋ āĻ¸āĻŋ āĻ°ā§āĻāĻŋāĻ¨āĻā§ "f" āĻāĻ˛ āĻāĻ°ā§ āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ ā§āĻ¯āĻžāĻ°ā§āĻ° āĻŽāĻ¤ā§ āĻāĻāĻ āĻāĻāĻžāĻ° āĻāĻŦāĻ āĻāĻžāĻāĻĒā§āĻ° āĻāĻāĻāĻŋ āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨
"a" ($P āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻ°ā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĻā§āĻāĻāĻŋāĻ¤; āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸, āĻ¨ā§āĻā§ āĻĻā§āĻā§āĻ¨):
pp_def('calf',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); [t] tmp(n); [o] b()',
āĻā§āĻĄ => 'int ns = $SIZE(n);
f($P(a),$P(b),$P(tmp),ns);
'
);
āĻ¯ā§āĻā§āĻ¤āĻŋ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻāĻŦāĻ āĻĻā§āĻ¯ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°
āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§ pdls āĻāĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻāĻŦāĻ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛ā§āĻāĻŋāĨ¤ āĻ¤āĻžāĻ°āĻž āĻāĻŋāĻāĻžāĻŦā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤?
āĻ§āĻ°āĻž āĻ¯āĻžāĻ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻā§āĻā§āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ˛āĻžāĻ° + āĻ¸ā§āĻāĻ āĻ¨āĻŽā§āĻŦāĻ° āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ:
pp_def('add2',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); b(); [o]c(n);',
āĻā§āĻĄ => 'āĻ˛ā§āĻĒ(āĻāĻ¨) %{
$c() = $a() + $b() + n;
%}'
);
āĻāĻāĻžāĻ¨ā§ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ°āĻ¯āĻŧā§āĻā§: āĻĒā§āĻ°āĻĨāĻŽāĻ¤, "āĻĒāĻžāĻ°ā§āĻ¸" āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§ āĻāĻāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§ n
āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻāĻāĻ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻāĻā§ āĻĻā§āĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ a āĻāĻŦāĻ c. āĻāĻāĻž āĻ¨ā§āĻ āĻāĻ°āĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ
āĻ¯ā§ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻā§āĻ¤ āĻ¸āĻ¤ā§āĻ¤āĻž āĻ¯āĻž āĻ¨āĻžāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ āĻāĻāĻŋ āĻā§āĻˇāĻŖāĻž āĻāĻ°ā§ a āĻāĻŦāĻ c āĻĨā§āĻā§
āĻāĻā§ āĻāĻāĻ āĻĒā§āĻ°āĻĨāĻŽ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĨ¤ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ PP āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧ āĻ¨āĻžāĻŽāĻā§āĻ¤ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻāĻāĻžāĻ° āĻšāĻŦā§
āĻ¨āĻ¨-āĻāĻāĻāĻĒā§āĻ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ (āĻ¯āĻžāĻĻā§āĻ° "[o]" āĻĒāĻ¤āĻžāĻāĻž āĻ¨ā§āĻ) āĻāĻ° āĻ¨āĻŋāĻ āĻ¨āĻŋāĻ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻĨā§āĻā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻŦā§ āĻāĻŋāĻ¨ā§āĻ¤ā§
āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽāĻ¯ā§āĻā§āĻ¤ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻāĻāĻžāĻ° āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĨ¤ āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ "āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻĒāĻžāĻ°āĻ¸" āĻŦāĻŋāĻāĻžāĻā§āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖā§ āĻ¨ā§āĻā§ āĻĻā§āĻā§āĻ¨āĨ¤
āĻ§ā§āĻ°ā§āĻŦ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻŽāĻžāĻ¤ā§āĻ°āĻž in āĻĻā§āĻ¯ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°
āĻ§āĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻāĻāĻāĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ°āĻ āĻāĻžāĻ¨ā§āĻ¨
āĻāĻ˛ āĻāĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻāĻāĻ āĻāĻāĻžāĻ° āĻĨāĻžāĻāĻŦā§ (āĻŦāĻ˛ā§āĻ¨ 9) āĻāĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻļā§āĻˇā§
āĻāĻ¨āĻĒā§āĻ piddles. āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻ¸ āĻŦāĻŋāĻāĻžāĻā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨
āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻāĻāĻžāĻ°:
' [o] y(n=9); '
āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ
āĻāĻāĻāĻŋ āĻāĻ°āĻ āĻāĻāĻŋāĻ˛ āĻ¸ā§āĻ¤ā§āĻ° āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽāĻ¯ā§āĻā§āĻ¤ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ (āĻāĻāĻāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻā§āĻ° āĻā§āĻ¯āĻŧā§)
āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻ¨ā§āĻā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ "RedoDimsCode" āĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻĻāĻ°ā§āĻļ āĻ§āĻ°ā§āĻŽāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻŦāĻ āĻĻā§āĻ¯ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°
āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻžāĻāĻĒ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§ āĻ¯ā§ āĻ¸āĻā§āĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻŦā§ āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ PP
āĻĢāĻžāĻāĻļāĻ¨ āĻāĻšā§āĻŦāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻ āĻāĻŋ āĻšāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°ā§āĻŦā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ āĻāĻšā§āĻŦāĻžāĻ¨
āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° pdls āĻ¸āĻš āĻĢāĻžāĻāĻļāĻ¨, āĻ¯ā§āĻŽāĻ¨
add2($a,$b,($ret=null));
āĻ¯ā§āĻāĻžāĻ¨ā§ $a āĻāĻžāĻāĻĒā§āĻ° "PDL_Float" āĻāĻŦāĻ $b āĻāĻžāĻāĻĒā§āĻ° "PDL_Short"? āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻ¸āĻš āĻ¯ā§āĻŽāĻ¨ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§
āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻĄā§āĻāĻžāĻāĻžāĻāĻĒā§āĻ° āĻāĻĒāĻ°ā§ "add2" āĻāĻ° āĻ¸āĻāĻā§āĻāĻž (āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽā§ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤)
'āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ' āĻāĻžāĻāĻĒ āĻ¸āĻš pdl āĻāĻ° (āĻā§āĻ°āĻŽ āĻšāĻ˛ āĻŦāĻžāĻāĻ < āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ < ushort < āĻĻā§āĻ°ā§āĻ < āĻĢā§āĻ˛ā§āĻ
< āĻĻā§āĻŦāĻŋāĻā§āĻŖ)āĨ¤ āĻ ā§āĻ¯āĻžāĻĄ 2 āĻāĻĻāĻžāĻšāĻ°āĻŖā§ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻĄā§āĻāĻžāĻāĻžāĻāĻĒāĻāĻŋ āĻĢā§āĻ˛ā§āĻ ($a āĻāĻ° āĻāĻā§
āĻĄā§āĻāĻžāĻāĻžāĻāĻĒ)āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸ā§āĻ āĻĄā§āĻāĻžāĻāĻžāĻāĻĒā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻžāĻāĻĒ āĻāĻ°āĻž āĻšāĻ¯āĻŧ (āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¨āĻ¯āĻŧ
inplace āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ pdl āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§ āĻ¸āĻ āĻŋāĻ āĻāĻžāĻāĻĒā§āĻ° āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ§āĻ°āĻ¨)āĨ¤ āĻ¨āĻžāĻ˛ pdls āĻāĻ° āĻ¸āĻāĻāĻ˛ā§āĻĒā§ āĻā§āĻ¨ āĻĒā§āĻ°āĻāĻžāĻ° āĻ āĻŦāĻĻāĻžāĻ¨ āĻ°āĻžāĻā§ āĻ¨āĻž
āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ§āĻ°āĻ¨āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¤āĻžāĻ°āĻž āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻĄā§āĻāĻžāĻāĻžāĻāĻĒ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§;
āĻāĻāĻžāĻ¨ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, $ret āĻāĻžāĻāĻĒā§āĻ° āĻĢā§āĻ˛ā§āĻ āĻšāĻŦā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¸āĻā§āĻ¤āĻ¨ āĻšāĻ¤ā§ āĻšāĻŦā§
āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ¨āĻŋāĻ¤ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° pdls āĻ¸āĻš āĻĒāĻŋāĻĒāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻāĻ°āĻž āĻāĻŦāĻ
āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻā§ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž.
āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻā§āĻ˛āĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ "pp_def" āĻĻāĻŋāĻ¯āĻŧā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ āĻŋāĻāĨ¤
āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻŋāĻā§ āĻāĻŋāĻā§ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ§āĻ°āĻ¨ā§āĻ° āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻāĻ°āĻŖ
āĻāĻāĻžāĻā§āĻā§āĻˇāĻŋāĻ¤. āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§āĻ° āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¯ā§āĻā§āĻ¯āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻžāĻāĻĒ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ¸āĻāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻĒāĻāĻ¨ā§āĻĻāĻ¸āĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯. āĻāĻ āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻ¯āĻžāĻĻā§āĻ° āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻšāĻ¯āĻŧā§āĻāĻŋ ( āĻ¸ā§āĻˇā§āĻāĻŋ āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° "[o]" āĻāĻŦāĻ "[t]")āĨ¤ āĻāĻ˛ā§ āĻ¯āĻžāĻ
āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻĻā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¯āĻž āĻāĻžāĻāĻĒ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻāĻ°āĻŖ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĨ¤
āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻšāĻ˛ "int" āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻ¯āĻž pdl āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻžāĻā§ āĻāĻ¸ā§
āĻ¸ā§āĻāĻāĻā§āĻ˛āĻŋāĻā§ āĻ āĻ¨ā§āĻ¯ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ā§ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻ¸ā§āĻ¨ "PDL::Ufunc" āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻāĻŋ:
pp_def('āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ_āĻāĻ¨ā§āĻĄ',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); int [o] b()',
āĻā§āĻĄ => '$GENERIC() cur;
int curind;
āĻ˛ā§āĻĒ(n) %{
āĻ¯āĻĻāĻŋ (!n || $a() > cur) {cur = $a(); curind = n;}
%}
$b() = curind;',
);
"maximum_ind" āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻā§āĻāĻ°ā§āĻ° āĻŦā§āĻšāĻ¤ā§āĻ¤āĻŽ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻ¸ā§āĻāĻ āĻā§āĻāĻā§ āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻ¤ā§āĻŽāĻŋ āĻ¤āĻžāĻāĻžāĻ
āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻā§āĻ¨ āĻ¯ā§ āĻāĻāĻāĻĒā§āĻ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ "b" āĻāĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻˇāĻŖāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ "int" āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĨ¤ āĻāĻžāĻāĻĒ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋāĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ°āĻ¯āĻŧā§āĻā§:
āĻāĻ¨āĻĒā§āĻ pdl "a" āĻĒā§āĻ°āĻāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻļā§āĻˇā§ āĻāĻāĻāĻĒā§āĻ pdl "b" āĻāĻžāĻāĻĒā§āĻ° āĻšāĻŦā§ "PDL_Long"
āĻ¯āĻž āĻŦā§āĻāĻžāĻ¯āĻŧ āĻ¯ā§āĻšā§āĻ¤ā§ "b" āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻāĻā§ "a" āĻ¤ā§ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻŦā§āĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻ˛
āĻāĻāĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻāĻāĻāĻĒā§āĻ pdl "b" āĻ¸āĻš āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ° āĻāĻžāĻāĻĒ āĻĄā§āĻāĻžāĻāĻžāĻāĻĒāĻā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°āĻŦā§ āĻ¨āĻž
āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ (āĻāĻĒāĻ°ā§ āĻĻā§āĻā§āĻ¨)āĨ¤ āĻ¤āĻžāĻ, "a" "b" āĻāĻ° āĻā§āĻ¯āĻŧā§ āĻā§āĻ āĻāĻžāĻāĻĒā§āĻ° āĻšāĻ˛ā§āĻ āĻ¤āĻž āĻšāĻŦā§ āĻ¨āĻž
"b" āĻāĻžāĻāĻĒā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻĨāĻžāĻā§, āĻ¯āĻž āĻŽā§āĻŽāĻ°āĻŋ āĻāĻŦāĻ CPU āĻāĻā§āĻ° āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§
āĻāĻŦāĻ āĻ¯āĻāĻ¨ "b" āĻ¸ā§āĻāĻā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻāĻ°ā§ āĻ¤āĻāĻ¨ āĻāĻāĻŋ āĻāĻ°āĻž āĻ¸āĻ āĻŋāĻ āĻāĻŋāĻ¨āĻŋāĻ¸āĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
'int' āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻāĻāĻ¸āĻžāĻĨā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ ("[o]" āĻāĻŦāĻ "[t]" āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ°)āĨ¤ āĻ āĻ°ā§āĻĄāĻžāĻ° āĻšāĻ˛
āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ -- āĻāĻžāĻāĻĒ āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻā§āĻ˛āĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻļāĻ¨ āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ°ā§āĻ° āĻāĻā§ āĻĨāĻžāĻā§ ("[o]" āĻāĻŦāĻ "[t]")āĨ¤
āĻāĻĒāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ "$GENERIC()" āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ āĻĻā§āĻāĻžāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻāĻāĻāĻŋ āĻ¤āĻĨāĻžāĻāĻĨāĻŋāĻ¤ āĻā§āĻ¨ā§āĻ°āĻŋāĻ āĻ˛ā§āĻĒā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻāĻžāĻ°ā§āĨ¤ āĻāĻāĻāĻŋ āĻā§āĻ¨ā§āĻ°āĻŋāĻ āĻ˛ā§āĻĒ āĻāĻŋ? āĻāĻĒāĻ¨āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§
āĻļā§āĻ¨ā§āĻāĻŋ āĻāĻāĻāĻŋ PP āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻĄā§āĻāĻžāĻāĻžāĻāĻĒ āĻāĻā§ āĻ¯ā§āĻŽāĻ¨ pdl āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻ§āĻ°āĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻāĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻšā§āĻŦāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§. āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻŋāĻĒāĻŋ āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž XS āĻā§āĻĄā§ āĻāĻāĻāĻŋ āĻĨāĻžāĻā§
"switch (type) {case PDL_Byte: ... case PDL_Double: ...}" āĻāĻ° āĻŽāĻ¤ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻ¨ āĻ¯āĻž āĻāĻāĻāĻŋ āĻā§āĻ¸ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§
āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻĄā§āĻāĻžāĻāĻžāĻāĻĒā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ (āĻāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻāĻžāĻāĻĒ ``āĻ˛ā§āĻĒ'' āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻāĻžāĻ°āĻŖ āĻ¸ā§āĻāĻžāĻ¨ā§
āĻĒāĻŋāĻĒāĻŋ āĻā§āĻĄā§āĻ° āĻāĻāĻāĻŋ āĻ˛ā§āĻĒ āĻ¯āĻž āĻā§āĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§)āĨ¤ āĻ¯ā§ āĻā§āĻ¨ā§ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻĄ āĻāĻāĻŦāĻžāĻ° āĻĸā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧ
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻ¸ā§āĻāĻ āĻ¸ā§āĻā§āĻāĻŽā§āĻ¨ā§āĻā§ āĻāĻžāĻāĻĒ āĻāĻ°ā§āĻ¨āĨ¤ "$GENERIC()" āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻļā§āĻ§ā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻāĻ "āĻ¸ā§āĻāĻ" āĻŦāĻŋāĻŦā§āĻ¤āĻŋāĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻž āĻā§āĻĄā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋāĻ¤ā§ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻāĻžāĻāĻĒ āĻāĻ°ā§āĻ¨, āĻ¯ā§āĻŽāĻ¨, āĻ¤ā§
"āĻā§āĻ¸ PDL_Byte" āĻŦāĻŋāĻāĻžāĻ "cur" āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻŦā§ "PDL_Byte" āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ
āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻāĻŽāĻžāĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻāĻ¤ā§ āĻĒā§āĻ°ā§āĻā§āĻ¨ āĻ¯ā§ āĻāĻāĻŋ āĻāĻŋāĻā§āĻ¤ā§ pdls āĻāĻ° āĻŽāĻžāĻ¨ āĻ§āĻ°ā§ āĻ°āĻžāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
āĻā§āĻĄāĨ¤
"int" āĻāĻ° āĻŽāĻ¤ā§ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻĒā§āĻ°āĻāĻžāĻŦ āĻ¸āĻš āĻāĻ°āĻ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯
āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ°ā§āĻĨā§ "āĻĢā§āĻ˛ā§āĻ" āĻāĻŦāĻ "āĻĄāĻžāĻŦāĻ˛" āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻāĻā§
"int" āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻžāĻāĻĒ āĻāĻ°ā§āĻ¨āĨ¤ āĻ§āĻ°āĻž āĻ¯āĻžāĻ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻāĻā§ āĻā§āĻŦ āĻŦāĻĄāĻŧ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨
"sumover" āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻ¸āĻš āĻ¸āĻžāĻ°āĻŋ āĻāĻŦāĻ āĻāĻ˛āĻžāĻŽā§āĻ° āĻ¯ā§āĻāĻĢāĻ˛ āĻāĻŖāĻ¨āĻž āĻāĻ°ā§āĻ¨āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¸āĻā§āĻā§
"sumover" āĻāĻ° āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻ¸āĻāĻā§āĻāĻž āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻĄā§āĻāĻž āĻšāĻ¯āĻŧ āĻ¤āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯āĻŧ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯ā§āĻŽāĻ¨
āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻāĻžāĻāĻĒ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻāĻŋ āĻāĻ˛ āĻŽāĻ¤
sumover($large_pdl,($sums = null));
āĻāĻ° āĻĢāĻ˛ā§ $sums āĻā§āĻ āĻāĻāĻžāĻ°ā§āĻ° āĻšāĻŦā§ āĻāĻŦāĻ āĻ¤āĻžāĻ āĻ¯āĻĻāĻŋ āĻāĻāĻžāĻ°āĻĢā§āĻ˛ā§ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻĒā§āĻ°āĻŦāĻŖāĻ¤āĻž āĻĨāĻžāĻā§
$large_pdl āĻāĻāĻāĻŋ āĻā§āĻŦ āĻŦāĻĄāĻŧ āĻ ā§āĻ¯āĻžāĻ°ā§āĨ¤ āĻ āĻ¨ā§āĻ¯āĻĻāĻŋāĻā§ āĻĄāĻžāĻāĻā§
@dims = $large_pdl->dims; āĻļāĻŋāĻĢāĻ @dims;
sumover($large_pdl,($sums = zeroes(Duble,@dims)));
āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻšāĻ¯āĻŧ āĻ¨āĻž. āĻāĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° $sums āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻžāĻ°āĻĢā§āĻ˛ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¨ā§āĻ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ
$large_pdl-āĻāĻ° āĻāĻžāĻāĻĒ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°ā§āĻ° āĻāĻ°āĻ āĻĻā§āĻŦāĻŋāĻā§āĻŖ, āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻāĻžāĻ°āĻžāĻĒ āĻāĻŋāĻā§
āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛āĨ¤ āĻ¸ā§āĻāĻžāĻ¨ā§āĻ "āĻĄāĻžāĻŦāĻ˛" āĻāĻžāĻā§ āĻāĻ¸ā§:
pp_def('sumoverd',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); āĻĻā§āĻŦāĻŋāĻā§āĻŖ [āĻ] āĻŦāĻŋ()',
āĻā§āĻĄ => 'āĻĄāĻŦāĻ˛ tmp=0;
loop(n) %{ tmp += a(); %}
$b() = tmp;',
);
āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻāĻĒ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻŦāĻ āĻāĻāĻžāĻ°āĻĢā§āĻ˛ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻāĻŦāĻžāĻ°, āĻ āĻ¨ā§āĻ°ā§āĻĒ
"int" āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° "āĻĄāĻŦāĻ˛" āĻāĻ° āĻĢāĻ˛ā§ "āĻŦāĻŋ" āĻāĻžāĻāĻĒ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻļā§āĻˇā§ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻĄāĻžāĻŦāĻ˛ āĻāĻžāĻāĻĒā§āĻ° āĻšāĻ¯āĻŧ
āĻĒāĻžāĻ°ā§āĻļā§āĻŦ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ "a"-āĻāĻ° āĻāĻžāĻāĻĒ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ¨āĻž āĻāĻ°ā§āĻ "a" āĻāĻ°āĨ¤
āĻ āĻŦāĻļā§āĻˇā§, "āĻāĻžāĻāĻĒ+" āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻāĻā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻžāĻāĻĒ āĻšāĻ˛ "int" āĻŦāĻž "float" āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋāĨ¤ āĻāĻŋ
āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻŦā§ āĻāĻ° āĻĒā§āĻ°āĻā§āĻ¤ āĻ¸āĻāĻā§āĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ "int+" āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻā§ āĻāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻ¯āĻžāĻ
sumover:
pp_def('sumover',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); int+ [o] b()',
āĻā§āĻĄ => '$GENERIC(b) tmp=0;
loop(n) %{ tmp += a(); %}
$b() = tmp;',
);
āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ "int", "float" āĻāĻŦāĻ "āĻĄāĻžāĻŦāĻ˛" āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĻā§āĻā§āĻāĻŋ, āĻāĻāĻāĻŋ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤
"type+" āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° pdl āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻĄā§āĻāĻžāĻāĻžāĻāĻĒāĻā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻāĻ° āĻ āĻ°ā§āĻĨ āĻšāĻ˛
"āĻāĻ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛āĻāĻŋ āĻāĻŽāĻĒāĻā§āĻˇā§ "āĻāĻžāĻāĻĒ" āĻŦāĻž āĻāĻā§āĻāĻ¤āĻ° āĻāĻžāĻāĻĒā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨, āĻ¯ā§āĻŽāĻ¨ āĻāĻžāĻāĻĒā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨
āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨āĨ¤ sumover āĻāĻĻāĻžāĻšāĻ°āĻŖā§ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ "a" āĻĻāĻŋāĻ¯āĻŧā§ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋāĻā§ āĻāĻ˛ āĻāĻ°ā§āĻ¨
PDL_Short āĻāĻžāĻāĻĒā§āĻ° āĻāĻāĻāĻĒā§āĻ pdl āĻšāĻŦā§ PDL_Long āĻāĻžāĻāĻĒā§āĻ° (āĻ āĻŋāĻ āĻ¯ā§āĻŽāĻ¨ āĻšāĻ¤ā§
"int" āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ°ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§)āĨ¤ āĻāĻāĻŋ āĻāĻŦāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻžāĻ°āĻĢā§āĻ˛ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§
āĻā§āĻ āĻĄā§āĻāĻžāĻāĻžāĻāĻĒ (āĻ¯ā§āĻŽāĻ¨ āĻŦāĻžāĻāĻ āĻāĻŽā§āĻ)āĨ¤ āĻ¤āĻŦā§ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻĄāĻžāĻāĻžāĻāĻžāĻāĻĒ āĻŦā§āĻļāĻŋ āĻšāĻ˛ā§
"type+" āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ°ā§ āĻāĻ˛ā§āĻ˛ā§āĻāĻŋāĻ¤ āĻāĻžāĻāĻĒā§āĻ° āĻā§āĻ¯āĻŧā§ "b" āĻāĻ° āĻĄā§āĻāĻžāĻāĻžāĻāĻĒ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§
āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨, āĻ¯ā§āĻŽāĻ¨ "a" āĻāĻžāĻāĻĒā§āĻ° āĻĻā§āĻŦāĻŋāĻā§āĻŖ āĻšāĻ˛ā§ "b"āĻ āĻĻā§āĻŦāĻŋāĻā§āĻŖ āĻšāĻŦā§āĨ¤ āĻāĻŽāĻ°āĻž āĻāĻļāĻž āĻāĻ°āĻŋ
āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻŽāĻ¤ āĻšāĻ¨ āĻ¯ā§ āĻāĻāĻŋ "sumover" āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻĻā§āĻ§āĻŋāĻŽāĻžāĻ¨ āĻāĻāĻ°āĻŖāĨ¤ āĻāĻāĻž āĻāĻŋāĻāĻžāĻŦā§ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤
"float+" āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĻā§āĻļā§āĻ¯ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ§āĻ°āĻ¨ā§āĻ°. āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻŦā§ āĻ¨āĻž
āĻ¯āĻ¤āĻā§āĻˇāĻŖ āĻ¨āĻž āĻā§āĻ āĻāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ¸āĻā§āĻāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¸ā§āĨ¤
āĻāĻ˛ā§āĻ˛ā§āĻā§āĻ¯, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻ¨ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛-āĻāĻ° āĻ¨āĻžāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ $GENERIC āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
āĻ¯ā§ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻĨā§āĻā§ āĻāĻžāĻāĻĒ āĻāĻ°ā§āĻ¨. āĻ¤āĻž āĻā§āĻ¨? āĻāĻĒāĻ¨āĻŋ āĻ¸āĻžāĻŦāĻ§āĻžāĻ¨ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°āĻ˛ā§ āĻāĻĒāĻ¨āĻŋ āĻšāĻŦā§
āĻŦā§āĻāĻ¤ā§ āĻĒā§āĻ°ā§āĻāĻŋ āĻ¯ā§ āĻāĻŋāĻā§ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ "b" āĻāĻ° āĻ§āĻ°āĻ¨ āĻĨā§āĻā§ āĻāĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻšāĻŦā§
āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨. āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ "b" āĻ¸āĻš '$GENERIC' āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻ˛ āĻāĻ°āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻāĻžāĻāĻĒ
āĻā§āĻ¨ā§āĻ°āĻŋāĻ āĻ˛ā§āĻĒā§āĻ° āĻ¸ā§āĻ āĻ āĻāĻļā§ āĻ¸āĻ°ā§āĻŦāĻĻāĻž "b" āĻāĻ° āĻŽāĻ¤āĻ āĻĨāĻžāĻāĻŦā§āĨ¤
āĻāĻāĻŋ āĻāĻāĻāĻŋ "pp_def" āĻāĻ˛ā§ "Pars" āĻŦāĻŋāĻāĻžāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¯āĻž āĻŦāĻ˛āĻžāĻ° āĻāĻā§āĨ¤ āĻ¤ā§āĻŽāĻžāĻ° āĻāĻāĻŋāĻ¤
āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻāĻāĻāĻŋ PP āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻĢāĻžāĻāĻļāĻ¨, āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻāĻāĻĒā§āĻ āĻāĻŦāĻ āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ¯ā§āĻā§āĻ¯āĻ¤āĻž āĻ āĻ°ā§āĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ
āĻ¯ā§ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻā§āĻ˛āĻŋ āĻāĻĒāĻ¨āĻŋ āĻĒāĻ°ā§ "āĻā§āĻĄ" āĻŦāĻŋāĻāĻžāĻā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¨āĻžāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§ˇ
āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻ PDL-āĻ āĻāĻĒāĻ¨āĻŋ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§āĻ° āĻ āĻ°ā§āĻĨ āĻŦā§āĻāĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ
āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋ āĻāĻĒāĻ¨āĻŋ āĻĒāĻžāĻ°ā§āĻ˛ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĨā§āĻā§ āĻĨā§āĻ°ā§āĻĄā§āĻĄ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯ā§āĻŽāĻ¨ āĻāĻŽāĻ°āĻž āĻ¯āĻž āĻŦāĻ˛āĻŋ
āĻĒāĻžāĻ°ā§āĻ˛ āĻ¸ā§āĻ¤āĻ° āĻĨā§āĻ°ā§āĻĄāĻŋāĻ. āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ PDL::Indexing āĻā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻā§āĻĄ āĻ āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ
"āĻā§āĻĄ" āĻŦāĻŋāĻāĻžāĻā§ āĻĒā§āĻ°āĻā§āĻ¤ XS āĻā§āĻĄ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž a āĻāĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻŋāĻ¤āĻ°ā§āĻ° āĻ āĻāĻļā§ āĻĨāĻžāĻāĻŦā§
āĻĨā§āĻ°ā§āĻĄ āĻ˛ā§āĻĒ (āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨ā§āĻ¨ āĻ¨āĻž āĻĨā§āĻ°ā§āĻĄ āĻ˛ā§āĻĒ āĻā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨āĻ āĻĒāĻĄāĻŧā§āĻ¨āĻ¨āĻŋ
PDL::āĻ¸ā§āĻā§āĻāĻ°āĻŖ; āĻāĻāĻ¨ āĻāĻāĻŋ āĻāĻ°ā§āĻ¨ ;) āĻ¯ā§āĻā§āĻ¨ā§ āĻĒāĻŋāĻĒāĻŋ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ (āĻ¯ā§āĻŽāĻ¨ $āĻā§āĻ¨ā§āĻ°āĻŋāĻ) āĻāĻŦāĻ āĻĒāĻŋāĻĒāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§
āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ (āĻ¯ā§āĻŽāĻ¨ "āĻ˛ā§āĻĒ" āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻ¤ā§ āĻ¯āĻžāĻā§āĻāĻŋ)āĨ¤
āĻāĻ¸ā§āĻ¨ āĻĻā§āĻ°ā§āĻ¤ "sumover" āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻŋ:
pp_def('sumover',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); int+ [o] b()',
āĻā§āĻĄ => '$GENERIC(b) tmp=0;
loop(n) %{ tmp += a(); %}
$b() = tmp;',
);
"āĻā§āĻĄ" āĻŦāĻŋāĻāĻžāĻā§ "āĻ˛ā§āĻĒ" āĻāĻ āĻ¨āĻāĻŋ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻ¨āĻžāĻŽāĻāĻŋāĻā§āĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ āĻ¯āĻžāĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻ¤āĻž āĻ¨āĻž āĻāĻ°ā§āĻ¨
āĻā§āĻ¨ āĻ¸ā§āĻŽāĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§: āĻ˛ā§āĻĒ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻŽāĻžāĻĒ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§,
āĻāĻŦāĻžāĻ°.
āĻāĻ°āĻĒāĻ°ā§, "$a()" āĻāĻŦāĻ "$b()" āĻ¯ā§āĻāĻŋ āĻāĻ°ā§ āĻ¤āĻž āĻāĻļā§āĻāĻ°ā§āĻ¯āĻāĻ¨āĻ āĻāĻāĻ¨āĻž āĻ°āĻ¯āĻŧā§āĻā§ āĻ¨āĻž āĻ¸ā§āĻāĻ āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻ
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ āĻāĻžāĻ°āĻŖ āĻāĻŽāĻ°āĻž āĻ˛ā§āĻĒ āĻāĻ°āĻāĻŋ n āĻāĻŦāĻ āĻāĻāĻ¯āĻŧ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĻ āĻāĻžāĻ¨ā§ āĻā§āĻ¨ āĻŽāĻžāĻ¤ā§āĻ°āĻž
āĻ¤āĻžāĻĻā§āĻ° āĻāĻā§ āĻ¤āĻžāĻ āĻ¤āĻžāĻ°āĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻžāĻ¨ā§ āĻ¯ā§ āĻ¤āĻžāĻ°āĻž āĻ˛ā§āĻĒ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤
āĻāĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻāĻŋ āĻ āĻ¨ā§āĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻā§āĻŦ āĻāĻžāĻā§ āĻāĻ¸ā§ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ āĻā§āĻ āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻāĻ°
āĻ āĻŦāĻļā§āĻ¯āĻ, āĻāĻŽāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻā§ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋāĻā§ āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻāĻžāĻ¨; āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¯āĻž āĻāĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§
āĻŽā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻā§āĻ¸ āĻ¸āĻŋāĻŽā§āĻā§āĻ°āĻŋāĻ āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻ¸ā§āĻĒāĻˇā§āĻ āĻ˛ā§āĻĒāĻŋāĻ āĻā§āĻĄ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§:
pp_def('symm',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n,n); [o]c(n,n);',
āĻā§āĻĄ => 'āĻ˛ā§āĻĒ(āĻāĻ¨) %{
int n2;
āĻāĻ¨ā§āĻ¯(n2=n; n2<$SIZE(n); n2++) {
$c(n0 => n, n1 => n2) =
$c(n0 => n2, n1 => n) =
$a(n0 => n, n1 => n2);
}
%}
'
);
āĻāĻŋ āĻāĻāĻā§ āĻāĻ° āĻŦā§āĻ¯āĻŦāĻā§āĻā§āĻĻ āĻāĻ°āĻž āĻ¯āĻžāĻ. āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŋ āĻāĻ°āĻ¤ā§ āĻ āĻ¨ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧ? āĻāĻ° āĻĨā§āĻā§
āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨ āĻ¯ā§ āĻāĻāĻŋ āĻ¸āĻŽāĻžāĻ¨ āĻ¸āĻāĻā§āĻ¯āĻ āĻāĻ˛āĻžāĻŽ āĻāĻŦāĻ āĻ¸āĻžāĻ°āĻŋ āĻ¸āĻš āĻāĻāĻāĻŋ 2D āĻŽā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻā§āĻ¸ āĻ¨ā§āĻ¯āĻŧ āĻāĻŦāĻ
āĻāĻāĻ āĻāĻāĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻā§āĻ¸ āĻāĻāĻāĻĒā§āĻ āĻāĻ°ā§āĨ¤ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻāĻ¨āĻĒā§āĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻā§āĻ¸ $a āĻĨā§āĻā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸āĻŽ āĻāĻŖāĻ¨āĻž āĻāĻ°ā§
āĻāĻāĻāĻĒā§āĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻā§āĻ¸ $c (āĻŽā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻā§āĻ¸ āĻ āĻ°ā§āĻĨā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸āĻŽ āĻ¯ā§ A^T = A āĻ¯ā§āĻāĻžāĻ¨ā§ ^T āĻŽāĻžāĻ¨ā§ āĻŽā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻā§āĻ¸
āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĒā§āĻ, āĻ āĻĨāĻŦāĻž PDL āĻāĻžāĻˇāĻžāĻ¯āĻŧ $c == $c->xchg(0,1))āĨ¤ āĻāĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻŋ āĻāĻ°ā§
$a āĻāĻ° āĻāĻ°ā§āĻŖā§āĻ° āĻāĻĒāĻ° āĻāĻŦāĻ āĻ¨ā§āĻā§āĨ¤ āĻāĻāĻāĻĒā§āĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻā§āĻ¸ā§ $c āĻāĻ° āĻāĻĒāĻ° āĻāĻŦāĻ āĻ¨ā§āĻā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻžāĻ¨
āĻ¤āĻŋāĻ°ā§āĻ¯āĻāĻā§āĻ˛āĻŋ $a-āĻ¤ā§ āĻĨāĻžāĻāĻžāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§ āĻāĻāĻ āĻ¯āĻāĻ¨ āĻ¤āĻŋāĻ°ā§āĻ¯āĻā§āĻ° āĻāĻĒāĻ°ā§ āĻĨāĻžāĻāĻžāĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻŽāĻŋāĻ°āĻ° āĻāĻŽā§āĻā§ˇ
āĻ¯ā§āĻā§āĻ˛āĻŋ āĻ¤āĻŋāĻ°ā§āĻ¯āĻā§āĻ° āĻ¨ā§āĻā§ (āĻāĻĒāĻ°ā§ āĻāĻŦāĻ āĻ¨ā§āĻā§ PDL āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§ āĻ¸ā§āĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
2D pdls)āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻāĻŋ āĻāĻāĻ¨āĻ āĻāĻŋāĻā§āĻāĻž āĻ āĻĻā§āĻā§āĻ¤ āĻŽāĻ¨ā§ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¨, āĻāĻāĻāĻŋ āĻā§āĻ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
āĻ¯ā§āĻāĻŋāĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻ¸āĻāĻā§āĻāĻžāĻāĻŋ āĻ˛āĻŋāĻā§āĻ¨, āĻ¨āĻ¤ā§āĻ¨ PDL āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ (āĻ āĻ¨ā§āĻā§āĻā§āĻĻ āĻĻā§āĻā§āĻ¨
āĻĒāĻŋāĻĒāĻŋ āĻā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĻ¸) āĻāĻŦāĻ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻŋ āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨āĨ¤
āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻž āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻžāĻ° āĻĒāĻ° āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻŽā§āĻ˛ā§āĻ¯ āĻ°āĻ¯āĻŧā§āĻā§
āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻāĻŋāĻā§āĻ¯āĻžāĻ˛ āĻĻā§āĻˇā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻžāĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻŽāĻ°āĻž āĻ¨āĻžāĻŽā§āĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻāĻāĻžāĻ° āĻĒāĻžāĻ
$SIZE āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŦāĻžāĻ° "n"āĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻ¤, āĻšāĻ āĻžā§ āĻāĻ āĻŽāĻāĻžāĻ° "n0" āĻāĻŦāĻ "n1" āĻāĻā§
āĻā§āĻĄā§ āĻ¸ā§āĻāĻā§āĻ° āĻ¨āĻžāĻŽ āĻ¯āĻĻāĻŋāĻ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž "n" āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĨ¤ āĻā§āĻ¨ āĻāĻāĻž? āĻĻā§āĻ¯
āĻāĻžāĻ°āĻŖ āĻ¸ā§āĻĒāĻˇā§āĻ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻ¨ āĻ¯ā§ $a āĻāĻŦāĻ $b-āĻāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻāĻāĻ¯āĻŧāĻ
"symm" āĻāĻ° āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§ "n" āĻ¨āĻžāĻŽāĻāĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻŋ PDL::PP āĻŦāĻ˛ā§ āĻ¯ā§ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ
āĻāĻ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻāĻāĻ āĻāĻāĻžāĻ° āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨
āĻāĻāĻāĻŋ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻŦā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻ¨ $a āĻāĻŦāĻ $c PDL::PP-āĻāĻ° āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻž āĻŦā§āĻāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž
āĻā§āĻ¨ āĻ¸ā§āĻā§ "n" āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻāĻā§āĻ° āĻ¨āĻžāĻŽ āĻĨā§āĻā§ āĻāĻ° āĻā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻāĻŋ
āĻ¸āĻŽāĻžāĻ¨ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻ¨āĻžāĻŽā§āĻ° āĻ¸ā§āĻāĻāĻā§āĻ˛āĻŋ 0 āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°ā§ āĻŦāĻžāĻŽ āĻĨā§āĻā§ āĻĄāĻžāĻ¨ā§ āĻ¸āĻāĻā§āĻ¯āĻžāĻ¯ā§āĻā§āĻ¤ āĻšāĻ¯āĻŧ, āĻ¯ā§āĻŽāĻ¨ in
āĻāĻĒāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ "n0" $a āĻāĻŦāĻ $c āĻāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻŽāĻžāĻ¤ā§āĻ°āĻž, "n1" āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻāĻŦāĻ
āĻļā§āĻā§āĻ°āĻ.
āĻāĻāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖā§, āĻāĻŽāĻ°āĻž āĻšā§āĻ¯āĻžāĻļā§āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° "āĻĒāĻžāĻ°ā§āĻ¸" āĻāĻŦāĻ "āĻā§āĻĄ" āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ
"pp_def" āĻ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ PDL::PP āĻāĻŦāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻŦā§āĻā§āĻ¤ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻā§
āĻāĻŽāĻ°āĻž āĻāĻ āĻ¨āĻĨāĻŋāĻ° āĻā§āĻ°ā§āĻ¸ā§ āĻ¤āĻžāĻĻā§āĻ° āĻāĻŋāĻā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻļā§āĻ¨āĻŦāĨ¤ āĻāĻāĻāĻŋ āĻā§āĻāĻā§āĻ¨ (āĻ -āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ)
āĻĒāĻ°āĻŋāĻļāĻŋāĻˇā§āĻ A-āĻ¤ā§ āĻā§āĻā§āĻ˛āĻŋāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĨ¤ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻŦāĻ āĻĒāĻŋāĻĒāĻŋ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻšāĻ¯āĻŧā§āĻāĻŋ
āĻāĻĒāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻŋāĻā§ āĻāĻāĻ¨āĻ) āĻ¯āĻž āĻšā§āĻ¯āĻžāĻļ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤
to "pp_def" āĻĒāĻ°āĻŋāĻļāĻŋāĻˇā§āĻ āĻŦāĻŋ āĻ¤ā§ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§, āĻāĻāĻŋ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯ā§ PDL::PP āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻ¸ā§āĻĨāĻŋāĻ° āĻ¨āĻ¯āĻŧ,
āĻāĻžāĻ˛ā§āĻāĻžāĻŦā§ āĻĄāĻŋāĻāĻžāĻāĻ¨ āĻāĻ°āĻž āĻ°ā§āĻāĻŋāĻ¨ā§āĻ° āĻ¸ā§āĻ (āĻ¯ā§āĻŽāĻ¨ āĻā§āĻŽāĻžāĻ¸ āĻŦāĻ˛ā§āĻā§āĻ¨: "āĻĒāĻŋāĻĒāĻŋāĻā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻŦāĻž āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§āĻ¨
āĻĒāĻžāĻĨāĻ°ā§ āĻā§āĻĻāĻžāĻ āĻāĻ°āĻž āĻ°ā§āĻāĻŋāĻ¨") āĻŦāĻ°āĻ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛::āĻĒāĻŋāĻĒāĻŋ āĻ˛ā§āĻāĻā§āĻ° āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ°āĻš
(Tuomas J. Lukka) āĻŽāĻ¨ā§ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻ¤āĻžāĻā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻ¤āĻžāĻ° PDL āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻ°ā§āĻāĻŋāĻ¨ā§ āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻĒāĻŋāĻĒāĻŋ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖāĻ¯ā§āĻā§āĻ¯ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§ āĻ¯āĻžāĻ¤ā§ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§, āĻ¨āĻ¤ā§āĻ¨ āĻāĻžāĻšāĻŋāĻĻāĻž āĻĻā§āĻāĻž āĻĻāĻŋāĻ˛ā§, āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻā§āĻĄ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻāĻž āĻĢāĻŋāĻ°ā§ āĻŦāĻŋāĻŽā§āĻ°ā§āĻ¤ āĻāĻ°āĻž. āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻāĻžāĻ¨āĻ¤ā§ āĻāĻžāĻāĻ˛ā§
āĻĒāĻŋāĻĄāĻŋāĻāĻ˛::āĻĒāĻŋāĻĒāĻŋ āĻāĻŦāĻ āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻ°āĻŦā§āĻ¨ āĻ¤āĻž āĻĒāĻŋāĻĄāĻŋāĻāĻ˛::āĻĒāĻŋāĻĒāĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨āĻžāĻ˛ā§āĻ° āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨āĨ¤
āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ āĻĒāĻžāĻ¯āĻŧāĻāĻžāĻ¨āĻž āĻŽā§āĻ˛ā§āĻ¯āĻŦā§āĻ§
āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛-āĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻāĻžāĻ°āĻžāĻĒ-āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¨āĻž āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻāĻŦāĻ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻā§: "BadCode", "HandleBad", ... (āĻāĻ° āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨
$PDL::āĻāĻžāĻ°āĻžāĻĒ::āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ - āĻ¯āĻĻāĻŋ āĻāĻāĻŋ 0 āĻāĻ° āĻ¸āĻŽāĻžāĻ¨ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¨)āĨ¤
āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻā§āĻĄ āĻ˛ā§āĻāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻā§ āĻāĻŦāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻĨāĻŽ
āĻāĻāĻāĻŋ āĻšāĻ˛ "HandleBad" āĻā§:
āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ˛āĻŦā§āĻ¯āĻžāĻĄ => ā§§
āĻāĻāĻŋ āĻāĻāĻāĻŋ pp-āĻ°ā§āĻāĻŋāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°ā§ā§ˇ āĻ¨āĻž āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻžāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ āĻ°ā§āĻāĻŋāĻ¨ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ piddles
āĻ¤āĻžāĻĻā§āĻ° "āĻŦā§āĻ¯āĻžāĻĄāĻĢā§āĻ˛ā§āĻ¯āĻžāĻ" āĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§, āĻ¤āĻžāĻ°āĻĒāĻ° STDOUT āĻāĻŦāĻ āĻĒāĻŋāĻĄāĻ˛ā§ āĻāĻāĻāĻŋ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻŽā§āĻĻā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻāĻŽāĻ¨āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§āĻ¨ āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻŽāĻžāĻ¨āĻāĻŋ āĻāĻāĻāĻŋ āĻŦā§āĻ§ āĻ¸āĻāĻā§āĻ¯āĻžāĨ¤ āĻĻā§āĻ¯
"badflag" āĻŽāĻžāĻ¨ āĻāĻāĻāĻĒā§āĻ piddles āĻĒā§āĻ°āĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž.
āĻāĻāĻŋ āĻāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻ˛ āĻāĻĢāĻāĻĢāĻāĻŋ āĻ°ā§āĻāĻŋāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻ¯āĻžāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻā§āĻ¨āĻ āĻāĻĒāĻžāĻ¯āĻŧ āĻĨāĻžāĻā§ āĻ¨āĻž
āĻĄā§āĻāĻžāĻ° āĻ āĻāĻļ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĨ¤
āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ˛āĻŦā§āĻ¯āĻžāĻĄ => ā§§
āĻāĻ° āĻĢāĻ˛ā§ PDL::PP āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻā§āĻĄ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻŦā§āĻ¯āĻžāĻĄāĻā§āĻĄ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŦāĻ
āĻ¯ā§ "$ISBAD()" āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ (āĻāĻŦāĻ āĻāĻ° āĻāĻžāĻāĻ°āĻž) āĻāĻžāĻ āĻāĻ°ā§āĨ¤
āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ˛āĻŦā§āĻ¯āĻžāĻĄ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻ¨āĻž
āĻ¯āĻĻāĻŋ āĻā§āĻ¨ā§ āĻāĻ¨āĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛ā§ āĻ¤āĻžāĻĻā§āĻ° "āĻŦā§āĻ¯āĻžāĻĄāĻĢā§āĻ˛ā§āĻ¯āĻžāĻ" āĻ¸ā§āĻ āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻāĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛ āĻšāĻŦā§
āĻ¤āĻžāĻĻā§āĻ° "āĻŦā§āĻ¯āĻžāĻĄāĻĢā§āĻ˛ā§āĻ¯āĻžāĻ" āĻ¸ā§āĻ āĻāĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻž āĻā§āĻ¨ā§ āĻŦā§āĻ¯āĻžāĻĄāĻā§āĻĄ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
"HandleBad" āĻāĻ° āĻŽāĻžāĻ¨ "BadDoc" āĻā§ āĻāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ, āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ
āĻĻā§āĻāĻ¯āĻŧāĻžāĨ¤
āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§, āĻā§āĻĄ āĻāĻŋāĻā§āĻāĻž āĻāĻŋāĻ¨ā§āĻ¨āĻāĻžāĻŦā§ āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻŦā§; āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§,
$c() = $a() + $b();
āĻŽāĻ¤ āĻāĻŋāĻā§ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ
āĻ¯āĻĻāĻŋ ( $a() != BADVAL && $b() != BADVAL ) {
$c() = $a() + $b();
} āĻ āĻ¨ā§āĻ¯ {
$c() = BADVAL;
}
āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻžāĻ āĻ¯āĻĻāĻŋ āĻāĻ¨āĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛ā§ āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻā§
(āĻāĻŦāĻ āĻ¸ā§āĻ āĻāĻžāĻ°āĻžāĻĒ-āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻžāĻ!) - āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻāĻŽāĻ°āĻž āĻāĻ¸āĻ˛ā§ āĻāĻ¸āĻ˛ āĻā§āĻĄ āĻāĻžāĻāĨ¤
āĻāĻāĻžāĻ¨ā§āĻ "BadCode" āĻā§ āĻāĻ¸ā§; āĻāĻžāĻ°āĻžāĻĒ āĻšāĻ˛ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨
āĻŽāĻžāĻ¨ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŦāĻ PP āĻāĻŋāĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻāĻŋ āĻāĻŦāĻ "āĻā§āĻĄ" āĻŦāĻŋāĻāĻžāĻ āĻāĻāĻ¯āĻŧāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
āĻŽāĻ¤:
āĻ¯āĻĻāĻŋ ( āĻāĻžāĻ°āĻžāĻĒ_āĻŽāĻžāĻ¨_āĻāĻā§_āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ ) {
āĻ āĻāĻŋāĻ¨āĻŦ_āĻĨā§āĻ°ā§āĻĄāĻ˛ā§āĻĒ_āĻ¸ā§āĻāĻžāĻĢ {
āĻāĻžāĻ°āĻžāĻĒ āĻā§āĻĄ
}
} āĻ āĻ¨ā§āĻ¯ {
āĻ āĻāĻŋāĻ¨āĻŦ_āĻĨā§āĻ°ā§āĻĄāĻ˛ā§āĻĒ_āĻ¸ā§āĻāĻžāĻĢ {
āĻā§āĻĄ
}
}
āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ āĻ°ā§āĻĨ āĻšāĻ˛ āĻ¯ā§ āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§ āĻāĻžāĻ°ā§āĻ¯āĻ¤ āĻā§āĻ¨āĻ āĻāĻāĻžāĻ°āĻšā§āĻĄ āĻ¨ā§āĻā§ˇ
(āĻ āĻ°ā§āĻĨāĻžā§ āĻŦā§āĻ¯āĻžāĻĄāĻĢā§āĻ˛ā§āĻ¯āĻžāĻ āĻ°ā§āĻāĻŋāĻ¨ 0 āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§)āĨ¤
āĻŦā§āĻ¯āĻžāĻĄāĻā§āĻĄ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻā§āĻĄ āĻŦāĻŋāĻāĻžāĻā§āĻ° āĻŽāĻ¤ā§ āĻāĻāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻŦāĻ āĻ˛ā§āĻĒāĻŋāĻ āĻāĻ¨āĻ¸ā§āĻā§āĻ°āĻžāĻā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻ¯āĻžāĻāĻšā§āĻ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻžāĻĄāĻŧāĻž āĻāĻāĻŋ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻŦā§ āĻ¨āĻž:
$ISBAD(var)
āĻāĻāĻāĻŋ āĻĒāĻŋāĻĄāĻ˛ā§āĻ° āĻŽāĻžāĻ¨ āĻāĻžāĻ°āĻžāĻĒ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ $ISBAD āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨:
āĻ¯āĻĻāĻŋ ( $ISBAD(a()) ) { printf("a() āĻāĻžāĻ°āĻžāĻĒ\n"); }
āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻĒāĻŋāĻĄāĻ˛ā§āĻ° āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻ¯āĻĻāĻŋ ( $ISBAD(a(n=>l)) ) { printf("a() āĻāĻ° %d āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻžāĻ°āĻžāĻĒ\n", l); }
$ISGOOD(var)
āĻāĻāĻŋ $ISBAD āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤āĨ¤
$SETBAD(var)
āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻĒāĻŋāĻĄāĻ˛ āĻāĻžāĻ°āĻžāĻĒ āĻāĻāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨.
$ISBADVAR(c_var,pdl)
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻĒāĻŋāĻĄāĻ˛ "$a()" āĻāĻ° āĻŽāĻžāĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻŋ-āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ ("foo" āĻŦāĻ˛ā§) āĻ¤ā§ āĻā§āĻ¯āĻžāĻļā§ āĻāĻ°ā§ āĻĨāĻžāĻā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§
āĻāĻāĻŋ āĻāĻžāĻ°āĻžāĻĒ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§ āĻĻā§āĻā§āĻ¨, "$ISBADVAR(foo,a)" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤
$ISGOODVAR(c_var,pdl)
āĻāĻĒāĻ°ā§āĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻ¯ā§ āĻā§āĻ¯āĻžāĻļā§ āĻŽāĻžāĻ¨ āĻāĻžāĻ°āĻžāĻĒ āĻ¨āĻ¯āĻŧāĨ¤
$SETBADVAR(c_var,pdl)
āĻāĻ¸āĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§ āĻĒāĻŋāĻĄāĻ˛ā§āĻ° āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨ āĻāĻĒāĻŋ āĻāĻ°āĻ¤ā§, "$SETBADVAR(foo,a)" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻ°āĻ¤ā§: "$PPISBAD()" āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻāĻĒāĻ°ā§āĻ° āĻā§āĻĄāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§:
āĻā§āĻĄ => '$c() = $a() + $b();',
āĻāĻžāĻ°āĻžāĻĒ āĻā§āĻĄ => '
āĻ¯āĻĻāĻŋ ( $ISBAD(a()) || $ISBAD(b()) ) {
$SETBAD(c());
} āĻ āĻ¨ā§āĻ¯ {
$c() = $a() + $b();
}',
āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻāĻŋ āĻĒāĻžāĻ°ā§āĻ˛, TMTOWTDI, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻŋ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻāĻžāĻ°āĻžāĻĒ āĻā§āĻĄ => '
āĻ¯āĻĻāĻŋ ( $ISGOOD(a()) && $ISGOOD(b()) ) {
$c() = $a() + $b();
} āĻ āĻ¨ā§āĻ¯ {
$SETBAD(c());
}',
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĒāĻŋāĻĄāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻžāĻĄāĻĢā§āĻ˛ā§āĻ¯āĻžāĻā§āĻ° āĻŽāĻžāĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
"$PDLSTATExxxx()" āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§:
$PDLSTATEISBAD(pdl)
$PDLSTATEISGOOD(pdl)
$PDLSTATESETBAD(pdl)
$PDLSTATESETGOOD(pdl)
āĻāĻ°āĻ¤ā§: āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ "pp_def" āĻ¤ā§ "FindBadStatusCode" āĻāĻŦāĻ "CopyBadStatusCode" āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§āĻ¨
"BadDoc" āĻā§ āĻšāĻŋāĻ¸āĻžāĻŦā§āĨ¤
āĻĒā§āĻļāĻžāĻā§āĻ° āĻ¤ā§āĻŽāĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ/āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° PP
āĻāĻāĻ¨, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§āĻ¨: āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ¸āĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§ (āĻ¯āĻž āĻāĻ¸āĻ˛ā§ āĻāĻ° āĻ āĻāĻļ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻŋāĻā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ PDL āĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨) āĻ¯āĻž āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĻā§āĻāĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻ¨ā§āĻ¯āĻŧ
āĻĻā§āĻŦāĻŋāĻā§āĻŖ āĻā§āĻā§āĻāĻ°:
void myfunc(int n,double *v1, double *v2);
PDL āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ¸āĻ āĻŋāĻ āĻāĻĒāĻžāĻ¯āĻŧ
pp_def('myfunc',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); [o]b(n);',
āĻā§āĻ¨ā§āĻ°āĻŋāĻ āĻāĻžāĻāĻĒāĻ¸ => ['āĻĄāĻŋ'],
āĻā§āĻĄ => 'myfunc($SIZE(n),$P(a),$P(b));'
);
"$P("āĻĻā§āĻŦāĻžāĻ°āĻž")" āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻšāĻ˛
āĻāĻ° āĻĒāĻ°ā§ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻŦāĻ˛āĻžāĻ° āĻ¨āĻŋāĻļā§āĻāĻ¯āĻŧāĻ¤āĻžāĨ¤
āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻāĻžāĻ¨ā§ āĻ āĻ¨ā§āĻ āĻā§āĻ˛ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦāĨ¤ āĻĒā§āĻ°āĻĨāĻŽā§ $SIZE(n) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
"n" āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§āĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻ¤, āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ āĻā§āĻĄā§ āĻā§āĻ¨ā§ āĻ˛ā§āĻĒ āĻ°āĻžāĻāĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ, āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨
PDL::PP āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻŦā§āĻā§āĻ¤ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻšā§āĻ¯āĻžāĻļ āĻā§ : "āĻā§āĻ¨āĻžāĻ°āĻŋāĻ āĻāĻžāĻāĻĒāĻ¸" āĻā§āĻˇāĻŖāĻž PDL::PP āĻā§ āĻŦāĻ˛ā§
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻāĻžāĻāĻĒāĻ˛ā§āĻĒ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ "āĻĄāĻŦāĻ˛"āĨ¤ āĻāĻ
āĻĻā§āĻāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤ āĻ¸āĻāĻāĻ˛āĻŋāĻ¤ āĻā§āĻĄā§āĻ° āĻāĻāĻžāĻ° āĻŦā§āĻ¯āĻžāĻĒāĻāĻāĻžāĻŦā§ āĻšā§āĻ°āĻžāĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻ¤ āĻ¯āĻĻāĻŋ
āĻ¨āĻ¨-āĻĄāĻžāĻŦāĻ˛ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋ "myfunc()"-āĻ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ PDL āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻŦā§
āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ C āĻ°ā§āĻāĻŋāĻ¨ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻā§ āĻĻā§āĻŦāĻŋāĻā§āĻŖ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĒāĻ°ā§ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻāĻŦāĻžāĻ° āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°ā§āĻ¨āĨ¤
āĻĒā§āĻĨāĻ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻ§āĻ°āĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻ¯ā§āĻā§āĻ¯āĻ¤āĻž āĻ āĻ°ā§āĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻā§āĻ "āĻĒāĻžāĻ°ā§āĻ¸" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻžāĻŦā§ āĻāĻāĻāĻ¨āĻ āĻĒāĻžāĻ°ā§
āĻāĻāĻāĻžāĻŦā§ āĻ˛āĻŋāĻā§āĻ¨:
pp_def('myfunc',
āĻĒāĻžāĻ°ā§āĻ¸ => 'āĻĄāĻŦāĻ˛ a(n); āĻĻā§āĻŦāĻŋāĻā§āĻŖ [o]b(n);',
āĻā§āĻĄ => 'myfunc($SIZE(n),$P(a),$P(b));'
);
"Pars"-āĻ āĻāĻžāĻāĻĒ āĻ¸ā§āĻĒā§āĻ¸āĻŋāĻĢāĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻāĻĒāĻ˛ā§āĻĒā§āĻ° āĻāĻŋāĻ¨ā§āĻ¨āĻ¤āĻž āĻĨā§āĻā§ āĻ¯ā§āĻā§āĻ¤āĻŋāĻā§ āĻāĻžāĻĄāĻŧ āĻĻā§āĻ¯āĻŧ -
āĻŦāĻ°āĻ āĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĒā§āĻ°āĻāĻžāĻ° āĻĨā§āĻā§āĨ¤ āĻāĻāĻž āĻ¸ā§āĻĒāĻˇā§āĻāĻ¤āĻ
āĻāĻ°āĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻĻāĻžāĻšāĻ°āĻŖā§ āĻĻāĻ°āĻāĻžāĻ°ā§, āĻ¯ā§āĻŽāĻ¨:
void myfunc(int n,float *v1, long *v2);
pp_def('myfunc',
Pars => 'float a(n); āĻĻā§āĻ°ā§āĻ [o]b(n);',
āĻā§āĻ¨ā§āĻ°āĻŋāĻ āĻāĻžāĻāĻĒāĻ¸ => ['āĻāĻĢ'],
āĻā§āĻĄ => 'myfunc($SIZE(n),$P(a),$P(b));'
);
āĻ¨ā§āĻ āĻāĻ°ā§āĻ¨ āĻāĻŽāĻ°āĻž āĻāĻāĻ¨āĻ āĻāĻžāĻāĻĒ āĻ˛ā§āĻĒā§āĻ° āĻāĻāĻžāĻ° āĻāĻŽāĻžāĻ¤ā§ "āĻā§āĻ¨āĻžāĻ°āĻŋāĻ āĻāĻžāĻāĻĒāĻ¸" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ, āĻ¸ā§āĻĒāĻˇā§āĻāĻ¤āĻ āĻĒāĻŋāĻĒāĻŋ āĻĒāĻžāĻ°ā§
āĻ¨ā§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻ°ā§āĻ¨ āĻ¯āĻĻāĻŋāĻ āĻā§āĻĄāĻāĻŋ āĻāĻāĻ¨āĻ āĻāĻāĻŋ āĻ āĻ°ā§āĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĻŋ
āĻĒāĻ°āĻŋāĻļā§āĻ˛āĻŋāĻ¤ āĻ¸ā§āĻ¤āĻ°!
āĻ āĻŦāĻļā§āĻˇā§ āĻ¨ā§āĻ āĻāĻ°ā§āĻ¨ āĻ¯āĻāĻ¨ āĻĒā§āĻ°āĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻāĻ¨ āĻāĻāĻāĻ¨āĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ "[o]" āĻā§āĻ¯āĻŧāĻžāĻ˛āĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ā§ˇ
āĻāĻāĻāĻĒā§āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻŦāĻž āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ āĻŋāĻ¨ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĒāĻŋāĻĒāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻšāĻŦā§!
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸āĻŋāĻāĻāĻŋāĻā§ āĻāĻ°āĻ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻĒāĻžāĻ°ā§āĻ˛ āĻĒāĻžāĻ°ā§
āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŦāĻžāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§āĻ¨(!) āĻ āĻ¨ā§āĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ˛āĻŋāĻ āĻāĻ¨āĻā§āĻ¨āĻļāĻ¨ āĻāĻā§āĨ¤
āĻāĻ āĻļā§āĻˇāĻŖ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§. āĻ¸āĻāĻā§āĻˇā§āĻĒā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻā§ āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ° āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ (āĻ¯āĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻ¨āĻ¯āĻŧ
āĻĒāĻžāĻ°ā§āĻ˛ā§ āĻāĻ āĻŋāĻ¨) āĻ¯āĻž āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻĒāĻžāĻ°ā§āĻ¸āĻā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĨā§āĻā§ "pp_def" āĻ āĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§
āĻ¯ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĢāĻžāĻāĻļāĻ¨. āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯, āĻā§āĻ āĻāĻ°ā§āĻ¨ āĻ¸ā§āĻ˛ā§āĻā§āĻ āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸
PDL āĻŦāĻŋāĻ¤āĻ°āĻŖā§āĻ° "Lib" āĻāĻžāĻāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ (āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻāĻ¯āĻŧā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ) āĻā§āĻ¨āĻāĻŋāĻ¤ā§ āĻāĻ˛ āĻāĻ°ā§
āĻĒāĻŋāĻĒāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻ°ā§āĻ˛ āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻāĻāĻŋ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¯āĻž āĻāĻžāĻā§ āĻāĻ¸ā§
PP āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻ āĻāĻŋāĻ¨ā§āĻ¨ āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§ āĻ¯āĻž āĻ¤āĻžāĻĻā§āĻ° āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋāĻā§ stdout-āĻ āĻĄāĻžāĻŽā§āĻĒ āĻāĻ°ā§āĨ¤
āĻļā§āĻ§ā§ āĻŦāĻ˛
perl -MPDL::PP::Dump myfile.pd
"pp_def" āĻāĻŦāĻ āĻŦāĻ¨ā§āĻ§ā§āĻĻā§āĻ° āĻāĻ˛ āĻĻā§āĻāĻ¤ā§āĨ¤ āĻāĻāĻŋ āĻĻāĻŋāĻ¯āĻŧā§ āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨ ops.pd āĻāĻŦāĻ slatec.pd. āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ
āĻāĻā§āĻ°āĻšā§ (āĻŦāĻž āĻāĻāĻŋ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨), āĻāĻ¤ā§āĻ¸āĻāĻŋ āĻŦā§āĻ¸āĻŋāĻ/āĻā§āĻ¨/āĻĒāĻŋāĻĒāĻŋ/āĻĄāĻžāĻŽā§āĻĒ.āĻĒāĻŋāĻāĻŽ-āĻ āĻ°āĻ¯āĻŧā§āĻā§
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻŦāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ in āĻĻā§āĻ¯ āĻā§āĻĄ āĻ āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ
āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§: āĻāĻāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻŽāĻ°āĻž $SIZE, $GENERIC āĻāĻŦāĻ $P āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ° āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻšāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻ¯āĻžāĻā§āĻāĻŋ
PDL::PP āĻāĻ° "āĻā§āĻĄ" āĻŦāĻŋāĻāĻžāĻā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻā§āĻ˛āĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°ā§āĻ¨
āĻ¤āĻžāĻĻā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻšāĨ¤
$T $T āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻžāĻāĻĒ āĻ¸ā§āĻāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻā§āĻŦ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
āĻāĻ¨āĻĒā§āĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ (āĻ¯ā§āĻŽāĻ¨ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ) āĻĢāĻžāĻāĻļāĻ¨āĨ¤
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻšāĻ˛
$Typeleters(type_alternatives)
āĻ¯ā§āĻāĻžāĻ¨ā§ "āĻāĻžāĻāĻĒā§āĻ˛ā§āĻāĻžāĻ°ā§āĻ¸" āĻšāĻ˛ "BSULFD" āĻ āĻā§āĻˇāĻ°āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻāĻĒāĻ¸ā§āĻā§āĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ¯āĻž āĻĻāĻžāĻāĻĄāĻŧāĻžāĻ¯āĻŧ
āĻŦāĻžāĻāĻ, āĻļāĻ°ā§āĻ, āĻāĻļāĻ°ā§āĻ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŦāĻ "āĻāĻžāĻāĻĒ_āĻŦāĻŋāĻāĻ˛ā§āĻĒ" āĻšāĻ˛ āĻŦāĻŋāĻ¸ā§āĻ¤ā§āĻ¤āĻŋ āĻ¯āĻāĻ¨ āĻāĻžāĻāĻĒ
āĻĒāĻŋāĻĒāĻŋ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻāĻŋāĻ āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻ¤ āĻ¯ā§ āĻ¸āĻŽāĻžāĻ¨. āĻāĻ˛ā§āĻ¨
āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ āĻ āĻŦā§āĻ§āĻāĻŽā§āĻ¯ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°ā§āĻ¨. āĻ§āĻ°ā§ āĻ¨āĻŋāĻā§āĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĻā§āĻāĻŋ āĻ¸āĻŋ āĻāĻā§
āĻĒā§āĻ°ā§āĻā§āĻāĻžāĻāĻĒ āĻ¸āĻš āĻĢāĻžāĻāĻļāĻ¨
void float_func (float *in, float *out);
void double_func (āĻĄāĻžāĻŦāĻ˛ *āĻāĻ¨, āĻĄāĻŦāĻ˛ *āĻāĻāĻ);
āĻ¯āĻž āĻŽā§āĻ˛āĻ¤ āĻāĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻ°ā§ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻĢā§āĻ˛ā§āĻ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯ āĻĄāĻŦāĻ˛ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻā§āĻ¨ā§āĻ°āĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨ "foofunc" āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ āĻ¤āĻžāĻĻā§āĻ° PDL āĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ (āĻ¯āĻž āĻšāĻŦā§
āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°ā§āĻ° āĻ§āĻ°āĻŖā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻ¸āĻ āĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻ˛ āĻāĻ°ā§āĻ¨):
pp_def('foofunc',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); [o] b();',
āĻā§āĻĄ => '$TFD(float_func,double_func) ($P(a),$P(b));'
āĻā§āĻ¨ā§āĻ°āĻŋāĻ āĻāĻžāĻāĻĒāĻ¸ => [qw(FD)],
);
āĻĻāĻ¯āĻŧāĻž āĻāĻ°ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻŦāĻ˛āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž
āĻā§āĻĄ => '$TFD(float,double)_func ($P(a),$P(b));'
āĻ¯ā§āĻšā§āĻ¤ā§ $T āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻā§āĻ°ā§āĻ˛āĻŋāĻ āĻ¸ā§āĻĒā§āĻ¸ āĻ¸āĻš āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ āĻ¨ā§āĻ°ā§āĻĒāĻāĻžāĻŦā§ C āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§āĨ¤
āĻāĻĒāĻ°ā§ āĻāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻĻā§āĻ°ā§āĻ āĻĢāĻ°ā§āĻŽ āĻ¸āĻ āĻŋāĻ. āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤āĻ¤āĻž āĻāĻžāĻ¨, āĻāĻĒāĻ¨āĻŋ
āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
'$TBSULFD('.(āĻ¯ā§āĻ āĻĻāĻŋāĻ¨',',āĻŽā§āĻ¯āĻžāĻĒ {"long_identifier_name_$_"}
qw/byt āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°āĻŦāĻŋāĻšā§āĻ¨ āĻ˛āĻžāĻāĻā§āĻ āĻĢā§āĻ˛ā§āĻ āĻĄāĻžāĻŦāĻ˛/)āĨ¤');'
$PP
$PP āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻāĻāĻŋ āĻ¤āĻĨāĻžāĻāĻĨāĻŋāĻ¤ āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻļāĻžāĻ°ā§āĻ°āĻŋāĻ āĻāĻļāĻžāĻ°āĻž āĻĒā§āĻ°āĻŦā§āĻļ. āĻĻā§āĻ¯ āĻļāĻžāĻ°ā§āĻ°āĻŋāĻ āĻŦā§āĻāĻžāĻ¯āĻŧ
PDL āĻāĻ° āĻāĻŋāĻā§ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻ¨ (āĻ¯āĻžāĻ°āĻž PDL āĻā§āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ°āĻž
āĻā§āĻ¯āĻžāĻĢāĻŋāĻ¨ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻž)āĨ¤ āĻāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻāĻŋ āĻŽā§āĻ˛āĻ¤ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯
āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻā§āĻĄā§āĻ° āĻā§āĻ¨ā§āĻāĻŋāĻ¤ā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻāĨ¤
$COMP (āĻāĻŦāĻ "āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻĒāĻžāĻ°āĻ¸" āĻŦāĻŋāĻāĻžāĻ)
$COMP āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻā§āĻĄ āĻŦāĻŋāĻāĻžāĻā§ āĻ¨āĻ¨-āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ āĻŽāĻžāĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻ° āĻ¨āĻžāĻŽ āĻšāĻ˛
PDL-āĻ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĨā§āĻā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛
$COMP āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻžāĻ°āĻž ``āĻ¸āĻāĻāĻ˛āĻŋāĻ¤'' āĻāĻžāĻ āĻžāĻŽā§āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ¯āĻž PDL āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻāĻ°ā§
āĻĒā§āĻ°āĻļā§āĻ¨ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻ¨āĻ āĻā§āĻ¨ā§ āĻ¤āĻĨā§āĻ¯ āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§ āĻ¨āĻž
(āĻāĻ°āĻ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ PDL::āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨āĻžāĻ˛ āĻā§āĻ āĻāĻ°ā§āĻ¨)āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻĒāĻ¨āĻŋ $COMP āĻā§ āĻāĻāĻāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻŦā§āĻ˛ā§āĻ¯āĻžāĻ āĻŦāĻā§āĻ¸ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛-āĻ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋāĻā§ āĻ¨āĻž āĻā§āĻ¨ā§āĨ¤
āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĻ¨? āĻāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻšāĻ˛ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻ¯āĻž
āĻāĻāĻāĻŋ "pp_def" āĻ¸āĻāĻā§āĻāĻžāĻ° "āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻĒāĻžāĻ°āĻ¸" āĻŦāĻŋāĻāĻžāĻā§ āĻā§āĻˇāĻŖāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻĒāĻ¨āĻŋ āĻ¨āĻž
āĻāĻāĻ¨āĻ "āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻĒāĻžāĻ°āĻ¸" āĻā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻļā§āĻ¨ā§āĻā§āĻ¨?! āĻāĻ° āĻāĻ°ā§āĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ āĻ¯āĻž āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°ā§
āĻāĻāĻ¯āĻŧ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§āĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°:
pp_def('pnmout',
āĻĒāĻžāĻ°ā§āĻ¸ =>'a(āĻŽāĻŋ)',
OtherPars => "char* fd",
āĻā§āĻ¨ā§āĻ°āĻŋāĻ āĻāĻžāĻāĻĒāĻ¸ => [qw(BUSL)],
āĻā§āĻĄ => 'PerlIO *fp;
IO *io;
io = GvIO(gv_fetchpv($COMP(fd), FALSE,SVt_PVIO));
āĻ¯āĻĻāĻŋ (!io || !(fp = IoIFP(io)))
croak("FP āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻāĻŋ āĻ¨āĻž");
āĻ¯āĻĻāĻŋ (PerlIO_write(fp,$P(a),len) != len)
croak("āĻĒāĻŋāĻāĻ¨āĻāĻŽ āĻĢāĻžāĻāĻ˛ āĻ˛ā§āĻāĻžāĻ° āĻ¤ā§āĻ°ā§āĻāĻŋ");
');
āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻāĻāĻŋ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻĄā§āĻāĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧ
āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻšāĻŋāĻ¸āĻžāĻŦā§. āĻāĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻāĻŋ "Pars" āĻŦāĻŋāĻāĻžāĻā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž
āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻāĻŋāĻā§ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ā§āĻ° āĻŽāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž āĻŦāĻ°āĻ āĻ¯āĻĨāĻžāĻ¯āĻĨāĻāĻžāĻŦā§ āĻ¨āĻžāĻŽāĻāĻ°āĻŖ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ
"āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻĒāĻžāĻ°āĻ¸" āĻŦāĻŋāĻāĻžāĻāĨ¤ "āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻĒāĻžāĻ°āĻ¸" āĻŦāĻŋāĻāĻžāĻā§ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻā§āĻ˛āĻŋ "āĻĒāĻžāĻ°ā§āĻ¸"-āĻ āĻ¯āĻž āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°ā§
āĻĢāĻžāĻāĻļāĻ¨ āĻāĻšā§āĻŦāĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻŋāĻāĻžāĻ, āĻ¯ā§āĻŽāĻ¨
FILE āĻā§āĻ˛ā§āĻ¨,">out.dat" āĻŦāĻž āĻĄāĻžāĻ "out.dat āĻā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĻŋ";
pnmout($pdl,'FILE');
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻā§āĻĄ āĻŦāĻŋāĻāĻžāĻā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻāĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒāĻŋāĻĒāĻŋāĻā§ āĻŦāĻ˛āĻ¤ā§ āĻšāĻŦā§
$COMP āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ¯ā§āĻŽāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§ "$COMP(fd)" āĻ˛āĻŋāĻā§āĻ¨āĨ¤ āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻĒāĻŋāĻĒāĻŋ
āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨ā§āĻ¨ āĻ¨āĻž āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ "fd" āĻāĻ° āĻāĻĨāĻž āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻā§āĻ¨ āĻ¤āĻžāĻ¤ā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻāĻāĻ āĻ°āĻāĻŽ
"āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻĒāĻžāĻ°āĻ¸" āĻŦāĻŋāĻāĻžāĻāĨ¤
"āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻĒāĻžāĻ°āĻ¸" āĻŦāĻŋāĻāĻžāĻā§āĻ° āĻāĻ°ā§āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻšāĻ˛ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§ āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽāĻ¯ā§āĻā§āĻ¤ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¸ā§āĻ āĻāĻ°āĻžāĨ¤
āĻāĻ¸ā§āĻ¨ āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ:
pp_def('setdim',
āĻĒāĻžāĻ°ā§āĻ¸ => '[o] a(n)',
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻ¸ => 'int ns => n',
āĻā§āĻĄ => 'āĻ˛ā§āĻĒ(n) %{ $a() = n; %}',
);
āĻāĻāĻŋ āĻŦāĻ˛ā§ āĻ¯ā§ āĻ¨āĻžāĻŽāĻ¯ā§āĻā§āĻ¤ āĻŽāĻžāĻ¤ā§āĻ°āĻž "n" āĻāĻ° āĻŽāĻžāĻ¨ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻšāĻŦā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯
āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻŽāĻžāĻĒ "ns" āĻ¯āĻž āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° (āĻāĻŽāĻžāĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻāĻ¤ā§ āĻĒā§āĻ°ā§āĻā§āĻ¨ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ
"CType From => name_dim" āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸)āĨ¤ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋāĻā§ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
setdim(($a=null),5);
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ $a;
[ 0 1 2 3 4 ]
āĻ¸ā§āĻŦā§āĻāĻžāĻ°ā§āĻ¯ āĻ¯ā§ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻā§āĻŦ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ¨āĻ¯āĻŧ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ
āĻāĻāĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ āĻĻāĻŋāĻ¯āĻŧā§ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻ˛ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻžāĻ° āĻĻāĻ°āĻāĻžāĻ° āĻ¨ā§āĻ
"n" āĻāĻ° āĻāĻāĻžāĻ° āĻ¯ā§āĻšā§āĻ¤ā§ PDL::PP āĻ¨āĻ¨-āĻ¨āĻžāĻ˛ pdl-āĻāĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻĨā§āĻā§ āĻāĻāĻŋ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻŋāĻ¤āĻ°ā§
āĻ¸ā§āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻā§āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° "-1" āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻĻā§āĻ¨:
$a = hist($b);
setdim($a,-1);
āĻ¯āĻž āĻāĻ°āĻž āĻāĻāĻŋā§.
āĻāĻāĻŽāĻžāĻ¤ā§āĻ° PP āĻĢāĻžāĻāĻļāĻ¨ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ āĻ¤āĻž āĻšāĻ˛ "āĻ˛ā§āĻĒ"āĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§,
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻĻā§āĻāĻŋ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻļāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž "āĻā§āĻĄ" āĻŦāĻŋāĻāĻžāĻā§ āĻ¸ā§āĻŦā§āĻā§āĻ¤:
āĻĨā§āĻ°ā§āĻĄāĻ˛ā§āĻĒ
āĻāĻŽāĻ°āĻž āĻāĻĒāĻ°ā§ āĻļā§āĻ¨ā§āĻāĻŋ āĻāĻāĻāĻŋ āĻĒāĻŋāĻĒāĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻ¸āĻŦ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§
āĻāĻāĻāĻŋ āĻāĻĄāĻŧāĻŋāĻ¤ pdl āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻāĻĻāĻŋāĻŽ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨. āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻāĻ˛
āĻ¯ā§ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻāĻĒāĻ¨āĻŋ PP āĻāĻ° āĻ¸āĻžāĻĨā§ pdls āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻā§āĻ¨ āĻ¯ā§āĻā§āĻ˛āĻŋāĻ° āĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ°āĻ¯āĻŧā§āĻā§ā§ˇ
āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻĻāĻŋāĻŽ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻāĻ˛ā§āĻ° āĻāĻĒāĻ° āĻ¸āĻā§āĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻ¸āĻžāĻŦāĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻ¯āĻžāĻā§ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¸ā§āĻ¤āĻž āĻ˛ā§āĻĒ (āĻāĻ°ā§ āĻĻā§āĻā§āĻ¨
āĻāĻĒāĻ°ā§ āĻāĻāĻžāĻ°āĻāĻŋāĻ āĻāĻŦāĻ PDL::Indexing)āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻ§āĻžāĻ°āĻŖāĻžāĻ° āĻāĻŋāĻā§ āĻ§āĻžāĻ°āĻŖāĻž āĻāĻā§ āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻĒāĻ¨āĻŋ
āĻā§āĻĄ āĻŦāĻŋāĻāĻžāĻā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤ āĻŦāĻ˛ā§ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻĒā§āĻ°āĻļāĻāĻ¸āĻž āĻāĻ°āĻŦā§
āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĨā§āĻ°ā§āĻĄ āĻ˛ā§āĻĒā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻžāĻāĻ āĻ˛ā§āĻĒāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĻā§āĻā§āĻ¨
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž "pnmout" āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻŋ, āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¯ā§ āĻā§āĻāĻāĻā§āĻ¨
āĻ˛ā§āĻāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻĨā§āĻ°ā§āĻĄ āĻ˛ā§āĻĒā§ "IO" āĻĢāĻžāĻāĻ˛ā§āĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻā§āĻŦ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻ¨āĻ¯āĻŧ
āĻ āĻ¨ā§āĻ āĻ¸āĻžāĻ°āĻŋ āĻ¸āĻš āĻāĻāĻāĻŋ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛āĨ¤ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻāĻŦāĻžāĻ° "IO" āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§āĻ° āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻšāĻŦā§
āĻĨā§āĻ°ā§āĻĄ āĻ˛ā§āĻĒā§āĻ° āĻŦāĻžāĻāĻ°ā§ āĻāĻŦāĻ āĻāĻ° āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻžāĻāĻ āĻĨā§āĻ°ā§āĻĄ āĻ˛ā§āĻĒā§āĻ° āĻāĻŋāĻ¤āĻ°ā§āĨ¤ āĻāĻ
āĻ āĻŋāĻ āĻ¯ā§āĻāĻžāĻ¨ā§ "āĻĨā§āĻ°ā§āĻĄāĻ˛ā§āĻĒ" āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻžāĻā§ āĻāĻ¸ā§āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻ¨āĻ¤ āĻ¸āĻāĻā§āĻāĻž
"pnmout" āĻāĻ° āĻ¯āĻž āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§:
pp_def('pnmout',
āĻĒāĻžāĻ°ā§āĻ¸ =>'a(āĻŽāĻŋ)',
OtherPars => "char* fd",
āĻā§āĻ¨ā§āĻ°āĻŋāĻ āĻāĻžāĻāĻĒāĻ¸ => [qw(BUSL)],
āĻā§āĻĄ => 'PerlIO *fp;
IO *io;
int len;
io = GvIO(gv_fetchpv($COMP(fd), FALSE,SVt_PVIO));
āĻ¯āĻĻāĻŋ (!io || !(fp = IoIFP(io)))
croak("FP āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻāĻŋ āĻ¨āĻž");
len = $āĻāĻāĻžāĻ°(āĻŽāĻŋ) * āĻāĻāĻžāĻ° ($GENERIC());
āĻĨā§āĻ°ā§āĻĄāĻ˛ā§āĻĒ %{
āĻ¯āĻĻāĻŋ (PerlIO_write(fp,$P(a),len) != len)
croak("āĻĒāĻŋāĻāĻ¨āĻāĻŽ āĻĢāĻžāĻāĻ˛ āĻ˛ā§āĻāĻžāĻ° āĻ¤ā§āĻ°ā§āĻāĻŋ");
%}
');
āĻāĻ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ āĻāĻžāĻ āĻāĻ°ā§. āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ "āĻā§āĻĄ" āĻŦāĻŋāĻāĻžāĻā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻ¸āĻŋ āĻā§āĻĄāĻāĻŋ āĻ˛ā§āĻā§āĻ¨ āĻ¤āĻž āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻāĻāĻāĻŋ āĻĨā§āĻ°ā§āĻĄ āĻ˛ā§āĻĒā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ (āĻ¯ā§āĻŽāĻ¨ āĻĒāĻŋāĻĒāĻŋ āĻāĻāĻŋāĻ° āĻāĻžāĻ°āĻĒāĻžāĻļā§ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§ XS āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§)āĨ¤
āĻ¯āĻžāĻāĻšā§āĻ, āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ "threadloop" āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨, PDL::PP āĻāĻāĻŋāĻā§ āĻ¸ā§āĻŦā§āĻā§āĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ āĻāĻŦāĻ
āĻāĻāĻāĻŋ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĨā§āĻ°ā§āĻĄ āĻ˛ā§āĻĒ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻĄ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻ āĻĒā§āĻ°āĻāĻžāĻŦ āĻāĻā§ āĻ¯ā§ āĻā§āĻĄ āĻāĻĒāĻ¨āĻŋ
āĻĨā§āĻ°ā§āĻĄ āĻ˛ā§āĻĒā§āĻ° āĻŦāĻžāĻāĻ°ā§ āĻ˛āĻŋāĻā§āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋ āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĢāĻ°ā§āĻŽā§āĻļāĻ¨ āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻā§āĻĄāĻāĻŋ āĻāĻāĻŦāĻžāĻ°āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻāĻļā§āĻĒāĻžāĻļā§āĻ° "%{ ... %}" āĻā§āĻĄāĻŧāĻžāĻāĻŋ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻžāĻāĻ āĻĨā§āĻ°ā§āĻĄ āĻ˛ā§āĻĒā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¤ā§ āĻāĻžāĻ¨ (āĻŦāĻž āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻā§āĻĄ, āĻŦāĻŋāĻļā§āĻˇ āĻāĻ°ā§
CPU āĻ¨āĻŋāĻŦāĻŋāĻĄāĻŧ āĻā§āĻĄ) āĻĒā§āĻ°āĻ¤āĻŋ āĻĨā§āĻ°ā§āĻĄā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻŦāĻžāĻ°, āĻ āĻ°ā§āĻĨāĻžā§
pp_addhdr('
#RAW 0 āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨
#ASCII 1 āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨
');
pp_def('do_raworascii',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(); b(); [o]c()',
OtherPars => 'int mode',
āĻā§āĻĄ => ' āĻ¸ā§āĻāĻ ($Comp(āĻŽā§āĻĄ)) {
āĻā§āĻ¸ RAW:
āĻĨā§āĻ°ā§āĻĄāĻ˛ā§āĻĒ %{
/* āĻāĻžāĻāĻāĻž āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻ°ā§āĻ¨ */
%}
āĻŦāĻŋāĻ°āĻ¤āĻŋ;
āĻā§āĻ¸ ASCII:
āĻĨā§āĻ°ā§āĻĄāĻ˛ā§āĻĒ %{
/* ASCII āĻ¸ā§āĻāĻžāĻĢ āĻāĻ°ā§āĻ¨ */
%}
āĻŦāĻŋāĻ°āĻ¤āĻŋ;
āĻĄāĻŋāĻĢāĻ˛ā§āĻ:
croak("āĻ āĻāĻžāĻ¨āĻž āĻŽā§āĻĄ");
}'
);
āĻ§āĻ°āĻ¨ā§āĻ°
āĻĒā§āĻ°āĻāĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ $T āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, "āĻāĻžāĻāĻĒāĻ¸" āĻĢāĻžāĻāĻļāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŦā§āĻ˛āĻā§āĻ° āĻā§āĻĄ (āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§ "%{" āĻāĻŦāĻ "%}" āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§) āĻ¸āĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻ¯ā§ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻĄā§āĻāĻžāĻāĻžāĻāĻĒ āĻšāĻ¯āĻŧ āĻā§āĻ¨ of āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻ§āĻ°āĻ¨ā§āĻ°
āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻ āĻā§āĻˇāĻ° "āĻāĻžāĻāĻĒ", āĻ¯ā§āĻŽāĻ¨
āĻā§āĻĄ => '...
āĻĒā§āĻ°āĻāĻžāĻ° (BSUL) %{
/* āĻāĻ¨ā§āĻāĻŋāĻāĻžāĻ° āĻāĻžāĻāĻĒ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ°ā§āĻ¨ */
%}
āĻĒā§āĻ°āĻāĻžāĻ° (FD) %{
/* āĻĢā§āĻ˛ā§āĻāĻŋāĻ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ°ā§āĻ¨ */
%}
...'
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻ°āĻŋāĻĄā§āĻĄāĻŋāĻŽāĻ¸āĻā§āĻĄ āĻ āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ
"RedoDimsCode" āĻā§ āĻāĻāĻāĻŋ āĻāĻā§āĻāĻŋāĻ āĻā§ āĻ¯āĻž āĻĒāĻŋāĻĄāĻ˛ā§āĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻāĻŖāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ
āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻ¯āĻĻāĻŋ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻĨā§āĻā§ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻāĻŖāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĻāĻ°ā§āĻļ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¨āĻž āĻšāĻ¯āĻŧ
āĻ¯āĻĨā§āĻˇā§āĻ "RedoDimsCode" āĻāĻ¨ā§āĻā§āĻ°āĻŋāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻāĻāĻāĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻā§āĻĄ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§-- āĻ āĻ°ā§āĻĨāĻžāĻ¤, PP āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻ¯āĻŧ
āĻ¸āĻŋ āĻā§āĻĄ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻā§āĻĄā§āĻ° āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ āĻšāĻ˛ āĻāĻŋāĻā§ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻāĻāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž
āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻŦāĻ āĻĨā§āĻ°ā§āĻĄāĻ˛ā§āĻĒ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻšāĻŦā§
āĻ¯āĻĻāĻŋ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻž āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¤āĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻĄ, āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŖāĻ¨āĻž
āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§ āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽāĻ¯ā§āĻā§āĻ¤ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻĒāĻāĻ¨ā§āĻĻāĻ¸āĻ āĻāĻāĻžāĻ° āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°
$ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻŋāĻ¤ā§ āĻ¸ā§āĻ āĻŽāĻžāĻ¨āĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĻ¨SIZE() āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻāĻ°āĻā§āĻ¨
āĻ°ā§āĻāĻŋāĻ¨ āĻ¯ā§āĻāĻŋ āĻāĻāĻāĻŋ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻ¸ā§āĻĒā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻĻā§āĻ
āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§ āĻāĻ¨āĻĒā§āĻ āĻĄā§āĻāĻž āĻ ā§āĻ¯āĻžāĻ°ā§ āĻšāĻ¯āĻŧ p(m) āĻāĻŦāĻ x(n)āĨ¤ āĻāĻāĻāĻĒā§āĻ āĻĄā§āĻāĻž āĻ ā§āĻ¯āĻžāĻ°ā§ āĻšāĻ˛ y(n)āĨ¤ āĻĻā§āĻ¯
āĻ°ā§āĻāĻŋāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ n+m*m āĻĻā§āĻ°ā§āĻā§āĻ¯ āĻ¸āĻš āĻāĻāĻāĻŋ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻ¸ā§āĻĒā§āĻ¸ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻāĻžāĻ¨
āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻšāĻ¯āĻŧā§āĻā§ āĻ āĻŋāĻ āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻŋ [t] āĻŦāĻž [o] āĻĻāĻŋāĻ¯āĻŧā§ āĻĒāĻ¤āĻžāĻāĻžāĻā§āĻāĻŋāĻ¤ āĻ¯ā§āĻā§āĻ¨ā§ āĻĒāĻŋāĻĄāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻšāĻŦā§āĨ¤ āĻāĻŋ
āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻā§ āĻŦāĻ˛āĻ¤ā§ āĻāĻžāĻ¨
pp_def( "myexternalfunc",
āĻĒāĻžāĻ°ā§āĻ¸ => " p(āĻŽāĻŋ); x(n); [o] y; [t] āĻāĻžāĻ (n+m*m); ",...
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°āĻŦā§ āĻ¨āĻž, āĻāĻžāĻ°āĻŖ PP āĻĒāĻžāĻāĻŋāĻāĻŖāĻŋāĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻā§ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻž
āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻŦāĻ°āĻ āĻāĻĒāĻ¨āĻŋ āĻ˛āĻŋāĻā§āĻ¨
pp_def( "myexternalfunc",
āĻĒāĻžāĻ°ā§āĻ¸ => " p(āĻŽāĻŋ); x(n); [o] y; [t] āĻāĻžāĻ(wn); ",
RedoDimsCode => "
int im = $PDL(p)->dims[0];
int in = $PDL(x)->dims[0];
int min = in + im * im;
int inw = $PDL(work)->dims[0];
$SIZE(wn) = inw >= āĻŽāĻŋāĻ¨āĻŋāĻ? inw: āĻŽāĻŋāĻ¨āĻŋāĻ; ",
āĻā§āĻĄ => "
externalfunc($P(p),$P(x),$āĻāĻāĻžāĻ°(m),$SIZE(n),$P(āĻāĻžāĻ));
";)
āĻāĻ āĻā§āĻĄāĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ āĻāĻžāĻ āĻāĻ°ā§: āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ $PDL(p) āĻāĻ° āĻāĻ¨ā§āĻ¯ pdl struct-āĻāĻ° āĻāĻāĻāĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻĒāĻŋāĻĄāĻ˛ āĻĒāĻŋ. āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĄā§āĻāĻžāĻ° (āĻ¯ā§āĻŽāĻ¨ $P ) āĻāĻāĻāĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻāĻžāĻ¨ āĻ¨āĻž, āĻāĻžāĻ°āĻŖ āĻāĻĒāĻ¨āĻŋ
āĻ¸āĻŋ āĻ¸ā§āĻ¤āĻ°ā§ āĻĒāĻŋāĻĄāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻĒā§āĻ¤ā§
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ piddles āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨. āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻĒāĻ¨āĻŋ āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻĻā§āĻ°ā§āĻā§āĻ¯ āĻāĻŖāĻ¨āĻž
āĻāĻžāĻā§āĻ° āĻ ā§āĻ¯āĻžāĻ°ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻ¸āĻā§āĻāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸āĻš āĻāĻāĻāĻŋ āĻĒāĻŋāĻĄāĻ˛ "āĻāĻžāĻ" āĻĒāĻžāĻ āĻžāĻ˛ā§, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻāĻŋ āĻā§āĻĄāĻŧā§ āĻĻāĻŋāĻ¨
āĻāĻāĻž āĻ¯āĻĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĒāĻžāĻ āĻžāĻ¨, āĻāĻāĻāĻŋ āĻ¨āĻžāĻ˛ pdl āĻŦāĻ˛ā§āĻ¨, āĻŦāĻž āĻāĻĻā§ āĻā§āĻ¨ā§ pdl āĻ¨āĻž āĻŦāĻ˛ā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ wn āĻāĻ° āĻāĻāĻžāĻ° āĻšāĻŦā§
āĻļā§āĻ¨ā§āĻ¯ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻŽāĻžāĻ¨ āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§āĻ. āĻā§āĻĄā§āĻ° āĻāĻā§ āĻā§āĻĄ āĻ¸ā§āĻāĻļāĻ¨ā§ āĻĨāĻžāĻā§
āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻĒāĻŋāĻĒāĻŋ "āĻāĻžāĻā§āĻ°" āĻāĻ¨ā§āĻ¯ āĻ¸āĻ āĻŋāĻ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨āĻž āĻĨāĻžāĻā§āĨ¤ āĻāĻ˛ā§āĻ˛ā§āĻā§āĻ¯ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° "p" āĻāĻŦāĻ "x" āĻāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¨āĻŋāĻ¯āĻŧā§āĻā§ āĻāĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻšāĻ¯āĻŧāĻ¤ā§ āĻāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻŋāĻĄāĻ˛ āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§āĻā§āĻ¨
āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĨ¤ āĻ āĻŦāĻļā§āĻ¯āĻ, āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻĒāĻŋāĻĄāĻ˛ "āĻāĻžāĻ" (āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯ [āĻāĻŋ] āĻĒāĻ¤āĻžāĻāĻž)
āĻ¯āĻžāĻāĻšā§āĻ āĻā§āĻ¨ āĻĨā§āĻ°ā§āĻĄ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻĻā§āĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ.
āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻĒāĻ¨āĻŋ [o] āĻĻāĻŋāĻ¯āĻŧā§ āĻĒāĻ¤āĻžāĻāĻžāĻā§āĻāĻŋāĻ¤ āĻāĻāĻāĻŋ āĻĒāĻŋāĻĄāĻ˛ā§āĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§ "RedoDimsCode" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻ
āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ $ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§ āĻ¨āĻžāĻŽāĻ¯ā§āĻā§āĻ¤ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨SIZE() āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻšāĻŋāĻ¸āĻžāĻŦā§
āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻāĻĻāĻžāĻšāĻ°āĻŖāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¯ā§āĻšā§āĻ¤ā§ āĻĒāĻŋāĻĄāĻ˛āĻāĻŋ [t] āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ [o] āĻĻāĻŋāĻ¯āĻŧā§ āĻĒāĻ¤āĻžāĻāĻžāĻā§āĻāĻŋāĻ¤,
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ˛ā§ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻŦā§ āĻ āĻŋāĻ āĻ¯ā§āĻŽāĻ¨ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻāĻāĻžāĻ° āĻāĻŋāĻ˛
āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻĨā§āĻā§ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻžāĻ¨ā§ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ
PDL::āĻāĻŖāĻŋāĻ¤
pp_def("āĻĒāĻ˛āĻŋāĻ°ā§āĻ",
Pars => 'cr(n); ci(n); [āĻ]rr(āĻŽāĻŋ); [āĻ]ri(āĻŽāĻŋ);',
RedoDimsCode => 'int sn = $PDL(cr)->dims[0]; $āĻāĻāĻžāĻ°(m) = sn-1;',
āĻāĻ¨āĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛ āĻšāĻ˛ a āĻāĻ° āĻāĻāĻŋāĻ˛ āĻ¸āĻšāĻāĻā§āĻ˛āĻŋāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻāĻŦāĻ āĻāĻžāĻ˛ā§āĻĒāĻ¨āĻŋāĻ āĻ āĻāĻļ
āĻŦāĻšā§āĻĒāĻĻ āĻāĻāĻāĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛āĻā§āĻ˛āĻŋ āĻŽā§āĻ˛ā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻāĻŦāĻ āĻāĻžāĻ˛ā§āĻĒāĻ¨āĻŋāĻ āĻ āĻāĻļāĨ¤ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ¨āĻžāĻ"
āĻāĻāĻāĻŋ "n"āĻŽ āĻā§āĻ°āĻŽ āĻŦāĻšā§āĻĒāĻĻā§āĻ° āĻļāĻŋāĻāĻĄāĻŧ āĻāĻŦāĻ āĻāĻ āĻāĻžāĻ¤ā§āĻ¯āĻŧ āĻŦāĻšā§āĻĒāĻĻā§āĻ¤ā§ "n+1" āĻ¸āĻšāĻ āĻ°āĻ¯āĻŧā§āĻā§ (
"n"th āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ zeoreth)āĨ¤ āĻāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖā§, āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻŦā§āĨ¤ āĻ āĻ°ā§āĻĨāĻžā§, āĻĻ
āĻāĻāĻāĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛ āĻāĻ° ââāĻĒā§āĻ°āĻĨāĻŽ āĻĄāĻžāĻāĻŽā§āĻ¨āĻļāĻ¨ āĻāĻ° āĻĄāĻžāĻāĻŽā§āĻ¨āĻļāĻ¨ āĻ ā§āĻ¯āĻžāĻĄāĻāĻžāĻ¸ā§āĻ āĻāĻ°āĻž āĻāĻā§ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ āĻ¨ā§āĻ¯ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ
āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ āĻŋāĻ āĻāĻŽāĻ¨āĻāĻžāĻŦā§ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻž āĻšāĻŦā§ āĻ¯ā§āĻ¨ āĻā§āĻ¨ā§ "RedoDimsCode" āĻ¨āĻž āĻĨāĻžāĻā§āĨ¤
āĻāĻžāĻāĻĒāĻŽā§āĻ¯āĻžāĻĒ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ in āĻĻā§āĻ¯ "āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻ¸" āĻ āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ
āĻāĻĒāĻ°ā§ āĻāĻ˛ā§āĻāĻŋāĻ¤ "āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻĒāĻžāĻ°āĻ¸" āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻāĻā§āĻŦāĻžāĻ°ā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ
PDL āĻāĻ° āĻ¸āĻžāĻĨā§ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸āĨ¤ āĻ¤āĻŦā§ āĻ āĻ¨ā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻšāĻ¯āĻŧ
āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ§āĻ°āĻ¨ā§āĻ° āĻŦāĻž āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤
āĻĒāĻžāĻ°ā§āĻ˛ā§ āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻĻāĻ°ā§āĻļ āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻāĻāĻāĻŋ "āĻāĻžāĻāĻĒāĻŽā§āĻ¯āĻžāĻĒ" āĻĢāĻžāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĨ¤ āĻ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĒāĻžāĻ°ā§āĻ˛ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ā§ perlxs-āĻ āĻāĻŋāĻā§ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖāĨ¤ āĻĒāĻŋāĻĒāĻŋ-āĻ¤ā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻā§āĻŦ āĻŦā§āĻļāĻŋ
āĻ āĻ¨ā§āĻ°ā§āĻĒ, āĻ¯āĻžāĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻŋāĻĒāĻŋ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¯ā§ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻĨāĻžāĻā§ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ "āĻāĻžāĻāĻĒāĻŽā§āĻ¯āĻžāĻĒ" āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻŦāĻ āĻ¯āĻāĻ¨ āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻāĻ¨ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻ āĻ¨ā§āĻŦāĻžāĻĻ āĻŦā§āĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻĒāĻĄāĻŧāĻž āĻšāĻ¯āĻŧ
āĻ¸āĻŋ āĻāĻžāĻāĻĒ āĻāĻŦāĻ āĻĒāĻžāĻ°ā§āĻ˛ā§āĻ° āĻŦāĻŋāĻ˛ā§āĻ-āĻāĻ¨ āĻāĻžāĻāĻĒā§āĻ° āĻŽāĻ§ā§āĻ¯ā§āĨ¤
āĻāĻāĻŋ āĻŦāĻ˛ā§āĻā§, āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻĨā§āĻā§ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻ°āĻ¯āĻŧā§āĻā§
XS-āĻāĨ¤ āĻĒā§āĻ°āĻĨāĻŽ, āĻāĻŦāĻ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ, āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§ āĻ§āĻ°āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻ āĻšāĻ¯āĻŧ
"āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻĒāĻžāĻ°āĻ¸" āĻŦāĻŋāĻāĻžāĻā§ āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻžāĻ° āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ āĻĒā§āĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
"IV" āĻāĻžāĻāĻĒ (āĻāĻāĻŋ āĻŦāĻšāĻ¨āĻ¯ā§āĻā§āĻ¯āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄ āĻā§āĻ˛āĻ°āĻā§ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ)āĨ¤
āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻā§āĻĄ-āĻ¸ā§āĻ¨āĻŋāĻĒā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻāĻžāĻ˛:
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ "gsl_spline_init" āĻĢāĻžāĻāĻļāĻ¨ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ C āĻā§āĻˇāĻŖāĻž āĻ°āĻ¯āĻŧā§āĻā§:
int gsl_spline_init(gsl_spline * spline,
const double xa[], const double ya[], size_t size);
āĻ¸ā§āĻĒāĻˇā§āĻāĻ¤āĻ "xa" āĻāĻŦāĻ "ya" āĻ ā§āĻ¯āĻžāĻ°ā§āĻā§āĻ˛āĻŋ piddles āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻžāĻ°ā§āĻĨā§ āĻāĻŦāĻ
"āĻāĻāĻžāĻ°" āĻ¯ā§āĻā§āĻ¤āĻŋ āĻšāĻ˛ āĻāĻ āĻĒāĻŋāĻĄāĻ˛ā§āĻ° āĻĻā§āĻ°ā§āĻā§āĻ¯ āĻ¯āĻžāĻ¤ā§ āĻāĻāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ
āĻĒāĻŋāĻĒāĻŋāĻ¤ā§ "$SIZE()" āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ "gsl_spline" āĻāĻžāĻāĻĒā§āĻ° āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ°āĨ¤ āĻĒā§āĻ°āĻžāĻā§āĻ¤āĻŋāĻ
āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻ˛ āĻĢāĻ°ā§āĻŽā§āĻ° āĻāĻāĻāĻŋ "āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻĒāĻžāĻ°āĻ¸" āĻā§āĻˇāĻŖāĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻŦā§
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻ¸ => 'gsl_spline *spl'
āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻā§āĻ "āĻāĻžāĻāĻĒāĻŽā§āĻ¯āĻžāĻĒ" āĻĢāĻžāĻāĻ˛ āĻ˛āĻŋāĻā§āĻ¨ āĻ¯āĻž āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¨āĻž
āĻ¯āĻžāĻšā§āĻ! āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¯āĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻž āĻšāĻ˛ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ (āĻāĻŦāĻ āĻāĻŋāĻā§ āĻāĻĒāĻžāĻ¯āĻŧā§) āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ āĻ¯ā§āĻ¤ā§ āĻšāĻŦā§
āĻāĻāĻŋāĻ āĻ¸āĻšāĻ!):
āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻ˛ "Integer Value" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ "OtherPars" āĻŦāĻŋāĻāĻžāĻā§ "spline" āĻā§āĻˇāĻŖāĻž āĻāĻ°āĻžāĨ¤
"IV"āĨ¤ āĻāĻāĻŋ PP āĻĨā§āĻā§ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻĒā§āĻ°āĻā§āĻ¤āĻŋ āĻ˛ā§āĻāĻŋāĻ¯āĻŧā§ āĻ°āĻžāĻā§ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻĒāĻ¨āĻžāĻā§ (āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻāĻžāĻ˛
āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻāĻŽāĻĒāĻā§āĻˇā§!) āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻĄā§ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻ¤āĻāĻ¨ āĻāĻāĻāĻŋ āĻāĻžāĻāĻĒ āĻāĻžāĻ¸ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻāĻāĻžāĻŦā§ "āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻĒāĻžāĻ°āĻ¸" āĻĢāĻ°ā§āĻŽāĻāĻŋ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤:
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻ¸ => 'IV spl'
āĻāĻŦāĻ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻā§āĻĄā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĻ¨ āĻ¤āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ˛āĻŋāĻāĻŦā§āĻ¨
INT2PTR(gsl_spline *, $COMP(spl))
āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒāĻžāĻ°ā§āĻ˛ āĻāĻĒāĻŋāĻāĻ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ "INT2PTR" āĻāĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻāĻžāĻ¸ā§āĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻŽāĻŋāĻļā§āĻ° 32 āĻŦāĻŋāĻ āĻāĻŦāĻ 64 āĻŦāĻŋāĻ āĻĒāĻžāĻ°ā§āĻ˛ āĻ¸āĻš āĻŽā§āĻļāĻŋāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž
āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ¨ā§āĻĻā§āĻ°ā§āĻ¸ āĻāĻ°ā§āĻĄāĻžāĻ¨ āĻ¯ā§āĻāĻžāĻŦā§ āĻāĻ°ā§āĻā§āĻ¨ (āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻš
āĻā§āĻĄ āĻā§āĻ˛āĻ°ā§āĻ° "IV" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§) "gsl_interp.pd"-āĻ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ¤ā§āĻ¸āĻāĻŋ āĻĒāĻžāĻ¨:
pp_def('init_meat',
āĻĒāĻžāĻ°ā§āĻ¸ => 'āĻĄāĻžāĻŦāĻ˛ x(n); āĻĄāĻŦāĻ˛ y(n);',
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻ¸ => 'IV spl',
āĻā§āĻĄ =>'
gsl_spline_init,( INT2PTR(gsl_spline *, $COMP(spl)), $P(x),$P(y),$SIZE(n)));'
);
āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ°ā§āĻ¯āĻžāĻĒāĻžāĻ° āĻāĻ˛ āĻŽā§āĻā§ āĻĢā§āĻ˛ā§āĻāĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻ˛ā§āĻāĻ¨āĻžāĻā§ āĻ āĻ¸ā§āĻĒāĻˇā§āĻ āĻāĻ°āĻŦā§āĨ¤
āĻĒāĻžāĻ°ā§āĻ˛ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻāĻžāĻāĻĒāĻŽā§āĻ¯āĻžāĻĒ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻžāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻā§āĻāĻāĻžāĻā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻšāĻ˛
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ -āĻŽāĻžāĻ¨āĻ āĻāĻžāĻāĻĒāĻŽā§āĻ¯āĻžāĻĒ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻŦāĻž āĻāĻžāĻāĻĒāĻŽā§āĻ¯āĻžāĻĒ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻž
MakeMaker-āĻ "TYPEMAPS" āĻŦāĻŋāĻāĻ˛ā§āĻĒ... āĻāĻāĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° "āĻāĻžāĻāĻĒāĻŽā§āĻ¯āĻžāĻĒ" āĻ¨āĻžāĻŽā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ/āĻ āĻĨāĻŦāĻž
āĻāĻĒāĻ°ā§ "IV" āĻā§āĻļāĻ˛āĨ¤
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§ PP āĻā§ in āĻāĻĒāĻžāĻ¤ā§āĻ¤ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻž
āĻāĻĒāĻ¨āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ "OtherPars" āĻā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻļā§āĻ¨ā§āĻā§āĻ¨āĨ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§, āĻ āĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ āĻā§ āĻ¨ā§āĻ
āĻāĻāĻāĻŋ āĻĄā§āĻāĻž āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ (āĻ¯āĻžāĻ āĻšā§āĻ āĻ¨āĻž āĻā§āĻ¨) āĻĒāĻŋāĻĒāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ-āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻšāĻŦā§āĨ¤ āĻāĻŋāĻ¤āĻ°ā§
āĻāĻ¸āĻ˛ā§, āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻā§āĻ¸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻļā§āĻ¨āĻ¤ā§ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻšāĻŦā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻŽāĻ¨ā§ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŋāĻ¸ā§āĻ° āĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨
āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ. āĻ āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ PDL āĻŽā§āĻ˛āĻŋāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻāĻāĻāĻŋāĻ¤ā§ āĻāĻĨāĻž āĻŦāĻ˛ā§āĻ¨āĨ¤ āĻ āĻ§āĻŋāĻāĻžāĻāĻļ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯
"pp_def" āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻŦā§āĻā§āĻ¤ āĻā§āĻā§āĻ˛āĻŋ āĻā§āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° āĻāĻŽāĻ°āĻž āĻ¯āĻžāĻā§ āĻāĻ˛ āĻāĻ°āĻŋ āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻĢāĻžāĻ˛āĻŋ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ (āĻĻā§āĻā§āĻ¨
āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻĒāĻ°ā§)āĨ¤
āĻāĻāĻāĻŋ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻ¯āĻž āĻĻā§āĻĸāĻŧāĻāĻžāĻŦā§ āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻ¤āĻž āĻšāĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ, āĻ¯āĻž āĻšāĻŦā§ āĻāĻāĻāĻŋ
āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻāĻ¤ā§āĻ°
āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻā§āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¤āĻžāĻ˛āĻŋāĻāĻž:
āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ
āĻāĻ āĻā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻ°ā§āĻāĻŋāĻ¨āĻā§ āĻāĻžāĻā§āĻ° āĻāĻ¨āĻĒā§āĻ˛ā§āĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°ā§ - āĻ¯ā§āĻŽāĻ¨ āĻāĻ¨āĻĒā§āĻ āĻāĻŦāĻ āĻāĻāĻāĻĒā§āĻ
piddles āĻāĻāĻ. āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻ˛ "$a->inplace->sqrt()" (āĻŦāĻž "sqrt(inplace($a))")āĨ¤
āĻāĻ¨āĻĒā§āĻ˛ā§āĻ¸ => ā§§
āĻ¯āĻāĻ¨ āĻ°ā§āĻāĻŋāĻ¨ āĻāĻāĻāĻŋ unary āĻĢāĻžāĻāĻļāĻ¨ āĻšāĻ¯āĻŧ, āĻ¯ā§āĻŽāĻ¨ "sqrt" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻ¨āĻĒā§āĻ˛ā§āĻ¸ => ['a']
āĻ¯āĻĻāĻŋ āĻāĻāĻžāĻ§āĻŋāĻ āĻāĻ¨āĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻ¯ā§āĻāĻŋ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¤āĻžāĻ° āĻ¨āĻžāĻŽ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§āĻ¨
āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¨āĻĒā§āĻ˛ā§āĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ¨āĻĒā§āĻ˛ā§āĻ¸ => ['a', 'b']
āĻ¯āĻĻāĻŋ āĻāĻāĻžāĻ§āĻŋāĻ āĻāĻāĻāĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛ āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻ¨āĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ
āĻāĻāĻāĻŋ 2-āĻāĻ˛āĻŋāĻŽā§āĻ¨ā§āĻ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ā§ āĻāĻāĻāĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛āĨ¤ āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŦāĻžāĻāĻŋ
āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯
āĻ¯āĻĻāĻŋ āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻ° āĻĒā§āĻ°āĻāĻžāĻ° āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻ¤ā§āĻ¨ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻāĻŦāĻļā§āĻ¯āĻ
āĻ¯āĻāĻ¨ āĻāĻ¨āĻĒā§āĻ˛ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻ¤āĻāĻ¨ āĻŦā§āĻ¯āĻžāĻĄāĻĢā§āĻ˛ā§āĻ¯āĻžāĻ; āĻĨā§āĻā§ āĻāĻ āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§āĻ¨ āĻŽā§āĻ˛āĻŋāĻ/āĻāĻžāĻ°āĻžāĻĒ/āĻāĻžāĻ°āĻžāĻĒ.pd:
pp_def('replacebad',HandleBad => 1,
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(); [āĻ]āĻŦāĻŋ();',
OtherPars => 'āĻĄāĻžāĻŦāĻ˛ āĻ¨āĻŋāĻāĻāĻžāĻ˛',
āĻāĻ¨āĻĒā§āĻ˛ā§āĻ¸ => 1,
CopyBadStatusCode =>
'/* āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ˛ā§ āĻŦā§āĻ¯āĻžāĻĄāĻĢā§āĻ˛ā§āĻ¯āĻžāĻ āĻĒā§āĻ°āĻāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ */
āĻ¯āĻĻāĻŋ ( a == b && $ISPDLSTATEBAD(a) )
PDL->propogate_badflag( b, 0);
/* āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻāĻāĻĒā§āĻ "āĻāĻžāĻ˛" */
$SETPDLSTATEGOOD(b);
',
...
āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻ āĻ°ā§āĻāĻŋāĻ¨āĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§ āĻĻā§āĻ¯āĻŧ, āĻ¤āĻžāĻ āĻāĻāĻāĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛ā§āĻ° āĻāĻžāĻ°āĻžāĻĒ āĻĒāĻ¤āĻžāĻāĻž āĻāĻŋāĻ˛
āĻ¸āĻžāĻĢ āĻ¯āĻĻāĻŋ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ (āĻ¤āĻžāĻ "a == b"), āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻžāĻĻā§āĻ° "a" āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻžāĻā§āĻāĻžāĻĻā§āĻ° āĻŦāĻ˛āĻ¤ā§ āĻšāĻŦā§
āĻ¯ā§ āĻāĻžāĻ°āĻžāĻĒ āĻĒāĻ¤āĻžāĻāĻž āĻ¸āĻžāĻĢ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻžāĻāĻāĻžāĻ¤ā§ āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻŋ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻāĻ˛ āĻāĻ°āĻŋ
"PDL->propogate_badgflag" āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¯āĻĻāĻŋ āĻāĻ¨āĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛ āĻāĻ° ââāĻāĻžāĻ°āĻžāĻĒ āĻĒāĻ¤āĻžāĻāĻž āĻ¸ā§āĻ āĻĨāĻžāĻā§)āĨ¤
āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯: āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻŖāĻž āĻšāĻ˛ āĻ¯ā§ āĻ°ā§āĻāĻŋāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻĒāĻ¤āĻžāĻāĻžāĻā§āĻāĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻ¤ āĻ¯ā§ āĻāĻāĻŋ āĻāĻ¨āĻĒā§āĻ˛ā§āĻ¸ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯ā§āĻŽāĻ¨ āĻāĻŋāĻā§ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻāĻŋāĻāĻžāĻŦā§
"HandleBad" "BadDoc" āĻ¸ā§āĻ āĻāĻ°ā§ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ (āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻĻāĻ°ā§āĻļ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¨āĻ¯āĻŧ)āĨ¤
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛::āĻĒāĻŋāĻĒāĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻĨā§āĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¸āĻāĻā§āĻāĻž
āĻāĻāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻāĻŽāĻ°āĻž "pp_def" āĻāĻŦāĻ "pp_done" āĻĢāĻžāĻāĻļāĻ¨ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°ā§āĻāĻŋāĨ¤ PDL::PP āĻāĻŋāĻā§ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻāĻ°ā§
āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ PDL āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¸āĻāĻā§āĻāĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻļāĻ¨āĨ¤
pp_addhdr
āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻŽāĻ¤ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻāĻ°ā§āĻ¨ āĻ¤āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¸āĻŋ āĻĢāĻžāĻāĻ˛ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤. āĻ¯ā§āĻšā§āĻ¤ā§ XS āĻĢāĻžāĻāĻ˛āĻāĻŋ PP āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŋāĻā§ āĻāĻĒāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨
āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ XS-āĻ āĻ¸āĻ āĻŋāĻ āĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ¯āĻĨāĻžāĻ¯āĻĨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§ PP āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻžāĻ¨
āĻĢāĻžāĻāĻ˛ āĻāĻ āĻ˛āĻā§āĻˇā§āĻ¯ā§ "pp_addhdr" āĻĢāĻžāĻāĻļāĻ¨ āĻāĻā§āĨ¤ āĻāĻāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨
āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻā§ XS āĻĢāĻžāĻāĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§ C āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨
(āĻ¯āĻž āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻĢāĻžāĻāĻļāĻ¨ "pp_def" āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤)āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§ āĻāĻĒāĻ¨āĻŋ
āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ PDL::PP āĻĒā§āĻ°āĻā§āĻ¤ XS āĻŽāĻĄāĻŋāĻāĻ˛ā§āĻ° āĻŦāĻŋāĻ¨ā§āĻĻā§āĻ° āĻāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻĄ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻžāĻā§āĻā§
āĻŦāĻŋāĻāĻžāĻ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¤āĻžāĻ xsubpp (cf. perlxs āĻāĻŦāĻ perlxstut
āĻŽā§āĻ¯āĻžāĻ¨ āĻĒā§āĻ)āĨ¤
āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻ˛ āĻšāĻŦā§
pp_addhdr('
#āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ /* āĻāĻŽāĻžāĻĻā§āĻ° XXXX āĻāĻ° āĻĄāĻŋāĻĢ āĻĻāĻ°āĻāĻžāĻ° */
#include "libprotos.h" /* āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻāĻžāĻāĻĒ */
#āĻāĻ¨āĻā§āĻ˛ā§āĻĄ "mylocaldecs.h" /* Local decs */
āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻā§āĻ¯āĻžāĻāĻĄ āĻĄā§_āĻĻā§āĻ¯ āĻ°āĻŋāĻ¯āĻŧā§āĻ˛_āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ(PDL_Byte * in, PDL_Byte * āĻāĻāĻ, int n)
{
/* āĻĄā§āĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻŋāĻā§ āĻāĻŖāĻ¨āĻž āĻāĻ°ā§āĻ¨ */
}
');
āĻāĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ§ā§āĻ°ā§āĻŦāĻ āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻā§āĻāĻžāĻāĻĒāĻā§āĻ˛āĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻŦā§ āĻāĻŦāĻ
āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻžāĻ¨ā§ "pp_def" āĻ¤ā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯ā§āĻŽāĻ¨:
pp_def('āĻŦāĻžāĻ°āĻĢā§',
āĻĒāĻžāĻ°ā§āĻ¸ => 'a(n); [o] b(n)',
āĻā§āĻ¨ā§āĻ°āĻŋāĻ āĻāĻžāĻāĻĒāĻ¸ => ['āĻŦāĻŋ'],
āĻā§āĻĄ => 'int ns = $SIZE(n);
do_the_real_work($P(a),$P(b),ns);
',
);
pp_addpm
āĻ āĻ¨ā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ°āĻā§āĻ¤ PP āĻā§āĻĄ (āĻ āĻ°ā§āĻĨāĻžā§ "pp_def" āĻāĻ˛ā§āĻ° āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ) āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ° āĻ āĻāĻļ
āĻāĻĒāĻ¨āĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻ¯ā§ āĻĒā§āĻ¯āĻžāĻā§āĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻā§āĻ¨āĨ¤ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĒāĻžāĻ°ā§āĻ˛ āĻā§āĻĄ āĻāĻŦāĻ XS āĻāĻā§
āĻā§āĻĄāĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ pm āĻāĻŦāĻ XS āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ˛āĻŋāĻāĻ¤ā§āĻ¨ āĻ¯āĻž āĻāĻāĻ¨ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻšāĻ¯āĻŧ
āĻĒāĻŋāĻĒāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨āĨ¤ āĻ¤āĻžāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻ¯āĻžāĻ°āĻž āĻāĻ¤āĻŋāĻļā§āĻ˛āĻāĻžāĻŦā§ āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻĢāĻžāĻāĻ˛ āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻĒā§āĻ¤ā§?
āĻ¸ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻŋāĻā§ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻā§, āĻ¯āĻžāĻā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ "pp_addXXX" āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻāĻ°ā§
āĻāĻāĻž āĻāĻ°āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§
āĻ§āĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĒāĻžāĻ°ā§āĻ˛ āĻā§āĻĄ āĻāĻā§ āĻ¯āĻž āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤ pm- āĻĢāĻžāĻāĻ˛āĨ¤ āĻāĻ
"pp_addpm" āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¸āĻšāĻā§āĻ āĻ āĻ°ā§āĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
pp_addpm(<<'EOD');
= head1 NAME
PDL::Lib::Mylib -- Mylib āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻāĻāĻāĻŋ PDL āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸
=head1 āĻŦāĻ°ā§āĻŖāĻ¨āĻž
āĻāĻ āĻĒā§āĻ¯āĻžāĻā§āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¸āĻš Mylib āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§
āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻāĻŦāĻ āĻāĻ¨ā§āĻĄā§āĻā§āĻ¸āĻŋāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ (āĻāĻ˛ )
= āĻāĻžāĻāĻž
PGPLOT āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨;
=head2 use_myfunc
āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ myfunc āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯
āĻāĻ¨āĻĒā§āĻ pdl-āĻāĻ° āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻļā§āĻˇā§
āĻāĻŦāĻ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§āĻ° āĻ¯ā§āĻāĻĢāĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§
= āĻāĻžāĻāĻž
āĻ¸āĻžāĻŦ use_myfunc {
āĻāĻŽāĻžāĻ° $pdl = āĻļāĻŋāĻĢāĻ;
myfunc($pdl->āĻā§āĻ˛āĻžāĻŽā§āĻĒ(-1),($res=null));
$res->āĻ¸āĻŽāĻˇā§āĻāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻāĻŋāĻ¨;
}
āĻāĻāĻĄāĻŋ
pp_add_exported
āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻ§āĻžāĻ°āĻŖāĻž āĻĒā§āĻ¯āĻŧā§āĻā§āĻ¨. āĻāĻŋāĻā§ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨
āĻĢāĻžāĻāĻļāĻ¨ PP āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻŽā§āĻ˛āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻ¯āĻž @EXPORT āĻāĻ° āĻ¸āĻžāĻĨā§āĻ āĻā§āĻ˛āĻŽāĻžāĻ˛ āĻāĻ°ā§
āĻ ā§āĻ¯āĻžāĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§ PP āĻā§ āĻŦāĻ˛āĻŦā§āĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻ āĻāĻ°āĻž āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§:
pp_add_exported('use_myfunc gethynx');
pp_add_isa
"pp_add_isa" āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ "pp_add_exported" āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻŽāĻ¤ā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻ¯ā§āĻā§āĻ¤āĻŋ
@ISA āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ "pp_add_isa" āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯ā§āĻŽāĻ¨
pp_add_isa('āĻāĻŋāĻā§::āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯::āĻļā§āĻ°ā§āĻŖā§');
pp_bless
āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° pp_def āĻ°ā§āĻāĻŋāĻ¨āĻā§āĻ˛āĻŋ āĻ āĻŦāĻā§āĻā§āĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ "pp_bless" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨
āĻĒā§āĻ¯āĻžāĻā§āĻ (āĻ āĻ°ā§āĻĨāĻžā§ āĻā§āĻ˛āĻžāĻ¸) āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻ° pp_defed āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ,
"pp_bless('PDL::MyClass')"āĨ¤ āĻāĻāĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ˛ā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻ "PDL" āĻšāĻ¯āĻŧāĨ¤
pp_addxs
āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻā§āĻ° āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ XS āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ (āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻĄāĻŧāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ
āĻā§āĻ¨ā§ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ/āĻāĻ¨āĻĄā§āĻā§āĻ¸āĻŋāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻāĻŽāĻ¨ āĻāĻŋāĻā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°ā§
āĻĒāĻžāĻ°ā§āĻ˛ āĻĒāĻžāĻļ āĻĨā§āĻā§) āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž XS āĻĢāĻžāĻāĻ˛ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ
pp_addxs('','
# āĻŽā§āĻļāĻŋāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻ¤āĻŋāĻŽāĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĻ¨
āĻā§āĻ¨ int
āĻāĻ¸āĻŦāĻŋāĻā§āĻ¨ā§āĻĄāĻŋāĻ¯āĻŧāĻžāĻ¨()
āĻā§āĻĄ:
āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°āĻŦāĻŋāĻšā§āĻ¨ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ i;
PDL_Byte *b;
i = 42; b = (PDL_Byte*) (void*) &i;
āĻ¯āĻĻāĻŋ (*b == 42)
RETVAL = 0;
āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ¯āĻĻāĻŋ (*(b+1) == 42)
RETVAL = 1;
āĻāĻ°
croak("āĻ āĻ¸āĻŽā§āĻāĻŦ - āĻŽā§āĻļāĻŋāĻ¨āĻāĻŋ āĻŦāĻĄāĻŧ āĻŦāĻž āĻā§āĻ āĻāĻ¨ā§āĻĄāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ¨āĻ¯āĻŧ!!\n");
āĻāĻāĻāĻĒā§āĻ:
RETVAL
');
āĻŦāĻŋāĻļā§āĻˇ āĻāĻ°ā§ "pp_add_exported" āĻāĻŦāĻ "pp_addxs" āĻ¯āĻ¤ā§āĻ¨ āĻ¸āĻšāĻāĻžāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻĒāĻŋāĻĒāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
PDL:: āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋāĻāĻžāĻ°āĻ, āĻ¤āĻžāĻ āĻĒāĻŋāĻĒāĻŋāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻ āĻ°ā§āĻĨ āĻšāĻ˛ āĻ¯ā§ āĻ¤āĻžāĻ°āĻž āĻāĻ¤ā§ āĻ¯ā§āĻā§āĻ¤ āĻšāĻŦā§
āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻāĻžāĻŦā§ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻ āĻāĻ°āĻž āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ¤āĻžāĻ˛āĻŋāĻāĻž (āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻā§āĻ¯āĻžāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻāĻž
``:āĻĢāĻžāĻā§āĻ'')āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ "pp_addxs" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻāĻĄāĻŧāĻŋāĻ¤ āĻāĻŽāĻ¨ āĻāĻŋāĻā§ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ
āĻ āĻĨāĻŦāĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻ¨ā§āĻĄā§āĻā§āĻ¸āĻŋāĻāĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻĨā§āĻā§ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒāĻŋāĻĒāĻŋ āĻ āĻ¨ā§āĻ āĻāĻžāĻ˛ā§
āĻ¸āĻāĻā§āĻāĻž
pp_add_boot
āĻ āĻŦāĻļā§āĻˇā§, āĻāĻĒāĻ¨āĻŋ XS āĻĢāĻžāĻāĻ˛ā§āĻ° āĻŦā§āĻ āĻŦāĻŋāĻāĻžāĻā§ āĻāĻŋāĻā§ āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ (āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻž āĻāĻ°ā§āĻ¨
āĻā§āĻ āĻāĻŋ āĻāĻžāĻ¨āĻŋ perlxs) āĻāĻāĻŋ "pp_add_boot" āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¸āĻšāĻā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
pp_add_boot(<
descrip = mylib_initialize(KEEP_OPEN);
āĻ¯āĻĻāĻŋ (āĻŦāĻ°ā§āĻŖāĻ¨āĻž == NULL)
croak("āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ°āĻŽā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻž");
GlobalStruc->descrip = descrip;
GlobalStruc->maxfiles = 200;
āĻāĻāĻŦāĻŋ
pp_export_nothing
āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, PP.pm āĻāĻāĻāĻĒā§āĻ .pm-āĻ pp_def āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻžāĻŦāĻ¸ āĻ°āĻžāĻā§
āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¸āĻžāĻŦāĻā§āĻ˛āĻžāĻ¸āĻĄ āĻ āĻŦāĻā§āĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¨āĻž. (āĻ āĻ°ā§āĻĨāĻžā§ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦāĻ˛āĻž āĻšāĻŦā§
$object->āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸)āĨ¤
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ pp_export_nothing() āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ (āĻ
.pd āĻĢāĻžāĻāĻ˛ā§āĻ° āĻļā§āĻˇā§):
pp_export_nothing();
pp_done();
pp_core_importList
āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, PP.pm 'āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻā§āĻ°' āĻ°āĻžāĻā§; āĻāĻāĻāĻĒā§āĻ .pm āĻĢāĻžāĻāĻ˛ā§ āĻ˛āĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻŋ āĻā§āĻ° āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻ¨āĻžāĻŽ, āĻ¯āĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻļāĻŋ āĻšāĻ¨-
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĢāĻžāĻāĻ˛ā§ āĻā§āĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻ°āĻžāĻāĻĄ āĻāĻ°āĻžāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻŽāĻ¤ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ¯āĻŧā§ āĻļā§āĻˇ
"āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž: āĻ¸āĻžāĻŦ sumover āĻĢāĻžāĻāĻ˛ subclass.pm-āĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§" āĻ¯āĻāĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻ¯āĻŧāĨ¤
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ pp_core_importList āĻ¯āĻž āĻĨā§āĻā§ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻā§āĻ°.pm. āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ:
pp_core_importList('()')
āĻāĻ° āĻĢāĻ˛ā§ āĻšāĻŦā§
Core();
āĻāĻāĻāĻĒā§āĻ .pm āĻĢāĻžāĻāĻ˛ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤ āĻāĻ° āĻĢāĻ˛ā§ āĻā§āĻ¨ā§ āĻ¨āĻžāĻŽ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻšāĻŦā§ āĻ¨āĻž
āĻā§āĻ°.pm. āĻāĻāĻāĻāĻžāĻŦā§, āĻāĻ˛āĻŋāĻ
pp_core_importList('qw/ barf/')
āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻŦā§
Core qw/ barf/ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨;
āĻāĻāĻāĻĒā§āĻ .pm āĻĢāĻžāĻāĻ˛ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤ āĻāĻ° āĻĢāĻ˛ā§ āĻļā§āĻ§ā§ 'āĻŦāĻžāĻ°āĻĢ' āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻšāĻŦā§
Core.pm āĻĨā§āĻā§āĨ¤
pp_setversion
āĻāĻŽāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻ¯ā§ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻ āĻ¸āĻžāĻĨā§ .pm āĻāĻŦāĻ .xs āĻĢāĻžāĻāĻ˛ āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ
āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ, āĻāĻāĻāĻžāĻŦā§ āĻāĻāĻ¯āĻŧā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ-āĻ¤āĻŋāĻ°āĻ¸ā§āĻāĻžāĻ° āĻāĻĄāĻŧāĻžāĻ¨ā§āĨ¤ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻ¸āĻšāĻāĻāĻžāĻŦā§ āĻāĻā§
āĻāĻĒāĻ¨āĻžāĻ° .pd āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ˛āĻžāĻāĻ¨āĻāĻŋ:
pp_setversion('0.0.3');
āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻŽāĻĄāĻŋāĻāĻ˛::āĻŦāĻŋāĻ˛ā§āĻĄ::āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤ āĻāĻ¨ā§āĻ¯ āĻ¯ā§ āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻ° āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻĻā§āĻā§āĻ¨
āĻŦāĻŋāĻŦāĻ°āĻŖāĨ¤
pp_deprecate_module
āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻŽāĻĄāĻŋāĻāĻ˛ āĻ āĻĒā§āĻ°āĻāĻ˛āĻŋāĻ¤ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻ āĻŦāĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻāĻ¤ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻāĻžāĻŦ āĻāĻā§ āĻ¯āĻāĻ¨ āĻāĻāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ "āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°" āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§
āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻ āĻŽāĻĄāĻŋāĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž POD āĻāĻāĻāĻŋ āĻ āĻŦāĻāĻ¯āĻŧ āĻŦāĻŋāĻā§āĻāĻĒā§āĻ¤āĻŋāĻ āĻŦāĻšāĻ¨ āĻāĻ°ā§āĨ¤ āĻĻā§āĻ¯
āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻ āĻŽāĻ¤ āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§:
pp_deprecate_module( infavor => "PDL::NewNonDeprecatedModule");
āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°ā§ āĻā§āĻŦāĻ˛ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻāĻŦāĻ POD.
āĻŽā§āĻāĻŋāĻ āĻ¤ā§āĻŽāĻžāĻ° PP āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž "āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤"
āĻ§āĻ°āĻž āĻ¯āĻžāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻāĻ˛ā§ PDL::foo āĻ¨āĻžāĻŽāĻ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻā§ āĻ¯āĻž āĻĒāĻŋāĻĒāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
āĻāĻžāĻ°ā§ āĻāĻ¤ā§āĻ¤ā§āĻ˛āĻ¨ āĻāĻ°āĻ¤ā§ "bar_pp" āĻĢāĻžāĻāĻļāĻ¨āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ "bar_pp" āĻāĻ° āĻŦāĻŋāĻā§āĻāĻžāĻĒāĻ¨ āĻĻāĻŋāĻ¤ā§ āĻāĻžāĻ¨ āĻ¨āĻž
āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻŋāĻĒāĻŋ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻāĻ˛ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻļā§āĻ°ā§āĻˇā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻšāĻŦā§
āĻāĻ˛
pp_export_nothing()
"āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ" āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¸āĻžāĻĢ āĻāĻ°āĻ¤ā§āĨ¤ āĻā§āĻ¨ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ (āĻāĻŽāĻ¨āĻāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻĒāĻŋāĻĒāĻŋ āĻĄāĻā§āĻ¸) āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§
āĻā§āĻĒāĻ¨ā§āĻ¨, āĻ¸ā§āĻ
āĻĄāĻ => undef
āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤ā§āĻ āĻā§āĻŦāĻŋāĻ˛ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§āĻ§ āĻāĻ°āĻ¤ā§, āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨
PMFunc => ''
āĻāĻĒāĻ¨āĻžāĻ° pp_def āĻā§āĻˇāĻŖāĻžāĻ¯āĻŧ (āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ Image2D.pd āĻĻā§āĻā§āĻ¨)āĨ¤ āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°āĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§
āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻŋāĻĒāĻŋ āĻĢāĻžāĻāĻļāĻ¨ "āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤āĨ¤" āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻž āĻšāĻ¯āĻŧ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻĒāĻžāĻ°ā§āĻ˛ā§āĻ° āĻāĻžāĻ°āĻŖā§ PDL::bar_pp āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻ¯ā§āĻā§āĻ¯
āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¨āĻāĻļāĻžāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋāĻā§ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻāĻ°āĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¤āĻžāĻ° āĻĨā§āĻā§ āĻ āĻ¨ā§āĻ āĻĻā§āĻ°ā§ āĻāĻ˛ā§ āĻ¯āĻžāĻŦā§
āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻĒāĻžāĻ¯āĻŧ, āĻ¤āĻžāĻ āĻ¤āĻžāĻ° āĻāĻžāĻāĻ§ā§ āĻĒāĻ°āĻŋāĻŖāĻ¤āĻŋ!
āĻĢāĻžāĻ˛āĻŋ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨
āĻāĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻāĻŋāĻ° āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻĄā§āĻāĻžāĻĢā§āĻ˛ā§ āĻāĻŦāĻ āĻ āĻ˛āĻ¸ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§:
āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ, Tjl āĻā§ āĻāĻāĻŋ āĻ˛āĻŋāĻāĻ¤ā§ āĻŦāĻ˛ā§āĻ¨āĨ¤ āĻāĻŽāĻŋ āĻāĻŽā§āĻ˛ āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ° āĻĨā§āĻā§ āĻāĻ āĻ¸āĻĒā§āĻ¤āĻžāĻšā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻĄā§āĻ˛āĻŋāĻāĻžāĻ°āĻŋ
95% āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻāĻŦāĻ āĻĻā§āĻ āĻ¸āĻĒā§āĻ¤āĻžāĻšā§āĻ° āĻĄā§āĻ˛āĻŋāĻāĻžāĻ°āĻŋ 99% āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯āĨ¤
āĻāĻŦāĻ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ āĻ¨ā§āĻ āĻŦā§āĻļāĻŋ āĻāĻ¨āĻŋāĻˇā§āĻ āĻā§āĻāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨
āĻĄā§āĻāĻž āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻā§āĻ¯āĻŧā§āĨ¤ āĻ¤āĻĻā§āĻĒāĻ°āĻŋ, āĻāĻāĻŋāĻ˛āĻ¤āĻž āĻāĻĄāĻŧāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž
āĻāĻĄāĻŧ āĻĄā§āĻāĻž āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ¯āĻĨā§āĻˇā§āĻ āĻŦā§āĻļāĻŋāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻŦā§āĻāĻžāĻ¤ā§ āĻāĻžāĻ¨
āĻ¨āĻŋāĻā§āĻā§ āĻāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻ¤āĻž āĻāĻāĻžāĻā§āĻˇāĻĒāĻžāĻ¤ āĻŽā§āĻ˛āĻŋāĻ/Slices/slices.pd āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ā§ āĻĢāĻžāĻāĻ˛ āĻāĻ°ā§āĻ¨
āĻŦāĻŋāĻ¤āĻ°āĻŖ :-) āĻ¤āĻŦā§āĻ, āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻā§
PDL-āĻāĻ° āĻ¸ā§āĻāĻ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻļāĻ¨ āĻāĻŦāĻ āĻĄā§āĻāĻžāĻĢā§āĻ˛ā§ āĻā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻšā§āĻĻāĻ¯āĻŧāĨ¤
āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻŋāĻĄāĻ˛āĻ¸ āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻĢāĻŋāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ āĻ¨ā§āĻ āĻ¨ā§āĻāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻ°āĻŦ
āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻāĻžāĻŦā§ āĻāĻāĻžāĻ¨ā§ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¨āĨ¤
āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻāĻŦāĻ āĻĒāĻžāĻ¯āĻŧāĻāĻžāĻ¨āĻž āĻŽā§āĻ˛ā§āĻ¯āĻŦā§āĻ§
āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻāĻ¯āĻŧāĻž āĻĻāĻ°āĻāĻžāĻ° (āĻ¯āĻĻāĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ PDL āĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧ)āĨ¤
āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ āĻāĻžāĻ āĻšāĻ˛ āĻ¤āĻžāĻāĻžāĻ¨ āĻŽā§āĻ˛āĻŋāĻ/Slices/slices.pd āĻāĻ āĻāĻžāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻĻā§āĻāĻ¤ā§.
"BadCode" āĻāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ "BadBackCode" āĻāĻŦāĻ "BadRedoDimsCode" āĻā§ āĻāĻā§
"pp_def"āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¯ā§āĻā§āĻ¨ā§ "EquivCPOffsCode" āĻāĻāĻŋāĻ¤ āĻ¨āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻ¯ā§āĻšā§āĻ¤ā§ āĻā§āĻ¨ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¯āĻŧ
"$EQUIVCPOFFS()" āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ° āĻ¸āĻāĻā§āĻāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻļā§āĻˇāĻŋāĻ¤ (āĻ āĻ°ā§āĻĨāĻžā§ āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ PDL::PP> āĻĻā§āĻŦāĻžāĻ°āĻžāĨ¤
A āĻāĻ¯āĻŧā§āĻ āĻ¨ā§āĻ on āĻ˛ā§āĻāĻž a slicing āĻ°ā§āĻāĻŋāĻ¨...
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ āĻ¨ā§āĻā§āĻā§āĻĻ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻ˛āĻžāĻāĻ¸āĻŋāĻ āĻ°ā§āĻāĻŋāĻ¨ ('āĻ°ā§āĻā§āĻ') āĻ˛ā§āĻāĻžāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻĻā§āĻ¯āĻŧ; āĻ¯ā§āĻā§āĻ¨ā§
āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ CED āĻāĻ°āĨ¤ (--CED 26-Aug-2002)
āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ of "āĻ¸āĻ¤āĻ°ā§āĻ" āĻāĻŦāĻ "āĻŦāĻžāĻ°āĻĢ" in PP āĻā§āĻĄ
āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻžāĻŽā§āĻ˛āĻ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻž āĻŦāĻžāĻ¤āĻŋāĻ˛/āĻŽā§āĻ¤ā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻŋ āĻĒāĻŋāĻĒāĻŋ āĻĨā§āĻā§ "āĻ¸āĻ¤āĻ°ā§āĻ" āĻŦāĻž "āĻŦāĻžāĻ°āĻĢ" āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻā§āĻĄ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻā§āĻ¤āĻ¨ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤ āĻ¯ā§ āĻāĻ āĻāĻ˛āĻā§āĻ˛āĻŋ āĻ¸āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻĨā§āĻā§ "PDL->barf" āĻāĻŦāĻ "PDL->āĻ¸āĻ¤āĻ°ā§āĻ"āĨ¤ āĻāĻ āĻĒā§āĻ¨āĻāĻ¸āĻāĻā§āĻāĻž āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻāĻā§
āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻ¸āĻžāĻŦāĻ§āĻžāĻ¨āĻ¤āĻžāĻŦāĻļāĻ¤ āĻĒāĻžāĻ°ā§āĻ˛ā§āĻ° "āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž" āĻŦāĻž "āĻŦāĻžāĻ°āĻĢ" āĻā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻ˛ āĻāĻ°āĻž āĻĨā§āĻā§ āĻŦāĻŋāĻ°āĻ¤ āĻ°āĻžāĻā§, āĻ¯āĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
pthreading āĻāĻ° āĻ¸āĻŽāĻ¯āĻŧ segfaults (āĻ¯ā§āĻŽāĻ¨ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻĨā§āĻ°ā§āĻĄāĻŋāĻ)āĨ¤
āĻĒāĻŋāĻĄāĻŋāĻāĻ˛-āĻāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ "āĻŦāĻžāĻ°āĻĢ" āĻāĻŦāĻ "āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž" āĻāĻ° āĻĒāĻ° āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻŦāĻž āĻŦāĻžāĻ°āĻĢ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋ āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻāĻ°āĻŦā§
pthreading āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ āĻ°ā§āĻāĻŋāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻĒāĻžāĻ°ā§āĻ˛ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋāĻā§ āĻāĻ˛ āĻāĻ°ā§āĻ¨āĨ¤
pthreading āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ PDL::ParallelCPU āĻĻā§āĻā§āĻ¨āĨ¤
āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ°ā§āĻāĻŋāĻ¨
āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ "āĻā§āĻ°" āĻāĻ āĻ¨, āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻŦā§āĻ¸āĻŋāĻ/āĻā§āĻ°/pdlcore.h.PL, āĻāĻāĻāĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻ°āĻ¯āĻŧā§āĻā§
āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻ˛āĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŽāĻ¨ āĻ°ā§āĻāĻŋāĻ¨ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻžāĨ¤ āĻāĻ āĻ°ā§āĻāĻŋāĻ¨ āĻ¸āĻāĻā§āĻ¯āĻžāĻāĻ°āĻŋāĻˇā§āĻ āĻ¸āĻā§āĻā§ āĻŽā§āĻāĻžāĻŦāĻŋāĻ˛āĻž
āĻĒāĻŋāĻĄāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻšā§āĻ°āĻĢā§āĻ° āĻāĻ°āĻž, āĻ¤āĻŦā§ āĻāĻŋāĻā§ āĻāĻ°āĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ:
PDL->qsort_B( PDL_Byte *xx, int a, int b)
"āĻ" āĻāĻŦāĻ "āĻŦāĻŋ" āĻ¸ā§āĻāĻāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ ā§āĻ¯āĻžāĻ°ā§ "xx" āĻ¸āĻžāĻāĻžāĻ¨āĨ¤ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻ āĻ°āĻ¯āĻŧā§āĻā§
āĻĒā§āĻ¸ā§āĻāĻĢāĻŋāĻā§āĻ¸ "_S", "_U", "_L", "_F", āĻāĻŦāĻ "_D" āĻ¸āĻš āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ PDL āĻĄā§āĻāĻžāĻāĻžāĻāĻĒāĨ¤ āĻā§āĻ¨ āĻŽāĻĄāĻŋāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
āĻāĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§ "PDL::Ufunc" āĻ˛ā§āĻĄ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
PDL->qsort_ind_B( PDL_Byte *xx, int *ix, int a, int b)
"PDL->qsort_B" āĻāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŦāĻžāĻ° āĻĄā§āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻ¸ā§āĻāĻāĻā§āĻ˛āĻŋ āĻ¸āĻžāĻāĻžāĻ¨ā§ āĻšāĻā§āĻā§āĨ¤
āĻ°ā§āĻāĻŋāĻ¨ "med2d" āĻāĻ¨ Lib/Image2D/image2d.pd āĻĻā§āĻāĻžāĻ¯āĻŧ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ°ā§āĻāĻŋāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĻ¸ āĻāĻ¨ā§āĻ¯ PP āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ°
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻŋāĻĒāĻŋ āĻĢāĻžāĻāĻ˛ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻ¯āĻžāĻā§āĻā§āĻ¨ (āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĢāĻžāĻāĻ˛ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻšāĻ˛
āĻĒāĻŋāĻĒāĻŋ āĻā§āĻĄ āĻ§āĻžāĻ°āĻŖāĻāĻžāĻ°ā§ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ ".pd" āĻŦāĻž ".pp") āĻāĻāĻŋ āĻā§āĻĄāĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ āĻāĻŦāĻ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ
āĻŽā§āĻāĻĢāĻžāĻāĻ˛ā§ āĻ¯āĻĨāĻžāĻ¯āĻĨ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻ°āĻž āĻ°ā§āĻĒāĻ°ā§āĻāĻž āĻšāĻŦā§
āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻžāĻ°ā§āĻ˛ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸
āĻāĻāĻāĻŋ āĻĒāĻŋāĻĒāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻŦāĻ°āĻŖāĨ¤ āĻŦā§āĻļāĻŋāĻ° āĻāĻžāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽā§ xs, pm āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ
PP āĻĢāĻžāĻāĻ˛ āĻĨā§āĻā§ PDL::Core::Dev āĻĒā§āĻ¯āĻžāĻā§āĻā§ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻĒā§āĻ°ā§āĻŦāĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤āĨ¤ āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻāĻā§
āĻŽā§āĻāĻŽā§āĻāĻžāĻ°āĻā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻŦāĻ˛ā§āĻ¨āĨ¤
āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° Makefile āĻāĻ° āĻŽāĻ¤ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
# Makefile.PL PP āĻā§āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤
PDL::Core::Dev āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨; # āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻ¤ā§āĻ˛ā§ āĻ¨āĻŋāĻ¨
ExtUtils::MakeMaker āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨;
$package = ["mylib.pd", Mylib,PDL::Lib::Mylib];
%āĻšā§āĻ¯āĻžāĻļ = pdlpp_stdargs($package);
$āĻšā§āĻ¯āĻžāĻļ{OBJECT} .= 'āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤_Ccode$(OBJ_EXT)';
$hash{clean}->{FILES} .= 'todelete_Ccode$(OBJ_EXT)';
$hash{'VERSION_FROM'} = 'mylib.pd';
WriteMakefile(% āĻšā§āĻ¯āĻžāĻļ);
sub MY::postamble { pdlpp_postamble($package); }
āĻāĻāĻžāĻ¨ā§, $package-āĻāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻšāĻ˛: āĻĒā§āĻ°āĻĨāĻŽā§: PP āĻ¸ā§āĻ°ā§āĻ¸ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ° āĻāĻĒāĻ¸āĻ°ā§āĻ
āĻāĻ¤ā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻĢāĻžāĻāĻ˛ āĻāĻŦāĻ āĻ āĻŦāĻļā§āĻˇā§ āĻĒā§āĻ°ā§ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻ¨āĻžāĻŽāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻžāĻ āĻšā§āĻ āĻ¨āĻž āĻā§āĻ¨ āĻšā§āĻ¯āĻžāĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻāĻ¨ā§āĻĻ āĻŽāĻ¤ā§ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŋāĻā§ āĻ¸ā§āĻŽāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĨāĻžāĻāĻž āĻ¯ā§āĻā§āĻ¤āĻŋāĻ¸āĻā§āĻāĻ¤ āĻšāĻŦā§ āĻ¯āĻžāĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ¯āĻžāĻā§āĻ
PDL āĻāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻž āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻŋāĻĒā§āĻ¯āĻžāĻā§āĻāĻĄ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻ¨āĻž āĻāĻžāĻāĻ˛ā§, āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻā§āĻ¨ā§āĻ°āĻŋāĻ āĻāĻā§ Makefile.PL āĻ¯ā§āĻāĻž āĻ¤ā§āĻŽāĻŋ āĻĒāĻžāĻ°ā§
āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨āĻŋāĻ¯āĻŧā§ āĻ¨āĻŋāĻ¨:
# Makefile.PL PP āĻā§āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤
PDL::Core::Dev āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨; # āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻ¤ā§āĻ˛ā§ āĻ¨āĻŋāĻ¨
ExtUtils::MakeMaker āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨;
āĻ˛āĻŋāĻā§āĻ¨ āĻŽā§āĻāĻĢāĻžāĻāĻ˛(
'NAME' => 'PDL::Lib::Mylib',
'VERSION_FROM' => 'mylib.pd',
'TYPEMAPS' => [&PDL_TYPEMAP()],
'OBJECT' => 'mylib$(OBJ_EXT) āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤_Ccode$(OBJ_EXT)',
'PM' => { 'Mylib.pm' => '$(INST_LIBDIR)/Mylib.pm'},
'INC' => &PDL_INCLUDE(), # āĻāĻĒāĻ¨āĻžāĻ° lib āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ dirs āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
'LIBS' => [''], # āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ āĻ˛āĻŋāĻā§āĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
'āĻā§āĻ˛āĻŋāĻ¨' => {'āĻĢāĻžāĻāĻ˛' =>
'Mylib.pm Mylib.xs Mylib$(OBJ_EXT)
āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤_Ccode$(OBJ_EXT)'},
);
# genpp āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨; āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻŋāĻĒāĻŋ āĻĢāĻžāĻāĻ˛ā§ PDL::PP āĻāĻšā§āĻŦāĻžāĻ¨ āĻāĻ°āĻŦā§
# āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ°ā§āĻ° āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ ā§āĻ¯āĻžāĻ°ā§āĻ° āĻ¤āĻŋāĻ¨āĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§:
# arg1: āĻ¸ā§āĻ°ā§āĻ¸ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒāĻŋāĻĒāĻŋ āĻā§āĻĄ āĻ°āĻ¯āĻŧā§āĻā§
# arg2: xs āĻāĻŦāĻ pm āĻĢāĻžāĻāĻ˛ā§āĻ° āĻŦā§āĻ¸āĻ¨ā§āĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§
# arg3: āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻ¨āĻžāĻŽ āĻ¯āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§
sub MY::postamble { pdlpp_postamble(["mylib.pd",Mylib,PDL::Lib::Mylib]); }
āĻā§āĻŦāĻ¨āĻā§ āĻāĻ°āĻ āĻ¸āĻšāĻ āĻāĻ°āĻ¤ā§ PDL::Core::Dev āĻĢāĻžāĻāĻļāĻ¨ "pdlpp_stdargs" āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯āĻž āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°ā§
āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŽāĻžāĻ¨ āĻ¸āĻš āĻāĻāĻāĻŋ āĻšā§āĻ¯āĻžāĻļ āĻ¯āĻž āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻšāĻ¯āĻŧ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŦāĻž āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻĒāĻ°ā§
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨) WriteMakefile-āĻ āĻāĻāĻāĻŋ āĻāĻ˛ āĻāĻ°āĻ¤ā§āĨ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§, "pdlpp_stdargs" āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻšā§āĻ¯āĻžāĻļ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§
āĻā§āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ āĻĒā§āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
(
'NAME' => $mod,
'TYPEMAPS' => [&PDL_TYPEMAP()],
'OBJECT' => "$pref\$(OBJ_EXT)",
PM => {"$pref.pm" => "\$(INST_LIBDIR)/$pref.pm"},
MAN3PODS => {"$src" => "\$(INST_MAN3DIR)/$mod.\$(MAN3EXT)"},
'INC' => &PDL_INCLUDE(),
'LIBS' => [''],
'clean' => {'FILES' => "$pref.xs $pref.pm $pref\$(OBJ_EXT)"},
)
āĻāĻāĻžāĻ¨ā§, $src āĻšāĻ˛ āĻĒāĻŋāĻĒāĻŋ āĻā§āĻĄ āĻ¸āĻš āĻ¸ā§āĻ°ā§āĻ¸ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ, $pref āĻā§āĻĒāĻ¨ā§āĻ¨ā§āĻ° āĻāĻĒāĻ¸āĻ°ā§āĻ
.pm āĻāĻŦāĻ .xs āĻĢāĻžāĻāĻ˛ āĻāĻŦāĻ $mod āĻā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻŽāĻĄāĻŋāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽāĨ¤
āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖāĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻā§āĻŦāĻŋāĻ˛ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ āĻŋāĻ¤ āĻ¯āĻž āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻā§āĻ˛āĻŋ āĻĻā§āĻ¯āĻŧā§ˇ
āĻ¯āĻž āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻŦāĻžāĻĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¸āĻžāĻŦāĻā§āĻ˛āĻŋ āĻ¯āĻž āĻāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§ā§ˇ
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻā§āĻŦāĻŋāĻ˛āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻāĻ°ā§ āĻ¤ā§āĻ˛āĻž āĻāĻžāĻ˛ā§ āĻšāĻŦā§ āĻ¯āĻžāĻ¤ā§ āĻāĻŋāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ
āĻāĻŋāĻ¨āĻŋāĻ¸ āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§.
[āĻŽā§āĻāĻž āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯: āĻāĻāĻžāĻ¨ā§ āĻāĻļāĻž āĻāĻ°āĻŋ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻāĻ°ā§ āĻšāĻŦā§; āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§, āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻ°āĻž āĻŦāĻžāĻāĻŋ āĻšāĻŦā§
āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻĒāĻĄāĻŧāĻ¤ā§ :-( āĻ āĻĨāĻŦāĻž āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°ā§āĻ¨ (āĻĒāĻ°ā§āĻ°āĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨) ]
āĻāĻĒāĻžāĻā§āĻ A: āĻāĻŋāĻā§ āĻā§ āĻ¸ā§āĻŦā§āĻā§āĻ¤ by āĻĒāĻŋāĻĄāĻŋāĻāĻ˛::āĻĒāĻŋāĻĒāĻŋ
āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§, āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĨ¤ (āĻāĻžāĻ°āĻžāĻĒ) āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻā§āĻā§āĻ˛āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ°
āĻŦā§āĻ¯āĻžāĻĄ-āĻā§āĻ¯āĻžāĻ˛ā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ PDL āĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻšāĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻ āĻāĻļ
āĻāĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻ¸
āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ¯āĻž pdls āĻ¨āĻ¯āĻŧāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻ: āĻāĻŋāĻā§āĻ āĻ¨āĻžāĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻŽāĻŋ-āĻā§āĻ˛āĻ¨ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ°āĻž āĻ¤āĻžāĻ˛āĻŋāĻāĻž
āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ, āĻ¯ā§āĻŽāĻ¨, "OtherPars=>'int k; āĻĻā§āĻŦāĻŋāĻā§āĻŖ āĻŽāĻžāĻ¨; char* fd'"āĨ¤ $COMP(x) āĻāĻŦāĻ āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻĻā§āĻā§āĻ¨
āĻĒāĻ°āĻŋāĻļāĻŋāĻˇā§āĻ āĻŦāĻŋ-āĻ¤ā§ āĻāĻāĻ āĻāĻ¨ā§āĻā§āĻ°āĻŋāĨ¤
āĻā§āĻĄ
āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻā§āĻ¤ āĻā§āĻĄ; āĻŦā§āĻļ āĻāĻŋāĻā§ āĻĒāĻŋāĻĒāĻŋ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻŦāĻ āĻĒāĻŋāĻĒāĻŋ āĻĢāĻžāĻāĻļāĻ¨
āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻŽāĻžāĻ¨ āĻ¸ā§āĻŦā§āĻā§āĻ¤ āĻšāĻ¯āĻŧ
āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ˛āĻŦā§āĻ¯āĻžāĻĄ (āĻāĻžāĻ°āĻžāĻĒ)
āĻ¯āĻĻāĻŋ 1 āĻ¤ā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ°ā§āĻāĻŋāĻ¨āĻāĻŋ āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨ āĻāĻŦāĻ āĻŦā§āĻ¯āĻžāĻĄāĻā§āĻĄā§āĻ° āĻā§āĻĄ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻŦāĻ˛ā§ āĻ§āĻ°ā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ
āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻāĻ˛ā§ āĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ; āĻāĻāĻŋ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋāĻ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°ā§ āĻ¯āĻžāĻ¤ā§ "$ISBAD()"
āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋ 0 āĻ¤ā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻ°ā§āĻāĻŋāĻ¨āĻā§ āĻāĻāĻāĻŋ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻ¤ā§ āĻĻāĻŋāĻ¨
āĻāĻ¨āĻĒā§āĻ piddles āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻ°āĻžāĻĒ āĻĒāĻ¤āĻžāĻāĻž āĻ¸ā§āĻ āĻāĻā§.
āĻŦā§āĻ¯āĻžāĻĄāĻā§āĻĄ (āĻāĻžāĻ°āĻžāĻĒ)
āĻāĻ¨āĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛ā§ āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻāĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄāĻāĻŋ āĻĻāĻŋāĻ¨āĨ¤ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¯āĻĻāĻŋ "HandleBad => 1"āĨ¤
āĻā§āĻ¨ā§āĻ°āĻŋāĻ āĻĒā§āĻ°āĻāĻžāĻ°
āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸āĨ¤ āĻ ā§āĻ¯āĻžāĻ°ā§āĻ¤ā§ āĻāĻ-āĻ āĻā§āĻˇāĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻ `B' āĻāĻ° āĻ¯ā§āĻā§āĻ¨ā§ āĻāĻĒāĻ¸ā§āĻ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§,
`S', `U', `L', `Q', `F' āĻāĻŦāĻ `D', āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻ° āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻŦā§ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§āĨ¤
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻ āĻ°ā§āĻĨ āĻšāĻ˛:
B - āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°āĻŋāĻ¤ āĻŦāĻžāĻāĻ (āĻ āĻ°ā§āĻĨāĻžā§ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°āĻŋāĻ¤ āĻāĻ°)
S - āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° (āĻĻā§āĻ-āĻŦāĻžāĻāĻ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž)
U - āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°āĻŦāĻŋāĻšā§āĻ¨ āĻā§āĻ
L - āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°āĻŋāĻ¤ āĻĻā§āĻ°ā§āĻ (āĻāĻžāĻ°-āĻŦāĻžāĻāĻ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž, 32 āĻŦāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ int)
Q - āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°āĻŋāĻ¤ āĻ˛āĻŽā§āĻŦāĻž āĻ˛āĻŽā§āĻŦāĻž (āĻāĻ āĻŦāĻžāĻāĻ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž)
F - float
āĻĄāĻŋ - āĻĄāĻŦāĻ˛
āĻāĻāĻāĻŋ āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻŋ āĻā§āĻŦ āĻĻāĻ°āĻāĻžāĻ°ā§ (āĻāĻŦāĻ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ!) āĻĄāĻŋāĻĢāĻ˛ā§āĻ:
[qw/BSULQFD/]
āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ
āĻāĻ¨āĻĒā§āĻ˛ā§āĻ¸ā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻ¨āĻĒā§āĻ˛ā§āĻ¸ => 1 āĻ¯āĻĻāĻŋ Pars => 'a(); [o]b();'
āĻāĻ¨āĻĒā§āĻ˛ā§āĻ¸ => ['a'] āĻ¯āĻĻāĻŋ Pars => 'a(); b(); [o]c();'
āĻāĻ¨āĻĒā§āĻ˛ā§āĻ¸ => ['a', 'b'] āĻ¯āĻĻāĻŋ Pars => 'a(); b(); [āĻ] āĻ(); [o]d();'
āĻ¯āĻĻāĻŋ āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻ° āĻĒā§āĻ°āĻāĻžāĻ° āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻ¤ā§āĻ¨ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻāĻŦāĻļā§āĻ¯āĻ
āĻ¯āĻāĻ¨ āĻāĻ¨āĻĒā§āĻ˛ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻ¤āĻāĻ¨ āĻŦā§āĻ¯āĻžāĻĄāĻĢā§āĻ˛ā§āĻ¯āĻžāĻ; āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ "āĻ°āĻŋāĻĒā§āĻ˛ā§āĻ¸āĻŦā§āĻ¯āĻžāĻĄ" āĻāĻ° āĻā§āĻĄāĻāĻŋ āĻĻā§āĻā§āĻ¨
āĻŽā§āĻ˛āĻŋāĻ/āĻāĻžāĻ°āĻžāĻĒ/āĻāĻžāĻ°āĻžāĻĒ.pd.
āĻĄāĻ āĻĒāĻĄ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻā§ āĻāĻāĻāĻŋ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ PDL::Doc āĻĻā§āĻā§āĻ¨
āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻāĻ¨āĻā§āĻ¨āĻļāĻ¨āĨ¤ āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯: āĻŦāĻŋāĻļā§āĻˇ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¯ā§āĻāĻžāĻ¨ā§ PP 'Doc' āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻā§
āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻ¨ āĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻāĻŦāĻ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤āĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ!
āĻ¯āĻĻāĻŋ āĻĄāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻāĻŋ āĻŦāĻžāĻĻ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻĒāĻŋāĻĒāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§ (āĻ¸āĻŦāĻāĻŋāĻā§āĻ° āĻĒāĻ°ā§ āĻāĻāĻŋ āĻāĻžāĻ¨ā§
āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§)āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻāĻžāĻ¨ āĻ¯ā§ āĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻā§āĻ¨ā§āĻāĻžāĻŦā§āĻ āĻ¨āĻĨāĻŋāĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻŦā§ āĻ¨āĻž (āĻ¯ā§āĻŽāĻ¨
āĻāĻāĻāĻŋ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻ°ā§āĻāĻŋāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻ āĻĨāĻŦāĻž āĻāĻĒāĻ¨āĻŋ āĻā§āĻĄā§āĻ° āĻ āĻ¨ā§āĻ¯ āĻā§āĻĨāĻžāĻ āĻāĻāĻŋ āĻāĻ°āĻā§āĻ¨ āĻŦāĻ˛ā§ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§
"Doc=>undef" āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
BadDoc (āĻāĻžāĻ°āĻžāĻĒ)
"badinfo" āĻāĻŽāĻžāĻ¨ā§āĻĄ ("perldl"-āĻ) āĻŦāĻž "-b" āĻ¸ā§āĻāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĒāĻžāĻ ā§āĻ¯ āĻ°āĻ¯āĻŧā§āĻā§
"pdldoc" āĻļā§āĻ˛ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĨ¤ āĻ āĻ¨ā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž, āĻ¯ā§āĻšā§āĻ¤ā§
āĻ¤āĻĨā§āĻ¯ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ PDL::PP āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§āĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§-
āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻā§āĻā§āĻ¸āĻ, āĻāĻāĻž āĻŦāĻ°āĻ stilted āĻāĻ°; āĻāĻāĻž āĻ¨āĻŋāĻā§ āĻāĻ°āĻž āĻ āĻ¨ā§āĻ āĻāĻžāĻ˛ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§!
NoPthread
PDL āĻĢāĻžāĻāĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°āĻ¤ā§ āĻāĻā§āĻāĻŋāĻ āĻĒāĻ¤āĻžāĻāĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻž āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻĨā§āĻ°ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ (āĻ¯ā§āĻŽāĻ¨
pthreads āĻŦāĻž POSIX āĻĨā§āĻ°ā§āĻĄ) āĻŦāĻšā§āĻŦāĻŋāĻ§ CPU āĻā§āĻ° āĻā§āĻĄāĻŧā§ āĻāĻžāĻ āĻŦāĻŋāĻāĻā§āĻ¤ āĻāĻ°āĻ¤ā§āĨ¤ āĻāĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻšāĻ¯āĻŧ
āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ PDL āĻĢāĻžāĻāĻļāĻ¨ āĻĨā§āĻ°ā§āĻĄāĻ¸ā§āĻĢ āĻ¨āĻž āĻšāĻ˛ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ 1 āĻ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ
āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¨ā§āĻ, āĻ¤āĻžāĻšāĻ˛ā§ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻĨā§āĻ°ā§āĻĄāĻ¸ā§āĻĢ āĻŦāĻ˛ā§ āĻ§āĻ°ā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯
āĻ¯āĻĻāĻŋ PDL POSIX āĻĨā§āĻ°ā§āĻĄ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°ā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻĒāĻŋāĻāĻŽāĻā§āĻĄ
PDL āĻĢāĻžāĻāĻļāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻĒāĻŋāĻĄāĻ˛ā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻĒā§āĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨āĨ¤ āĻāĻ
āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻāĻžāĻ°āĻŖ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻāĻāĻāĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛ āĻāĻāĻŦāĻžāĻ° āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋ āĻŦāĻšā§āĻŦāĻžāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨; āĻĻā§āĻ¯
PDL āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻŋāĻĄāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻšāĻŦā§, āĻ¯āĻž āĻāĻŖāĻ¨āĻž āĻ¨āĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻā§āĻ° āĻŦāĻž, āĻ¸āĻŽā§āĻāĻŦāĻ¤, RAM. āĻāĻ āĻ¯ā§āĻ āĻāĻ°āĻž āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻāĻ°ā§ āĻāĻ°āĻā§ āĻāĻ¸ā§
āĻāĻāĻŋāĻ˛āĻ¤āĻž: PDL::PP-āĻā§ āĻāĻŽāĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻž āĻāĻŖāĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻĨā§āĻˇā§āĻ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻ
āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻāĻāĻŋ āĻĒāĻžāĻ¸ āĻāĻŦāĻ āĻāĻĄāĻŧā§ āĻ¨āĻ¤ā§āĻ¨ piddles āĻ¤ā§āĻ°āĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻ¨.
PDL::PP āĻāĻāĻž āĻāĻ°āĻ¤ā§ āĻ¯āĻĨā§āĻˇā§āĻ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ āĻ°ā§āĻĄāĻžāĻ°ā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ
āĻŽāĻ¤. āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ°āĻ āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻžāĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻā§āĻ° āĻĒāĻžāĻ°ā§āĻ˛-āĻ¸āĻžāĻāĻĄ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
wrapper āĻāĻŦāĻ PMCode āĻā§āĻ¤ā§ āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻāĻŋ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻŦā§āĻ¨ āĻ¤āĻž āĻ āĻŦāĻļā§āĻ¯āĻ (āĻāĻāĻŋāĻ¤)
āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻāĻŋ āĻĒāĻžāĻ°ā§āĻ˛ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ pp_def āĻā§ āĻ¯āĻž āĻĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛ā§āĻ¨ āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧ
āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒāĻŋāĻĒāĻŋ-āĻā§āĻ¨āĻžāĻ°ā§āĻā§āĻĄ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨, āĻ¤āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§
āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§ āĻāĻ˛ā§āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¸āĻ āĻŋāĻ āĻā§āĻ°āĻŽā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻŋāĻĄāĻ˛ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°ā§āĻ¨: āĻāĻāĻāĻĒā§āĻ āĻĒāĻŋāĻĄāĻ˛āĻā§āĻ˛āĻŋ
āĻāĻā§āĻāĻŋāĻ āĻ¨āĻ¯āĻŧ, āĻāĻŦāĻ PP-āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŋāĻā§āĻ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻŦā§ āĻ¨āĻžāĨ¤ āĻ āĻ¸ā§āĻĒāĻˇā§āĻ
āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻ¨āĻžāĻŽā§ āĻĄāĻžāĻāĻŦā§āĻ¨ āĻ¤āĻž āĻšāĻ˛ _ _int.
āĻāĻŽāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻāĻ°āĻŋ āĻāĻ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ā§āĻ° āĻāĻ°āĻ āĻ¸ā§āĻĒāĻˇā§āĻā§āĻāĻ°āĻŖ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
:-(
PMFunc
āĻ¯āĻāĻ¨ pp_def āĻĢāĻžāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§, āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ PDL āĻĒā§āĻ¯āĻžāĻā§āĻā§ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°,
.pm āĻĢāĻžāĻāĻ˛ā§ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§, āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§ āĻ¯āĻž
āĻŽā§āĻ˛āĻ¤ āĻā§āĻĄ āĻ¸āĻš āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ āĻā§āĻŦāĻŋāĻ˛ā§ āĻ¸ā§āĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°ā§
āĻāĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻāĻ°āĻāĻŽ āĻĻā§āĻāĻžāĻā§āĻā§:
*func_name = \&PDL::func_name;
āĻāĻāĻŋ āĻ¤āĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻāĻŋāĻā§āĻāĻž āĻ¸ā§āĻŽāĻžāĻ°ā§āĻ (āĻāĻāĻŋ āĻāĻžāĻ¨ā§ āĻ¯ā§ āĻāĻāĻ¨ āĻāĻ āĻ§āĻ°āĻŖā§āĻ° āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§ āĻšāĻŦā§
BEGIN āĻŦā§āĻ˛āĻ, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ pp_bless āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ˛āĻžāĻĻāĻž āĻāĻŋāĻā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§āĻ¨), āĻāĻŋāĻ¨ā§āĻ¤ā§
āĻ¯ā§ āĻāĻāĻž āĻ¸āĻžāĻ°āĻžāĻāĻļ. āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŽāĻ§ā§āĻ¯ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻ¯āĻ¤ā§āĻ¨ āĻ¨āĻž
āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ āĻā§āĻŦāĻŋāĻ˛, āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
PMFunc => '',
PMFunc āĻāĻ° āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻĒāĻžāĻ°ā§āĻļā§āĻŦ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¨ā§āĻ, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻāĻžāĻ°ā§ āĻĒāĻžāĻ°ā§āĻ˛ āĻā§āĻĄ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻ¤ā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻžāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻāĻ˛ āĻŽāĻ§ā§āĻ¯ā§. āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒāĻžāĻ°ā§āĻ˛ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° pp_addpm āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤
āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻāĻ˛ āĻā§āĻĄ.
āĻāĻĒāĻžāĻā§āĻ B: PP āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻŦāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ
āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§
(āĻāĻžāĻ°āĻžāĻĒ) āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛ā§āĻŦā§āĻ˛āĻ¯ā§āĻā§āĻ¤ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻāĻ¨āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻāĻžāĻ°āĻžāĻĒ-āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ PDL-āĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
$variablename_from_sig()
āĻāĻāĻāĻŋ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ (āĻāĻ° āĻ¨āĻžāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž) āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°ā§āĻ¨ āĻ¯āĻž āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛
$COMP(x)
āĻāĻ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°ā§āĻ° āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻĄā§āĻāĻž āĻāĻžāĻ āĻžāĻŽā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻŽāĻžāĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°ā§āĻ¨ (āĻĒā§āĻ°āĻ§āĻžāĻ¨āĻ¤ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ
"āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻĒāĻžāĻ°āĻ¸" āĻŦāĻŋāĻāĻžāĻā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨)
$SIZE(n)
āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ¤ āĻāĻāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻ¨āĻžāĻŽā§ āĻŽāĻžāĻ¤ā§āĻ°āĻž (āĻ¯ā§āĻŽāĻ¨ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°)
$āĻā§āĻ¨ā§āĻ°āĻŋāĻ()
C āĻāĻžāĻāĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻāĻžāĻāĻĒā§āĻ° āĻ¸āĻŽāĻžāĻ¨
$P(a) āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§ "a" āĻ¨āĻžāĻŽāĻ PDL-āĻ āĻāĻāĻāĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĨ¤ C-āĻ¤ā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§
āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ
$PP(a) pdl "a" āĻ āĻāĻāĻāĻŋ āĻĢāĻŋāĻāĻŋāĻā§āĻ¯āĻžāĻ˛ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸; āĻĒā§āĻ°āĻ§āĻžāĻ¨āĻ¤ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯
$TXXX(āĻŦāĻŋāĻāĻ˛ā§āĻĒ, āĻŦāĻŋāĻāĻ˛ā§āĻĒ)
āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ§āĻ°āĻ¨ āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖā§āĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒ, āĻ¯ā§āĻāĻžāĻ¨ā§ XXX āĻāĻŋāĻā§
āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ¯āĻž "/[BSULFD+]/" āĻĻā§āĻŦāĻžāĻ°āĻž āĻŽā§āĻ˛ā§āĨ¤
$PDL(a)
āĻĒāĻŋāĻĄāĻ˛ "a" āĻāĻ° pdl āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ (pdl *) āĻāĻāĻāĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻĢā§āĻ°āĻ¤ āĻĻāĻŋāĻ¨
$ISBAD(a()) (āĻāĻžāĻ°āĻžāĻĒ)
"a()" āĻ¤ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻ¯āĻĻāĻŋ āĻāĻ āĻĒāĻŋāĻĄāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻžāĻ¨ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻ¸āĻ¤ā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤
"HandleBad" 1 āĻ āĻ¸ā§āĻ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ˇ
$ISGOOD(a()) (āĻāĻžāĻ°āĻžāĻĒ)
"a()" āĻ¤ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻ¯āĻĻāĻŋ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻžāĻ¨ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻ¸āĻ¤ā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§
āĻĒāĻŋāĻĄāĻ˛ "HandleBad" 1 āĻ āĻ¸ā§āĻ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ˇ
$SETBAD(a()) (āĻāĻžāĻ°āĻžāĻĒ)
āĻāĻ āĻĒāĻŋāĻĄāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻžāĻ¨ āĻāĻ°āĻ¤ā§ "a()" āĻ¸ā§āĻ āĻāĻ°ā§āĨ¤ "HandleBad" āĻ¸ā§āĻ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨
1 āĻ¤ā§
āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ
"āĻ˛ā§āĻĒ(DIMS) %{ ... %}"
āĻ¨āĻžāĻŽāĻā§āĻ¤ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻāĻĒāĻ° āĻ˛ā§āĻĒ; āĻ¸ā§āĻŽāĻž āĻĒāĻŋāĻĒāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ
"āĻĨā§āĻ°ā§āĻĄāĻ˛ā§āĻĒ %{ ... %}"
āĻāĻāĻāĻŋ āĻĨā§āĻ°ā§āĻĄ āĻ˛ā§āĻĒā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻā§āĻĄ āĻāĻŦāĻĻā§āĻ§ āĻāĻ°ā§āĻ¨
"āĻāĻžāĻāĻĒāĻ¸(āĻāĻžāĻāĻĒāĻ¸) %{ ... %}"
āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ§āĻ°āĻ¨ āĻ¯āĻĻāĻŋ "TYPES" āĻāĻ° āĻ¯ā§āĻā§āĻ¨ā§ āĻāĻāĻāĻŋ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻā§āĻĄāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¨
āĻāĻĒāĻžāĻā§āĻ C: āĻāĻžāĻ°ā§āĻ¯āĻžāĻŦāĻ˛ā§ āĻāĻŽāĻĻāĻžāĻ¨āĻŋāĻā§āĻ¤ by āĻĒāĻŋāĻĄāĻŋāĻāĻ˛::āĻĒāĻŋāĻĒāĻŋ
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ "PDL::PP āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨" āĻ¤āĻāĻ¨ āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ āĻ¯ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤
āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž C āĻŦāĻž XS āĻā§āĻĄ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°ā§āĻ¨, āĻ¯ā§ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž āĻĒāĻžāĻ°ā§āĻ˛ āĻā§āĻĄ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°ā§, āĻāĻŦāĻ
āĻ¯ā§ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤ā§āĻ āĻā§āĻŦāĻŋāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻ āĻāĻ°ā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻā§āĻĒāĻžāĻĻāĻ C āĻāĻŦāĻ XS āĻā§āĻĄ
PDL::PP āĻāĻ° āĻŽā§āĻ˛ āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ āĻšāĻ˛ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻ°āĻĒāĻžāĻļā§ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻāĻā§āĻāĻŋāĻ¨ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻšāĻ āĻāĻ°āĻžāĨ¤
āĻ¨āĻŋāĻā§āĻ° āĻ¸āĻŋ āĻā§āĻĄ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻŋāĻ¨āĻŋāĻ¸āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
pp_def
āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋ āĻā§āĻĄā§āĻ° āĻāĻžāĻ°āĻĒāĻžāĻļā§ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻāĻā§āĻāĻŋāĻ¨ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻžāĻ°ā§āĻ¯āĻ¤ āĻāĻ āĻ¨āĻĨāĻŋāĻ° āĻ¸āĻŦ
pp_def āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°ā§āĨ¤
pp_done
āĻāĻā§āĻāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ PDL::PP āĻĻāĻŋāĻ¯āĻŧā§ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°ā§āĻā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋāĻ° .xs āĻāĻŦāĻ .pm āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ pp_* āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻāĻ˛ āĻāĻ°ā§āĻā§āĻ¨āĨ¤ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻā§āĻ¨ āĻ˛āĻžāĻā§
āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻāĨ¤
pp_addxs
āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻĒāĻ¨āĻžāĻ° .xs āĻĢāĻžāĻāĻ˛ā§ XS āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧā§ˇ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒāĻžāĻ°ā§āĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°-
āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻ¯ā§āĻā§āĻ¯ āĻĢāĻžāĻāĻļāĻ¨ āĻ¯āĻž C āĻā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻž āĻŦāĻž āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ
āĻāĻā§āĻāĻŋāĻ¨ XS āĻšāĻ˛ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻŽāĻžāĻ§ā§āĻ¯āĻŽ āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻĒāĻ¨āĻŋ āĻĒāĻžāĻ°ā§āĻ˛-āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻ¯ā§āĻā§āĻ¯ āĻ¸āĻŋ āĻā§āĻĄ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§āĨ¤ āĻ¤ā§āĻŽāĻŋ āĻĒāĻžāĻ°āĻŦā§
perlxs āĻ āĻāĻ°āĻ āĻāĻžāĻ¨ā§āĻ¨āĨ¤
pp_add_boot
āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ XS BOOT āĻŦāĻŋāĻāĻžāĻā§ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻĒāĻžāĻ¸ āĻāĻ°ā§āĻ¨ āĻ¤āĻž āĻ¯ā§āĻ āĻāĻ°ā§āĨ¤ āĻŦā§āĻ āĻŦāĻŋāĻāĻžāĻ
āĻ¸āĻŋ āĻā§āĻĄ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻāĻ˛ āĻ˛ā§āĻĄ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻžāĻ°ā§āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§
āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸ā§āĻāĻ¨āĻžāĨ¤ āĻāĻĒāĻ¨āĻŋ perlxs-āĻ XS āĻāĻŦāĻ BOOT āĻŦāĻŋāĻāĻžāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻāĻžāĻ¨āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
pp_addhdr
āĻāĻĒāĻ¨āĻžāĻ° XS āĻĢāĻžāĻāĻ˛ā§ āĻŦāĻŋāĻļā§āĻĻā§āĻ§-āĻ¸āĻŋ āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°ā§āĨ¤ XS āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻāĻŽāĻ¨āĻāĻžāĻŦā§ āĻāĻ āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§ āĻŦāĻŋāĻļā§āĻĻā§āĻ§ āĻ¸āĻŋ āĻā§āĻĄ āĻāĻŦāĻļā§āĻ¯āĻ
āĻāĻā§āĻ¸āĻāĻ¸ āĻ¸ā§āĻĒā§āĻ¸āĻŋāĻĢāĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻāĻā§ āĻāĻ¸āĻžāĨ¤ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¸āĻŋ āĻā§āĻĄ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
pp_boundscheck
PDL āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻ¸ā§āĻŽāĻžāĻ¨āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
MyPackage::set_boundscheck āĻ¸ā§āĻ āĻāĻ°ā§ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽā§ āĻāĻžāĻ˛ā§ āĻŦāĻž āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ
āĻ¯ā§ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ āĻāĻŦāĻ āĻ¨āĻž āĻ¸ā§āĻŽāĻžāĻ¨āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž. āĻāĻāĻŋāĻ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ
āĻā§āĻ¨ā§ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ āĻāĻžāĻĄāĻŧāĻž āĻāĻ˛ āĻāĻ°āĻž āĻšāĻ˛ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŦāĻžāĻāĻ¨ā§āĻĄāĻā§āĻāĻŋāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸āĨ¤
āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯: āĻāĻŽāĻŋ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ā§ āĻ¸ā§āĻŽāĻžāĻ¨āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻŋāĻā§āĻ āĻā§āĻāĻā§ āĻĒāĻžāĻāĻ¨āĻŋāĨ¤ āĻ¯ā§
āĻ¸āĻŽā§āĻŦā§āĻ§āĻ¨ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤
āĻā§āĻĒāĻžāĻĻāĻ āĻĒāĻžāĻ°ā§āĻ˛ āĻā§āĻĄ
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ PDL::PP āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻ¤āĻāĻ¨ āĻ āĻ¨ā§āĻ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ
.pm āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ pp_def āĻāĻŦāĻ pp_done āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻā§āĻŽāĻŋāĻāĻž āĻ°āĻ¯āĻŧā§āĻā§
āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻāĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž .pm āĻĢāĻžāĻāĻ˛ā§āĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ āĻāĻļā§ āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯āĨ¤
pp_addpm
āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž .pm āĻĢāĻžāĻāĻ˛ā§ āĻĒāĻžāĻ°ā§āĻ˛ āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°ā§āĨ¤ PDL::PP āĻāĻ¸āĻ˛ā§ āĻ¤āĻŋāĻ¨āĻāĻŋāĻ° āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻ°āĻžāĻā§
āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻā§āĻĄā§āĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŦāĻŋāĻāĻžāĻ: āĻļā§āĻ°ā§āĻˇ, āĻŽāĻ§ā§āĻ¯ āĻāĻŦāĻ āĻ¨ā§āĻā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻ-āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻĢāĻ°ā§āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŽāĻ§ā§āĻ¯ āĻŦāĻŋāĻāĻžāĻā§ āĻĒāĻžāĻ°ā§āĻ˛ āĻā§āĻĄ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻšāĻ˛
āĻĒāĻžāĻ°ā§āĻ˛ āĻā§āĻĄ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨āĨ¤ āĻĻā§āĻŦāĻŋ-āĻ¯ā§āĻā§āĻ¤āĻŋ āĻāĻāĻžāĻ°ā§, āĻĒā§āĻ°āĻĨāĻŽ āĻ¯ā§āĻā§āĻ¤āĻŋāĻāĻŋ āĻšāĻ˛ āĻāĻāĻāĻŋ
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻā§ āĻ¸āĻš āĻŦā§āĻ¨āĻžāĻŽā§ āĻšā§āĻ¯āĻžāĻļ āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§ āĻ¯ā§ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻ¤ā§ āĻšāĻŦā§,
āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ .pm āĻĢāĻžāĻāĻ˛ā§ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¯ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻ. āĻšā§āĻ¯āĻžāĻļ āĻāĻ āĻāĻāĻāĻŋ
āĻ¤āĻŋāĻ¨:
{āĻ => 'āĻļā§āĻ°ā§āĻˇ'}
{āĻ => 'āĻŽāĻžāĻāĻāĻžāĻ¨ā§'}
{āĻ => 'āĻŦāĻ'}
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ:
pp_addpm({At => 'āĻŦāĻ'}, <
=head1 āĻāĻŋāĻā§ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨
āĻāĻŽāĻŋ āĻāĻžāĻ¨āĻŋ āĻāĻŽāĻŋ āĻāĻŽāĻžāĻ° āĻĢāĻžāĻāĻ˛ā§āĻ° āĻŽāĻžāĻāĻāĻžāĻ¨ā§ āĻāĻ āĻāĻžāĻāĻĒ āĻāĻ°āĻāĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻž āĻ¯ā§āĻ¤ā§ āĻšāĻŦā§
āĻ¨āĻŋāĻā§.
= āĻāĻžāĻāĻž
POD
āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž: āĻ¯āĻĻāĻŋ, āĻāĻĒāĻ¨āĻžāĻ° .pd āĻĢāĻžāĻāĻ˛ā§āĻ° āĻŽāĻžāĻāĻāĻžāĻ¨ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻ°āĻžāĻā§āĻ¨
āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻĄā§āĻ° āĻ¨ā§āĻā§, āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻā§āĻāĻžāĻ¨ā§āĻĒā§āĻā§āĻāĻāĻžāĻŦā§ CPAN āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻāĻ°āĻŦā§āĻ¨āĨ¤ āĻ āĻ¨ā§āĻ¯āĻĻāĻŋāĻā§, āĻ¯āĻĻāĻŋ
āĻāĻĒāĻ¨āĻžāĻ° .pd āĻĢāĻžāĻāĻ˛ā§āĻ° āĻŽāĻžāĻāĻāĻžāĻ¨ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨ā§āĻā§ āĻŦāĻž āĻāĻĒāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻāĻŋāĻā§ āĻĒāĻžāĻ°ā§āĻ˛ āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
.pm āĻĢāĻžāĻāĻ˛, āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻā§āĻā§ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§. :-)
pp_beginwrap
BEGIN-āĻŦā§āĻ˛āĻ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§ āĻ¯ā§āĻ āĻāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋāĻ āĻāĻŋāĻā§ āĻā§āĻˇāĻŖāĻž BEGIN āĻŦā§āĻ˛āĻā§ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻāĻāĻ°āĻŖ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻ¨ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§ āĻāĻā§.
pp_addbegin
āĻāĻĒāĻ¨āĻžāĻ° .pm āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻĒāĻ°ā§ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄ āĻ¸ā§āĻ āĻāĻ°ā§, āĻāĻŽāĻ¨āĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻā§āĻĄā§āĻ° āĻāĻĒāĻ°ā§āĻ
āĻ¸āĻā§āĻā§ "pp_addpm({At => 'Top'}, ...)"āĨ¤ pp_addpm āĻāĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§, āĻāĻāĻŋāĻā§ āĻāĻ˛ āĻāĻ°āĻž āĻ¯āĻžāĻ āĻšā§āĻ āĻ¨āĻž āĻā§āĻ¨ āĻāĻāĻžāĻ°āĻ°āĻžāĻāĻ āĻāĻ°ā§
āĻāĻā§ āĻāĻŋāĻ˛. āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤
āĻ āĻ¨ā§āĻ¸āĻ°āĻŖāĻāĻ°āĻŖ āĻ˛āĻžāĻāĻ¨ āĻ¨āĻžāĻŽā§āĻŦāĻžāĻ°
āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĒāĻžāĻ¨, āĻšāĻ¯āĻŧ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋ-āĻāĻ° āĻŽāĻ¤ā§ āĻā§āĻĄ āĻŦāĻž āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻ°ā§āĻ˛ āĻā§āĻĄ āĻĨā§āĻā§, āĻāĻāĻŋ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻ¸ā§āĻ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋāĻā§ āĻ¸ā§āĻ°ā§āĻ¸ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ˛āĻžāĻāĻ¨ āĻ¨āĻŽā§āĻŦāĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§ āĻāĻ¨āĻ¤ā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ¤ā§āĻ°ā§āĻāĻŋāĻāĻŋ āĻšāĻ¯āĻŧā§āĻā§ā§ˇ
āĻāĻā§āĻā§āĨ¤
pp_āĻ˛āĻžāĻāĻ¨_āĻ¸āĻāĻā§āĻ¯āĻž
āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻāĻŦāĻ āĻā§āĻĄā§āĻ° āĻāĻāĻāĻŋ (āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĻā§āĻ°ā§āĻ) āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ¨ā§āĻ¯āĻŧāĨ¤ āĻ˛āĻžāĻāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻāĻāĻŋāĻ¤
āĻ¯ā§ āĻ˛āĻžāĻāĻ¨ā§ āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻ¸ā§āĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĒāĻžāĻ°ā§āĻ˛ā§āĻ° "__LINE__"
āĻāĻā§āĻˇāĻ°āĻŋāĻ, āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻāĻĒāĻ¨āĻŋ herdocs āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻā§āĻ¨, āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻŋ "__LINE__ + 1"āĨ¤ āĻĻā§āĻ¯
āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ¸ā§āĻā§āĻ°āĻŋāĻ-āĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ # āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻ°āĻ¯āĻŧā§āĻā§
āĻ¸āĻ āĻŋāĻ āĻ˛āĻžāĻāĻ¨ā§āĨ¤
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĻā§āĻ¯ āĻĒā§āĻ°āĻ¤ā§āĻ āĻā§āĻŦāĻŋāĻ˛ āĻāĻŦāĻ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻāĻāĻ°āĻŖ
PDL::PP āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ pp_def āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻāĻļāĻ¨ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§
PDL āĻĒā§āĻ°āĻ¤ā§āĻ āĻā§āĻŦāĻŋāĻ˛ā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻ āĻāĻāĻ°āĻŖāĻāĻŋ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
pp_bless
āĻĒā§āĻ¯āĻžāĻā§āĻ (āĻĒā§āĻ°āĻ¤ā§āĻ āĻā§āĻŦāĻŋāĻ˛) āĻ¸ā§āĻ āĻāĻ°ā§ āĻ¯ā§āĻāĻžāĻ¨ā§ XS āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻšāĻ˛ PDL,
āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨ āĻāĻŋ. āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°ā§āĻŦāĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻĻā§āĻ¯āĻŧāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
āĻĢāĻžāĻāĻļāĻ¨ myfunc, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
$piddle->myfunc( );
PDL::myfunc($piddle, );
āĻ āĻ¨ā§āĻ¯āĻĻāĻŋāĻā§, āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻ āĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻā§āĻā§ āĻāĻļā§āĻ°ā§āĻŦāĻžāĻĻ āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻāĻšā§āĻŦāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž
āĻāĻā§āĻ˛āĻŋāĻā§ āĻĒāĻŋāĻĄāĻŋāĻāĻ˛ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻāĻžāĻŦā§ āĻāĻšā§āĻŦāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
MyPackage::myfunc($piddle, );
āĻ āĻŦāĻļā§āĻ¯āĻ, āĻāĻĒāĻ¨āĻŋ PDL āĻĒā§āĻ°āĻ¤ā§āĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ PMFunc āĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻā§āĻŦāĻŋāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻā§āĻ¨ āĻ¯ā§?
pp_add_isa
āĻŽāĻĄāĻŋāĻāĻ˛ā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻ¯ā§āĻ āĻāĻ°ā§ āĻ¯āĻž āĻĨā§āĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ°āĻ¸ā§āĻ¤ā§āĻ°ā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻšāĻ¯āĻŧ
qw(PDL::āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋāĻāĻžāĻ°āĻ āĻĄāĻžāĻ¯āĻŧāĻ¨āĻžāĻ˛ā§āĻĄāĻžāĻ°)
pp_core_importlist
āĻāĻĒāĻ¨āĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž .pm āĻĢāĻžāĻāĻ˛ā§āĻ° āĻļā§āĻ°ā§āĻˇā§ āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻĻā§āĻāĻ¤ā§ āĻāĻāĻ°āĻāĻŽ:
PDL::Core āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨;
āĻāĻĒāĻ¨āĻŋ pp_core_importlist-āĻ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§ āĻāĻāĻŋ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ,
pp_core_importlist('::Blarg');
āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻŦā§
PDL::Core::Blarg āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨;
āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, PDL::Core āĻĨā§āĻā§ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤ā§āĻāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§āĨ¤ āĻāĻ¨ā§āĻ¯
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ:
pp_core_importlist("':āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ'");
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻŦāĻŋāĻŦā§āĻ¤āĻŋāĻ¤ā§ āĻ¨ā§āĻ¤ā§āĻ¤ā§āĻŦ āĻĻā§āĻŦā§:
PDL::Core ':Internal' āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨;
pp_setversion
āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻ° āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¸ā§āĻ āĻāĻ°ā§āĨ¤ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻāĻŋ .xs āĻāĻŦāĻ .pm-āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻĒā§āĻ°ā§āĻŖ āĻšāĻ¤ā§ āĻšāĻŦā§ā§ˇ
āĻĢāĻžāĻāĻ˛, āĻāĻŦāĻ āĻāĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻ°ā§āĻ˛ā§āĻ° āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻā§āĻ˛āĻŋ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻā§āĻā§ āĻ¨āĻž
āĻ¤āĻŋāĻ°ā§āĻ¯āĻ
pp_add_exported
āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻ¨āĻžāĻŽāĻ āĻĻā§āĻ¨ āĻ¤āĻžāĻ¤ā§ āĻ¯ā§āĻ āĻāĻ°ā§āĨ¤ pp_def āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¯ā§āĻā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻā§āĻ¨ āĻĒāĻžāĻ°ā§āĻ˛ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°
pp_addpm āĻŦāĻž pp_addxs āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨āĨ¤
pp_export_nothing
āĻāĻāĻŋ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋāĻā§āĻ¤ āĻāĻŋāĻšā§āĻ¨ā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻā§ āĻ°āĻŋāĻ¸ā§āĻ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻžāĻ˛ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ
"pp_export_clear", āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻ āĻāĻ°āĻž āĻāĻŋāĻšā§āĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
"pp_export_nothing"āĨ¤ pp_done āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ āĻŋāĻ āĻāĻā§ āĻāĻ˛ āĻāĻ°āĻž āĻšāĻ˛ā§, āĻāĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ°
āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻŋāĻā§ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻāĻ°ā§ āĻ¨āĻž, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ°āĻĻā§āĻ° āĻāĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨
āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤
onworks.net āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ PDL::PPp āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨