Jérôme Quelin
and 1 contributors

# NAME

Language::Befunge::lib::ORTH - Orthogonal easement extension

version 5.000

# DESCRIPTION

The ORTH fingerprint (0x4f525448) is designed to ease transition between the Orthogonal programming language and Befunge-98 (or higher dimension Funges).

Even if transition from Orthogonal is not an issue, the ORTH library contains some potentially interesting instructions not in standard Funge-98.

# FUNCTIONS

## new

Create a new ORTH instance.

## Bit operations

A( \$a, \$b )

Push back `\$a & \$b` (bitwise AND).

O( \$a, \$b )

Push back `\$a | \$b` (bitwise OR).

E( \$a, \$b )

Push back `\$a ^ \$b` (bitwise XOR).

## Push & get

G( \$y, \$x )

Push back value stored at coords (\$x, \$y). Note that Befunge get is `g(\$x,\$y)` (ie, the arguments are reversed).

P( \$v, \$y, \$x )

Store value `\$v` at coords (\$x, \$y). Note that Befunge put is `p(\$v,\$x,\$y)` (ie, the coordinates are reversed).

## Output

S( 0gnirts )

Print popped 0gnirts on STDOUT.

## Coordinates & velocity changes

X( \$x )

Change X coordinate of IP to `\$x`.

Y( \$y )

Change Y coordinate of IP to `\$y`.

V( \$dx )

Change X coordinate of IP velocity to `\$dx`.

W( \$dy )

Change Y coordinate of IP velocity to `\$dy`.

## Miscellaneous

Z( \$bool )

Test the top stack element, and if zero, skip over the next cell (i.e., add the delta twice to the current position).