struct __fib_args {
T_Val<unsigned> _n;
};
struct __fib_ress {
T_Ptr<unsigned > _res;
inline void validate() {
_res.get_tval().validate();
}
};
void _tfun_fib(__fib_args const *_args, __fib_ress *_ress) {
inline void __tfun_fib(__fib_args const*, __fib_ress *);
__tfun_fib(_args,_ress);
_ress->validate();
}
#define fib(__n,__res) { \
Continuation<__fib_args, __fib_ress>* __cont = \
new Continuation<__fib_args, __fib_ress>( \
_tfun_fib, new ComputationStateFactory<FastProcess>, \
call_info_default \
); \
__cont->argsp->_n = (__n); \
(__res)->bind(__cont); \
__cont->ressp->_res = (__res); \
prenatal_queue->put_front((GenericContinuation*)__cont); \
}