ftp.nice.ch/pub/next/developer/resources/classes/CompSim.s.tar.gz#/CompSim/Splitter.h

This is Splitter.h in view mode; [Download] [Up]

//
// Splitter
//
// Splits off set of bits from input node.
//
// A Splitter is a subclass of Node because it behaves just
// like a node except that it gets cycled (to update its value).
//
// When designing with Splitters, one should treat them like a Node
// for connections (i.e. they can be passed in as Node parameters,
// but ONLY as inputs to a device), and like a device for simulation
// (i.e. they need to be cycled before any devices which use their
// values).
//
// A splitter uses its Node data instance variable to hold the bits
// it splits from its IN Node. Of course, in most cases, this means
// that not all of that space will be used (i.e. usually Splitters
// are NOT used to replicate all the bits of the source--except the
// case where you might want to reverse the bits of another Node).
//


#import "Node.h"


@interface Splitter : Node


{
    //
    // Internal State:
    //
    
    int		inbits;				// Number of "input" bits;
    int		start;				// Starting input bit;
    int		stop;				// Stopping input bit;
    
    //
    // External Interface:
    //
    
    Node	*IN;
}


- initNumBits:(int)nbits			// Number of input bits.
	in:innode				// Node from which to split.
	start:(int)startbit			// Bit 0 in split out.
	stop:(int)stopbit;			// Bit n in split out.

- cycle;


@end


//
// End of file.
//

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.