vector cast
| 2324 | struct das_invoke { |
| 2325 | // vector cast |
| 2326 | static __forceinline ResType invoke ( Context * __context__, LineInfo * __lineinfo__, const Block & blk ) { |
| 2327 | using BlockFn = callable < ResType () >; |
| 2328 | if ( blk.aotFunction ) { |
| 2329 | auto fn = (BlockFn *) blk.aotFunction; |
| 2330 | return (*fn) (); |
| 2331 | } else { |
| 2332 | vec4f result = __context__->invoke(blk, nullptr, nullptr,__lineinfo__); |
| 2333 | return cast<ResType>::to(result); |
| 2334 | } |
| 2335 | } |
| 2336 | template <typename ...ArgType> |
| 2337 | static __forceinline ResType invoke ( Context * __context__, LineInfo * __lineinfo__, const Block & blk, ArgType ...arg ) { |
| 2338 | using BlockFn = callable < ResType ( ArgType... ) >; |