Package org.jcsp.plugNplay

# Class Fibonacci

java.lang.Object
org.jcsp.plugNplay.Fibonacci

All Implemented Interfaces:
  `CSProcess`

public class Fibonacci extends Object implements CSProcess
This generates the Fibonacci sequence on its output channel.

## CSProcess Diagram

### External View

             ___________
            |           | out
            | Fibonacci |------>
            |___________|

### Internal View

             ________________________________
            |                                |
            |  ____________       ________   |
            | |            |     |        |  | out
            | | Prefix (0) |-->--| Delta2 |------>--
            | |____________|     |________|  |
            |        |               |       |
            |        ^               V       |
            |  ______|_____       ___|___    |
            | |            |     |       |   |
            | | Prefix (1) |--invalid input: '<'--| Pairs |   |
            | |____________|     |_______|   |
            |                                |
            |                      Fibonacci |
            |________________________________|

## Description

`FibonacciInt` generates the sequence of Fibonacci Numbers on its output channel.

## Channel Protocols

Output Channels
out | java.lang.Integer | The output will always be of type Integer.

Author:
  P.H. Welch and P.D. Austin

## Constructor Summary

Constructors
Constructor
Description
`Fibonacci(ChannelOutput out)`
Construct a new Fibonacci process with the output Channel out.

## Method Summary

Modifier and Type
Method
Description
`void`
`run()`
The main body of this process.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Fibonacci

public Fibonacci(ChannelOutput out)
Construct a new Fibonacci process with the output Channel out.

Parameters:
  `out` - the output channel

## Method Details

### run

public void run()
The main body of this process.

Specified by:
  `run` in interface `CSProcess`