|
FAUST compiler
0.9.9.6b8
|
#include <vector>#include <string>#include <iostream>#include "tree.hh"#include "smartpointer.hh"#include "interval.hh"

Go to the source code of this file.
Classes | |
| class | AudioType |
| The Root class for all audio data types. More... | |
| class | SimpleType |
| The type of a simple numeric audio signal. More... | |
| class | TableType |
| The type of a table of audio data. More... | |
| class | TupletType |
| The type of a tuplet of data. More... | |
Typedefs | |
| typedef P< AudioType > | Type |
Enumerations | |
| enum | { kInt = 0, kReal = 1 } |
| enum | { kNum = 0, kBool = 1 } |
| enum | { kKonst = 0, kBlock = 1, kSamp = 3 } |
| enum | { kComp = 0, kInit = 1, kExec = 3 } |
| enum | { kVect = 0, kScal = 1, kTrueScal = 3 } |
Functions | |
| ostream & | operator<< (ostream &s, const AudioType &n) |
| int | mergenature (const vector< Type > &v) |
| Return the nature of a vector of types. More... | |
| int | mergevariability (const vector< Type > &v) |
| Return the variability of a vector of types. More... | |
| int | mergecomputability (const vector< Type > &v) |
| Return the computability of a vector of types. More... | |
| int | mergevectorability (const vector< Type > &v) |
| Return the vectorability of a vector of types. More... | |
| int | mergeboolean (const vector< Type > &v) |
| Return the booleanity of a vector of types. More... | |
| interval | mergeinterval (const vector< Type > &v) |
| Return the interval of a vector of types. More... | |
| AudioType * | makeSimpleType (int n, int v, int c, int vec, int b, const interval &i) |
| AudioType * | makeTableType (const Type &ct) |
| AudioType * | makeTableType (const Type &ct, int n, int v, int c, int vec) |
| AudioType * | makeTableType (const Type &ct, int n, int v, int c, int vec, int b, const interval &i) |
| AudioType * | makeTupletType (const vector< Type > &vt) |
| AudioType * | makeTupletType (const vector< Type > &vt, int n, int v, int c, int vec, int b, const interval &i) |
| Type | intCast (Type t) |
| Type | floatCast (Type t) |
| Type | sampCast (Type t) |
| Type | boolCast (Type t) |
| Type | numCast (Type t) |
| Type | vecCast (Type t) |
| Type | scalCast (Type t) |
| Type | truescalCast (Type t) |
| Type | castInterval (Type t, const interval &i) |
| Type | table (const Type &t) |
| Type | operator| (const Type &t1, const Type &t2) |
| Type | operator* (const Type &t1, const Type &t2) |
| bool | operator== (const Type &t1, const Type &t2) |
| bool | operator<= (const Type &t1, const Type &t2) |
| bool | operator!= (const Type &t1, const Type &t2) |
| bool | operator< (const Type &t1, const Type &t2) |
| bool | operator> (const Type &t1, const Type &t2) |
| bool | operator>= (const Type &t1, const Type &t2) |
| SimpleType * | isSimpleType (AudioType *t) |
| TableType * | isTableType (AudioType *t) |
| TupletType * | isTupletType (AudioType *t) |
| ostream & | operator<< (ostream &dst, const SimpleType &t) |
| ostream & | operator<< (ostream &dst, const Type &t) |
| ostream & | operator<< (ostream &dst, const TableType &t) |
| ostream & | operator<< (ostream &dst, const TupletType &t) |
| Type | checkInt (Type t) |
| verifie que t est entier More... | |
| Type | checkKonst (Type t) |
| verifie que t est constant More... | |
| Type | checkInit (Type t) |
| verifie que t est connu a l'initialisation More... | |
| Type | checkIntParam (Type t) |
| verifie que t est connu a l'initialisation, constant et entier More... | |
| Type | checkWRTbl (Type tbl, Type wr) |
| verifie que wr est compatible avec le contenu de tbl More... | |
| int | checkDelayInterval (Type t) |
| Check if the interval of t is appropriate for a delay. More... | |
| string | cType (Type t) |
| Tree | codeAudioType (AudioType *t) |
| Code an audio type as a tree (memoization) More... | |
Variables | |
| Type | TINT |
| Type | TREAL |
| Type | TKONST |
| Type | TBLOCK |
| Type | TSAMP |
| Type | TCOMP |
| Type | TINIT |
| Type | TEXEC |
| Type | TINPUT |
| Type | TGUI |
| Type | TGUI01 |
| Type | INT_TGUI |
| Type | TREC |
Definition at line 72 of file sigtype.hh.
| anonymous enum |
| Enumerator | |
|---|---|
| kInt | |
| kReal | |
Definition at line 54 of file sigtype.hh.
| anonymous enum |
| Enumerator | |
|---|---|
| kNum | |
| kBool | |
Definition at line 55 of file sigtype.hh.
| anonymous enum |
| Enumerator | |
|---|---|
| kKonst | |
| kBlock | |
| kSamp | |
Definition at line 56 of file sigtype.hh.
| anonymous enum |
| Enumerator | |
|---|---|
| kComp | |
| kInit | |
| kExec | |
Definition at line 57 of file sigtype.hh.
| anonymous enum |
| Enumerator | |
|---|---|
| kVect | |
| kScal | |
| kTrueScal | |
Definition at line 58 of file sigtype.hh.
Definition at line 272 of file sigtype.hh.
References kBool, kInt, and makeSimpleType().
Referenced by infereSigType().


Definition at line 278 of file sigtype.hh.
References makeSimpleType().
Referenced by CosPrim::infereSigType(), LogPrim::infereSigType(), SinPrim::infereSigType(), PowPrim::infereSigType(), TanPrim::infereSigType(), RintPrim::infereSigType(), RemainderPrim::infereSigType(), Log10Prim::infereSigType(), SqrtPrim::infereSigType(), MinPrim::infereSigType(), AbsPrim::infereSigType(), MaxPrim::infereSigType(), and infereSigType().


| int checkDelayInterval | ( | Type | t | ) |
Check if the interval of t is appropriate for a delay.
Check if the interval of t is appropriate for a delay.
Definition at line 327 of file sigtype.cpp.
References interval::hi, interval::lo, and interval::valid.
Referenced by OccMarkup::incOcc().

verifie que t est connu a l'initialisation
Definition at line 297 of file sigtype.cpp.
References kInit.
Referenced by checkIntParam(), infereDocConstantTblType(), infereDocWriteTblType(), and infereSigType().

verifie que t est entier
Definition at line 276 of file sigtype.cpp.
References isSimpleType(), kInt, and AudioType::nature().
Referenced by checkIntParam(), infereDocConstantTblType(), infereDocWriteTblType(), and infereSigType().


verifie que t est connu a l'initialisation, constant et entier
Definition at line 307 of file sigtype.cpp.
References checkInit(), checkInt(), and checkKonst().

verifie que t est constant
Definition at line 287 of file sigtype.cpp.
References kKonst.
Referenced by checkIntParam(), infereDocConstantTblType(), and infereDocWriteTblType().

verifie que wr est compatible avec le contenu de tbl
Definition at line 312 of file sigtype.cpp.
Code an audio type as a tree (memoization)
Code an audio type as a tree (memoization)
Definition at line 374 of file sigtype.cpp.
References codeSimpleType(), codeTableType(), codeTupletType(), AudioType::getCode(), isSimpleType(), isTableType(), isTupletType(), and CTree::setType().
Referenced by codeTableType(), codeTupletType(), makeSimpleType(), makeTableType(), and makeTupletType().


| string cType | ( | Type | t | ) |
Definition at line 340 of file sigtype.cpp.
References kInt.
Referenced by ScalarCompiler::generatePrefix().

Definition at line 270 of file sigtype.hh.
References kReal, and makeSimpleType().
Referenced by AcosPrim::infereSigType(), TanPrim::infereSigType(), AsinPrim::infereSigType(), SinPrim::infereSigType(), AtanPrim::infereSigType(), FloorPrim::infereSigType(), FmodPrim::infereSigType(), CeilPrim::infereSigType(), LogPrim::infereSigType(), Atan2Prim::infereSigType(), CosPrim::infereSigType(), ExpPrim::infereSigType(), Log10Prim::infereSigType(), RemainderPrim::infereSigType(), RintPrim::infereSigType(), SqrtPrim::infereSigType(), and infereSigType().


Definition at line 269 of file sigtype.hh.
References kInt, and makeSimpleType().
Referenced by infereSigType().


| SimpleType* isSimpleType | ( | AudioType * | t | ) |
Definition at line 267 of file sigtype.cpp.
Referenced by checkInt(), codeAudioType(), infereReadTableType(), infereSigType(), infereWriteTableType(), operator==(), and operator|().

Definition at line 268 of file sigtype.cpp.
Referenced by codeAudioType(), infereReadTableType(), infereWriteTableType(), operator==(), and operator|().

| TupletType* isTupletType | ( | AudioType * | t | ) |
Definition at line 269 of file sigtype.cpp.
Referenced by codeAudioType(), infereProjType(), operator==(), and operator|().

Definition at line 421 of file sigtype.cpp.
References codeAudioType(), AudioType::gAllocationCount, property< P >::get(), property< P >::set(), and AudioType::setCode().
Referenced by boolCast(), castInterval(), floatCast(), infereFConstType(), infereFFType(), infereFVarType(), infereSigType(), infereWaveformType(), intCast(), numCast(), operator|(), SimpleType::promoteBoolean(), SimpleType::promoteComputability(), SimpleType::promoteNature(), SimpleType::promoteVariability(), SimpleType::promoteVectorability(), sampCast(), scalCast(), truescalCast(), and vecCast().


Definition at line 448 of file sigtype.cpp.
References codeAudioType(), AudioType::gAllocationCount, property< P >::get(), property< P >::set(), and AudioType::setCode().
Referenced by infereSigType(), infereWriteTableType(), operator|(), TableType::promoteBoolean(), TableType::promoteComputability(), TableType::promoteNature(), TableType::promoteVariability(), and TableType::promoteVectorability().


Definition at line 482 of file sigtype.cpp.
References codeAudioType(), AudioType::gAllocationCount, property< P >::get(), property< P >::set(), and AudioType::setCode().

| AudioType* makeTableType | ( | const Type & | ct, |
| int | n, | ||
| int | v, | ||
| int | c, | ||
| int | vec, | ||
| int | b, | ||
| const interval & | i | ||
| ) |
Definition at line 465 of file sigtype.cpp.
References codeAudioType(), AudioType::gAllocationCount, property< P >::get(), property< P >::set(), and AudioType::setCode().

Definition at line 513 of file sigtype.cpp.
References codeAudioType(), AudioType::gAllocationCount, property< P >::get(), property< P >::set(), and AudioType::setCode().

| AudioType* makeTupletType | ( | const vector< Type > & | vt, |
| int | n, | ||
| int | v, | ||
| int | c, | ||
| int | vec, | ||
| int | b, | ||
| const interval & | i | ||
| ) |
Definition at line 531 of file sigtype.cpp.
References codeAudioType(), AudioType::gAllocationCount, property< P >::get(), property< P >::set(), and AudioType::setCode().

|
inline |
Return the booleanity of a vector of types.
Definition at line 187 of file sigtype.hh.
|
inline |
Return the computability of a vector of types.
Definition at line 163 of file sigtype.hh.
Return the interval of a vector of types.
Definition at line 199 of file sigtype.hh.
References interval::hi, interval::lo, max(), min(), and interval::valid.

|
inline |
Return the nature of a vector of types.
Definition at line 139 of file sigtype.hh.
|
inline |
Return the variability of a vector of types.
Definition at line 151 of file sigtype.hh.
|
inline |
Return the vectorability of a vector of types.
Definition at line 175 of file sigtype.hh.
Definition at line 273 of file sigtype.hh.
References kNum, and makeSimpleType().

Definition at line 419 of file sigtype.hh.
Definition at line 241 of file sigtype.cpp.
References TupletType::arity().

Definition at line 420 of file sigtype.hh.
|
inline |
Definition at line 133 of file sigtype.hh.
References AudioType::print().

| ostream& operator<< | ( | ostream & | dst, |
| const SimpleType & | t | ||
| ) |
Definition at line 48 of file sigtype.cpp.
References SimpleType::print().

| ostream& operator<< | ( | ostream & | dst, |
| const Type & | t | ||
| ) |
Definition at line 46 of file sigtype.cpp.
| ostream& operator<< | ( | ostream & | dst, |
| const TableType & | t | ||
| ) |
Definition at line 50 of file sigtype.cpp.
References TableType::print().

| ostream& operator<< | ( | ostream & | dst, |
| const TupletType & | t | ||
| ) |
Definition at line 52 of file sigtype.cpp.
References TupletType::print().

Definition at line 234 of file sigtype.cpp.
Definition at line 201 of file sigtype.cpp.
References TupletType::arity(), AudioType::boolean(), AudioType::computability(), TableType::content(), AudioType::getInterval(), interval::hi, isSimpleType(), isTableType(), isTupletType(), interval::lo, AudioType::nature(), interval::valid, AudioType::variability(), and AudioType::vectorability().

Definition at line 421 of file sigtype.hh.
Definition at line 422 of file sigtype.hh.
Definition at line 166 of file sigtype.cpp.
References TupletType::arity(), AudioType::boolean(), AudioType::computability(), TableType::content(), AudioType::getInterval(), isSimpleType(), isTableType(), isTupletType(), makeSimpleType(), makeTableType(), min(), AudioType::nature(), reunion(), AudioType::variability(), and AudioType::vectorability().

Definition at line 271 of file sigtype.hh.
References kSamp, and makeSimpleType().
Referenced by infereSigType().


Definition at line 275 of file sigtype.hh.
References kScal, and makeSimpleType().

Definition at line 276 of file sigtype.hh.
References kTrueScal, and makeSimpleType().

Definition at line 274 of file sigtype.hh.
References kVect, and makeSimpleType().
Referenced by infereProjType().


| Type INT_TGUI |
Definition at line 158 of file sigtype.cpp.
| Type TBLOCK |
Definition at line 146 of file sigtype.cpp.
| Type TCOMP |
Definition at line 149 of file sigtype.cpp.
| Type TEXEC |
Definition at line 151 of file sigtype.cpp.
| Type TGUI |
Definition at line 156 of file sigtype.cpp.
Referenced by infereSigType().
| Type TGUI01 |
Definition at line 157 of file sigtype.cpp.
Referenced by infereSigType().
| Type TINIT |
Definition at line 150 of file sigtype.cpp.
| Type TINPUT |
Definition at line 155 of file sigtype.cpp.
Referenced by infereSigType().
| Type TINT |
Definition at line 142 of file sigtype.cpp.
| Type TKONST |
Definition at line 145 of file sigtype.cpp.
| Type TREAL |
Definition at line 143 of file sigtype.cpp.
| Type TREC |
Definition at line 163 of file sigtype.cpp.
Referenced by initialRecType().
| Type TSAMP |
Definition at line 147 of file sigtype.cpp.
1.8.7