summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl0/lib/Imager/Regops.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl0/lib/Imager/Regops.pm')
-rwxr-xr-xMaster/tlpkg/tlperl0/lib/Imager/Regops.pm528
1 files changed, 528 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl0/lib/Imager/Regops.pm b/Master/tlpkg/tlperl0/lib/Imager/Regops.pm
new file mode 100755
index 00000000000..e2ed07e659f
--- /dev/null
+++ b/Master/tlpkg/tlperl0/lib/Imager/Regops.pm
@@ -0,0 +1,528 @@
+# AUTOMATICALLY GENERATED BY regops.perl
+package Imager::Regops;
+use strict;
+require Exporter;
+use vars qw(@ISA @EXPORT @EXPORT_OK %Attr $MaxOperands $PackCode);
+@ISA = qw(Exporter);
+@EXPORT_OK = qw(%Attr $MaxOperands $PackCode);
+
+use constant RBC_ADD => 0;
+use constant RBC_SUBTRACT => 1;
+use constant RBC_MULT => 2;
+use constant RBC_DIV => 3;
+use constant RBC_MOD => 4;
+use constant RBC_POW => 5;
+use constant RBC_UMINUS => 6;
+use constant RBC_MULTP => 7;
+use constant RBC_ADDP => 8;
+use constant RBC_SUBTRACTP => 9;
+use constant RBC_SIN => 10;
+use constant RBC_COS => 11;
+use constant RBC_ATAN2 => 12;
+use constant RBC_SQRT => 13;
+use constant RBC_DISTANCE => 14;
+use constant RBC_GETP1 => 15;
+use constant RBC_GETP2 => 16;
+use constant RBC_GETP3 => 17;
+use constant RBC_VALUE => 18;
+use constant RBC_HUE => 19;
+use constant RBC_SAT => 20;
+use constant RBC_HSV => 21;
+use constant RBC_RED => 22;
+use constant RBC_GREEN => 23;
+use constant RBC_BLUE => 24;
+use constant RBC_RGB => 25;
+use constant RBC_INT => 26;
+use constant RBC_IF => 27;
+use constant RBC_IFP => 28;
+use constant RBC_LE => 29;
+use constant RBC_LT => 30;
+use constant RBC_GE => 31;
+use constant RBC_GT => 32;
+use constant RBC_EQ => 33;
+use constant RBC_NE => 34;
+use constant RBC_AND => 35;
+use constant RBC_OR => 36;
+use constant RBC_NOT => 37;
+use constant RBC_ABS => 38;
+use constant RBC_RET => 39;
+use constant RBC_JUMP => 40;
+use constant RBC_JUMPZ => 41;
+use constant RBC_JUMPNZ => 42;
+use constant RBC_SET => 43;
+use constant RBC_SETP => 44;
+use constant RBC_PRINT => 45;
+use constant RBC_RGBA => 46;
+use constant RBC_HSVA => 47;
+use constant RBC_ALPHA => 48;
+use constant RBC_LOG => 49;
+use constant RBC_EXP => 50;
+use constant RBC_DET => 51;
+use constant RBC_OP_COUNT => 52;
+
+@EXPORT = qw(RBC_ADD RBC_SUBTRACT RBC_MULT RBC_DIV RBC_MOD RBC_POW RBC_UMINUS RBC_MULTP RBC_ADDP RBC_SUBTRACTP RBC_SIN RBC_COS RBC_ATAN2 RBC_SQRT RBC_DISTANCE RBC_GETP1 RBC_GETP2 RBC_GETP3 RBC_VALUE RBC_HUE RBC_SAT RBC_HSV RBC_RED RBC_GREEN RBC_BLUE RBC_RGB RBC_INT RBC_IF RBC_IFP RBC_LE RBC_LT RBC_GE RBC_GT RBC_EQ RBC_NE RBC_AND RBC_OR RBC_NOT RBC_ABS RBC_RET RBC_JUMP RBC_JUMPZ RBC_JUMPNZ RBC_SET RBC_SETP RBC_PRINT RBC_RGBA RBC_HSVA RBC_ALPHA RBC_LOG RBC_EXP RBC_DET RBC_OP_COUNT);
+
+%Attr =
+ (
+ 'abs' =>
+ {
+ 'func' => 1,
+ 'opcode' => 38,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'r',
+ },
+ 'add' =>
+ {
+ 'func' => 0,
+ 'opcode' => 0,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'addp' =>
+ {
+ 'func' => 0,
+ 'opcode' => 8,
+ 'parms' => 2,
+ 'result' => 'p',
+ 'types' => 'pp',
+ },
+ 'alpha' =>
+ {
+ 'func' => 1,
+ 'opcode' => 48,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'p',
+ },
+ 'and' =>
+ {
+ 'func' => 0,
+ 'opcode' => 35,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'atan2' =>
+ {
+ 'func' => 1,
+ 'opcode' => 12,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'blue' =>
+ {
+ 'func' => 1,
+ 'opcode' => 24,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'p',
+ },
+ 'cos' =>
+ {
+ 'func' => 1,
+ 'opcode' => 11,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'r',
+ },
+ 'det' =>
+ {
+ 'func' => 1,
+ 'opcode' => 51,
+ 'parms' => 4,
+ 'result' => 'r',
+ 'types' => 'rrrr',
+ },
+ 'distance' =>
+ {
+ 'func' => 1,
+ 'opcode' => 14,
+ 'parms' => 4,
+ 'result' => 'r',
+ 'types' => 'rrrr',
+ },
+ 'div' =>
+ {
+ 'func' => 0,
+ 'opcode' => 3,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'eq' =>
+ {
+ 'func' => 0,
+ 'opcode' => 33,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'exp' =>
+ {
+ 'func' => 1,
+ 'opcode' => 50,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'r',
+ },
+ 'ge' =>
+ {
+ 'func' => 0,
+ 'opcode' => 31,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'getp1' =>
+ {
+ 'func' => 1,
+ 'opcode' => 15,
+ 'parms' => 2,
+ 'result' => 'p',
+ 'types' => 'rr',
+ },
+ 'getp2' =>
+ {
+ 'func' => 1,
+ 'opcode' => 16,
+ 'parms' => 2,
+ 'result' => 'p',
+ 'types' => 'rr',
+ },
+ 'getp3' =>
+ {
+ 'func' => 1,
+ 'opcode' => 17,
+ 'parms' => 2,
+ 'result' => 'p',
+ 'types' => 'rr',
+ },
+ 'green' =>
+ {
+ 'func' => 1,
+ 'opcode' => 23,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'p',
+ },
+ 'gt' =>
+ {
+ 'func' => 0,
+ 'opcode' => 32,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'hsv' =>
+ {
+ 'func' => 1,
+ 'opcode' => 21,
+ 'parms' => 3,
+ 'result' => 'p',
+ 'types' => 'rrr',
+ },
+ 'hsva' =>
+ {
+ 'func' => 1,
+ 'opcode' => 47,
+ 'parms' => 4,
+ 'result' => 'p',
+ 'types' => 'rrrr',
+ },
+ 'hue' =>
+ {
+ 'func' => 1,
+ 'opcode' => 19,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'p',
+ },
+ 'if' =>
+ {
+ 'func' => 1,
+ 'opcode' => 27,
+ 'parms' => 3,
+ 'result' => 'r',
+ 'types' => 'rrr',
+ },
+ 'ifp' =>
+ {
+ 'func' => 1,
+ 'opcode' => 28,
+ 'parms' => 3,
+ 'result' => 'p',
+ 'types' => 'rpp',
+ },
+ 'int' =>
+ {
+ 'func' => 1,
+ 'opcode' => 26,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'r',
+ },
+ 'jump' =>
+ {
+ 'func' => 0,
+ 'opcode' => 40,
+ 'parms' => 0,
+ 'result' => undef,
+ 'types' => '',
+ },
+ 'jumpnz' =>
+ {
+ 'func' => 0,
+ 'opcode' => 42,
+ 'parms' => 1,
+ 'result' => undef,
+ 'types' => 'r',
+ },
+ 'jumpz' =>
+ {
+ 'func' => 0,
+ 'opcode' => 41,
+ 'parms' => 1,
+ 'result' => undef,
+ 'types' => 'r',
+ },
+ 'le' =>
+ {
+ 'func' => 0,
+ 'opcode' => 29,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'log' =>
+ {
+ 'func' => 1,
+ 'opcode' => 49,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'r',
+ },
+ 'lt' =>
+ {
+ 'func' => 0,
+ 'opcode' => 30,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'mod' =>
+ {
+ 'func' => 0,
+ 'opcode' => 4,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'mult' =>
+ {
+ 'func' => 0,
+ 'opcode' => 2,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'multp' =>
+ {
+ 'func' => 0,
+ 'opcode' => 7,
+ 'parms' => 2,
+ 'result' => 'p',
+ 'types' => 'pr',
+ },
+ 'ne' =>
+ {
+ 'func' => 0,
+ 'opcode' => 34,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'not' =>
+ {
+ 'func' => 0,
+ 'opcode' => 37,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'r',
+ },
+ 'op_count' =>
+ {
+ 'func' => 0,
+ 'opcode' => 52,
+ 'parms' => 0,
+ 'result' => undef,
+ 'types' => '',
+ },
+ 'or' =>
+ {
+ 'func' => 0,
+ 'opcode' => 36,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'pow' =>
+ {
+ 'func' => 0,
+ 'opcode' => 5,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'print' =>
+ {
+ 'func' => 1,
+ 'opcode' => 45,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'r',
+ },
+ 'red' =>
+ {
+ 'func' => 1,
+ 'opcode' => 22,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'p',
+ },
+ 'ret' =>
+ {
+ 'func' => 0,
+ 'opcode' => 39,
+ 'parms' => 1,
+ 'result' => undef,
+ 'types' => 'p',
+ },
+ 'rgb' =>
+ {
+ 'func' => 1,
+ 'opcode' => 25,
+ 'parms' => 3,
+ 'result' => 'p',
+ 'types' => 'rrr',
+ },
+ 'rgba' =>
+ {
+ 'func' => 1,
+ 'opcode' => 46,
+ 'parms' => 4,
+ 'result' => 'p',
+ 'types' => 'rrrr',
+ },
+ 'sat' =>
+ {
+ 'func' => 1,
+ 'opcode' => 20,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'p',
+ },
+ 'set' =>
+ {
+ 'func' => 0,
+ 'opcode' => 43,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'r',
+ },
+ 'setp' =>
+ {
+ 'func' => 0,
+ 'opcode' => 44,
+ 'parms' => 1,
+ 'result' => 'p',
+ 'types' => 'p',
+ },
+ 'sin' =>
+ {
+ 'func' => 1,
+ 'opcode' => 10,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'r',
+ },
+ 'sqrt' =>
+ {
+ 'func' => 1,
+ 'opcode' => 13,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'r',
+ },
+ 'subtract' =>
+ {
+ 'func' => 0,
+ 'opcode' => 1,
+ 'parms' => 2,
+ 'result' => 'r',
+ 'types' => 'rr',
+ },
+ 'subtractp' =>
+ {
+ 'func' => 0,
+ 'opcode' => 9,
+ 'parms' => 2,
+ 'result' => 'p',
+ 'types' => 'pp',
+ },
+ 'uminus' =>
+ {
+ 'func' => 0,
+ 'opcode' => 6,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'r',
+ },
+ 'value' =>
+ {
+ 'func' => 1,
+ 'opcode' => 18,
+ 'parms' => 1,
+ 'result' => 'r',
+ 'types' => 'p',
+ },
+ );
+$MaxOperands = 4;
+$PackCode = "i";
+1;
+
+__END__
+
+=head1 NAME
+
+Imager::Regops - generated information about the register based VM
+
+=head1 SYNOPSIS
+
+ use Imager::Regops;
+ $Imager::Regops::Attr{$opname}->{opcode} # opcode for given operator
+ $Imager::Regops::Attr{$opname}->{parms} # number of parameters
+ $Imager::Regops::Attr{$opname}->{types} # types of parameters
+ $Imager::Regops::Attr{$opname}->{func} # operator is a function
+ $Imager::Regops::Attr{$opname}->{result} # r for numeric, p for pixel result
+ $Imager::Regops::MaxOperands; # maximum number of operands
+
+=head1 DESCRIPTION
+
+This module is generated automatically from regmach.h so we don't need to
+maintain the same information in at least one extra place.
+
+At least that's the idea.
+
+=head1 AUTHOR
+
+Tony Cook, tony@develop-help.com
+
+=head1 SEE ALSO
+
+perl(1), Imager(3), http://imager.perl.org/
+
+=cut
+