Global

Members

(constant) CLOCK_RATE

The system clock frequency
Source:

(constant) REGISTERS_COUNT

The number of CPU registers
Source:

(constant) STATES

The valid states for a tri to take on
Source:

(constant) WORD_SIZE

The number of tris in a word
Source:

Methods

ADD(val1, val2) → {number}

Sum Gate
Parameters:
Name Type Description
val1 number
val2 number
Source:
Returns:
- SUM(val1, val2)
Type
number

ANY(val1, val2) → {number}

Any Gate
Parameters:
Name Type Description
val1 number
val2 number
Source:
Returns:
- ANY(val1, val2)
Type
number

BUF(val) → {number}

Buffer Gate
Parameters:
Name Type Description
val number the value to pass through the gate
Source:
Returns:
- BUF(val)
Type
number

CONS(val1, val2) → {number}

Consensus Gate
Parameters:
Name Type Description
val1 number
val2 number
Source:
Returns:
- CONS(val1, val2)
Type
number

decimalToBalancedTernary(decimal) → {balancedTernary}

Converts a dec to balanced ternary representation
Parameters:
Name Type Description
decimal decimal
Source:
Returns:
- ternary value
Type
balancedTernary

decimalToUnbalancedTernary(decimal) → {string}

Converts a decimal value to a string of unbalanced ternary digits (0, 1, 2)
Parameters:
Name Type Description
decimal number
Source:
Returns:
- unbalanced ternary string
Type
string

INV(val) → {number}

Inverter Gate
Parameters:
Name Type Description
val number the value to pass through the gate
Source:
Returns:
- INV(val)
Type
number

LMove(val, filler) → {Array.<Tri>}

Takes in an array of Tris, left moves the array in place
Parameters:
Name Type Description
val Array.<Tri> the array of tris to move
filler number the value to fill the empty space with
Source:
Returns:
- the shifted array
Type
Array.<Tri>

LRot(val) → {Array.<Tri>}

Rotate the word left
Parameters:
Name Type Description
val Array.<Tri> the array of tris to rotate
Source:
Returns:
- the rotated array
Type
Array.<Tri>

LShift(val) → {Array.<Tri>}

Left shifts the word
Parameters:
Name Type Description
val Array.<Tri> the array of tris to shift
Source:
Returns:
- the shifted array
Type
Array.<Tri>

MAX(val1, val2) → {number}

Maximum Gate
Parameters:
Name Type Description
val1 number
val2 number
Source:
Returns:
- MAX(val1, val2)
Type
number

MIN(val1, val2) → {number}

Minimum Gate
Parameters:
Name Type Description
val1 number
val2 number
Source:
Returns:
- MIN(val1, val2)
Type
number

MUL(val1, val2) → {number}

Multiply Gate
Parameters:
Name Type Description
val1 number
val2 number
Source:
Returns:
- MUL(val1, val2)
Type
number

NADD(val1, val2) → {number}

Inverse Sum Gate
Parameters:
Name Type Description
val1 number
val2 number
Source:
Returns:
- INV(SUM(val1, val2))
Type
number

NANY(val1, val2) → {number}

Inverse Any Gate
Parameters:
Name Type Description
val1 number
val2 number
Source:
Returns:
- INV(ANY(val1, val2))
Type
number

NCONS(val1, val2) → {number}

Inverse Consensus Gate
Parameters:
Name Type Description
val1 number
val2 number
Source:
Returns:
- INV(CONS(val1, val2))
Type
number

NINV(val) → {number}

Negative Bias Inverter Gate
Parameters:
Name Type Description
val number the value to pass through the gate
Source:
Returns:
- NINV(val)
Type
number

NMAX(val1, val2) → {number}

Inverse Maximum Gate
Parameters:
Name Type Description
val1 number
val2 number
Source:
Returns:
- INV(MAX(val1, val2))
Type
number

nMIN(val1, val2) → {number}

Inverse Minimum Gate
Parameters:
Name Type Description
val1 number
val2 number
Source:
Returns:
- INV(MIN(val1, val2))
Type
number

NMUL(val1, val2) → {number}

Inverse Multiply Gate
Parameters:
Name Type Description
val1 number
val2 number
Source:
Returns:
- INV(MUL(val1, val2))
Type
number

PINV(val) → {number}

Positive Bias Inverter Gate
Parameters:
Name Type Description
val number the value to pass through the gate
Source:
Returns:
- PINV(val)
Type
number

RMove(val, filler) → {Array.<Tri>}

Takes in an array of Tris, right moves the array in place
Parameters:
Name Type Description
val Array.<Tri> the array of tris to move
filler number the value to fill the empty space with
Source:
Returns:
- the shifted array
Type
Array.<Tri>

RRot(val) → {Array.<Tri>}

Rotate the word right
Parameters:
Name Type Description
val Array.<Tri> the array of tris to rotate
Source:
Returns:
- the rotated array
Type
Array.<Tri>

RShift(val) → {Array.<Tri>}

right shifts the word
Parameters:
Name Type Description
val Array.<Tri> the array of tris to shift
Source:
Returns:
- the shifted array
Type
Array.<Tri>

wordMap(funct, val) → {Array.<Tri>}

Applies a function to each tri in a bus
Parameters:
Name Type Description
funct function The function to apply to each tri
val Array.<Tri> The array of tris to apply the function to
Source:
Returns:
- The array of tris with the function applied
Type
Array.<Tri>

wordMap2(funct, val1, val2) → {Array.<Tri>}

Applies a function to each pair of tris at the same indices in two busses
Parameters:
Name Type Description
funct function The function to apply to each tri
val1 Array.<Tri> The first array of tris to apply the function to
val2 Array.<Tri> The second array of tris to apply the function to
Source:
Returns:
- The array of tris resulting from the function
Type
Array.<Tri>

wordToDec(word) → {number}

Covert a word to a decimal number. The word must be of size WORD_SIZE.
Parameters:
Name Type Description
word Word
Source:
Returns:
- the decimal value of the word
Type
number