@@ -537,11 +537,11 @@ int fdiff_adjoint_periodic(float *outimagefull, const float *inimageXfull, const
537537 return 0 ;
538538}
539539
540- int fdiff4D (nb::ndarray< float > imagefull,
541- nb::ndarray< float > gradCfull,
542- nb::ndarray< float > gradZfull,
543- nb::ndarray< float > gradYfull,
544- nb::ndarray< float > gradXfull,
540+ int fdiff4D (DataFloat imagefull,
541+ DataFloat gradCfull,
542+ DataFloat gradZfull,
543+ DataFloat gradYfull,
544+ DataFloat gradXfull,
545545 size_t nc, size_t nz, size_t ny, size_t nx,
546546 int boundary, int direction,
547547 int nThreads)
@@ -553,25 +553,25 @@ int fdiff_adjoint_periodic(float *outimagefull, const float *inimageXfull, const
553553 if (boundary)
554554 {
555555 if (direction)
556- status = fdiff_direct_periodic (imagefull.data (), gradXfull.data (), gradYfull.data (), gradZfull.data (), gradCfull.data (), nx, ny, nz, nc);
556+ status = fdiff_direct_periodic (imagefull.data (), gradXfull.mutable_data (), gradYfull.mutable_data (), gradZfull.mutable_data (), gradCfull.mutable_data (), nx, ny, nz, nc);
557557 else
558- status = fdiff_adjoint_periodic (imagefull.data (), gradXfull.data (), gradYfull.data (), gradZfull.data (), gradCfull.data (), nx, ny, nz, nc);
558+ status = fdiff_adjoint_periodic (imagefull.mutable_data (), gradXfull.data (), gradYfull.data (), gradZfull.data (), gradCfull.data (), nx, ny, nz, nc);
559559 }
560560 else
561561 {
562562 if (direction)
563- status = fdiff_direct_neumann (imagefull.data (), gradXfull.data (), gradYfull.data (), gradZfull.data (), gradCfull.data (), nx, ny, nz, nc);
563+ status = fdiff_direct_neumann (imagefull.data (), gradXfull.mutable_data (), gradYfull.mutable_data (), gradZfull.mutable_data (), gradCfull.mutable_data (), nx, ny, nz, nc);
564564 else
565- status = fdiff_adjoint_neumann (imagefull.data (), gradXfull.data (), gradYfull.data (), gradZfull.data (), gradCfull.data (), nx, ny, nz, nc);
565+ status = fdiff_adjoint_neumann (imagefull.mutable_data (), gradXfull.data (), gradYfull.data (), gradZfull.data (), gradCfull.data (), nx, ny, nz, nc);
566566 }
567567
568568 omp_set_num_threads (nThreads_initial);
569569 return status;
570570}
571- int fdiff3D (nb::ndarray< float > imagefull,
572- nb::ndarray< float > gradZfull,
573- nb::ndarray< float > gradYfull,
574- nb::ndarray< float > gradXfull,
571+ int fdiff3D (DataFloat imagefull,
572+ DataFloat gradZfull,
573+ DataFloat gradYfull,
574+ DataFloat gradXfull,
575575 size_t nz, size_t ny, size_t nx,
576576 int boundary, int direction,
577577 int nThreads)
@@ -583,24 +583,24 @@ int fdiff3D(nb::ndarray<float> imagefull,
583583 if (boundary)
584584 {
585585 if (direction)
586- status = fdiff_direct_periodic (imagefull.data (), gradXfull.data (), gradYfull.data (), gradZfull.data (), NULL , nx, ny, nz, 1 );
586+ status = fdiff_direct_periodic (imagefull.data (), gradXfull.mutable_data (), gradYfull.mutable_data (), gradZfull.mutable_data (), NULL , nx, ny, nz, 1 );
587587 else
588- status = fdiff_adjoint_periodic (imagefull.data (), gradXfull.data (), gradYfull.data (), gradZfull.data (), NULL , nx, ny, nz, 1 );
588+ status = fdiff_adjoint_periodic (imagefull.mutable_data (), gradXfull.data (), gradYfull.data (), gradZfull.data (), NULL , nx, ny, nz, 1 );
589589 }
590590 else
591591 {
592592 if (direction)
593- status = fdiff_direct_neumann (imagefull.data (), gradXfull.data (), gradYfull.data (), gradZfull.data (), NULL , nx, ny, nz, 1 );
593+ status = fdiff_direct_neumann (imagefull.data (), gradXfull.mutable_data (), gradYfull.mutable_data (), gradZfull.mutable_data (), NULL , nx, ny, nz, 1 );
594594 else
595- status = fdiff_adjoint_neumann (imagefull.data (), gradXfull.data (), gradYfull.data (), gradZfull.data (), NULL , nx, ny, nz, 1 );
595+ status = fdiff_adjoint_neumann (imagefull.mutable_data (), gradXfull.data (), gradYfull.data (), gradZfull.data (), NULL , nx, ny, nz, 1 );
596596 }
597597
598598 omp_set_num_threads (nThreads_initial);
599599 return status;
600600}
601- int fdiff2D (nb::ndarray< float > imagefull,
602- nb::ndarray< float > gradYfull,
603- nb::ndarray< float > gradXfull,
601+ int fdiff2D (DataFloat imagefull,
602+ DataFloat gradYfull,
603+ DataFloat gradXfull,
604604 size_t ny, size_t nx,
605605 int boundary, int direction,
606606 int nThreads)
@@ -612,16 +612,16 @@ int fdiff2D(nb::ndarray<float> imagefull,
612612 if (boundary)
613613 {
614614 if (direction)
615- status = fdiff_direct_periodic (imagefull.data (), gradXfull.data (), gradYfull.data (), NULL , NULL , nx, ny, 1 , 1 );
615+ status = fdiff_direct_periodic (imagefull.data (), gradXfull.mutable_data (), gradYfull.mutable_data (), NULL , NULL , nx, ny, 1 , 1 );
616616 else
617- status = fdiff_adjoint_periodic (imagefull.data (), gradXfull.data (), gradYfull.data (), NULL , NULL , nx, ny, 1 , 1 );
617+ status = fdiff_adjoint_periodic (imagefull.mutable_data (), gradXfull.data (), gradYfull.data (), NULL , NULL , nx, ny, 1 , 1 );
618618 }
619619 else
620620 {
621621 if (direction)
622- status = fdiff_direct_neumann (imagefull.data (), gradXfull.data (), gradYfull.data (), NULL , NULL , nx, ny, 1 , 1 );
622+ status = fdiff_direct_neumann (imagefull.data (), gradXfull.mutable_data (), gradYfull.mutable_data (), NULL , NULL , nx, ny, 1 , 1 );
623623 else
624- status = fdiff_adjoint_neumann (imagefull.data (), gradXfull.data (), gradYfull.data (), NULL , NULL , nx, ny, 1 , 1 );
624+ status = fdiff_adjoint_neumann (imagefull.mutable_data (), gradXfull.data (), gradYfull.data (), NULL , NULL , nx, ny, 1 , 1 );
625625 }
626626
627627 omp_set_num_threads (nThreads_initial);
0 commit comments