MCPcopy Create free account
hub / github.com/clMathLibraries/clFFT / clfftSetLayout

Function clfftSetLayout

src/library/accessors.cpp:599–668  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

597}
598
599clfftStatus clfftSetLayout( clfftPlanHandle plHandle, clfftLayout iLayout, clfftLayout oLayout )
600{
601 FFTRepo& fftRepo = FFTRepo::getInstance( );
602 FFTPlan* fftPlan = NULL;
603 lockRAII* planLock = NULL;
604
605 OPENCL_V( fftRepo.getPlan( plHandle, fftPlan, planLock ), _T( "fftRepo.getPlan failed" ) );
606 scopedLock sLock( *planLock, _T( "clfftSetLayout" ) );
607
608 // Basic error checking on parameter
609 if( ( iLayout >= ENDLAYOUT ) || ( oLayout >= ENDLAYOUT ) )
610 return CLFFT_INVALID_ARG_VALUE;
611
612 // We currently only support a subset of formats
613 switch( iLayout )
614 {
615 case CLFFT_COMPLEX_INTERLEAVED:
616 {
617 if( (oLayout == CLFFT_HERMITIAN_INTERLEAVED) || (oLayout == CLFFT_HERMITIAN_PLANAR) || (oLayout == CLFFT_REAL))
618 return CLFFT_NOTIMPLEMENTED;
619 }
620 break;
621 case CLFFT_COMPLEX_PLANAR:
622 {
623 if( (oLayout == CLFFT_HERMITIAN_INTERLEAVED) || (oLayout == CLFFT_HERMITIAN_PLANAR) || (oLayout == CLFFT_REAL))
624 return CLFFT_NOTIMPLEMENTED;
625 }
626 break;
627 case CLFFT_HERMITIAN_INTERLEAVED:
628 {
629 if(oLayout != CLFFT_REAL) return CLFFT_NOTIMPLEMENTED;
630 }
631 break;
632 case CLFFT_HERMITIAN_PLANAR:
633 {
634 if(oLayout != CLFFT_REAL) return CLFFT_NOTIMPLEMENTED;
635 }
636 break;
637 case CLFFT_REAL:
638 {
639 if((oLayout == CLFFT_REAL) || (oLayout == CLFFT_COMPLEX_INTERLEAVED) || (oLayout == CLFFT_COMPLEX_PLANAR))
640 return CLFFT_NOTIMPLEMENTED;
641 }
642 break;
643 default:
644 return CLFFT_NOTIMPLEMENTED;
645 break;
646 }
647
648 // We currently only support a subset of formats
649 switch( oLayout )
650 {
651 case CLFFT_COMPLEX_PLANAR:
652 case CLFFT_COMPLEX_INTERLEAVED:
653 case CLFFT_HERMITIAN_INTERLEAVED:
654 case CLFFT_HERMITIAN_PLANAR:
655 case CLFFT_REAL:
656 break;

Callers 10

transformFunction · 0.85
runR2C_FFT_WithCallbackFunction · 0.85
TEST_FFunction · 0.85
set_layoutsMethod · 0.85
swap_layoutsMethod · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
clAmdFftSetLayoutFunction · 0.85

Calls 1

getPlanMethod · 0.80

Tested by 3

TEST_FFunction · 0.68
set_layoutsMethod · 0.68
swap_layoutsMethod · 0.68