SaurabhJha added a comment.

In D106005#2895716 <https://reviews.llvm.org/D106005#2895716>, @fhahn wrote:

> Thank you very much for working on this! Are you planning on implementing the 
> new specification as well? It would probably be good to land the update to 
> the spec in close succession to the implementation, to avoid confusing users.

Yes, that's my plan. Once this is in, I will start working on the 
implementation right away.



================
Comment at: clang/docs/MatrixTypes.rst:279
+The number of constituent arrays must equal the number rows in the matrix type 
M and the number of elements
+in each constituent array must equal the number of columns in the matrix type.
+
----------------
fhahn wrote:
> SaurabhJha wrote:
> > rjmccall wrote:
> > > This is contradicted by your first example.  I think you want to say 
> > > something like
> > > 
> > > > A value of matrix type `M` can be initialized with an initializer list:
> > > >
> > > > (examples)
> > > >
> > > > If the initializer list is empty, all elements of the matrix are 
> > > > zero-initialized.  Otherwise, the initializer list must consist of 
> > > > `M::rows` initializer lists, each of which must consist of `M::columns` 
> > > > expressions, each of which is used to initialize the corresponding 
> > > > element of the matrix (that is, `m[i][j]` is initialized by the `j`th 
> > > > expression of the `i`th initializer list in the initializer).  Element 
> > > > designators are not allowed.
> > > 
> > > That's assuming you want to allow `{}`, but I think that's probably a 
> > > good idea.  At the very least, you already have to define how objects of 
> > > static storage duration are zero-initialized, and having a way to do that 
> > > explicitly always seems wise to me.
> > That sounds great @rjmccall, thanks for your suggestions.
> > 
> > I think I got confused between whether to allow `{}` but as you suggested, 
> > I think we should.
> That looks good, thanks! 
> 
> Another thing to consider is whether we would like to provide a convenient 
> syntax to initialise all elements with an user-specified value, i.e. should 
> we allow something like `m = {99};`, which would broadcast 99 to all elements 
> of the matrix?
That sounds good. Do we have a way to infer the number of rows and columns for 
a matrix object `m` so that we could broadcast correctly? I will amend the docs 
later today.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D106005/new/

https://reviews.llvm.org/D106005

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to