

%-------------------------------------------------------------------------------
\newpage
\subsection{{\sf GrB\_Scalar} Options}
\label{get_set_scalar}
%-------------------------------------------------------------------------------

\begin{mdframed}[userdefinedwidth=6in]
{\footnotesize
\begin{verbatim}
GrB_Info GrB_get (GrB_Scalar s, GrB_Scalar value, int f) ;
GrB_Info GrB_get (GrB_Scalar s, char *     value, int f) ;
GrB_Info GrB_get (GrB_Scalar s, int32_t *  value, int f) ;
GrB_Info GrB_get (GrB_Scalar s, size_t *   value, int f) ;

GrB_Info GrB_set (GrB_Scalar s, GrB_Scalar value, int f) ;
GrB_Info GrB_set (GrB_Scalar s, char *     value, int f) ;
GrB_Info GrB_set (GrB_Scalar s, int32_t    value, int f) ;
\end{verbatim}
}\end{mdframed}

\noindent
{\small
\begin{tabular}{|l|l|l|p{3in}|}
\hline
\verb'int field'                    & R/W  & C type        & description \\
\hline

\verb'GrB_EL_TYPE_CODE'             & R    & \verb'int32_t'& scalar type \\
\verb'GxB_SPARSITY_STATUS'          & R    & \verb'int32_t'& See Section~\ref{sparsity_status} \\
\verb'GxB_IS_READONLY'              & R    & \verb'int32_t'& true if it has any read-only components \\
\verb'GxB_WILL_WAIT'                & R    & \verb'int32_t'& will \verb'GrB_wait' do anything (Section~\ref{wait_status}) \\ 
\verb'GxB_ISO'                      & R/W  & \verb'int32_t'& iso status (Section~\ref{iso_status}) \\
\hline
\verb'GrB_NAME'                     & R/W  & \verb'char *' & name of the scalar. \\
%                                       This can be set any number of times. \\
\verb'GrB_EL_TYPE_STRING'           & R    & \verb'char *' & name of the type of the scalar. \\
\verb'GxB_JIT_C_NAME'               & R    & \verb'char *' & JIT C name of the type of the scalar. \\
\hline
\end{tabular}
}
\vspace{0.1in}

See Section~\ref{get_set_matrix}; a \verb'GrB_Scalar' is treated as if it were
a 1-by-1 matrix, and is always in column major form.  It is never hypersparse.


