@@ -346,23 +346,43 @@ TensorBase<T, ST>::fill(Filler const value)
346346 case Filler::ZEROS:
347347 for (Index i = 0 ; i < number_components; ++i) {
348348 auto & entry = (*this )[i];
349+ #if KOKKOS_VERSION > 40799
350+ fill_AD<T>(entry, KokkosKernels::ArithTraits<S>::zero ());
351+ #else
349352 fill_AD<T>(entry, Kokkos::ArithTraits<S>::zero ());
353+ #endif
354+ #if KOKKOS_VERSION > 40799
355+ entry = KokkosKernels::ArithTraits<S>::zero ();
356+ #else
350357 entry = Kokkos::ArithTraits<S>::zero ();
358+ #endif
351359 }
352360 break ;
353361
354362 case Filler::ONES:
355363 for (Index i = 0 ; i < number_components; ++i) {
356364 auto & entry = (*this )[i];
365+ #if KOKKOS_VERSION > 40799
366+ fill_AD<T>(entry, KokkosKernels::ArithTraits<S>::zero ());
367+ #else
357368 fill_AD<T>(entry, Kokkos::ArithTraits<S>::zero ());
369+ #endif
370+ #if KOKKOS_VERSION > 40799
371+ entry = KokkosKernels::ArithTraits<S>::one ();
372+ #else
358373 entry = Kokkos::ArithTraits<S>::one ();
374+ #endif
359375 }
360376 break ;
361377
362378 case Filler::SEQUENCE:
363379 for (Index i = 0 ; i < number_components; ++i) {
364380 auto & entry = (*this )[i];
381+ #if KOKKOS_VERSION > 40799
382+ fill_AD<T>(entry, KokkosKernels::ArithTraits<S>::zero ());
383+ #else
365384 fill_AD<T>(entry, Kokkos::ArithTraits<S>::zero ());
385+ #endif
366386 entry = static_cast <S>(i);
367387 }
368388 break ;
@@ -379,7 +399,11 @@ TensorBase<T, ST>::fill(Filler const value)
379399 KOKKOS_IF_ON_HOST ((
380400 for (Index i = 0 ; i < number_components; ++i) {
381401 auto & entry = (*this )[i];
402+ #if KOKKOS_VERSION > 40799
403+ fill_AD<T>(entry, KokkosKernels::ArithTraits<S>::zero ());
404+ #else
382405 fill_AD<T>(entry, Kokkos::ArithTraits<S>::zero ());
406+ #endif
383407 entry = random<S>();
384408 }
385409 break ;
@@ -392,7 +416,11 @@ TensorBase<T, ST>::fill(Filler const value)
392416 KOKKOS_IF_ON_HOST ((
393417 for (Index i = 0 ; i < number_components; ++i) {
394418 auto & entry = (*this )[i];
419+ #if KOKKOS_VERSION > 40799
420+ fill_AD<T>(entry, KokkosKernels::ArithTraits<S>::zero ());
421+ #else
395422 fill_AD<T>(entry, Kokkos::ArithTraits<S>::zero ());
423+ #endif
396424 entry = random_uniform<S>();
397425 }
398426 break ;
@@ -405,7 +433,11 @@ TensorBase<T, ST>::fill(Filler const value)
405433 KOKKOS_IF_ON_HOST ((
406434 for (Index i = 0 ; i < number_components; ++i) {
407435 auto & entry = (*this )[i];
436+ #if KOKKOS_VERSION > 40799
437+ fill_AD<T>(entry, KokkosKernels::ArithTraits<S>::zero ());
438+ #else
408439 fill_AD<T>(entry, Kokkos::ArithTraits<S>::zero ());
440+ #endif
409441 entry = random_normal<S>();
410442 }
411443 break ;
@@ -438,7 +470,11 @@ TensorBase<T, ST>::fill(T const & s)
438470
439471 for (Index i = 0 ; i < number_components; ++i) {
440472 auto & entry = (*this )[i];
473+ #if KOKKOS_VERSION > 40799
474+ fill_AD<T>(entry, KokkosKernels::ArithTraits<S>::zero ());
475+ #else
441476 fill_AD<T>(entry, Kokkos::ArithTraits<S>::zero ());
477+ #endif
442478 entry = s;
443479 }
444480
0 commit comments