@@ -273,19 +273,34 @@ function BasisMatrix{N,BT,T2}(::Type{T2}, basis::Basis{N,BT}, ::Tensor,
273
273
BasisMatrix {Tensor,val_type} (out_order, vals)
274
274
end
275
275
276
+ # When the user doesn't supply a ABSR, we pick one for them.
277
+ # for x::AbstractMatrix we pick direct
278
+ # for x::TensorX we pick Tensor
279
+ function BasisMatrix {T2} (:: Type{T2} , basis:: Basis , x:: AbstractArray , order= 0 )
280
+ BasisMatrix (T2, basis, Direct (), x, order)
281
+ end
282
+
283
+ function BasisMatrix {T2} (:: Type{T2} , basis:: Basis , x:: TensorX , order= 0 )
284
+ BasisMatrix (T2, basis, Tensor (), x, order)
285
+ end
286
+
276
287
277
288
# method to allow passing types instead of instances of ABSR
278
289
function BasisMatrix {BST<:ABSR,T2} (:: Type{T2} , basis, :: Type{BST} , x, order= 0 )
279
290
BasisMatrix (T2, basis, BST (), x, order)
280
291
end
281
292
282
- # default method without intermediate types
293
+ function BasisMatrix {BST<:ABSR} (basis, :: Type{BST} , x, order= 0 )
294
+ BasisMatrix (basis, BST (), x, order)
295
+ end
296
+
297
+ # method without vals eltypes
283
298
function BasisMatrix {TBM<:ABSR} (basis:: Basis , tbm:: TBM , x, order= 0 )
284
299
BasisMatrix (Void, basis, tbm, x, order)
285
300
end
286
301
287
- function BasisMatrix {BST<:ABSR} (basis, :: Type{BST} , x, order= 0 )
288
- BasisMatrix (basis, BST () , x, order)
302
+ function BasisMatrix (basis:: Basis , x, order= 0 )
303
+ BasisMatrix (Void, basis , x, order)
289
304
end
290
305
291
306
# method without x
0 commit comments