FAUST compiler  0.9.9.6b8
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes
AudioType Class Reference

The Root class for all audio data types. More...

#include <sigtype.hh>

Inheritance diagram for AudioType:
Inheritance graph
[legend]
Collaboration diagram for AudioType:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AudioType (int n, int v, int c, int vec=kVect, int b=kNum, interval i=interval())
 constructs an abstract audio type
virtual ~AudioType ()
 not really useful here, but make compiler happier
int nature () const
 returns the kind of values (integre or floating point)
int variability () const
 returns how fast values change (constant, by blocks, by samples)
int computability () const
 returns when values are available (compilation, initialisation, execution)
int vectorability () const
 returns when a signal can be vectorized
int boolean () const
 returns when a signal stands for a boolean value
interval getInterval () const
 returns the interval (min dn max values) of a signal
void setCode (Tree code)
 returns the interval (min dn max values) of a signal
Tree getCode ()
 returns the interval (min dn max values) of a signal
virtual AudioTypepromoteNature (int n)=0
 promote the nature of a type
virtual AudioTypepromoteVariability (int n)=0
 promote the variability of a type
virtual AudioTypepromoteComputability (int n)=0
 promote the computability of a type
virtual AudioTypepromoteVectorability (int n)=0
 promote the vectorability of a type
virtual AudioTypepromoteBoolean (int n)=0
 promote the booleanity of a type
virtual ostream & print (ostream &dst) const =0
 print nicely a type
virtual bool isMaximal () const =0
 true when type is maximal (and therefore can't change depending of hypothesis)

Static Public Attributes

static int gAllocationCount = 0

Protected Member Functions

void setInterval (const interval &r)

Protected Attributes

int fNature
 the kind of data represented
int fVariability
 how fast values change
int fComputability
 when are values available
int fVectorability
 when a signal can be vectorized
int fBoolean
 when a signal stands for a boolean value
interval fInterval
 Minimal and maximal values the signal can take.
Tree fCode
 Tree representation (for memoization purposes)

Detailed Description

The Root class for all audio data types.

All audio types have a "variability" (how fast the values change) and a "computability" (when the values are available). Simple types have also a "nature" (integer or floating point).

Definition at line 82 of file sigtype.hh.


Constructor & Destructor Documentation

AudioType::AudioType ( int  n,
int  v,
int  c,
int  vec = kVect,
int  b = kNum,
interval  i = interval() 
) [inline]

constructs an abstract audio type

Definition at line 98 of file sigtype.hh.

virtual AudioType::~AudioType ( ) [inline, virtual]

not really useful here, but make compiler happier

Definition at line 102 of file sigtype.hh.


Member Function Documentation

int AudioType::boolean ( ) const [inline]

returns when a signal stands for a boolean value

Definition at line 108 of file sigtype.hh.

Referenced by codeSimpleType(), infereReadTableType(), infereSigType(), operator==(), operator|(), and SimpleType::print().

Here is the caller graph for this function:

int AudioType::computability ( ) const [inline]

returns when values are available (compilation, initialisation, execution)

Definition at line 106 of file sigtype.hh.

Referenced by codeSimpleType(), infereReadTableType(), infereSigType(), operator==(), operator|(), SimpleType::print(), TableType::print(), and TupletType::print().

Here is the caller graph for this function:

Tree AudioType::getCode ( ) [inline]

returns the interval (min dn max values) of a signal

Definition at line 113 of file sigtype.hh.

Referenced by codeAudioType().

Here is the caller graph for this function:

interval AudioType::getInterval ( ) const [inline]

returns the interval (min dn max values) of a signal

Definition at line 110 of file sigtype.hh.

Referenced by codeSimpleType(), infereSigType(), operator==(), and operator|().

Here is the caller graph for this function:

virtual bool AudioType::isMaximal ( ) const [pure virtual]

true when type is maximal (and therefore can't change depending of hypothesis)

Implemented in TupletType, TableType, and SimpleType.

int AudioType::nature ( ) const [inline]

returns the kind of values (integre or floating point)

Definition at line 104 of file sigtype.hh.

Referenced by checkInt(), codeSimpleType(), infereReadTableType(), infereSigType(), infereWriteTableType(), operator==(), operator|(), and SimpleType::print().

Here is the caller graph for this function:

virtual ostream& AudioType::print ( ostream &  dst) const [pure virtual]

print nicely a type

Implemented in TupletType, TableType, and SimpleType.

Referenced by operator<<().

Here is the caller graph for this function:

virtual AudioType* AudioType::promoteBoolean ( int  n) [pure virtual]

promote the booleanity of a type

Implemented in TupletType, TableType, and SimpleType.

virtual AudioType* AudioType::promoteComputability ( int  n) [pure virtual]

promote the computability of a type

Implemented in TupletType, TableType, and SimpleType.

virtual AudioType* AudioType::promoteNature ( int  n) [pure virtual]

promote the nature of a type

Implemented in TupletType, TableType, and SimpleType.

virtual AudioType* AudioType::promoteVariability ( int  n) [pure virtual]

promote the variability of a type

Implemented in TupletType, TableType, and SimpleType.

virtual AudioType* AudioType::promoteVectorability ( int  n) [pure virtual]

promote the vectorability of a type

Implemented in TupletType, TableType, and SimpleType.

void AudioType::setCode ( Tree  code) [inline]

returns the interval (min dn max values) of a signal

Definition at line 112 of file sigtype.hh.

Referenced by makeSimpleType(), makeTableType(), and makeTupletType().

Here is the caller graph for this function:

void AudioType::setInterval ( const interval r) [inline, protected]

Definition at line 128 of file sigtype.hh.

{ fInterval = r;}
int AudioType::variability ( ) const [inline]

returns how fast values change (constant, by blocks, by samples)

Definition at line 105 of file sigtype.hh.

Referenced by codeSimpleType(), infereReadTableType(), infereSigType(), operator==(), operator|(), SimpleType::print(), TableType::print(), and TupletType::print().

Here is the caller graph for this function:

int AudioType::vectorability ( ) const [inline]

returns when a signal can be vectorized

Definition at line 107 of file sigtype.hh.

Referenced by codeSimpleType(), infereReadTableType(), infereSigType(), operator==(), operator|(), and SimpleType::print().

Here is the caller graph for this function:


Member Data Documentation

int AudioType::fBoolean [protected]

when a signal stands for a boolean value

Definition at line 91 of file sigtype.hh.

Tree AudioType::fCode [protected]

Tree representation (for memoization purposes)

Definition at line 94 of file sigtype.hh.

int AudioType::fComputability [protected]

when are values available

Definition at line 89 of file sigtype.hh.

Referenced by SimpleType::isMaximal(), and TableType::isMaximal().

Minimal and maximal values the signal can take.

Definition at line 93 of file sigtype.hh.

Referenced by SimpleType::print(), TableType::print(), and TupletType::print().

int AudioType::fNature [protected]

the kind of data represented

Definition at line 87 of file sigtype.hh.

Referenced by SimpleType::isMaximal(), and TableType::isMaximal().

int AudioType::fVariability [protected]

how fast values change

Definition at line 88 of file sigtype.hh.

Referenced by SimpleType::isMaximal(), and TableType::isMaximal().

int AudioType::fVectorability [protected]

when a signal can be vectorized

Definition at line 90 of file sigtype.hh.

int AudioType::gAllocationCount = 0 [static]

Definition at line 85 of file sigtype.hh.

Referenced by annotationStatistics(), makeSimpleType(), makeTableType(), and makeTupletType().


The documentation for this class was generated from the following files: