diff --git a/src/analysis_and_optimization/Mir_utils.ml b/src/analysis_and_optimization/Mir_utils.ml index cbd31094e2..6e1695c941 100644 --- a/src/analysis_and_optimization/Mir_utils.ml +++ b/src/analysis_and_optimization/Mir_utils.ml @@ -52,8 +52,8 @@ let trans_bounds_values (trans : Expr.Typed.t Transformation.t) : bound_values = | Simplex -> {lower= `Lit 0.; upper= `Lit 1.} | PositiveOrdered -> {lower= `Lit 0.; upper= `None} | UnitVector -> {lower= `Lit (-1.); upper= `Lit 1.} - | CholeskyCorr | CholeskyCov | Correlation | Covariance | Ordered | Offset _ - |Multiplier _ | OffsetMultiplier _ | Identity -> + | CholeskyCorr | CholeskyCov | Correlation | Covariance | Ordered | Identity + -> {lower= `None; upper= `None} let chop_dist_name (fname : string) : string Option.t = diff --git a/src/frontend/Ast.ml b/src/frontend/Ast.ml index b1ed952251..eacc6ae990 100644 --- a/src/frontend/Ast.ml +++ b/src/frontend/Ast.ml @@ -158,6 +158,7 @@ type ('e, 's, 'l, 'f) statement = | Block of 's list | VarDecl of { decl_type: 'e Middle.Type.t + ; scale: 'e Scale.t ; transformation: 'e Transformation.t ; identifier: identifier ; initial_value: 'e option @@ -321,15 +322,15 @@ let get_loc_dt (t : untyped_expression Type.t) = let get_loc_tf (t : untyped_expression Transformation.t) = match t with - | Lower e - |Upper e - |LowerUpper (e, _) - |Offset e - |Multiplier e - |OffsetMultiplier (e, _) -> - Some e.emeta.loc.begin_loc + | Lower e | Upper e | LowerUpper (e, _) -> Some e.emeta.loc.begin_loc | _ -> None +let get_loc_scale (s : untyped_expression Scale.t) = + match s with + | Offset e | Multiplier e | OffsetMultiplier (e, _) -> + Some e.emeta.loc.begin_loc + | Native -> None + let get_first_loc (s : untyped_statement) = match s.stmt with | Assignment {assign_lhs; _} -> assign_lhs.lmeta.loc.end_loc @@ -348,10 +349,13 @@ let get_first_loc (s : untyped_statement) = | Tilde {arg; _} -> get_loc_expr arg | Break | Continue | ReturnVoid | Print _ | Reject _ | Skip -> s.smeta.loc.end_loc - | VarDecl {decl_type; transformation; identifier; _} -> ( + | VarDecl {decl_type; scale; transformation; identifier; _} -> ( match get_loc_dt decl_type with | Some loc -> loc | None -> ( match get_loc_tf transformation with | Some loc -> loc - | None -> identifier.id_loc.begin_loc ) ) + | None -> ( + match get_loc_scale scale with + | Some loc -> loc + | None -> identifier.id_loc.begin_loc ) ) ) diff --git a/src/frontend/Ast_to_Mir.ml b/src/frontend/Ast_to_Mir.ml index 4523504ae5..a63f525bf9 100644 --- a/src/frontend/Ast_to_Mir.ml +++ b/src/frontend/Ast_to_Mir.ml @@ -188,8 +188,7 @@ type decl_context = {transform_action: transform_action; dadlevel: UnsizedType.autodifftype} let constraint_forl = function - | Transformation.Identity | Offset _ | Multiplier _ | OffsetMultiplier _ - |Lower _ | Upper _ | LowerUpper _ -> + | Transformation.Identity | Lower _ | Upper _ | LowerUpper _ -> Stmt.Helpers.for_scalar | Ordered | PositiveOrdered | Simplex | UnitVector | CholeskyCorr |CholeskyCov | Correlation | Covariance -> @@ -207,13 +206,8 @@ let same_shape decl_id decl_var id var meta = ; meta } ] let check_transform_shape decl_id decl_var meta = function - | Transformation.Offset e -> same_shape decl_id decl_var "offset" e meta - | Multiplier e -> same_shape decl_id decl_var "multiplier" e meta - | Lower e -> same_shape decl_id decl_var "lower" e meta + | Transformation.Lower e -> same_shape decl_id decl_var "lower" e meta | Upper e -> same_shape decl_id decl_var "upper" e meta - | OffsetMultiplier (e1, e2) -> - same_shape decl_id decl_var "offset" e1 meta - @ same_shape decl_id decl_var "multiplier" e2 meta | LowerUpper (e1, e2) -> same_shape decl_id decl_var "lower" e1 meta @ same_shape decl_id decl_var "upper" e2 meta @@ -221,6 +215,14 @@ let check_transform_shape decl_id decl_var meta = function |PositiveOrdered | Simplex | UnitVector | Identity -> [] +let check_scale_shape decl_id decl_var meta = function + | Scale.Native -> [] + | Offset e -> same_shape decl_id decl_var "offset" e meta + | Multiplier e -> same_shape decl_id decl_var "multiplier" e meta + | OffsetMultiplier (e1, e2) -> + same_shape decl_id decl_var "offset" e1 meta + @ same_shape decl_id decl_var "multiplier" e2 meta + let copy_indices indexed (var : Expr.Typed.t) = if UnsizedType.is_scalar_type var.meta.type_ then var else @@ -236,10 +238,7 @@ let copy_indices indexed (var : Expr.Typed.t) = let extract_transform_args var = function | Transformation.Lower a | Upper a -> [copy_indices var a] - | Offset a -> [copy_indices var a; {a with Expr.Fixed.pattern= Lit (Int, "1")}] - | Multiplier a -> [{a with pattern= Lit (Int, "0")}; copy_indices var a] - | LowerUpper (a1, a2) | OffsetMultiplier (a1, a2) -> - [copy_indices var a1; copy_indices var a2] + | LowerUpper (a1, a2) -> [copy_indices var a1; copy_indices var a2] | Covariance | Correlation | CholeskyCov | CholeskyCorr | Ordered |PositiveOrdered | Simplex | UnitVector | Identity -> [] @@ -269,8 +268,6 @@ let param_size transform sizedtype = match transform with | Transformation.Identity | Lower _ | Upper _ |LowerUpper (_, _) - |Offset _ | Multiplier _ - |OffsetMultiplier (_, _) |Ordered | PositiveOrdered | UnitVector -> sizedtype | Simplex -> @@ -346,8 +343,8 @@ let check_sizedtype name = (ll, Type.Sized st) | Unsized ut -> ([], Unsized ut) -let trans_decl {transform_action; dadlevel} smeta decl_type transform identifier - initial_value = +let trans_decl {transform_action; dadlevel} smeta decl_type transform scale + identifier initial_value = let decl_id = identifier.Ast.name in let rhs = Option.map ~f:trans_expr initial_value in let size_checks, dt = check_sizedtype identifier.name decl_type in @@ -377,6 +374,7 @@ let trans_decl {transform_action; dadlevel} smeta decl_type transform identifier | Constrain | Unconstrain -> Common.FatalError.fatal_error () | Check -> check_transform_shape decl_id decl_var smeta transform + @ check_scale_shape decl_id decl_var smeta scale @ check_decl decl_var dt decl_id transform smeta dadlevel | IgnoreTransform -> [] in size_checks @ (decl :: rhs_assignment) @ constrain_checks @@ -519,9 +517,11 @@ let rec trans_stmt ud_dists (declc : decl_context) (ts : Ast.typed_statement) = [%message "Found function definition statement outside of function block"] | Ast.VarDecl - {decl_type; transformation; identifier; initial_value; is_global= _} -> + {decl_type; scale; transformation; identifier; initial_value; is_global= _} + -> trans_decl declc smeta decl_type (Transformation.map trans_expr transformation) + (Scale.map trans_expr scale) identifier initial_value | Ast.Block stmts -> Block (List.concat_map ~f:trans_stmt stmts) |> swrap | Ast.Profile (name, stmts) -> @@ -636,11 +636,13 @@ let trans_block ud_dists declc block prog = VarDecl { decl_type= Sized type_ ; identifier + ; scale ; transformation ; initial_value ; is_global= true } ; smeta } -> let decl_id = identifier.Ast.name in + let scale = Scale.map trans_expr scale in let transform = Transformation.map trans_expr transformation in let rhs = Option.map ~f:trans_expr initial_value in let size, type_ = @@ -676,6 +678,7 @@ let trans_block ud_dists declc block prog = { out_constrained_st= type_ ; out_unconstrained_st= param_size transform type_ ; out_block= block + ; out_scale= scale ; out_trans= transform } ) in let stmts = if Utils.is_user_ident decl_id then @@ -683,8 +686,10 @@ let trans_block ud_dists declc block prog = match declc.transform_action with | Constrain | Unconstrain -> check_transform_shape decl_id decl_var smeta.loc transform + @ check_scale_shape decl_id decl_var smeta.loc scale | Check -> check_transform_shape decl_id decl_var smeta.loc transform + @ check_scale_shape decl_id decl_var smeta.loc scale @ check_decl decl_var (Sized type_) decl_id transform smeta.loc declc.dadlevel | IgnoreTransform -> [] in diff --git a/src/frontend/Canonicalize.ml b/src/frontend/Canonicalize.ml index e1ad40ea5a..85afa688b7 100644 --- a/src/frontend/Canonicalize.ml +++ b/src/frontend/Canonicalize.ml @@ -155,12 +155,14 @@ let rec parens_stmt ({stmt; smeta} : typed_statement) : typed_statement = match stmt with | VarDecl { decl_type= d + ; scale= s ; transformation= t ; identifier ; initial_value= init ; is_global } -> VarDecl { decl_type= Middle.Type.map no_parens d + ; scale= Middle.Scale.map keep_parens s ; transformation= Middle.Transformation.map keep_parens t ; identifier ; initial_value= Option.map ~f:no_parens init diff --git a/src/frontend/Pretty_printing.ml b/src/frontend/Pretty_printing.ml index bc84acb7f2..e929fa09ad 100644 --- a/src/frontend/Pretty_printing.ml +++ b/src/frontend/Pretty_printing.ml @@ -321,11 +321,6 @@ let pp_transformation ppf = function | Upper e -> Fmt.pf ppf "<@[upper=%a@]>" pp_expression e | LowerUpper (e1, e2) -> Fmt.pf ppf "<@[lower=%a,@ upper=%a@]>" pp_expression e1 pp_expression e2 - | Offset e -> Fmt.pf ppf "<@[offset=%a@]>" pp_expression e - | Multiplier e -> Fmt.pf ppf "<@[multiplier=%a@]>" pp_expression e - | OffsetMultiplier (e1, e2) -> - Fmt.pf ppf "<@[offset=%a,@ multiplier=%a@]>" pp_expression e1 - pp_expression e2 | Ordered -> Fmt.pf ppf "" | PositiveOrdered -> Fmt.pf ppf "" | Simplex -> Fmt.pf ppf "" @@ -335,7 +330,15 @@ let pp_transformation ppf = function | Correlation -> Fmt.pf ppf "" | Covariance -> Fmt.pf ppf "" -let pp_transformed_type ppf (pst, trans) = +let pp_scale ppf = function + | Middle.Scale.Native -> Fmt.pf ppf "" + | Offset e -> Fmt.pf ppf "<@[offset=%a@]>" pp_expression e + | Multiplier e -> Fmt.pf ppf "<@[multiplier=%a@]>" pp_expression e + | OffsetMultiplier (e1, e2) -> + Fmt.pf ppf "<@[offset=%a,@ multiplier=%a@]>" pp_expression e1 + pp_expression e2 + +let pp_transformed_type ppf (pst, trans, scale) = let rec discard_arrays pst = match pst with | Middle.Type.Sized st -> @@ -374,15 +377,15 @@ let pp_transformed_type ppf (pst, trans) = | _ -> Fmt.nop in match trans with | Middle.Transformation.Identity -> - Fmt.pf ppf "%a%a" unsizedtype_fmt () sizes_fmt () - | Lower _ | Upper _ | LowerUpper _ | Offset _ | Multiplier _ - |OffsetMultiplier _ -> - Fmt.pf ppf "%a%a%a" unsizedtype_fmt () pp_transformation trans sizes_fmt - () - | Ordered -> Fmt.pf ppf "ordered%a" sizes_fmt () - | PositiveOrdered -> Fmt.pf ppf "positive_ordered%a" sizes_fmt () - | Simplex -> Fmt.pf ppf "simplex%a" sizes_fmt () - | UnitVector -> Fmt.pf ppf "unit_vector%a" sizes_fmt () + Fmt.pf ppf "%a%a%a" unsizedtype_fmt () pp_scale scale sizes_fmt () + | Lower _ | Upper _ | LowerUpper _ -> + Fmt.pf ppf "%a%a%a%a" unsizedtype_fmt () pp_transformation trans pp_scale + scale sizes_fmt () + | Ordered -> Fmt.pf ppf "ordered%a%a" pp_scale scale sizes_fmt () + | PositiveOrdered -> + Fmt.pf ppf "positive_ordered%a%a" pp_scale scale sizes_fmt () + | Simplex -> Fmt.pf ppf "simplex%a%a" pp_scale scale sizes_fmt () + | UnitVector -> Fmt.pf ppf "unit_vector%a%a" pp_scale scale sizes_fmt () | CholeskyCorr -> Fmt.pf ppf "cholesky_factor_corr%a" cov_sizes_fmt () | CholeskyCov -> Fmt.pf ppf "cholesky_factor_cov%a" cov_sizes_fmt () | Correlation -> Fmt.pf ppf "corr_matrix%a" cov_sizes_fmt () @@ -483,6 +486,7 @@ and pp_statement ppf ({stmt= s_content; smeta= {loc}} as ss : untyped_statement) Fmt.pf ppf "}" | VarDecl { decl_type= pst + ; scale ; transformation= trans ; identifier= id ; initial_value= init @@ -497,7 +501,7 @@ and pp_statement ppf ({stmt= s_content; smeta= {loc}} as ss : untyped_statement) | Unsized _ -> [] in with_hbox ppf (fun () -> Fmt.pf ppf "%a%a %a%a;" pp_array_dims es pp_transformed_type - (pst, trans) pp_identifier id pp_init init ) + (pst, trans, scale) pp_identifier id pp_init init ) | FunDef {returntype= rt; funname= id; arguments= args; body= b} -> ( Fmt.pf ppf "%a %a(" pp_returntype rt pp_identifier id ; let loc_of (_, _, id) = id.id_loc in diff --git a/src/frontend/Semantic_error.ml b/src/frontend/Semantic_error.ml index 134922abb7..d84cf2fc1b 100644 --- a/src/frontend/Semantic_error.ml +++ b/src/frontend/Semantic_error.ml @@ -397,7 +397,7 @@ module StatementError = struct Fmt.pf ppf "Bounds of integer variable must be of type int. Found type real." | ComplexTransform -> - Fmt.pf ppf "Complex types do not support transformations." + Fmt.pf ppf "Complex types do not support bounds or scales." | TransformedParamsInt -> Fmt.pf ppf "(Transformed) Parameters cannot be integers." | MismatchFunDefDecl (name, Some ut) -> diff --git a/src/frontend/Typechecker.ml b/src/frontend/Typechecker.ml index fe7624dc88..75bb699490 100644 --- a/src/frontend/Typechecker.ml +++ b/src/frontend/Typechecker.ml @@ -1117,7 +1117,7 @@ and check_profile loc cf tenv name stmts = mk_typed_statement ~stmt:(Profile (name, stmts)) ~return_type ~loc (* variable declarations *) -and verify_valid_transformation_for_type loc is_global sized_ty trans = +and verify_valid_transformation_for_type loc is_global sized_ty trans scale = let is_real {emeta; _} = emeta.type_ = UReal in let is_real_transformation = match trans with @@ -1127,10 +1127,13 @@ and verify_valid_transformation_for_type loc is_global sized_ty trans = | _ -> false in if is_global && sized_ty = SizedType.SInt && is_real_transformation then Semantic_error.non_int_bounds loc |> error ; - let is_transformation = + let is_transformed = match trans with Transformation.Identity -> false | _ -> true in + let is_scaled = match scale with Scale.Native -> false | _ -> true in if - is_global && SizedType.(inner_type sized_ty = SComplex) && is_transformation + is_global + && SizedType.(inner_type sized_ty = SComplex) + && (is_transformed || is_scaled) then Semantic_error.complex_transform loc |> error and verify_transformed_param_ty loc cf is_global unsized_ty = @@ -1187,10 +1190,6 @@ and check_transformation cf tenv ut trans = | Upper e -> check e "Upper bound" |> Upper | LowerUpper (e1, e2) -> (check e1 "Lower bound", check e2 "Upper bound") |> LowerUpper - | Offset e -> check e "Offset" |> Offset - | Multiplier e -> check e "Multiplier" |> Multiplier - | OffsetMultiplier (e1, e2) -> - (check e1 "Offset", check e2 "Multiplier") |> OffsetMultiplier | Ordered -> Ordered | PositiveOrdered -> PositiveOrdered | Simplex -> Simplex @@ -1200,11 +1199,21 @@ and check_transformation cf tenv ut trans = | Correlation -> Correlation | Covariance -> Covariance -and check_var_decl loc cf tenv sized_ty trans id init is_global = +and check_scaling cf tenv ut scale = + let check e msg = check_expression_of_scalar_or_type cf tenv ut e msg in + match scale with + | Scale.Native -> Scale.Native + | Offset e -> check e "Offset" |> Offset + | Multiplier e -> check e "Multiplier" |> Multiplier + | OffsetMultiplier (e1, e2) -> + (check e1 "Offset", check e2 "Multiplier") |> OffsetMultiplier + +and check_var_decl loc cf tenv sized_ty trans scale id init is_global = let checked_type = check_sizedtype {cf with in_toplevel_decl= is_global} tenv sized_ty in let unsized_type = SizedType.to_unsized checked_type in let checked_trans = check_transformation cf tenv unsized_type trans in + let checked_scale = check_scaling cf tenv unsized_type scale in verify_identifier id ; verify_name_fresh tenv id ~is_udf:false ; let tenv = @@ -1212,12 +1221,14 @@ and check_var_decl loc cf tenv sized_ty trans id init is_global = (`Variable {origin= cf.current_block; global= is_global; readonly= false}) in let tinit = check_var_decl_initial_value loc cf tenv id init in - verify_valid_transformation_for_type loc is_global checked_type checked_trans ; + verify_valid_transformation_for_type loc is_global checked_type checked_trans + checked_scale ; verify_transformed_param_ty loc cf is_global unsized_type ; let stmt = VarDecl { decl_type= Sized checked_type ; transformation= checked_trans + ; scale= checked_scale ; identifier= id ; initial_value= tinit ; is_global } in @@ -1394,10 +1405,14 @@ and check_statement (cf : context_flags_record) (tenv : Env.t) [%message "Don't support unsized declarations yet."] (* these two are special in that they're allowed to change the type environment *) | VarDecl - {decl_type= Sized st; transformation; identifier; initial_value; is_global} - -> - check_var_decl loc cf tenv st transformation identifier initial_value - is_global + { decl_type= Sized st + ; transformation + ; scale + ; identifier + ; initial_value + ; is_global } -> + check_var_decl loc cf tenv st transformation scale identifier + initial_value is_global | FunDef {returntype; funname; arguments; body} -> check_fundef loc cf tenv returntype funname arguments body diff --git a/src/frontend/parser.messages b/src/frontend/parser.messages index 934fb90f32..4660d46756 100644 --- a/src/frontend/parser.messages +++ b/src/frontend/parser.messages @@ -12,7 +12,7 @@ Expected "functions {" or "data {" or "transformed data {" or "parameters {" or program: DATABLOCK LBRACE CHOLESKYFACTORCORR LBRACK REALNUMERAL WHILE ## -## Ends in an error in state: 671. +## Ends in an error in state: 685. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -68,7 +68,7 @@ Expected "[" expression "]" for size of cholesky_factor_corr. program: DATABLOCK LBRACE CHOLESKYFACTORCORR LBRACK TRUNCATE TILDE ## -## Ends in an error in state: 673. +## Ends in an error in state: 687. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -130,7 +130,7 @@ Expected "[" expression "]" for size of cholesky_factor_corr. program: DATABLOCK LBRACE CHOLESKYFACTORCORR LBRACK WHILE ## -## Ends in an error in state: 670. +## Ends in an error in state: 684. ## ## top_var_type -> CHOLESKYFACTORCORR LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CHOLESKYFACTORCORR LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -143,7 +143,7 @@ Expected "[" expression "]" for size of cholesky_factor_corr. program: DATABLOCK LBRACE CHOLESKYFACTORCORR WHILE ## -## Ends in an error in state: 669. +## Ends in an error in state: 683. ## ## top_var_type -> CHOLESKYFACTORCORR . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CHOLESKYFACTORCORR . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -156,7 +156,7 @@ Expected "[" expression "]" for size of cholesky_factor_corr. program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK REALNUMERAL WHILE ## -## Ends in an error in state: 660. +## Ends in an error in state: 674. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -212,7 +212,7 @@ Expected "[" expression "]" or "[" expression "," expression "]" for size of cho program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK TRUNCATE COMMA REALNUMERAL WHILE ## -## Ends in an error in state: 662. +## Ends in an error in state: 676. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -268,7 +268,7 @@ Expected comma separated list of expressions. Ill-formed expression. program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK TRUNCATE COMMA TRUNCATE TILDE ## -## Ends in an error in state: 663. +## Ends in an error in state: 677. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -330,7 +330,7 @@ Expected comma separated list of expressions. Ill-formed expression. program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK TRUNCATE COMMA WHILE ## -## Ends in an error in state: 661. +## Ends in an error in state: 675. ## ## option(pair(COMMA,expression)) -> COMMA . lhs [ RBRACK ] ## option(pair(COMMA,expression)) -> COMMA . non_lhs [ RBRACK ] @@ -343,7 +343,7 @@ Expected comma separated list of expressions. Ill-formed expression. program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK TRUNCATE TILDE ## -## Ends in an error in state: 666. +## Ends in an error in state: 680. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -405,7 +405,7 @@ Expected "[" expression "]" or "[" expression "," expression "]" for size of cho program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK WHILE ## -## Ends in an error in state: 659. +## Ends in an error in state: 673. ## ## top_var_type -> CHOLESKYFACTORCOV LBRACK . lhs option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CHOLESKYFACTORCOV LBRACK . non_lhs option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -418,7 +418,7 @@ Expected "[" expression "]" or "[" expression "," expression "]" for size of cho program: DATABLOCK LBRACE CHOLESKYFACTORCOV WHILE ## -## Ends in an error in state: 658. +## Ends in an error in state: 672. ## ## top_var_type -> CHOLESKYFACTORCOV . LBRACK lhs option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CHOLESKYFACTORCOV . LBRACK non_lhs option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -431,7 +431,7 @@ Expected "[" expression "]" or "[" expression "," expression "]" for size of cho program: DATABLOCK LBRACE CORRMATRIX LBRACK REALNUMERAL WHILE ## -## Ends in an error in state: 652. +## Ends in an error in state: 666. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -487,7 +487,7 @@ Expected "[" expression "]" for size of corr_matrix. program: DATABLOCK LBRACE CORRMATRIX LBRACK TRUNCATE TILDE ## -## Ends in an error in state: 654. +## Ends in an error in state: 668. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -549,7 +549,7 @@ Expected "[" expression "]" for size of corr_matrix. program: DATABLOCK LBRACE CORRMATRIX LBRACK WHILE ## -## Ends in an error in state: 651. +## Ends in an error in state: 665. ## ## top_var_type -> CORRMATRIX LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CORRMATRIX LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -562,7 +562,7 @@ Expected "[" expression "]" for size of corr_matrix. program: DATABLOCK LBRACE CORRMATRIX WHILE ## -## Ends in an error in state: 650. +## Ends in an error in state: 664. ## ## top_var_type -> CORRMATRIX . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CORRMATRIX . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -575,7 +575,7 @@ Expected "[" expression "]" for size of corr_matrix. program: DATABLOCK LBRACE COVMATRIX LBRACK REALNUMERAL WHILE ## -## Ends in an error in state: 646. +## Ends in an error in state: 660. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -631,7 +631,7 @@ Expected "[" expression "]" for size of cov_matrix. program: DATABLOCK LBRACE COVMATRIX LBRACK TRUNCATE TILDE ## -## Ends in an error in state: 648. +## Ends in an error in state: 662. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -693,7 +693,7 @@ Expected "[" expression "]" for size of cov_matrix. program: DATABLOCK LBRACE COVMATRIX LBRACK WHILE ## -## Ends in an error in state: 645. +## Ends in an error in state: 659. ## ## top_var_type -> COVMATRIX LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> COVMATRIX LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -706,7 +706,7 @@ Expected "[" expression "]" for size of cov_matrix. program: DATABLOCK LBRACE COVMATRIX WHILE ## -## Ends in an error in state: 644. +## Ends in an error in state: 658. ## ## top_var_type -> COVMATRIX . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> COVMATRIX . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -719,9 +719,9 @@ Expected "[" expression "]" for size of cov_matrix. program: DATABLOCK LBRACE INT LABRACK WHILE ## -## Ends in an error in state: 642. +## Ends in an error in state: 654. ## -## range_constraint -> LABRACK . range RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## type_constraint -> LABRACK . range RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: ## LABRACK @@ -731,9 +731,9 @@ Expected "lower = " expression or "upper = " expression for integer bounds. program: DATABLOCK LBRACE INT LBRACE ## -## Ends in an error in state: 641. +## Ends in an error in state: 653. ## -## top_var_type -> INT . range_constraint [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> INT . type_constraint [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: ## INT @@ -741,24 +741,9 @@ program: DATABLOCK LBRACE INT LBRACE Expected range constraint or identifier as part of top-level variable declaration. -program: DATABLOCK LBRACE MATRIX LABRACK MULTIPLIER ASSIGN IDENTIFIER RABRACK WHILE -## -## Ends in an error in state: 627. -## -## top_var_type -> MATRIX type_constraint . LBRACK lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> MATRIX type_constraint . LBRACK lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> MATRIX type_constraint . LBRACK non_lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> MATRIX type_constraint . LBRACK non_lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## MATRIX type_constraint -## - -Expected "[" expression "," expression "]" for matrix sizes as part of top-level variable declaration. - program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA REALNUMERAL WHILE ## -## Ends in an error in state: 631. +## Ends in an error in state: 643. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -804,17 +789,17 @@ program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> MATRIX type_constraint LBRACK non_lhs COMMA non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK non_lhs COMMA non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## MATRIX type_constraint LBRACK non_lhs COMMA non_lhs +## MATRIX type_constraint_and_scale LBRACK non_lhs COMMA non_lhs ## Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA TRUNCATE TILDE ## -## Ends in an error in state: 633. +## Ends in an error in state: 645. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -860,10 +845,10 @@ program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> MATRIX type_constraint LBRACK non_lhs COMMA lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK non_lhs COMMA lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## MATRIX type_constraint LBRACK non_lhs COMMA lhs +## MATRIX type_constraint_and_scale LBRACK non_lhs COMMA lhs ## ## WARNING: This example involves spurious reductions. ## This implies that, although the LR(1) items shown above provide an @@ -876,20 +861,20 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA WHILE ## -## Ends in an error in state: 630. +## Ends in an error in state: 642. ## -## top_var_type -> MATRIX type_constraint LBRACK non_lhs COMMA . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> MATRIX type_constraint LBRACK non_lhs COMMA . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK non_lhs COMMA . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK non_lhs COMMA . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## MATRIX type_constraint LBRACK non_lhs COMMA +## MATRIX type_constraint_and_scale LBRACK non_lhs COMMA ## Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL WHILE ## -## Ends in an error in state: 629. +## Ends in an error in state: 641. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -935,11 +920,11 @@ program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] -## top_var_type -> MATRIX type_constraint LBRACK non_lhs . COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> MATRIX type_constraint LBRACK non_lhs . COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK non_lhs . COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK non_lhs . COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## MATRIX type_constraint LBRACK non_lhs +## MATRIX type_constraint_and_scale LBRACK non_lhs ## @@ -947,7 +932,7 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA REALNUMERAL WHILE ## -## Ends in an error in state: 637. +## Ends in an error in state: 649. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -993,17 +978,17 @@ program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> MATRIX type_constraint LBRACK lhs COMMA non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK lhs COMMA non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## MATRIX type_constraint LBRACK lhs COMMA non_lhs +## MATRIX type_constraint_and_scale LBRACK lhs COMMA non_lhs ## Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA TRUNCATE TILDE ## -## Ends in an error in state: 639. +## Ends in an error in state: 651. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1049,10 +1034,10 @@ program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> MATRIX type_constraint LBRACK lhs COMMA lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK lhs COMMA lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## MATRIX type_constraint LBRACK lhs COMMA lhs +## MATRIX type_constraint_and_scale LBRACK lhs COMMA lhs ## ## WARNING: This example involves spurious reductions. ## This implies that, although the LR(1) items shown above provide an @@ -1065,20 +1050,20 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA WHILE ## -## Ends in an error in state: 636. +## Ends in an error in state: 648. ## -## top_var_type -> MATRIX type_constraint LBRACK lhs COMMA . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> MATRIX type_constraint LBRACK lhs COMMA . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK lhs COMMA . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK lhs COMMA . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## MATRIX type_constraint LBRACK lhs COMMA +## MATRIX type_constraint_and_scale LBRACK lhs COMMA ## Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE TILDE ## -## Ends in an error in state: 635. +## Ends in an error in state: 647. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -1124,11 +1109,11 @@ program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] -## top_var_type -> MATRIX type_constraint LBRACK lhs . COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> MATRIX type_constraint LBRACK lhs . COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK lhs . COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK lhs . COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## MATRIX type_constraint LBRACK lhs +## MATRIX type_constraint_and_scale LBRACK lhs ## ## WARNING: This example involves spurious reductions. ## This implies that, although the LR(1) items shown above provide an @@ -1141,37 +1126,46 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK WHILE ## -## Ends in an error in state: 628. +## Ends in an error in state: 640. ## -## top_var_type -> MATRIX type_constraint LBRACK . lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> MATRIX type_constraint LBRACK . lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> MATRIX type_constraint LBRACK . non_lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> MATRIX type_constraint LBRACK . non_lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK . lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK . lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK . non_lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale LBRACK . non_lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## MATRIX type_constraint LBRACK +## MATRIX type_constraint_and_scale LBRACK ## Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX WHILE ## -## Ends in an error in state: 626. +## Ends in an error in state: 639. ## -## top_var_type -> MATRIX . type_constraint LBRACK lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> MATRIX . type_constraint LBRACK lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> MATRIX . type_constraint LBRACK non_lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> MATRIX . type_constraint LBRACK non_lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale . LBRACK lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale . LBRACK lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale . LBRACK non_lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint_and_scale . LBRACK non_lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## MATRIX +## MATRIX type_constraint_and_scale +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 638, spurious reduction of production type_constraint_and_scale -> ## -Expected "[" expression "," expression "]" for sizes of matrix. +Expected (optional) constraints followed by "[" expression "," expression "]" for matrix size. +program: DATABLOCK LBRACE ORDERED LBRACK WHILE +program: DATABLOCK LBRACE ORDERED WHILE +program: DATABLOCK LBRACE ORDERED LBRACK TRUNCATE TILDE program: DATABLOCK LBRACE ORDERED LBRACK REALNUMERAL WHILE ## -## Ends in an error in state: 622. +## Ends in an error in state: 634. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1217,105 +1211,20 @@ program: DATABLOCK LBRACE ORDERED LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> ORDERED LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## ORDERED LBRACK non_lhs -## - -Expected "[" expression "]" for size of ordered. - -program: DATABLOCK LBRACE ORDERED LBRACK TRUNCATE TILDE -## -## Ends in an error in state: 624. -## -## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> ORDERED LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> ORDERED type_scale LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## ORDERED LBRACK lhs -## -## WARNING: This example involves spurious reductions. -## This implies that, although the LR(1) items shown above provide an -## accurate view of the past (what has been recognized so far), they -## may provide an INCOMPLETE view of the future (what was expected next). -## In state 120, spurious reduction of production lhs -> identifier -## - -Expected "[" expression "]" for size of ordered. - -program: DATABLOCK LBRACE ORDERED LBRACK WHILE -## -## Ends in an error in state: 621. -## -## top_var_type -> ORDERED LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> ORDERED LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## ORDERED LBRACK -## - -Expected "[" expression "]" for size of ordered. - -program: DATABLOCK LBRACE ORDERED WHILE -## -## Ends in an error in state: 620. -## -## top_var_type -> ORDERED . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> ORDERED . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## ORDERED +## ORDERED type_scale LBRACK non_lhs ## Expected "[" expression "]" for size of ordered. +program: DATABLOCK LBRACE POSITIVEORDERED LBRACK TRUNCATE TILDE +program: DATABLOCK LBRACE POSITIVEORDERED LBRACK WHILE +program: DATABLOCK LBRACE POSITIVEORDERED WHILE program: DATABLOCK LBRACE POSITIVEORDERED LBRACK REALNUMERAL WHILE ## -## Ends in an error in state: 616. +## Ends in an error in state: 627. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1361,105 +1270,17 @@ program: DATABLOCK LBRACE POSITIVEORDERED LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> POSITIVEORDERED LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> POSITIVEORDERED type_scale LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## POSITIVEORDERED LBRACK non_lhs -## - -Expected "[" expression "]" for size of positive_ordered. - -program: DATABLOCK LBRACE POSITIVEORDERED LBRACK TRUNCATE TILDE -## -## Ends in an error in state: 618. -## -## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> POSITIVEORDERED LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## POSITIVEORDERED LBRACK lhs -## -## WARNING: This example involves spurious reductions. -## This implies that, although the LR(1) items shown above provide an -## accurate view of the past (what has been recognized so far), they -## may provide an INCOMPLETE view of the future (what was expected next). -## In state 120, spurious reduction of production lhs -> identifier -## - -Expected "[" expression "]" for size of positive_ordered. - -program: DATABLOCK LBRACE POSITIVEORDERED LBRACK WHILE -## -## Ends in an error in state: 615. -## -## top_var_type -> POSITIVEORDERED LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> POSITIVEORDERED LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## POSITIVEORDERED LBRACK -## - -Expected "[" expression "]" for size of positive_ordered. - -program: DATABLOCK LBRACE POSITIVEORDERED WHILE -## -## Ends in an error in state: 614. -## -## top_var_type -> POSITIVEORDERED . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> POSITIVEORDERED . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## POSITIVEORDERED +## POSITIVEORDERED type_scale LBRACK non_lhs ## Expected "[" expression "]" for size of positive_ordered. program: DATABLOCK LBRACE RBRACE WHILE ## -## Ends in an error in state: 701. +## Ends in an error in state: 715. ## ## program -> option(function_block) option(data_block) . option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) option(model_block) option(generated_quantities_block) EOF [ # ] ## @@ -1471,7 +1292,7 @@ Expected "transformed data {" or "parameters {" or "transformed parameters {" or program: DATABLOCK LBRACE REAL IDENTIFIER SEMICOLON WHILE ## -## Ends in an error in state: 691. +## Ends in an error in state: 705. ## ## list(top_var_decl_no_assign) -> top_var_decl_no_assign . list(top_var_decl_no_assign) [ RBRACE ] ## @@ -1483,7 +1304,7 @@ Only top-level variable declarations allowed in data and parameters blocks. program: DATABLOCK LBRACE REAL TRUNCATE WHILE ## -## Ends in an error in state: 687. +## Ends in an error in state: 701. ## ## decl(top_var_type,no_assign) -> top_var_type decl_identifier . dims optional_assignment(no_assign) SEMICOLON [ VECTOR UPPER UNITVECTOR TRUNCATE SIMPLEX SEMICOLON ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED OFFSET MULTIPLIER MATRIX LOWER INT IDENTIFIER COVMATRIX CORRMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] ## id_and_optional_assignment(no_assign) -> decl_identifier . optional_assignment(no_assign) [ SEMICOLON COMMA ] @@ -1494,34 +1315,9 @@ program: DATABLOCK LBRACE REAL TRUNCATE WHILE ";" is expected after a top-level variable declaration. -program: DATABLOCK LBRACE REAL LBRACE -## -## Ends in an error in state: 612. -## -## top_var_type -> REAL . type_constraint [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## REAL -## - -Identifier expected after type in top-level variable declaration. - -program: DATABLOCK LBRACE ROWVECTOR LABRACK MULTIPLIER ASSIGN IDENTIFIER RABRACK WHILE -## -## Ends in an error in state: 606. -## -## top_var_type -> ROWVECTOR type_constraint . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> ROWVECTOR type_constraint . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## ROWVECTOR type_constraint -## - -Expected identifier as part of top-level variable declaration. - program: DATABLOCK LBRACE ROWVECTOR LBRACK REALNUMERAL WHILE ## -## Ends in an error in state: 608. +## Ends in an error in state: 618. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1567,17 +1363,17 @@ program: DATABLOCK LBRACE ROWVECTOR LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> ROWVECTOR type_constraint LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> ROWVECTOR type_constraint_and_scale LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## ROWVECTOR type_constraint LBRACK non_lhs +## ROWVECTOR type_constraint_and_scale LBRACK non_lhs ## Expected "[" expression "]" for size declaration of row_vector. program: DATABLOCK LBRACE ROWVECTOR LBRACK TRUNCATE TILDE ## -## Ends in an error in state: 610. +## Ends in an error in state: 620. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1623,10 +1419,10 @@ program: DATABLOCK LBRACE ROWVECTOR LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> ROWVECTOR type_constraint LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> ROWVECTOR type_constraint_and_scale LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## ROWVECTOR type_constraint LBRACK lhs +## ROWVECTOR type_constraint_and_scale LBRACK lhs ## ## WARNING: This example involves spurious reductions. ## This implies that, although the LR(1) items shown above provide an @@ -1639,33 +1435,42 @@ Expected "[" expression "]" for size declaration of row_vector. program: DATABLOCK LBRACE ROWVECTOR LBRACK WHILE ## -## Ends in an error in state: 607. +## Ends in an error in state: 617. ## -## top_var_type -> ROWVECTOR type_constraint LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> ROWVECTOR type_constraint LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> ROWVECTOR type_constraint_and_scale LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> ROWVECTOR type_constraint_and_scale LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## ROWVECTOR type_constraint LBRACK +## ROWVECTOR type_constraint_and_scale LBRACK ## Expected "[" expression "]" for size declaration of row_vector. program: DATABLOCK LBRACE ROWVECTOR WHILE ## -## Ends in an error in state: 605. +## Ends in an error in state: 616. ## -## top_var_type -> ROWVECTOR . type_constraint LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> ROWVECTOR . type_constraint LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> ROWVECTOR type_constraint_and_scale . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> ROWVECTOR type_constraint_and_scale . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## ROWVECTOR +## ROWVECTOR type_constraint_and_scale +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 615, spurious reduction of production type_constraint_and_scale -> ## Expected "[" expression "]" for size declaration of row_vector. +program: DATABLOCK LBRACE SIMPLEX LBRACK TRUNCATE TILDE +program: DATABLOCK LBRACE SIMPLEX LBRACK WHILE +program: DATABLOCK LBRACE SIMPLEX WHILE program: DATABLOCK LBRACE SIMPLEX LBRACK REALNUMERAL WHILE ## -## Ends in an error in state: 600. +## Ends in an error in state: 610. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1711,105 +1516,20 @@ program: DATABLOCK LBRACE SIMPLEX LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> SIMPLEX LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> SIMPLEX type_scale LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## SIMPLEX LBRACK non_lhs +## SIMPLEX type_scale LBRACK non_lhs ## -Expected "[" expression "]" for size declaration of simplex. - -program: DATABLOCK LBRACE SIMPLEX LBRACK TRUNCATE TILDE -## -## Ends in an error in state: 602. -## -## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> SIMPLEX LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## SIMPLEX LBRACK lhs -## -## WARNING: This example involves spurious reductions. -## This implies that, although the LR(1) items shown above provide an -## accurate view of the past (what has been recognized so far), they -## may provide an INCOMPLETE view of the future (what was expected next). -## In state 120, spurious reduction of production lhs -> identifier -## - -Expected "[" expression "]" for size declaration of simplex. - -program: DATABLOCK LBRACE SIMPLEX LBRACK WHILE -## -## Ends in an error in state: 599. -## -## top_var_type -> SIMPLEX LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> SIMPLEX LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## SIMPLEX LBRACK -## - -Expected "[" expression "]" for size declaration of simplex. - -program: DATABLOCK LBRACE SIMPLEX WHILE -## -## Ends in an error in state: 598. -## -## top_var_type -> SIMPLEX . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> SIMPLEX . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## SIMPLEX -## - -Expected "[" expression "]" for size declaration of simplex. +Expected "[" expression "]" for size of simplex. +program: DATABLOCK LBRACE UNITVECTOR LBRACK TRUNCATE TILDE +program: DATABLOCK LBRACE UNITVECTOR LBRACK WHILE +program: DATABLOCK LBRACE UNITVECTOR WHILE program: DATABLOCK LBRACE UNITVECTOR LBRACK REALNUMERAL WHILE ## -## Ends in an error in state: 594. +## Ends in an error in state: 603. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1855,101 +1575,13 @@ program: DATABLOCK LBRACE UNITVECTOR LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> UNITVECTOR LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> UNITVECTOR type_scale LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## UNITVECTOR LBRACK non_lhs +## UNITVECTOR type_scale LBRACK non_lhs ## -Expected "[" expression "]" for size declaration of unit_vector. - -program: DATABLOCK LBRACE UNITVECTOR LBRACK TRUNCATE TILDE -## -## Ends in an error in state: 596. -## -## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> UNITVECTOR LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## UNITVECTOR LBRACK lhs -## -## WARNING: This example involves spurious reductions. -## This implies that, although the LR(1) items shown above provide an -## accurate view of the past (what has been recognized so far), they -## may provide an INCOMPLETE view of the future (what was expected next). -## In state 120, spurious reduction of production lhs -> identifier -## - -Expected "[" expression "]" for size declaration of unit_vector. - -program: DATABLOCK LBRACE UNITVECTOR LBRACK WHILE -## -## Ends in an error in state: 593. -## -## top_var_type -> UNITVECTOR LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> UNITVECTOR LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## UNITVECTOR LBRACK -## - -Expected "[" expression "]" for size declaration of unit_vector. - -program: DATABLOCK LBRACE UNITVECTOR WHILE -## -## Ends in an error in state: 592. -## -## top_var_type -> UNITVECTOR . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> UNITVECTOR . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## UNITVECTOR -## - -Expected "[" expression "]" for size declaration of unit_vector. +Expected "[" expression "]" for size of unit_vector. program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN REALNUMERAL WHILE ## @@ -2074,21 +1706,21 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN REALNUMERAL WHILE ## ## Ends in an error in state: 576. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## range -> LOWER ASSIGN constr_expression . COMMA UPPER ASSIGN constr_expression [ RABRACK ] -## range -> LOWER ASSIGN constr_expression . [ RABRACK ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## range -> LOWER ASSIGN constr_expression . COMMA UPPER ASSIGN constr_expression [ UNREACHABLE RABRACK ] +## range -> LOWER ASSIGN constr_expression . [ UNREACHABLE RABRACK ] ## ## The known suffix of the stack is as follows: ## LOWER ASSIGN constr_expression @@ -2100,20 +1732,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN TRUNCATE COMMA UPPER ASSIG ## ## Ends in an error in state: 580. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## range -> LOWER ASSIGN constr_expression COMMA UPPER ASSIGN constr_expression . [ RABRACK ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## range -> LOWER ASSIGN constr_expression COMMA UPPER ASSIGN constr_expression . [ UNREACHABLE RABRACK ] ## ## The known suffix of the stack is as follows: ## LOWER ASSIGN constr_expression COMMA UPPER ASSIGN constr_expression @@ -2131,7 +1763,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN TRUNCATE COMMA UPPER ASSIG ## ## Ends in an error in state: 579. ## -## range -> LOWER ASSIGN constr_expression COMMA UPPER ASSIGN . constr_expression [ RABRACK ] +## range -> LOWER ASSIGN constr_expression COMMA UPPER ASSIGN . constr_expression [ UNREACHABLE RABRACK ] ## ## The known suffix of the stack is as follows: ## LOWER ASSIGN constr_expression COMMA UPPER ASSIGN @@ -2143,7 +1775,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN TRUNCATE COMMA UPPER WHILE ## ## Ends in an error in state: 578. ## -## range -> LOWER ASSIGN constr_expression COMMA UPPER . ASSIGN constr_expression [ RABRACK ] +## range -> LOWER ASSIGN constr_expression COMMA UPPER . ASSIGN constr_expression [ UNREACHABLE RABRACK ] ## ## The known suffix of the stack is as follows: ## LOWER ASSIGN constr_expression COMMA UPPER @@ -2155,7 +1787,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN TRUNCATE COMMA WHILE ## ## Ends in an error in state: 577. ## -## range -> LOWER ASSIGN constr_expression COMMA . UPPER ASSIGN constr_expression [ RABRACK ] +## range -> LOWER ASSIGN constr_expression COMMA . UPPER ASSIGN constr_expression [ UNREACHABLE RABRACK ] ## ## The known suffix of the stack is as follows: ## LOWER ASSIGN constr_expression COMMA @@ -2167,8 +1799,8 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN WHILE ## ## Ends in an error in state: 575. ## -## range -> LOWER ASSIGN . constr_expression COMMA UPPER ASSIGN constr_expression [ RABRACK ] -## range -> LOWER ASSIGN . constr_expression [ RABRACK ] +## range -> LOWER ASSIGN . constr_expression COMMA UPPER ASSIGN constr_expression [ UNREACHABLE RABRACK ] +## range -> LOWER ASSIGN . constr_expression [ UNREACHABLE RABRACK ] ## ## The known suffix of the stack is as follows: ## LOWER ASSIGN @@ -2180,8 +1812,8 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER WHILE ## ## Ends in an error in state: 574. ## -## range -> LOWER . ASSIGN constr_expression COMMA UPPER ASSIGN constr_expression [ RABRACK ] -## range -> LOWER . ASSIGN constr_expression [ RABRACK ] +## range -> LOWER . ASSIGN constr_expression COMMA UPPER ASSIGN constr_expression [ UNREACHABLE RABRACK ] +## range -> LOWER . ASSIGN constr_expression [ UNREACHABLE RABRACK ] ## ## The known suffix of the stack is as follows: ## LOWER @@ -2189,18 +1821,25 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER WHILE Expected "=" expression (not containing binary logical operators), after "lower". -program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN IDENTIFIER RABRACK WHILE +program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN ARRAY RABRACK LABRACK WHILE +program: DATABLOCK LBRACE VECTOR WHILE ## -## Ends in an error in state: 585. +## Ends in an error in state: 591. ## -## top_var_type -> VECTOR type_constraint . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> VECTOR type_constraint . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> VECTOR type_constraint_and_scale . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> VECTOR type_constraint_and_scale . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## VECTOR type_constraint +## VECTOR type_constraint_and_scale +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 517, spurious reduction of production type_constraint_and_scale -> ## -Expected "[" expression "]" for vector size. +Expected (optional) constraint followed by "[" expression "]" for vector size. program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN WHILE ## @@ -2232,20 +1871,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN BANG REALNUMERAL WHILE ## ## Ends in an error in state: 525. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> BANG constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> BANG constr_expression . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## BANG constr_expression @@ -2257,7 +1896,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN BANG WHILE ## ## Ends in an error in state: 523. ## -## constr_expression -> BANG . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> BANG . constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## BANG @@ -2269,20 +1908,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN MINUS REALNUMERAL WHILE ## ## Ends in an error in state: 535. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> MINUS constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> MINUS constr_expression . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## MINUS constr_expression @@ -2294,7 +1933,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN MINUS WHILE ## ## Ends in an error in state: 522. ## -## constr_expression -> MINUS . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> MINUS . constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## MINUS @@ -2306,20 +1945,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN PLUS REALNUMERAL WHILE ## ## Ends in an error in state: 536. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> PLUS constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> PLUS constr_expression . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## PLUS constr_expression @@ -2331,7 +1970,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN PLUS WHILE ## ## Ends in an error in state: 521. ## -## constr_expression -> PLUS . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> PLUS . constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## PLUS @@ -2343,20 +1982,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE DIVIDE REALNUMERA ## ## Ends in an error in state: 553. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression DIVIDE constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression DIVIDE constr_expression . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression DIVIDE constr_expression @@ -2368,7 +2007,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE DIVIDE WHILE ## ## Ends in an error in state: 552. ## -## constr_expression -> constr_expression DIVIDE . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression DIVIDE . constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression DIVIDE @@ -2380,20 +2019,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE ELTDIVIDE REALNUM ## ## Ends in an error in state: 551. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression ELTDIVIDE constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression ELTDIVIDE constr_expression . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression ELTDIVIDE constr_expression @@ -2405,7 +2044,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE ELTDIVIDE WHILE ## ## Ends in an error in state: 550. ## -## constr_expression -> constr_expression ELTDIVIDE . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression ELTDIVIDE . constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression ELTDIVIDE @@ -2417,20 +2056,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE ELTTIMES REALNUME ## ## Ends in an error in state: 549. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression ELTTIMES constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression ELTTIMES constr_expression . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression ELTTIMES constr_expression @@ -2442,7 +2081,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE ELTTIMES WHILE ## ## Ends in an error in state: 548. ## -## constr_expression -> constr_expression ELTTIMES . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression ELTTIMES . constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression ELTTIMES @@ -2454,20 +2093,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE HAT REALNUMERAL W ## ## Ends in an error in state: 531. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression HAT constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression HAT constr_expression . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression HAT constr_expression @@ -2479,7 +2118,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE HAT WHILE ## ## Ends in an error in state: 530. ## -## constr_expression -> constr_expression HAT . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression HAT . constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression HAT @@ -2491,7 +2130,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE LBRACK WHILE ## ## Ends in an error in state: 527. ## -## constr_expression -> constr_expression LBRACK . indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression LBRACK . indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression LBRACK @@ -2503,20 +2142,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE LDIVIDE REALNUMER ## ## Ends in an error in state: 541. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression LDIVIDE constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression LDIVIDE constr_expression . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression LDIVIDE constr_expression @@ -2528,7 +2167,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE LDIVIDE WHILE ## ## Ends in an error in state: 540. ## -## constr_expression -> constr_expression LDIVIDE . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression LDIVIDE . constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression LDIVIDE @@ -2540,20 +2179,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE MINUS REALNUMERAL ## ## Ends in an error in state: 555. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression MINUS constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression MINUS constr_expression . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression MINUS constr_expression @@ -2565,7 +2204,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE MINUS WHILE ## ## Ends in an error in state: 554. ## -## constr_expression -> constr_expression MINUS . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression MINUS . constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression MINUS @@ -2577,20 +2216,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE MODULO REALNUMERA ## ## Ends in an error in state: 547. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression MODULO constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression MODULO constr_expression . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression MODULO constr_expression @@ -2602,7 +2241,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE MODULO WHILE ## ## Ends in an error in state: 546. ## -## constr_expression -> constr_expression MODULO . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression MODULO . constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression MODULO @@ -2614,20 +2253,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE PLUS REALNUMERAL ## ## Ends in an error in state: 545. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression PLUS constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression PLUS constr_expression . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression PLUS constr_expression @@ -2639,7 +2278,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE PLUS WHILE ## ## Ends in an error in state: 544. ## -## constr_expression -> constr_expression PLUS . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression PLUS . constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression PLUS @@ -2651,20 +2290,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE TIMES REALNUMERAL ## ## Ends in an error in state: 539. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression TIMES constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression TIMES constr_expression . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression TIMES constr_expression @@ -2676,7 +2315,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE TIMES WHILE ## ## Ends in an error in state: 538. ## -## constr_expression -> constr_expression TIMES . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression TIMES . constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression TIMES @@ -2688,10 +2327,10 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE WHILE ## ## Ends in an error in state: 524. ## -## common_expression -> identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## common_expression -> identifier . LPAREN lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## common_expression -> identifier . LPAREN non_lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> identifier . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## common_expression -> identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## common_expression -> identifier . LPAREN lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## common_expression -> identifier . LPAREN non_lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> identifier . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## identifier @@ -2703,8 +2342,8 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN WHILE ## ## Ends in an error in state: 520. ## -## range -> UPPER ASSIGN . constr_expression COMMA LOWER ASSIGN constr_expression [ RABRACK ] -## range -> UPPER ASSIGN . constr_expression [ RABRACK ] +## range -> UPPER ASSIGN . constr_expression COMMA LOWER ASSIGN constr_expression [ UNREACHABLE RABRACK ] +## range -> UPPER ASSIGN . constr_expression [ UNREACHABLE RABRACK ] ## ## The known suffix of the stack is as follows: ## UPPER ASSIGN @@ -2716,8 +2355,8 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER WHILE ## ## Ends in an error in state: 519. ## -## range -> UPPER . ASSIGN constr_expression COMMA LOWER ASSIGN constr_expression [ RABRACK ] -## range -> UPPER . ASSIGN constr_expression [ RABRACK ] +## range -> UPPER . ASSIGN constr_expression COMMA LOWER ASSIGN constr_expression [ UNREACHABLE RABRACK ] +## range -> UPPER . ASSIGN constr_expression [ UNREACHABLE RABRACK ] ## ## The known suffix of the stack is as follows: ## UPPER @@ -2729,8 +2368,10 @@ program: DATABLOCK LBRACE VECTOR LABRACK WHILE ## ## Ends in an error in state: 518. ## -## range_constraint -> LABRACK . range RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER LBRACK INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## type_constraint -> LABRACK . offset_mult RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER LBRACK INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## type_constraint_and_scale -> LABRACK . offset_mult RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER LBRACK INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## type_constraint_and_scale -> LABRACK . range RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER LBRACK INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## type_constraint_and_scale -> LABRACK . range RABRACK LABRACK offset_mult RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER LBRACK INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## type_constraint_and_scale -> LABRACK . offset_mult RABRACK LABRACK range UNREACHABLE [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER LBRACK INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: ## LABRACK @@ -2740,7 +2381,7 @@ We expect to see "lower =", "upper =", "offset =" or "multiplier =" followed by program: DATABLOCK LBRACE VECTOR LBRACK INTNUMERAL RBRACK HAT ## -## Ends in an error in state: 675. +## Ends in an error in state: 689. ## ## decl(top_var_type,no_assign) -> top_var_type . decl_identifier dims optional_assignment(no_assign) SEMICOLON [ VECTOR UPPER UNITVECTOR TRUNCATE SIMPLEX SEMICOLON ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED OFFSET MULTIPLIER MATRIX LOWER INT IDENTIFIER COVMATRIX CORRMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] ## decl(top_var_type,no_assign) -> top_var_type . separated_nonempty_list(COMMA,id_and_optional_assignment(no_assign)) SEMICOLON [ VECTOR UPPER UNITVECTOR TRUNCATE SIMPLEX SEMICOLON ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED OFFSET MULTIPLIER MATRIX LOWER INT IDENTIFIER COVMATRIX CORRMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] @@ -2751,9 +2392,10 @@ program: DATABLOCK LBRACE VECTOR LBRACK INTNUMERAL RBRACK HAT We expect to see an identifier after a sized type. +program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN ARRAY RABRACK LABRACK WHILE program: DATABLOCK LBRACE VECTOR LBRACK REALNUMERAL WHILE ## -## Ends in an error in state: 587. +## Ends in an error in state: 593. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -2799,17 +2441,17 @@ program: DATABLOCK LBRACE VECTOR LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> VECTOR type_constraint LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> VECTOR type_constraint_and_scale LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## VECTOR type_constraint LBRACK non_lhs +## VECTOR type_constraint_and_scale LBRACK non_lhs ## "[" expression "]" expected for vector size. program: DATABLOCK LBRACE VECTOR LBRACK TRUNCATE TILDE ## -## Ends in an error in state: 589. +## Ends in an error in state: 595. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -2855,10 +2497,10 @@ program: DATABLOCK LBRACE VECTOR LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] -## top_var_type -> VECTOR type_constraint LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> VECTOR type_constraint_and_scale LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## VECTOR type_constraint LBRACK lhs +## VECTOR type_constraint_and_scale LBRACK lhs ## ## WARNING: This example involves spurious reductions. ## This implies that, although the LR(1) items shown above provide an @@ -2871,26 +2513,13 @@ program: DATABLOCK LBRACE VECTOR LBRACK TRUNCATE TILDE program: DATABLOCK LBRACE VECTOR LBRACK WHILE ## -## Ends in an error in state: 586. -## -## top_var_type -> VECTOR type_constraint LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> VECTOR type_constraint LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## -## The known suffix of the stack is as follows: -## VECTOR type_constraint LBRACK -## - -"[" expression "]" expected for vector size. - -program: DATABLOCK LBRACE VECTOR WHILE -## -## Ends in an error in state: 517. +## Ends in an error in state: 592. ## -## top_var_type -> VECTOR . type_constraint LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] -## top_var_type -> VECTOR . type_constraint LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> VECTOR type_constraint_and_scale LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> VECTOR type_constraint_and_scale LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: -## VECTOR +## VECTOR type_constraint_and_scale LBRACK ## "[" expression "]" expected for vector size. @@ -3092,7 +2721,7 @@ program: FUNCTIONBLOCK WHILE program: GENERATEDQUANTITIESBLOCK LBRACE RBRACE ELTTIMESASSIGN ## -## Ends in an error in state: 745. +## Ends in an error in state: 759. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) option(model_block) option(generated_quantities_block) . EOF [ # ] ## @@ -3104,7 +2733,7 @@ Expected end of file after end of generated quantities block. program: GENERATEDQUANTITIESBLOCK LBRACE VOID ## -## Ends in an error in state: 742. +## Ends in an error in state: 756. ## ## generated_quantities_block -> GENERATEDQUANTITIESBLOCK LBRACE . list(top_vardecl_or_statement) RBRACE [ EOF ] ## @@ -3116,7 +2745,7 @@ Variable declaration or statement or "}" expected in generated quantities block. program: GENERATEDQUANTITIESBLOCK WHILE ## -## Ends in an error in state: 741. +## Ends in an error in state: 755. ## ## generated_quantities_block -> GENERATEDQUANTITIESBLOCK . LBRACE list(top_vardecl_or_statement) RBRACE [ EOF ] ## @@ -3540,7 +3169,7 @@ program: MODELBLOCK LBRACE MATRIX WHILE program: MODELBLOCK LBRACE RBRACE ELTTIMESASSIGN ## -## Ends in an error in state: 740. +## Ends in an error in state: 754. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) option(model_block) . option(generated_quantities_block) EOF [ # ] ## @@ -4040,7 +3669,7 @@ program: MODELBLOCK LBRACE VECTOR WHILE program: MODELBLOCK LBRACE VOID ## -## Ends in an error in state: 737. +## Ends in an error in state: 751. ## ## model_block -> MODELBLOCK LBRACE . list(vardecl_or_statement) RBRACE [ GENERATEDQUANTITIESBLOCK EOF ] ## @@ -4052,7 +3681,7 @@ Variable declaration, statement or "}" expected. program: MODELBLOCK WHILE ## -## Ends in an error in state: 736. +## Ends in an error in state: 750. ## ## model_block -> MODELBLOCK . LBRACE list(vardecl_or_statement) RBRACE [ GENERATEDQUANTITIESBLOCK EOF ] ## @@ -4064,7 +3693,7 @@ Expected "{" after "model". program: PARAMETERSBLOCK LBRACE RBRACE ELTTIMESASSIGN ## -## Ends in an error in state: 729. +## Ends in an error in state: 743. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) option(parameters_block) . option(transformed_parameters_block) option(model_block) option(generated_quantities_block) EOF [ # ] ## @@ -4076,7 +3705,7 @@ program: PARAMETERSBLOCK LBRACE RBRACE ELTTIMESASSIGN program: PARAMETERSBLOCK LBRACE WHILE ## -## Ends in an error in state: 725. +## Ends in an error in state: 739. ## ## parameters_block -> PARAMETERSBLOCK LBRACE . list(top_var_decl_no_assign) RBRACE [ TRANSFORMEDPARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -4088,7 +3717,7 @@ Expected top-level variable declaration or "}". program: PARAMETERSBLOCK WHILE ## -## Ends in an error in state: 724. +## Ends in an error in state: 738. ## ## parameters_block -> PARAMETERSBLOCK . LBRACE list(top_var_decl_no_assign) RBRACE [ TRANSFORMEDPARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -4775,7 +4404,7 @@ program: TRANSFORMEDDATABLOCK LBRACE GETLP LPAREN WHILE ## ## Ends in an error in state: 85. ## -## common_expression -> GETLP LPAREN . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> GETLP LPAREN . RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## GETLP LPAREN @@ -4787,7 +4416,7 @@ program: TRANSFORMEDDATABLOCK LBRACE GETLP WHILE ## ## Ends in an error in state: 84. ## -## common_expression -> GETLP . LPAREN RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> GETLP . LPAREN RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## GETLP @@ -5409,7 +5038,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACK TRUNCATE RPAREN ## ## Ends in an error in state: 265. ## -## common_expression -> LBRACK loption(separated_nonempty_list(COMMA,expression)) . RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> LBRACK loption(separated_nonempty_list(COMMA,expression)) . RBRACK [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## LBRACK loption(separated_nonempty_list(COMMA,expression)) @@ -5492,7 +5121,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACK WHILE ## ## Ends in an error in state: 80. ## -## common_expression -> LBRACK . loption(separated_nonempty_list(COMMA,expression)) RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> LBRACK . loption(separated_nonempty_list(COMMA,expression)) RBRACK [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## LBRACK @@ -5504,7 +5133,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LPAREN REALNUMERAL WHILE ## ## Ends in an error in state: 267. ## -## common_expression -> LPAREN non_lhs . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> LPAREN non_lhs . RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -5560,7 +5189,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LPAREN TRUNCATE TILDE ## ## Ends in an error in state: 269. ## -## common_expression -> LPAREN lhs . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> LPAREN lhs . RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -5622,8 +5251,8 @@ program: TRANSFORMEDDATABLOCK LBRACE LPAREN WHILE ## ## Ends in an error in state: 79. ## -## common_expression -> LPAREN . lhs RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] -## common_expression -> LPAREN . non_lhs RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> LPAREN . lhs RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> LPAREN . non_lhs RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## LPAREN @@ -5932,7 +5561,7 @@ Expected "(" followed by a comma-separated list of expressions or strings follow program: TRANSFORMEDDATABLOCK LBRACE RBRACE ELTTIMESASSIGN ## -## Ends in an error in state: 723. +## Ends in an error in state: 737. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) . option(parameters_block) option(transformed_parameters_block) option(model_block) option(generated_quantities_block) EOF [ # ] ## @@ -5944,7 +5573,7 @@ Expected "parameters {", "transformed parameters {", "model {", "generated quant program: TRANSFORMEDDATABLOCK LBRACE REAL TRUNCATE WHILE ## -## Ends in an error in state: 708. +## Ends in an error in state: 722. ## ## decl(top_var_type,expression) -> top_var_type decl_identifier . dims optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## id_and_optional_assignment(expression) -> decl_identifier . optional_assignment(expression) [ SEMICOLON COMMA ] @@ -6939,7 +6568,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN LBRACE TRUNCATE RPAREN ## ## Ends in an error in state: 263. ## -## common_expression -> LBRACE separated_nonempty_list(COMMA,expression) . RBRACE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> LBRACE separated_nonempty_list(COMMA,expression) . RBRACE [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## LBRACE separated_nonempty_list(COMMA,expression) @@ -6958,7 +6587,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN LBRACE WHILE ## ## Ends in an error in state: 81. ## -## common_expression -> LBRACE . separated_nonempty_list(COMMA,expression) RBRACE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> LBRACE . separated_nonempty_list(COMMA,expression) RBRACE [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## LBRACE @@ -7026,7 +6655,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN TARGET WHILE ## ## Ends in an error in state: 73. ## -## common_expression -> TARGET . LPAREN RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> TARGET . LPAREN RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## TARGET @@ -7038,7 +6667,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN TRUNCATE LPAREN TRUNCATE COMMA IDENT ## ## Ends in an error in state: 236. ## -## common_expression -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) @@ -7059,9 +6688,9 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN TRUNCATE LPAREN WHILE ## ## Ends in an error in state: 121. ## -## common_expression -> identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] -## common_expression -> identifier LPAREN . lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] -## common_expression -> identifier LPAREN . non_lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> identifier LPAREN . lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> identifier LPAREN . non_lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## identifier LPAREN @@ -7164,7 +6793,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TARGET LPAREN WHILE ## ## Ends in an error in state: 74. ## -## common_expression -> TARGET LPAREN . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> TARGET LPAREN . RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## TARGET LPAREN @@ -7963,7 +7592,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN REALNUMERAL BAR TRUNCATE RB ## ## Ends in an error in state: 234. ## -## common_expression -> identifier LPAREN non_lhs BAR loption(separated_nonempty_list(COMMA,expression)) . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> identifier LPAREN non_lhs BAR loption(separated_nonempty_list(COMMA,expression)) . RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## identifier LPAREN non_lhs BAR loption(separated_nonempty_list(COMMA,expression)) @@ -7983,7 +7612,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN REALNUMERAL BAR WHILE ## ## Ends in an error in state: 233. ## -## common_expression -> identifier LPAREN non_lhs BAR . loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> identifier LPAREN non_lhs BAR . loption(separated_nonempty_list(COMMA,expression)) RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## identifier LPAREN non_lhs BAR @@ -7995,7 +7624,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN REALNUMERAL WHILE ## ## Ends in an error in state: 123. ## -## common_expression -> identifier LPAREN non_lhs . BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> identifier LPAREN non_lhs . BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA BAR AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA BAR AND ] ## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA BAR AND ] @@ -8066,7 +7695,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN TRUNCATE BAR TRUNCATE RBRAC ## ## Ends in an error in state: 240. ## -## common_expression -> identifier LPAREN lhs BAR loption(separated_nonempty_list(COMMA,expression)) . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> identifier LPAREN lhs BAR loption(separated_nonempty_list(COMMA,expression)) . RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## identifier LPAREN lhs BAR loption(separated_nonempty_list(COMMA,expression)) @@ -8086,7 +7715,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN TRUNCATE BAR WHILE ## ## Ends in an error in state: 239. ## -## common_expression -> identifier LPAREN lhs BAR . loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> identifier LPAREN lhs BAR . loption(separated_nonempty_list(COMMA,expression)) RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: ## identifier LPAREN lhs BAR @@ -8120,7 +7749,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN TRUNCATE TILDE ## ## Ends in an error in state: 238. ## -## common_expression -> identifier LPAREN lhs . BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## common_expression -> identifier LPAREN lhs . BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ UNREACHABLE TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA BAR AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA BAR AND ] ## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA BAR AND ] @@ -8459,7 +8088,7 @@ Ill-formed expression. Found L-value "+=". Expect an expression followed by ";" program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE RBRACE ## -## Ends in an error in state: 715. +## Ends in an error in state: 729. ## ## atomic_statement -> lhs . ASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## atomic_statement -> lhs . ASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8765,7 +8394,7 @@ Ill-formed statement or expression. A statement or expression could be expected program: TRANSFORMEDDATABLOCK LBRACE VECTOR LBRACK INTNUMERAL RBRACK HAT ## -## Ends in an error in state: 705. +## Ends in an error in state: 719. ## ## decl(top_var_type,expression) -> top_var_type . decl_identifier dims optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## decl(top_var_type,expression) -> top_var_type . separated_nonempty_list(COMMA,id_and_optional_assignment(expression)) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8778,7 +8407,7 @@ Ill-formed top-level variable declaration. Expect an identifier next. program: TRANSFORMEDDATABLOCK LBRACE VOID ## -## Ends in an error in state: 703. +## Ends in an error in state: 717. ## ## transformed_data_block -> TRANSFORMEDDATABLOCK LBRACE . list(top_vardecl_or_statement) RBRACE [ TRANSFORMEDPARAMETERSBLOCK PARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -8958,7 +8587,7 @@ After "while", we expect "(" expression ")" statement. program: TRANSFORMEDDATABLOCK WHILE ## -## Ends in an error in state: 702. +## Ends in an error in state: 716. ## ## transformed_data_block -> TRANSFORMEDDATABLOCK . LBRACE list(top_vardecl_or_statement) RBRACE [ TRANSFORMEDPARAMETERSBLOCK PARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -8970,7 +8599,7 @@ We expect "{" after "transformed data". program: TRANSFORMEDPARAMETERSBLOCK LBRACE RBRACE ELTTIMESASSIGN ## -## Ends in an error in state: 735. +## Ends in an error in state: 749. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) . option(model_block) option(generated_quantities_block) EOF [ # ] ## @@ -8982,7 +8611,7 @@ program: TRANSFORMEDPARAMETERSBLOCK LBRACE RBRACE ELTTIMESASSIGN program: TRANSFORMEDPARAMETERSBLOCK LBRACE VOID ## -## Ends in an error in state: 731. +## Ends in an error in state: 745. ## ## transformed_parameters_block -> TRANSFORMEDPARAMETERSBLOCK LBRACE . list(top_vardecl_or_statement) RBRACE [ MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -8994,7 +8623,7 @@ Expect a statement or top-level variable declaration. program: TRANSFORMEDPARAMETERSBLOCK WHILE ## -## Ends in an error in state: 730. +## Ends in an error in state: 744. ## ## transformed_parameters_block -> TRANSFORMEDPARAMETERSBLOCK . LBRACE list(top_vardecl_or_statement) RBRACE [ MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -9018,7 +8647,7 @@ Expected ";" or assignment. program: DATABLOCK LBRACE REAL TRUNCATE LBRACK IDENTIFIER RBRACK WHILE ## -## Ends in an error in state: 688. +## Ends in an error in state: 702. ## ## decl(top_var_type,no_assign) -> top_var_type decl_identifier dims . optional_assignment(no_assign) SEMICOLON [ VECTOR UPPER UNITVECTOR TRUNCATE SIMPLEX SEMICOLON ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED OFFSET MULTIPLIER MATRIX LOWER INT IDENTIFIER COVMATRIX CORRMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] ## @@ -9030,7 +8659,7 @@ Expected ";". program: TRANSFORMEDDATABLOCK LBRACE REAL TRUNCATE LBRACK IDENTIFIER RBRACK ARROWASSIGN ## -## Ends in an error in state: 709. +## Ends in an error in state: 723. ## ## decl(top_var_type,expression) -> top_var_type decl_identifier dims . optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## @@ -9040,25 +8669,28 @@ program: TRANSFORMEDDATABLOCK LBRACE REAL TRUNCATE LBRACK IDENTIFIER RBRACK ARRO Expected ";" or assignment. +program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN ARRAY UNREACHABLE +program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE COMMA WHILE +program: DATABLOCK LBRACE INT LABRACK UPPER ASSIGN ARRAY UNREACHABLE program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN REALNUMERAL WHILE ## ## Ends in an error in state: 537. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## range -> UPPER ASSIGN constr_expression . COMMA LOWER ASSIGN constr_expression [ RABRACK ] -## range -> UPPER ASSIGN constr_expression . [ RABRACK ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## range -> UPPER ASSIGN constr_expression . COMMA LOWER ASSIGN constr_expression [ UNREACHABLE RABRACK ] +## range -> UPPER ASSIGN constr_expression . [ UNREACHABLE RABRACK ] ## ## The known suffix of the stack is as follows: ## UPPER ASSIGN constr_expression @@ -9066,23 +8698,11 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN REALNUMERAL WHILE '>' or lower expression expected after upper expression. -program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE COMMA WHILE -## -## Ends in an error in state: 556. -## -## range -> UPPER ASSIGN constr_expression COMMA . LOWER ASSIGN constr_expression [ RABRACK ] -## -## The known suffix of the stack is as follows: -## UPPER ASSIGN constr_expression COMMA -## - -'>' or lower expression expected after upper expression. - program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE COMMA LOWER WHILE ## ## Ends in an error in state: 557. ## -## range -> UPPER ASSIGN constr_expression COMMA LOWER . ASSIGN constr_expression [ RABRACK ] +## range -> UPPER ASSIGN constr_expression COMMA LOWER . ASSIGN constr_expression [ UNREACHABLE RABRACK ] ## ## The known suffix of the stack is as follows: ## UPPER ASSIGN constr_expression COMMA LOWER @@ -9094,7 +8714,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE COMMA LOWER ASSIG ## ## Ends in an error in state: 558. ## -## range -> UPPER ASSIGN constr_expression COMMA LOWER ASSIGN . constr_expression [ RABRACK ] +## range -> UPPER ASSIGN constr_expression COMMA LOWER ASSIGN . constr_expression [ UNREACHABLE RABRACK ] ## ## The known suffix of the stack is as follows: ## UPPER ASSIGN constr_expression COMMA LOWER ASSIGN @@ -9106,20 +8726,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE COMMA LOWER ASSIG ## ## Ends in an error in state: 559. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] -## range -> UPPER ASSIGN constr_expression COMMA LOWER ASSIGN constr_expression . [ RABRACK ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] +## range -> UPPER ASSIGN constr_expression COMMA LOWER ASSIGN constr_expression . [ UNREACHABLE RABRACK ] ## ## The known suffix of the stack is as follows: ## UPPER ASSIGN constr_expression COMMA LOWER ASSIGN constr_expression @@ -9244,20 +8864,20 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN UPPER ELTPOW REALNUMERAL W ## ## Ends in an error in state: 533. ## -## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression ELTPOW constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] -## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . PLUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression ELTPOW constr_expression . [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ UNREACHABLE TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## ## The known suffix of the stack is as follows: ## constr_expression ELTPOW constr_expression @@ -9284,7 +8904,7 @@ not program: FUNCTIONBLOCK LBRACE ARRAY WHILE program: DATABLOCK LBRACE ARRAY WHILE ## -## Ends in an error in state: 693. +## Ends in an error in state: 707. ## ## decl(top_var_type,no_assign) -> lhs . top_var_type separated_nonempty_list(COMMA,id_and_optional_assignment(no_assign)) SEMICOLON [ VECTOR UPPER UNITVECTOR TRUNCATE SIMPLEX SEMICOLON ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED OFFSET MULTIPLIER MATRIX LOWER INT IDENTIFIER COVMATRIX CORRMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] ## lhs -> lhs . LBRACK indexes RBRACK [ VECTOR UNITVECTOR SIMPLEX ROWVECTOR REAL POSITIVEORDERED ORDERED MATRIX LBRACK INT COVMATRIX CORRMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ] @@ -9318,7 +8938,7 @@ program: DATABLOCK LBRACE REAL UPPER ASSIGN WHILE program: DATABLOCK LBRACE REAL UPPER ASSIGN UNREACHABLE WHILE program: DATABLOCK LBRACE REAL UPPER LBRACK IDENTIFIER RBRACK ASSIGN UNREACHABLE WHILE ## -## Ends in an error in state: 689. +## Ends in an error in state: 703. ## ## decl(top_var_type,no_assign) -> top_var_type decl_identifier dims optional_assignment(no_assign) . SEMICOLON [ VECTOR UPPER UNITVECTOR TRUNCATE SIMPLEX SEMICOLON ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED OFFSET MULTIPLIER MATRIX LOWER INT IDENTIFIER COVMATRIX CORRMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] ## @@ -9506,19 +9126,36 @@ program: TRANSFORMEDDATABLOCK LBRACE PROFILE LPAREN STRINGLITERAL RPAREN LBRACE Ill-formed phrase. "{" should be followed by a statement, variable declaration or expression. - -program: DATABLOCK LBRACE COMPLEX UNREACHABLE +program: DATABLOCK LBRACE ORDERED LABRACK WHILE ## -## Ends in an error in state: 656. +## Ends in an error in state: 598. ## -## top_var_type -> COMPLEX . type_constraint [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## type_scale -> LABRACK . offset_mult RABRACK [ LBRACK ] ## ## The known suffix of the stack is as follows: -## COMPLEX +## LABRACK ## -Expected identifier as part of top-level variable declaration. +Expected "offset = " expression or "multiplier = " expression for constrained type scale. + +program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN ARRAY RABRACK LABRACK UPPER ASSIGN ARRAY RABRACK +## +## Ends in an error in state: 589. +## +## type_constraint_and_scale -> LABRACK offset_mult RABRACK LABRACK range . UNREACHABLE [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER LBRACK INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## +## The known suffix of the stack is as follows: +## LABRACK offset_mult RABRACK LABRACK range +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 524, spurious reduction of production constr_expression -> identifier +## In state 537, spurious reduction of production range -> UPPER ASSIGN constr_expression +## +Lower or upper bounds must come before scaling in a type constraint. functions_only: WHILE ## diff --git a/src/frontend/parser.mly b/src/frontend/parser.mly index d4fce160ae..0348ae6aed 100644 --- a/src/frontend/parser.mly +++ b/src/frontend/parser.mly @@ -70,6 +70,8 @@ let nest_unsized_array basic_type n = %nonassoc below_ELSE %nonassoc ELSE +(* error handling *) +%on_error_reduce type_constraint_and_scale type_scale (* Top level rule *) %start program functions_only %% @@ -295,15 +297,16 @@ decl(type_rule, rhs): *) | ty=type_rule id=decl_identifier dims=dims rhs_opt=optional_assignment(rhs) SEMICOLON - { (fun ~is_global -> + { let typ, trans, scale = ty in + (fun ~is_global -> [{ stmt= - VarDecl { - decl_type= Sized (reducearray (fst ty, dims)) - ; transformation= snd ty - ; identifier= id - ; initial_value= rhs_opt - ; is_global - } + VarDecl { decl_type= Sized (reducearray (typ, dims)) + ; scale + ; transformation= trans + ; identifier= id + ; initial_value= rhs_opt + ; is_global + } ; smeta= { loc= Location_span.of_positions_exn $loc } @@ -322,7 +325,8 @@ decl(type_rule, rhs): keyword. *) | dims_opt=ioption(lhs) ty=type_rule vs=separated_nonempty_list(COMMA, id_and_optional_assignment(rhs)) SEMICOLON - { (fun ~is_global -> + { let typ, trans, scale = ty in + (fun ~is_global -> let int_ix ix = match ix with | Single e -> Some e | _ -> None @@ -350,13 +354,13 @@ decl(type_rule, rhs): in List.map vs ~f:(fun (id, rhs_opt) -> { stmt= - VarDecl { - decl_type= Sized (reducearray (fst ty, dims)) - ; transformation= snd ty - ; identifier= id - ; initial_value= rhs_opt - ; is_global - } + VarDecl { decl_type= Sized (reducearray (typ, dims)) + ; scale + ; transformation= trans + ; identifier= id + ; initial_value= rhs_opt + ; is_global + } ; smeta= { loc= (* From the docs: @@ -410,66 +414,88 @@ top_var_decl_no_assign: sized_basic_type: | INT - { grammar_logger "INT_var_type" ; (SizedType.SInt, Identity) } + { grammar_logger "INT_var_type" ; (SizedType.SInt, Identity, Scale.Native) } | REAL - { grammar_logger "REAL_var_type" ; (SizedType.SReal, Identity) } + { grammar_logger "REAL_var_type" ; (SizedType.SReal, Identity, Scale.Native) } | COMPLEX - { grammar_logger "COMPLEX_var_type" ; (SizedType.SComplex, Identity) } + { grammar_logger "COMPLEX_var_type" ; (SizedType.SComplex, Identity, Scale.Native) } | VECTOR LBRACK e=expression RBRACK - { grammar_logger "VECTOR_var_type" ; (SizedType.SVector (Common.Helpers.AoS, e), Identity) } + { grammar_logger "VECTOR_var_type" ; + (SizedType.SVector (Common.Helpers.AoS, e), Identity, Scale.Native) + } | ROWVECTOR LBRACK e=expression RBRACK - { grammar_logger "ROWVECTOR_var_type" ; (SizedType.SRowVector (AoS, e) , Identity) } + { grammar_logger "ROWVECTOR_var_type" ; + (SizedType.SRowVector (AoS, e) , Identity, Scale.Native) + } | MATRIX LBRACK e1=expression COMMA e2=expression RBRACK - { grammar_logger "MATRIX_var_type" ; (SizedType.SMatrix (AoS, e1, e2), Identity) } + { grammar_logger "MATRIX_var_type" ; + (SizedType.SMatrix (AoS, e1, e2), Identity, Scale.Native) + } top_var_type: - | INT r=range_constraint - { grammar_logger "INT_top_var_type" ; (SInt, r) } - | REAL c=type_constraint - { grammar_logger "REAL_top_var_type" ; (SReal, c) } - | COMPLEX c=type_constraint - { grammar_logger "COMPLEX_var_type" ; (SComplex, c) } - | VECTOR c=type_constraint LBRACK e=expression RBRACK - { grammar_logger "VECTOR_top_var_type" ; (SVector (AoS, e), c) } - | ROWVECTOR c=type_constraint LBRACK e=expression RBRACK - { grammar_logger "ROWVECTOR_top_var_type" ; (SRowVector (AoS, e), c) } - | MATRIX c=type_constraint LBRACK e1=expression COMMA e2=expression RBRACK - { grammar_logger "MATRIX_top_var_type" ; (SMatrix (AoS, e1, e2), c) } - | ORDERED LBRACK e=expression RBRACK - { grammar_logger "ORDERED_top_var_type" ; (SVector (AoS, e), Ordered) } - | POSITIVEORDERED LBRACK e=expression RBRACK + | INT r=type_constraint + { grammar_logger "INT_top_var_type" ; (SInt, r, Scale.Native) } + | REAL cs=type_constraint_and_scale + { grammar_logger "REAL_top_var_type" ; (SReal, fst cs, snd cs) } + | COMPLEX cs=type_constraint_and_scale + { grammar_logger "COMPLEX_var_type" ; (SComplex, fst cs, snd cs) } + | VECTOR cs=type_constraint_and_scale LBRACK e=expression RBRACK + { grammar_logger "VECTOR_top_var_type" ; (SVector (AoS, e), fst cs, snd cs) } + | ROWVECTOR cs=type_constraint_and_scale LBRACK e=expression RBRACK + { grammar_logger "ROWVECTOR_top_var_type" ; (SRowVector (AoS, e), fst cs, snd cs) } + | MATRIX cs=type_constraint_and_scale LBRACK e1=expression COMMA e2=expression RBRACK + { grammar_logger "MATRIX_top_var_type" ; (SMatrix (AoS, e1, e2), fst cs, snd cs) } + | ORDERED s=type_scale LBRACK e=expression RBRACK + { grammar_logger "ORDERED_top_var_type" ; (SVector (AoS, e), Ordered, s) } + | POSITIVEORDERED s=type_scale LBRACK e=expression RBRACK { grammar_logger "POSITIVEORDERED_top_var_type" ; - (SVector (AoS, e), PositiveOrdered) + (SVector (AoS, e), PositiveOrdered, s) } - | SIMPLEX LBRACK e=expression RBRACK - { grammar_logger "SIMPLEX_top_var_type" ; (SVector (AoS, e), Simplex) } - | UNITVECTOR LBRACK e=expression RBRACK - { grammar_logger "UNITVECTOR_top_var_type" ; (SVector (AoS, e), UnitVector) } + | SIMPLEX s=type_scale LBRACK e=expression RBRACK + { grammar_logger "SIMPLEX_top_var_type" ; (SVector (AoS, e), Simplex, s) } + | UNITVECTOR s=type_scale LBRACK e=expression RBRACK + { grammar_logger "UNITVECTOR_top_var_type" ; (SVector (AoS, e), UnitVector, s) } + (* arbitrarily decided the remainder don't get a scale *) | CHOLESKYFACTORCORR LBRACK e=expression RBRACK { grammar_logger "CHOLESKYFACTORCORR_top_var_type" ; - (SMatrix (AoS, e, e), CholeskyCorr) + (SMatrix (AoS, e, e), CholeskyCorr, Scale.Native) } | CHOLESKYFACTORCOV LBRACK e1=expression oe2=option(pair(COMMA, expression)) RBRACK { grammar_logger "CHOLESKYFACTORCOV_top_var_type" ; - match oe2 with Some (_,e2) -> ( SMatrix (AoS, e1, e2), CholeskyCov) - | _ -> (SMatrix (AoS, e1, e1), CholeskyCov) + match oe2 with Some (_,e2) -> ( SMatrix (AoS, e1, e2), CholeskyCov, Scale.Native) + | _ -> (SMatrix (AoS, e1, e1), CholeskyCov, Scale.Native) } | CORRMATRIX LBRACK e=expression RBRACK - { grammar_logger "CORRMATRIX_top_var_type" ; (SMatrix (AoS, e, e), Correlation) } + { grammar_logger "CORRMATRIX_top_var_type" ; (SMatrix (AoS, e, e), Correlation, Scale.Native) } | COVMATRIX LBRACK e=expression RBRACK - { grammar_logger "COVMATRIX_top_var_type" ; (SMatrix (AoS, e, e), Covariance) } + { grammar_logger "COVMATRIX_top_var_type" ; (SMatrix (AoS, e, e), Covariance, Scale.Native) } -type_constraint: - | r=range_constraint - { grammar_logger "type_constraint_range" ; r } +type_constraint_and_scale: + | (* nothing *) + { grammar_logger "no_constraint_or_scale" ; + Transformation.Identity, Scale.Native + } + | LABRACK l=offset_mult RABRACK + { grammar_logger "only_scale" ; Transformation.Identity, l } + + | LABRACK r=range RABRACK + { grammar_logger "only_range" ; r, Scale.Native } + + | LABRACK r=range RABRACK LABRACK l=offset_mult RABRACK + | LABRACK l=offset_mult RABRACK LABRACK r=range UNREACHABLE (* error state *) + { grammar_logger "range_constraint" ; r,l } + +type_scale: + | (* nothing *) + { grammar_logger "no_scale" ; Scale.Native } | LABRACK l=offset_mult RABRACK { grammar_logger "type_constraint_offset_mult" ; l } -range_constraint: +type_constraint: | (* nothing *) { grammar_logger "empty_constraint" ; Transformation.Identity } | LABRACK r=range RABRACK @@ -487,7 +513,7 @@ range: offset_mult: | OFFSET ASSIGN e1=constr_expression COMMA MULTIPLIER ASSIGN e2=constr_expression | MULTIPLIER ASSIGN e2=constr_expression COMMA OFFSET ASSIGN e1=constr_expression - { grammar_logger "offset_mult" ; Transformation.OffsetMultiplier (e1, e2) } + { grammar_logger "offset_mult" ; Scale.OffsetMultiplier (e1, e2) } | OFFSET ASSIGN e=constr_expression { grammar_logger "offset" ; Offset e } | MULTIPLIER ASSIGN e=constr_expression diff --git a/src/middle/Internal_fun.ml b/src/middle/Internal_fun.ml index 002af3b93a..3a6e60411a 100644 --- a/src/middle/Internal_fun.ml +++ b/src/middle/Internal_fun.ml @@ -12,10 +12,18 @@ type 'expr t = | FnReadDataSerializer (* XXX move these to a backend specific file?*) | FnReadParam of - { constrain: 'expr Transformation.t + { scale: 'expr Scale.t + ; constrain: 'expr Transformation.t + ; outer_dims: 'expr list + (* dimensions of the container type. [] unless reading an array *) ; dims: 'expr list + (* the dimensions of the actual internal type, like `matrix` + * currently, all special arguments or shape concerns depend only on this + * so we use it in expression generation + *) ; mem_pattern: Common.Helpers.mem_pattern } - | FnWriteParam of {unconstrain_opt: 'expr Transformation.t option; var: 'expr} + | FnWriteParam of + {scale: 'expr Scale.t; unconstrain: 'expr Transformation.t; var: 'expr} | FnValidateSize | FnValidateSizeSimplex | FnValidateSizeUnitVector diff --git a/src/middle/Middle.ml b/src/middle/Middle.ml index c184819456..82837ebb76 100644 --- a/src/middle/Middle.ml +++ b/src/middle/Middle.ml @@ -18,3 +18,4 @@ module Program = Program module Stan_math_signatures = Stan_math_signatures module Utils = Utils module Transformation = Transformation +module Scale = Scale diff --git a/src/middle/Program.ml b/src/middle/Program.ml index d719ca31a1..db3d99a17c 100644 --- a/src/middle/Program.ml +++ b/src/middle/Program.ml @@ -24,6 +24,7 @@ type 'e outvar = { out_unconstrained_st: 'e SizedType.t ; out_constrained_st: 'e SizedType.t ; out_block: io_block + ; out_scale: 'e Scale.t ; out_trans: 'e Transformation.t } [@@deriving sexp, map, hash, fold] diff --git a/src/middle/Scale.ml b/src/middle/Scale.ml new file mode 100644 index 0000000000..6ab97d5f2b --- /dev/null +++ b/src/middle/Scale.ml @@ -0,0 +1,6 @@ +type 'e t = + | Native + | Offset of 'e + | Multiplier of 'e + | OffsetMultiplier of 'e * 'e +[@@deriving sexp, compare, map, hash, fold] diff --git a/src/middle/SizedType.ml b/src/middle/SizedType.ml index 3d5c2a706e..7df6469634 100644 --- a/src/middle/SizedType.ml +++ b/src/middle/SizedType.ml @@ -88,6 +88,9 @@ let rec get_dims st = | SMatrix (_, dim1, dim2) -> [dim1; dim2] | SArray (t, dim) -> dim :: get_dims t +let rec outer_dims st = + match st with SArray (t, d) -> d :: outer_dims t | _ -> [] + (** * Check whether a SizedType holds indexable SizedTypes. *) diff --git a/src/middle/Transformation.ml b/src/middle/Transformation.ml index 30914e302b..844db9ed77 100644 --- a/src/middle/Transformation.ml +++ b/src/middle/Transformation.ml @@ -7,9 +7,6 @@ type 'e t = | Lower of 'e | Upper of 'e | LowerUpper of 'e * 'e - | Offset of 'e - | Multiplier of 'e - | OffsetMultiplier of 'e * 'e | Ordered | PositiveOrdered | Simplex @@ -20,6 +17,4 @@ type 'e t = | Covariance [@@deriving sexp, compare, map, hash, fold] -let has_check = function - | Identity | Offset _ | Multiplier _ | OffsetMultiplier _ -> false - | _ -> true +let has_check = function Identity -> false | _ -> true diff --git a/src/stan_math_backend/Expression_gen.ml b/src/stan_math_backend/Expression_gen.ml index 166f2eb63d..b5c856e9f1 100644 --- a/src/stan_math_backend/Expression_gen.ml +++ b/src/stan_math_backend/Expression_gen.ml @@ -162,33 +162,82 @@ let constraint_to_string = function | PositiveOrdered -> Some "positive_ordered" | Simplex -> Some "simplex" | UnitVector -> Some "unit_vector" - | CholeskyCorr -> Some "cholesky_factor_corr" - | CholeskyCov -> Some "cholesky_factor_cov" + | CholeskyCorr -> Some "cholesky_corr" + | CholeskyCov -> Some "cholesky_factor" | Correlation -> Some "corr_matrix" | Covariance -> Some "cov_matrix" | Lower _ -> Some "lb" | Upper _ -> Some "ub" | LowerUpper _ -> Some "lub" - | Offset _ | Multiplier _ | OffsetMultiplier _ -> Some "offset_multiplier" | Identity -> None let check_to_string = function | Transformation.Lower _ -> Some "greater_or_equal" | Upper _ -> Some "less_or_equal" | CholeskyCov -> Some "cholesky_factor" + | CholeskyCorr -> Some "cholesky_factor_corr" | LowerUpper _ -> Common.FatalError.fatal_error_msg [%message "LowerUpper is really two other checks tied together"] - | Offset _ | Multiplier _ | OffsetMultiplier _ -> None | t -> constraint_to_string t let default_multiplier = 1 let default_offset = 0 -let transform_args = function - | Transformation.Offset offset -> [offset; Expr.Helpers.int default_multiplier] +(* + Get the dimension expressions that are expected by constrain/unconstrain + functions for a sized type. + Simplex and the matrix constraints expect different sizes. This is similar to + Ast_to_Mir.param_size +*) +let read_constrain_dims transform unc_dims = + let k_choose_2 k = + Expr.Helpers.(binop (binop k Times (binop k Minus (int 1))) Divide (int 2)) + in + let constrain_dim dims trans = + match (trans, dims) with + | (Transformation.CholeskyCorr | Correlation), [_; dim2] -> + (* kc2 *) + [k_choose_2 dim2] + | CholeskyCov, [m; n] -> + (* (N * (N + 1)) / 2 + (M - N) * N *) + [ Expr.Helpers.( + binop + (binop (k_choose_2 n) Plus n) + Plus + (binop (binop m Minus n) Times n)) ] + | Covariance, [_; dim2] -> + (* k + kc2 *) + [Expr.Helpers.(binop dim2 Plus (k_choose_2 dim2))] + | Simplex, [dim] -> + (* k - 1 *) + [Expr.Helpers.(binop dim Minus (int 1))] + | ( ( Identity | Lower _ | Upper _ | LowerUpper _ | Ordered + | PositiveOrdered | UnitVector ) + , _ ) -> + dims + | _, _ -> + raise_s + [%message + "Error in constraint dimensions " + (trans : Expr.Typed.t Transformation.t) + (dims : Expr.Typed.t list)] in + constrain_dim unc_dims transform + +let transform_args transform = + Transformation.fold (fun args arg -> args @ [arg]) [] transform + +let extra_constraint_args dims = function + | Transformation.Identity | Lower _ | Upper _ | LowerUpper _ | Ordered + |PositiveOrdered | Simplex | UnitVector -> + [] + | Covariance | Correlation | CholeskyCorr -> [List.hd_exn dims] + | CholeskyCov -> dims + +let scale_args = function + | Scale.Offset offset -> [offset; Expr.Helpers.int default_multiplier] | Multiplier multiplier -> [Expr.Helpers.int default_offset; multiplier] - | transform -> Transformation.fold (fun args arg -> args @ [arg]) [] transform + | scale -> Scale.fold (fun args arg -> args @ [arg]) [] scale let rec pp_index ppf = function | Index.All -> pf ppf "index_omni()" @@ -469,23 +518,8 @@ and pp_compiler_internal_fn ad ut f ppf es = | FnReadDataSerializer -> pf ppf "@[in__.read<%a>(@,)@]" pp_unsizedtype_local (UnsizedType.AutoDiffable, UnsizedType.UReal) - | FnReadParam {constrain; dims; _} -> ( - let constrain_opt = constraint_to_string constrain in - match constrain_opt with - | None -> - pf ppf "@[in__.template read<%a>(@,%a)@]" pp_unsizedtype_local - (UnsizedType.AutoDiffable, ut) - (list ~sep:comma pp_expr) dims - | Some constraint_string -> - let constraint_args = transform_args constrain in - let lp = - Expr.Fixed.{pattern= Var "lp__"; meta= Expr.Typed.Meta.empty} in - let args = constraint_args @ [lp] @ dims in - pf ppf - "@[in__.template read_constrain_%s<%a, jacobian__>(@,%a)@]" - constraint_string pp_unsizedtype_local - (UnsizedType.AutoDiffable, ut) - (list ~sep:comma pp_expr) args ) + | FnReadParam {constrain; scale; dims; outer_dims; _} -> + pp_readparam ppf (ut, outer_dims, dims, constrain, scale) | FnDeepCopy -> gen_fun_app FnPlain ppf "stan::model::deep_copy" es AoS | _ -> gen_fun_app FnPlain ppf (Internal_fun.to_string f) es AoS @@ -577,6 +611,40 @@ and pp_expr ppf Expr.Fixed.({pattern; meta} as e) = pp_indexed_simple ppf (strf "%a" pp_expr e, idx) | _ -> pp_indexed ppf (strf "%a" pp_expr e, idx, pretty_print e) ) +and pp_readparam ppf (ut, outer_dims, dims, constrain, scale) = + let pp_read ppf () = + let dims = outer_dims @ read_constrain_dims constrain dims in + pf ppf "@[in__.template read<%a>(@,%a)@]" pp_unsizedtype_local + (UnsizedType.AutoDiffable, input_type ut dims) + (list ~sep:comma pp_expr) dims in + let lp = Expr.Fixed.{pattern= Var "lp__"; meta= Expr.Typed.Meta.empty} in + let pp_scale ppf () = + match scale with + | Scale.Native -> pf ppf "%a" pp_read () + | _ -> + pf ppf "@[%s(@,%a,@ %a)@]" + "stan::math::offset_multiplier_constrain" pp_read () + (list ~sep:comma pp_expr) + (scale_args scale @ [lp]) in + let constrain_opt = constraint_to_string constrain in + match constrain_opt with + | None -> pp_scale ppf () + | Some constraint_string -> + let constraint_args = transform_args constrain in + let extra_args = extra_constraint_args dims constrain in + let args = constraint_args @ extra_args @ [lp] in + pf ppf "@[stan::math::%s_constrain(@,%a, @,%a)@]" + constraint_string pp_scale () (list ~sep:comma pp_expr) args + +(* This handles the special cases of things like cholesky_corr, + * which read in a vector and then produce a matrix + *) +and input_type (ut : UnsizedType.t) dims : UnsizedType.t = + match (ut, dims) with + | UMatrix, [_] -> UVector + | UArray t, _ :: dims -> UArray (input_type t dims) + | _ -> ut + (* these functions are just for testing *) let dummy_locate pattern = Expr.( diff --git a/src/stan_math_backend/Statement_gen.ml b/src/stan_math_backend/Statement_gen.ml index 6e42242ea8..4beaf56bd8 100644 --- a/src/stan_math_backend/Statement_gen.ml +++ b/src/stan_math_backend/Statement_gen.ml @@ -326,19 +326,8 @@ let rec pp_statement (ppf : Format.formatter) Stmt.Fixed.{pattern; meta} = pf ppf "%s(@[%a@]);" ("check_" ^ check_name) (list ~sep:comma pp_expr) (function_arg :: Expr.Helpers.str var_name :: var :: args) ) - | NRFunApp (CompilerInternal (FnWriteParam {unconstrain_opt; var}), _) -> ( - match - (unconstrain_opt, Option.bind ~f:constraint_to_string unconstrain_opt) - with - (* When the current block or this transformation doesn't require unconstraining, - use vanilla write *) - | None, _ | _, None -> pf ppf "@[out__.write(@,%a);@]" pp_expr var - (* Otherwise, use stan::io::serializer's write_free functions *) - | Some trans, Some unconstrain_string -> - let unconstrain_args = transform_args trans in - pf ppf "@[out__.write_free_%s(@,%a);@]" unconstrain_string - (list ~sep:comma pp_expr) - (unconstrain_args @ [var]) ) + | NRFunApp (CompilerInternal (FnWriteParam {unconstrain; var; scale}), _) -> + pp_writeparam ppf (var, unconstrain, scale) | NRFunApp (CompilerInternal f, args) -> let fname, extra_args = trans_math_fn f in pf ppf "%s(@[%a@]);" fname (list ~sep:comma pp_expr) @@ -374,6 +363,22 @@ let rec pp_statement (ppf : Format.formatter) Stmt.Fixed.{pattern; meta} = | Decl {decl_adtype; decl_id; decl_type; initialize; _} -> pp_decl ppf (decl_id, decl_type, decl_adtype, initialize) +and pp_writeparam ppf (var, unconstrain, scale) = + let pp_unconstrain ppf () = + match constraint_to_string unconstrain with + | None -> pp_expr ppf var + | Some unconstrain_string -> + let unconstrain_args = transform_args unconstrain in + pf ppf "@[stan::math::%s_free(@,%a)@]" unconstrain_string + (list ~sep:comma pp_expr) (var :: unconstrain_args) in + let pp_scale ppf () = + match scale with + | Scale.Native -> pf ppf "%a" pp_unconstrain () + | _ -> + pf ppf "@[stan::math::offset_multiplier_free(@,%a,@ %a)@]" + pp_unconstrain () (list ~sep:comma pp_expr) (scale_args scale) in + pf ppf "@[out__.write(@,%a);@]" pp_scale () + and pp_block_s ppf body = match body.pattern with | Block ls -> pp_block ppf (list ~sep:cut pp_statement, ls) diff --git a/src/stan_math_backend/Transform_Mir.ml b/src/stan_math_backend/Transform_Mir.ml index fe5596798c..160589c144 100644 --- a/src/stan_math_backend/Transform_Mir.ml +++ b/src/stan_math_backend/Transform_Mir.ml @@ -177,25 +177,6 @@ let data_read smeta (decl_id, st) = ; Stmt.Helpers.for_scalar_inv st bodyfn decl_var smeta ] |> swrap ] -(* - Get the dimension expressions that are expected by constrain/unconstrain - functions for a sized type. - - For constrains that return square / lower triangular matrices the C++ - only wants one of the matrix dimensions. -*) -let read_constrain_dims constrain_transform st = - let rec constrain_get_dims st = - match st with - | SizedType.SInt | SReal | SComplex -> [] - | SVector (_, d) | SRowVector (_, d) -> [d] - | SMatrix (_, _, dim2) -> [dim2] - | SArray (t, dim) -> dim :: constrain_get_dims t in - match constrain_transform with - | Transformation.CholeskyCorr | Correlation | Covariance -> - constrain_get_dims st - | _ -> SizedType.get_dims st - let data_serializer_read loc out_constrained_st = let ut = SizedType.to_unsized out_constrained_st in let dims = SizedType.get_dims_io out_constrained_st in @@ -205,19 +186,23 @@ let data_serializer_read loc out_constrained_st = internal_funapp FnReadDataSerializer dims Typed.Meta.{emeta with type_= ut})) let param_read smeta - (decl_id, Program.{out_constrained_st= cst; out_block; out_trans; _}) = + ( decl_id + , Program.{out_constrained_st= cst; out_block; out_trans; out_scale; _} ) = if not (out_block = Parameters) then [] else let ut = SizedType.to_unsized cst in let emeta = Expr.Typed.Meta.create ~loc:smeta ~type_:ut ~adlevel:AutoDiffable () in - let dims = read_constrain_dims out_trans cst in + let outer_dims = SizedType.outer_dims cst in + let dims = SizedType.dims_of cst in let read = Expr.( Helpers.( internal_funapp (FnReadParam - { constrain= out_trans + { scale= out_scale + ; constrain= out_trans + ; outer_dims ; dims ; mem_pattern= SizedType.get_mem_pattern cst } ) [] @@ -308,7 +293,7 @@ let add_reads vars mkread stmts = List.concat_map ~f:add_read_to_decl stmts let gen_write ?(unconstrain = false) - (decl_id, Program.{out_constrained_st; out_trans; _}) = + (decl_id, Program.{out_constrained_st; out_trans; out_scale; _}) = let decl_var = { Expr.Fixed.pattern= Var decl_id ; meta= @@ -318,7 +303,10 @@ let gen_write ?(unconstrain = false) ; adlevel= DataOnly } } in Stmt.Helpers.internal_nrfunapp (FnWriteParam - {unconstrain_opt= Option.some_if unconstrain out_trans; var= decl_var} ) + { scale= (if unconstrain then out_scale else Scale.Native) + ; unconstrain= + (if unconstrain then out_trans else Transformation.Identity) + ; var= decl_var } ) [] Location_span.empty (** @@ -331,7 +319,8 @@ let gen_unconstrained_write (decl_id, Program.{out_constrained_st; _}) = if SizedType.is_recursive_container out_constrained_st then let bodyfn var = Stmt.Helpers.internal_nrfunapp - (FnWriteParam {unconstrain_opt= None; var}) + (FnWriteParam + {unconstrain= Transformation.Identity; scale= Scale.Native; var} ) [var] Location_span.empty in let meta = {Expr.Typed.Meta.empty with type_= SizedType.to_unsized out_constrained_st} @@ -348,7 +337,10 @@ let gen_unconstrained_write (decl_id, Program.{out_constrained_st; _}) = ; type_= SizedType.to_unsized out_constrained_st ; adlevel= DataOnly } } in Stmt.Helpers.internal_nrfunapp - (FnWriteParam {unconstrain_opt= None; var= decl_var}) + (FnWriteParam + { unconstrain= Transformation.Identity + ; scale= Scale.Native + ; var= decl_var } ) [] Location_span.empty (** Statements to read, unconstrain and assign a parameter then write it back *) diff --git a/src/tfp_backend/Code_gen.ml b/src/tfp_backend/Code_gen.ml index 5a8c3082b4..17b2dc7292 100644 --- a/src/tfp_backend/Code_gen.ml +++ b/src/tfp_backend/Code_gen.ml @@ -200,24 +200,28 @@ let pp_shapes ppf p = in pp_method ppf "parameter_shapes" ["self"; "nchains__"] [] ppbody -let pp_bijector ppf trans = +let pp_bijector ppf (trans, scale) = let pp_call_expr ppf (name, args) = pp_call ppf (name, pp_expr, args) in - let components = + let constrain = match trans with | Transformation.Identity -> [] | Lower lb -> [("Exp", []); ("Shift", [lb])] | Upper ub -> [("Exp", []); ("Scale", [Expr.Helpers.float (-1.)]); ("Shift", [ub])] | LowerUpper (lb, ub) -> [("Sigmoid", [lb; ub])] - | Offset o -> [("Shift", [o])] - | Multiplier m -> [("Scale", [m])] - | OffsetMultiplier (o, m) -> [("Scale", [m]); ("Shift", [o])] | CholeskyCorr -> [("CorrelationCholesky", [])] | Correlation -> [("CorrelationCholesky", []); ("CholeskyOuterProduct", [])] | _ -> raise_s [%message "Unsupported " (trans : Expr.Typed.t Transformation.t)] in + let scaling = + match scale with + | Scale.Native -> [] + | Offset o -> [("Shift", [o])] + | Multiplier m -> [("Scale", [m])] + | OffsetMultiplier (o, m) -> [("Scale", [m]); ("Shift", [o])] in + let components = scaling @ constrain in match components with | [] -> pf ppf "tfb__.Identity()" | ls -> @@ -230,7 +234,9 @@ let pp_bijectors ppf p = pf ppf "%a@ " pp_extract_data p ; pf ppf "return [@[%a@]]" (list ~sep:comma pp_bijector) - (List.map ~f:(fun (_, {out_trans; _}) -> out_trans) (get_params p)) in + (List.map + ~f:(fun (_, {out_trans; out_scale; _}) -> (out_trans, out_scale)) + (get_params p) ) in pp_method ppf "parameter_bijectors" ["self"] [] ppbody let pp_param_names ppf p = diff --git a/test/integration/bad/lang/bad_bounds5.stan b/test/integration/bad/lang/bad_bounds5.stan new file mode 100644 index 0000000000..b7c6f2419f --- /dev/null +++ b/test/integration/bad/lang/bad_bounds5.stan @@ -0,0 +1,3 @@ +parameters { + real +} \ No newline at end of file diff --git a/test/integration/bad/lang/bad_bounds6.stan b/test/integration/bad/lang/bad_bounds6.stan new file mode 100644 index 0000000000..12d42919a3 --- /dev/null +++ b/test/integration/bad/lang/bad_bounds6.stan @@ -0,0 +1,3 @@ +data { + ordered< +} \ No newline at end of file diff --git a/test/integration/bad/lang/bad_bounds7.stan b/test/integration/bad/lang/bad_bounds7.stan new file mode 100644 index 0000000000..442a313d6d --- /dev/null +++ b/test/integration/bad/lang/bad_bounds7.stan @@ -0,0 +1,3 @@ +data { + ordered x; +} \ No newline at end of file diff --git a/test/integration/bad/lang/bad_bounds8.stan b/test/integration/bad/lang/bad_bounds8.stan new file mode 100644 index 0000000000..dce7f26f93 --- /dev/null +++ b/test/integration/bad/lang/bad_bounds8.stan @@ -0,0 +1,3 @@ +data { + vector +} \ No newline at end of file diff --git a/test/integration/bad/lang/stanc.expected b/test/integration/bad/lang/stanc.expected index ec7f834697..9e5382b2f5 100644 --- a/test/integration/bad/lang/stanc.expected +++ b/test/integration/bad/lang/stanc.expected @@ -61,7 +61,7 @@ Syntax error in 'bad3.stan', line 1, column 21 to column 22, parsing error: ^ ------------------------------------------------- -Expected "[" expression "," expression "]" for sizes of matrix. +Expected (optional) constraints followed by "[" expression "," expression "]" for matrix size. $ ../../../../../install/default/bin/stanc bad3.stanfunctions Syntax error in 'bad3.stanfunctions', line 1, column 0 to column 5, parsing error: ------------------------------------------------- @@ -158,7 +158,7 @@ Semantic error in 'bad_bounds2.stan', line 2, column 2 to column 31: 4: parameters { ------------------------------------------------- -Complex types do not support transformations. +Complex types do not support bounds or scales. $ ../../../../../install/default/bin/stanc bad_bounds3.stan Semantic error in 'bad_bounds3.stan', line 2, column 1 to column 21: ------------------------------------------------- @@ -169,7 +169,7 @@ Semantic error in 'bad_bounds3.stan', line 2, column 1 to column 21: 4: parameters { ------------------------------------------------- -Complex types do not support transformations. +Complex types do not support bounds or scales. $ ../../../../../install/default/bin/stanc bad_bounds4.stan Semantic error in 'bad_bounds4.stan', line 2, column 2 to column 30: ------------------------------------------------- @@ -180,7 +180,47 @@ Semantic error in 'bad_bounds4.stan', line 2, column 2 to column 30: 4: parameters { ------------------------------------------------- -Complex types do not support transformations. +Complex types do not support bounds or scales. + $ ../../../../../install/default/bin/stanc bad_bounds5.stan +Syntax error in 'bad_bounds5.stan', line 2, column 25 to column 26, parsing error: + ------------------------------------------------- + 1: parameters { + 2: real + ^ + 3: } + ------------------------------------------------- + +Lower or upper bounds must come before scaling in a type constraint. + $ ../../../../../install/default/bin/stanc bad_bounds6.stan +Syntax error in 'bad_bounds6.stan', line 3, column 0 to column 1, parsing error: + ------------------------------------------------- + 1: data { + 2: ordered< + 3: } + ^ + ------------------------------------------------- + +Expected "offset = " expression or "multiplier = " expression for constrained type scale. + $ ../../../../../install/default/bin/stanc bad_bounds7.stan +Syntax error in 'bad_bounds7.stan', line 2, column 18 to column 19, parsing error: + ------------------------------------------------- + 1: data { + 2: ordered x; + ^ + 3: } + ------------------------------------------------- + +Expected "[" expression "]" for size of ordered. + $ ../../../../../install/default/bin/stanc bad_bounds8.stan +Syntax error in 'bad_bounds8.stan', line 3, column 0 to column 1, parsing error: + ------------------------------------------------- + 1: data { + 2: vector + 3: } + ^ + ------------------------------------------------- + +Expected (optional) constraint followed by "[" expression "]" for vector size. $ ../../../../../install/default/bin/stanc bad_cov_exp_quad_arr_rvec_data.stan Semantic error in 'bad_cov_exp_quad_arr_rvec_data.stan', line 13, column 41 to column 48: ------------------------------------------------- diff --git a/test/integration/bad/new/stanc.expected b/test/integration/bad/new/stanc.expected index 6831519722..4430f191ff 100644 --- a/test/integration/bad/new/stanc.expected +++ b/test/integration/bad/new/stanc.expected @@ -3454,7 +3454,7 @@ Syntax error in 'type-size-bad37.stan', line 1, column 19 to column 24, parsing ^ ------------------------------------------------- -Expected "[" expression "]" for size declaration of simplex. +Expected "[" expression "]" for size of simplex. $ ../../../../../install/default/bin/stanc type-size-bad38.stan Syntax error in 'type-size-bad38.stan', line 1, column 17 to column 18, parsing error: ------------------------------------------------- @@ -3462,7 +3462,7 @@ Syntax error in 'type-size-bad38.stan', line 1, column 17 to column 18, parsing ^ ------------------------------------------------- -Expected "[" expression "]" for size declaration of simplex. +Expected "[" expression "]" for size of simplex. $ ../../../../../install/default/bin/stanc type-size-bad39.stan Syntax error in 'type-size-bad39.stan', line 1, column 15 to column 20, parsing error: ------------------------------------------------- @@ -3470,7 +3470,7 @@ Syntax error in 'type-size-bad39.stan', line 1, column 15 to column 20, parsing ^ ------------------------------------------------- -Expected "[" expression "]" for size declaration of simplex. +Expected "[" expression "]" for size of simplex. $ ../../../../../install/default/bin/stanc type-size-bad4.stan Syntax error in 'type-size-bad4.stan', line 1, column 29 to column 34, parsing error: ------------------------------------------------- @@ -3487,7 +3487,7 @@ Syntax error in 'type-size-bad40.stan', line 1, column 24 to column 29, parsing ^ ------------------------------------------------- -Expected "[" expression "]" for size declaration of unit_vector. +Expected "[" expression "]" for size of unit_vector. $ ../../../../../install/default/bin/stanc type-size-bad41.stan Syntax error in 'type-size-bad41.stan', line 1, column 21 to column 22, parsing error: ------------------------------------------------- @@ -3495,7 +3495,7 @@ Syntax error in 'type-size-bad41.stan', line 1, column 21 to column 22, parsing ^ ------------------------------------------------- -Expected "[" expression "]" for size declaration of unit_vector. +Expected "[" expression "]" for size of unit_vector. $ ../../../../../install/default/bin/stanc type-size-bad42.stan Syntax error in 'type-size-bad42.stan', line 1, column 20 to column 25, parsing error: ------------------------------------------------- @@ -3503,7 +3503,7 @@ Syntax error in 'type-size-bad42.stan', line 1, column 20 to column 25, parsing ^ ------------------------------------------------- -Expected "[" expression "]" for size declaration of unit_vector. +Expected "[" expression "]" for size of unit_vector. $ ../../../../../install/default/bin/stanc type-size-bad43.stan Syntax error in 'type-size-bad43.stan', line 1, column 19 to column 24, parsing error: ------------------------------------------------- @@ -3511,7 +3511,7 @@ Syntax error in 'type-size-bad43.stan', line 1, column 19 to column 24, parsing ^ ------------------------------------------------- -Expected "[" expression "]" for size declaration of unit_vector. +Expected "[" expression "]" for size of unit_vector. $ ../../../../../install/default/bin/stanc type-size-bad44.stan Syntax error in 'type-size-bad44.stan', line 1, column 30 to column 35, parsing error: ------------------------------------------------- @@ -3519,7 +3519,7 @@ Syntax error in 'type-size-bad44.stan', line 1, column 30 to column 35, parsing ^ ------------------------------------------------- -Expected "[" expression "]" for vector size. +Expected (optional) constraint followed by "[" expression "]" for vector size. $ ../../../../../install/default/bin/stanc type-size-bad45.stan Syntax error in 'type-size-bad45.stan', line 1, column 15 to column 16, parsing error: ------------------------------------------------- @@ -3701,6 +3701,14 @@ Syntax error in 'type-size-bad9.stan', line 1, column 21 to column 22, parsing e ------------------------------------------------- Expected "[" expression "]" for size of corr_matrix. + $ ../../../../../install/default/bin/stanc variable-decl-bad-8.stan +Syntax error in 'variable-decl-bad-8.stan', line 1, column 41 to column 42, parsing error: + ------------------------------------------------- + 1: data { row_vector[10] print(0);} + ^ + ------------------------------------------------- + +";" is expected after a top-level variable declaration. $ ../../../../../install/default/bin/stanc variable-decl-bad1.stan Syntax error in 'variable-decl-bad1.stan', line 1, column 10 to column 11, parsing error: ------------------------------------------------- @@ -3718,7 +3726,7 @@ Syntax error in 'variable-decl-bad2.stan', line 1, column 27 to column 28, parsi 2: } ------------------------------------------------- -Expected "[" expression "," expression "]" for matrix sizes as part of top-level variable declaration. +Expected (optional) constraints followed by "[" expression "," expression "]" for matrix size. $ ../../../../../install/default/bin/stanc variable-decl-bad3.stan Syntax error in 'variable-decl-bad3.stan', line 1, column 17 to column 22, parsing error: ------------------------------------------------- @@ -3734,7 +3742,7 @@ Syntax error in 'variable-decl-bad4.stan', line 1, column 32 to column 37, parsi ^ ------------------------------------------------- -Expected identifier as part of top-level variable declaration. +Expected "[" expression "]" for size declaration of row_vector. $ ../../../../../install/default/bin/stanc variable-decl-bad5.stan Syntax error in 'variable-decl-bad5.stan', line 1, column 18 to column 23, parsing error: ------------------------------------------------- @@ -3750,7 +3758,7 @@ Syntax error in 'variable-decl-bad6.stan', line 1, column 15 to column 20, parsi ^ ------------------------------------------------- -Expected "[" expression "]" for size declaration of simplex. +Expected "[" expression "]" for size of simplex. $ ../../../../../install/default/bin/stanc variable-decl-bad7.stan Syntax error in 'variable-decl-bad7.stan', line 1, column 28 to column 29, parsing error: ------------------------------------------------- diff --git a/test/integration/bad/new/variable-decl-bad-8.stan b/test/integration/bad/new/variable-decl-bad-8.stan new file mode 100644 index 0000000000..8b0a039f05 --- /dev/null +++ b/test/integration/bad/new/variable-decl-bad-8.stan @@ -0,0 +1 @@ +data { row_vector[10] print(0);} \ No newline at end of file diff --git a/test/integration/bad/stanc.expected b/test/integration/bad/stanc.expected index 2936070da8..a5f199d0f6 100644 --- a/test/integration/bad/stanc.expected +++ b/test/integration/bad/stanc.expected @@ -630,7 +630,7 @@ Syntax error in 'err-decl-vector.stan', line 2, column 9 to column 10, parsing e 4: model { ------------------------------------------------- -"[" expression "]" expected for vector size. +Expected (optional) constraint followed by "[" expression "]" for vector size. $ ../../../../install/default/bin/stanc err-double-dims.stan Semantic error in 'err-double-dims.stan', line 2, column 9 to column 12: ------------------------------------------------- @@ -1440,7 +1440,7 @@ Syntax error in 'oneline-error.stan', line 1, column 20 to column 21, parsing er ^ ------------------------------------------------- -"[" expression "]" expected for vector size. +Expected (optional) constraint followed by "[" expression "]" for vector size. $ ../../../../install/default/bin/stanc op_addition_bad.stan Semantic error in 'op_addition_bad.stan', line 7, column 6 to column 11: ------------------------------------------------- diff --git a/test/integration/good/code-gen/cl.expected b/test/integration/good/code-gen/cl.expected index 071673bf78..a31a827d0d 100644 --- a/test/integration/good/code-gen/cl.expected +++ b/test/integration/good/code-gen/cl.expected @@ -587,8 +587,8 @@ class optimize_glm_model final : public model_base_crtp { sigma = DUMMY_VAR__; current_statement__ = 4; - sigma = in__.template read_constrain_lb( - 0, lp__); + sigma = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ alpha; alpha = DUMMY_VAR__; @@ -1311,8 +1311,8 @@ class optimize_glm_model final : public model_base_crtp { sigma = std::numeric_limits::quiet_NaN(); current_statement__ = 4; - sigma = in__.template read_constrain_lb( - 0, lp__); + sigma = stan::math::lb_constrain( + in__.template read(), 0, lp__); double alpha; alpha = std::numeric_limits::quiet_NaN(); @@ -1411,7 +1411,7 @@ class optimize_glm_model final : public model_base_crtp { sigma = DUMMY_VAR__; sigma = in__.read(); - out__.write_free_lb(0, sigma); + out__.write(stan::math::lb_free(sigma, 0)); local_scalar_t__ alpha; alpha = DUMMY_VAR__; diff --git a/test/integration/good/code-gen/cpp.expected b/test/integration/good/code-gen/cpp.expected index b106d835f5..467c80e75e 100644 --- a/test/integration/good/code-gen/cpp.expected +++ b/test/integration/good/code-gen/cpp.expected @@ -145,8 +145,8 @@ class _8_schools_ncp_model final : public model_base_crtp<_8_schools_ncp_model> tau = DUMMY_VAR__; current_statement__ = 2; - tau = in__.template read_constrain_lb(0, - lp__); + tau = stan::math::lb_constrain( + in__.template read(), 0, lp__); Eigen::Matrix theta_tilde; theta_tilde = Eigen::Matrix(J); stan::math::fill(theta_tilde, DUMMY_VAR__); @@ -212,8 +212,8 @@ class _8_schools_ncp_model final : public model_base_crtp<_8_schools_ncp_model> tau = std::numeric_limits::quiet_NaN(); current_statement__ = 2; - tau = in__.template read_constrain_lb(0, - lp__); + tau = stan::math::lb_constrain( + in__.template read(), 0, lp__); Eigen::Matrix theta_tilde; theta_tilde = Eigen::Matrix(J); stan::math::fill(theta_tilde, std::numeric_limits::quiet_NaN()); @@ -272,7 +272,7 @@ class _8_schools_ncp_model final : public model_base_crtp<_8_schools_ncp_model> tau = DUMMY_VAR__; tau = in__.read(); - out__.write_free_lb(0, tau); + out__.write(stan::math::lb_free(tau, 0)); Eigen::Matrix theta_tilde; theta_tilde = Eigen::Matrix(J); stan::math::fill(theta_tilde, DUMMY_VAR__); @@ -5319,8 +5319,8 @@ class eight_schools_ncp_model final : public model_base_crtp(0, - lp__); + tau = stan::math::lb_constrain( + in__.template read(), 0, lp__); Eigen::Matrix theta_tilde; theta_tilde = Eigen::Matrix(J); stan::math::fill(theta_tilde, DUMMY_VAR__); @@ -5386,8 +5386,8 @@ class eight_schools_ncp_model final : public model_base_crtp::quiet_NaN(); current_statement__ = 2; - tau = in__.template read_constrain_lb(0, - lp__); + tau = stan::math::lb_constrain( + in__.template read(), 0, lp__); Eigen::Matrix theta_tilde; theta_tilde = Eigen::Matrix(J); stan::math::fill(theta_tilde, std::numeric_limits::quiet_NaN()); @@ -5446,7 +5446,7 @@ class eight_schools_ncp_model final : public model_base_crtp(); - out__.write_free_lb(0, tau); + out__.write(stan::math::lb_free(tau, 0)); Eigen::Matrix theta_tilde; theta_tilde = Eigen::Matrix(J); stan::math::fill(theta_tilde, DUMMY_VAR__); @@ -11220,52 +11220,58 @@ class mother_model final : public model_base_crtp { p_upper = DUMMY_VAR__; current_statement__ = 2; - p_upper = in__.template read_constrain_lb( - p_real, lp__); + p_upper = stan::math::lb_constrain( + in__.template read(), p_real, lp__); local_scalar_t__ p_lower; p_lower = DUMMY_VAR__; current_statement__ = 3; - p_lower = in__.template read_constrain_ub( - p_upper, lp__); + p_lower = stan::math::ub_constrain( + in__.template read(), p_upper, lp__); std::vector offset_multiplier; offset_multiplier = std::vector(5, DUMMY_VAR__); current_statement__ = 4; - offset_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( - 1, 2, lp__, 5); + offset_multiplier = stan::math::offset_multiplier_constrain( + in__.template read>( + 5), 1, 2, lp__); std::vector no_offset_multiplier; no_offset_multiplier = std::vector(5, DUMMY_VAR__); current_statement__ = 5; - no_offset_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( - 0, 2, lp__, 5); + no_offset_multiplier = stan::math::offset_multiplier_constrain( + in__.template read>( + 5), 0, 2, lp__); std::vector offset_no_multiplier; offset_no_multiplier = std::vector(5, DUMMY_VAR__); current_statement__ = 6; - offset_no_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( - 3, 1, lp__, 5); + offset_no_multiplier = stan::math::offset_multiplier_constrain( + in__.template read>( + 5), 3, 1, lp__); std::vector p_real_1d_ar; p_real_1d_ar = std::vector(N, DUMMY_VAR__); current_statement__ = 7; - p_real_1d_ar = in__.template read_constrain_lb, jacobian__>( - 0, lp__, N); + p_real_1d_ar = stan::math::lb_constrain( + in__.template read>(N), + 0, lp__); std::vector>> p_real_3d_ar; p_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, DUMMY_VAR__))); current_statement__ = 8; - p_real_3d_ar = in__.template read_constrain_lb>>, jacobian__>( - 0, lp__, N, M, K); + p_real_3d_ar = stan::math::lb_constrain( + in__.template read>>>( + N, M, K), 0, lp__); Eigen::Matrix p_vec; p_vec = Eigen::Matrix(N); stan::math::fill(p_vec, DUMMY_VAR__); current_statement__ = 9; - p_vec = in__.template read_constrain_lb, jacobian__>( - 0, lp__, N); + p_vec = stan::math::lb_constrain( + in__.template read>(N), + 0, lp__); std::vector> p_1d_vec; p_1d_vec = std::vector>(N, Eigen::Matrix(N)); stan::math::fill(p_1d_vec, DUMMY_VAR__); @@ -11313,50 +11319,60 @@ class mother_model final : public model_base_crtp { stan::math::fill(p_ar_mat, DUMMY_VAR__); current_statement__ = 16; - p_ar_mat = in__.template read_constrain_lub>>, jacobian__>( - 0, 1, lp__, 4, 5, 2, 3); + p_ar_mat = stan::math::lub_constrain( + in__.template read>>>( + 4, 5, 2, 3), 0, 1, lp__); Eigen::Matrix p_simplex; p_simplex = Eigen::Matrix(N); stan::math::fill(p_simplex, DUMMY_VAR__); current_statement__ = 17; - p_simplex = in__.template read_constrain_simplex, jacobian__>( - lp__, N); + p_simplex = stan::math::simplex_constrain( + in__.template read>( + (N - 1)), lp__); std::vector> p_1d_simplex; p_1d_simplex = std::vector>(N, Eigen::Matrix(N)); stan::math::fill(p_1d_simplex, DUMMY_VAR__); current_statement__ = 18; - p_1d_simplex = in__.template read_constrain_simplex>, jacobian__>( - lp__, N, N); + p_1d_simplex = stan::math::simplex_constrain( + in__.template read>>( + N, (N - 1)), lp__); std::vector>>> p_3d_simplex; p_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); stan::math::fill(p_3d_simplex, DUMMY_VAR__); current_statement__ = 19; - p_3d_simplex = in__.template read_constrain_simplex>>>, jacobian__>( - lp__, N, M, K, N); + p_3d_simplex = stan::math::simplex_constrain( + in__.template read>>>>( + N, M, K, (N - 1)), lp__); Eigen::Matrix p_cfcov_54; p_cfcov_54 = Eigen::Matrix(5, 4); stan::math::fill(p_cfcov_54, DUMMY_VAR__); current_statement__ = 20; - p_cfcov_54 = in__.template read_constrain_cholesky_factor_cov, jacobian__>( - lp__, 5, 4); + p_cfcov_54 = stan::math::cholesky_factor_constrain( + in__.template read>( + ((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4))), 5, 4, + lp__); Eigen::Matrix p_cfcov_33; p_cfcov_33 = Eigen::Matrix(3, 3); stan::math::fill(p_cfcov_33, DUMMY_VAR__); current_statement__ = 21; - p_cfcov_33 = in__.template read_constrain_cholesky_factor_cov, jacobian__>( - lp__, 3, 3); + p_cfcov_33 = stan::math::cholesky_factor_constrain( + in__.template read>( + ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))), 3, 3, + lp__); std::vector> p_cfcov_33_ar; p_cfcov_33_ar = std::vector>(K, Eigen::Matrix(3, 3)); stan::math::fill(p_cfcov_33_ar, DUMMY_VAR__); current_statement__ = 22; - p_cfcov_33_ar = in__.template read_constrain_cholesky_factor_cov>, jacobian__>( - lp__, K, 3, 3); + p_cfcov_33_ar = stan::math::cholesky_factor_constrain( + in__.template read>>( + K, ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))), 3, + 3, lp__); Eigen::Matrix x_p; x_p = Eigen::Matrix(2); stan::math::fill(x_p, DUMMY_VAR__); @@ -11782,56 +11798,62 @@ class mother_model final : public model_base_crtp { p_upper = std::numeric_limits::quiet_NaN(); current_statement__ = 2; - p_upper = in__.template read_constrain_lb( - p_real, lp__); + p_upper = stan::math::lb_constrain( + in__.template read(), p_real, lp__); double p_lower; p_lower = std::numeric_limits::quiet_NaN(); current_statement__ = 3; - p_lower = in__.template read_constrain_ub( - p_upper, lp__); + p_lower = stan::math::ub_constrain( + in__.template read(), p_upper, lp__); std::vector offset_multiplier; offset_multiplier = std::vector(5, std::numeric_limits::quiet_NaN()); current_statement__ = 4; - offset_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( - 1, 2, lp__, 5); + offset_multiplier = stan::math::offset_multiplier_constrain( + in__.template read>( + 5), 1, 2, lp__); std::vector no_offset_multiplier; no_offset_multiplier = std::vector(5, std::numeric_limits::quiet_NaN()); current_statement__ = 5; - no_offset_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( - 0, 2, lp__, 5); + no_offset_multiplier = stan::math::offset_multiplier_constrain( + in__.template read>( + 5), 0, 2, lp__); std::vector offset_no_multiplier; offset_no_multiplier = std::vector(5, std::numeric_limits::quiet_NaN()); current_statement__ = 6; - offset_no_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( - 3, 1, lp__, 5); + offset_no_multiplier = stan::math::offset_multiplier_constrain( + in__.template read>( + 5), 3, 1, lp__); std::vector p_real_1d_ar; p_real_1d_ar = std::vector(N, std::numeric_limits::quiet_NaN()); current_statement__ = 7; - p_real_1d_ar = in__.template read_constrain_lb, jacobian__>( - 0, lp__, N); + p_real_1d_ar = stan::math::lb_constrain( + in__.template read>(N), + 0, lp__); std::vector>> p_real_3d_ar; p_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, std::numeric_limits::quiet_NaN()))); current_statement__ = 8; - p_real_3d_ar = in__.template read_constrain_lb>>, jacobian__>( - 0, lp__, N, M, K); + p_real_3d_ar = stan::math::lb_constrain( + in__.template read>>>( + N, M, K), 0, lp__); Eigen::Matrix p_vec; p_vec = Eigen::Matrix(N); stan::math::fill(p_vec, std::numeric_limits::quiet_NaN()); current_statement__ = 9; - p_vec = in__.template read_constrain_lb, jacobian__>( - 0, lp__, N); + p_vec = stan::math::lb_constrain( + in__.template read>(N), + 0, lp__); std::vector> p_1d_vec; p_1d_vec = std::vector>(N, Eigen::Matrix(N)); stan::math::fill(p_1d_vec, std::numeric_limits::quiet_NaN()); @@ -11881,53 +11903,63 @@ class mother_model final : public model_base_crtp { stan::math::fill(p_ar_mat, std::numeric_limits::quiet_NaN()); current_statement__ = 16; - p_ar_mat = in__.template read_constrain_lub>>, jacobian__>( - 0, 1, lp__, 4, 5, 2, 3); + p_ar_mat = stan::math::lub_constrain( + in__.template read>>>( + 4, 5, 2, 3), 0, 1, lp__); Eigen::Matrix p_simplex; p_simplex = Eigen::Matrix(N); stan::math::fill(p_simplex, std::numeric_limits::quiet_NaN()); current_statement__ = 17; - p_simplex = in__.template read_constrain_simplex, jacobian__>( - lp__, N); + p_simplex = stan::math::simplex_constrain( + in__.template read>( + (N - 1)), lp__); std::vector> p_1d_simplex; p_1d_simplex = std::vector>(N, Eigen::Matrix(N)); stan::math::fill(p_1d_simplex, std::numeric_limits::quiet_NaN()); current_statement__ = 18; - p_1d_simplex = in__.template read_constrain_simplex>, jacobian__>( - lp__, N, N); + p_1d_simplex = stan::math::simplex_constrain( + in__.template read>>( + N, (N - 1)), lp__); std::vector>>> p_3d_simplex; p_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); stan::math::fill(p_3d_simplex, std::numeric_limits::quiet_NaN()); current_statement__ = 19; - p_3d_simplex = in__.template read_constrain_simplex>>>, jacobian__>( - lp__, N, M, K, N); + p_3d_simplex = stan::math::simplex_constrain( + in__.template read>>>>( + N, M, K, (N - 1)), lp__); Eigen::Matrix p_cfcov_54; p_cfcov_54 = Eigen::Matrix(5, 4); stan::math::fill(p_cfcov_54, std::numeric_limits::quiet_NaN()); current_statement__ = 20; - p_cfcov_54 = in__.template read_constrain_cholesky_factor_cov, jacobian__>( - lp__, 5, 4); + p_cfcov_54 = stan::math::cholesky_factor_constrain( + in__.template read>( + ((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4))), 5, 4, + lp__); Eigen::Matrix p_cfcov_33; p_cfcov_33 = Eigen::Matrix(3, 3); stan::math::fill(p_cfcov_33, std::numeric_limits::quiet_NaN()); current_statement__ = 21; - p_cfcov_33 = in__.template read_constrain_cholesky_factor_cov, jacobian__>( - lp__, 3, 3); + p_cfcov_33 = stan::math::cholesky_factor_constrain( + in__.template read>( + ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))), 3, 3, + lp__); std::vector> p_cfcov_33_ar; p_cfcov_33_ar = std::vector>(K, Eigen::Matrix(3, 3)); stan::math::fill(p_cfcov_33_ar, std::numeric_limits::quiet_NaN()); current_statement__ = 22; - p_cfcov_33_ar = in__.template read_constrain_cholesky_factor_cov>, jacobian__>( - lp__, K, 3, 3); + p_cfcov_33_ar = stan::math::cholesky_factor_constrain( + in__.template read>>( + K, ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))), 3, + 3, lp__); Eigen::Matrix x_p; x_p = Eigen::Matrix(2); stan::math::fill(x_p, std::numeric_limits::quiet_NaN()); @@ -12963,40 +12995,43 @@ class mother_model final : public model_base_crtp { p_upper = DUMMY_VAR__; p_upper = in__.read(); - out__.write_free_lb(p_real, p_upper); + out__.write(stan::math::lb_free(p_upper, p_real)); local_scalar_t__ p_lower; p_lower = DUMMY_VAR__; p_lower = in__.read(); - out__.write_free_ub(p_upper, p_lower); + out__.write(stan::math::ub_free(p_lower, p_upper)); std::vector offset_multiplier; offset_multiplier = std::vector(5, DUMMY_VAR__); for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { offset_multiplier[(sym1__ - 1)] = in__.read(); } - out__.write_free_offset_multiplier(1, 2, offset_multiplier); + out__.write( + stan::math::offset_multiplier_free(offset_multiplier, 1, 2)); std::vector no_offset_multiplier; no_offset_multiplier = std::vector(5, DUMMY_VAR__); for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { no_offset_multiplier[(sym1__ - 1)] = in__.read(); } - out__.write_free_offset_multiplier(0, 2, no_offset_multiplier); + out__.write( + stan::math::offset_multiplier_free(no_offset_multiplier, 0, 2)); std::vector offset_no_multiplier; offset_no_multiplier = std::vector(5, DUMMY_VAR__); for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { offset_no_multiplier[(sym1__ - 1)] = in__.read(); } - out__.write_free_offset_multiplier(3, 1, offset_no_multiplier); + out__.write( + stan::math::offset_multiplier_free(offset_no_multiplier, 3, 1)); std::vector p_real_1d_ar; p_real_1d_ar = std::vector(N, DUMMY_VAR__); for (int sym1__ = 1; sym1__ <= N; ++sym1__) { p_real_1d_ar[(sym1__ - 1)] = in__.read(); } - out__.write_free_lb(0, p_real_1d_ar); + out__.write(stan::math::lb_free(p_real_1d_ar, 0)); std::vector>> p_real_3d_ar; p_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, DUMMY_VAR__))); @@ -13009,7 +13044,7 @@ class mother_model final : public model_base_crtp { } } } - out__.write_free_lb(0, p_real_3d_ar); + out__.write(stan::math::lb_free(p_real_3d_ar, 0)); Eigen::Matrix p_vec; p_vec = Eigen::Matrix(N); stan::math::fill(p_vec, DUMMY_VAR__); @@ -13018,7 +13053,7 @@ class mother_model final : public model_base_crtp { assign(p_vec, in__.read(), "assigning variable p_vec", index_uni(sym1__)); } - out__.write_free_lb(0, p_vec); + out__.write(stan::math::lb_free(p_vec, 0)); std::vector> p_1d_vec; p_1d_vec = std::vector>(N, Eigen::Matrix(N)); stan::math::fill(p_1d_vec, DUMMY_VAR__); @@ -13116,7 +13151,7 @@ class mother_model final : public model_base_crtp { } } } - out__.write_free_lub(0, 1, p_ar_mat); + out__.write(stan::math::lub_free(p_ar_mat, 0, 1)); Eigen::Matrix p_simplex; p_simplex = Eigen::Matrix(N); stan::math::fill(p_simplex, DUMMY_VAR__); @@ -13125,7 +13160,7 @@ class mother_model final : public model_base_crtp { assign(p_simplex, in__.read(), "assigning variable p_simplex", index_uni(sym1__)); } - out__.write_free_simplex(p_simplex); + out__.write(stan::math::simplex_free(p_simplex)); std::vector> p_1d_simplex; p_1d_simplex = std::vector>(N, Eigen::Matrix(N)); stan::math::fill(p_1d_simplex, DUMMY_VAR__); @@ -13137,7 +13172,7 @@ class mother_model final : public model_base_crtp { index_uni(sym1__)); } } - out__.write_free_simplex(p_1d_simplex); + out__.write(stan::math::simplex_free(p_1d_simplex)); std::vector>>> p_3d_simplex; p_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); stan::math::fill(p_3d_simplex, DUMMY_VAR__); @@ -13155,7 +13190,7 @@ class mother_model final : public model_base_crtp { } } } - out__.write_free_simplex(p_3d_simplex); + out__.write(stan::math::simplex_free(p_3d_simplex)); Eigen::Matrix p_cfcov_54; p_cfcov_54 = Eigen::Matrix(5, 4); stan::math::fill(p_cfcov_54, DUMMY_VAR__); @@ -13167,7 +13202,7 @@ class mother_model final : public model_base_crtp { index_uni(sym1__)); } } - out__.write_free_cholesky_factor_cov(p_cfcov_54); + out__.write(stan::math::cholesky_factor_free(p_cfcov_54)); Eigen::Matrix p_cfcov_33; p_cfcov_33 = Eigen::Matrix(3, 3); stan::math::fill(p_cfcov_33, DUMMY_VAR__); @@ -13179,7 +13214,7 @@ class mother_model final : public model_base_crtp { index_uni(sym1__)); } } - out__.write_free_cholesky_factor_cov(p_cfcov_33); + out__.write(stan::math::cholesky_factor_free(p_cfcov_33)); std::vector> p_cfcov_33_ar; p_cfcov_33_ar = std::vector>(K, Eigen::Matrix(3, 3)); stan::math::fill(p_cfcov_33_ar, DUMMY_VAR__); @@ -13194,7 +13229,7 @@ class mother_model final : public model_base_crtp { } } } - out__.write_free_cholesky_factor_cov(p_cfcov_33_ar); + out__.write(stan::math::cholesky_factor_free(p_cfcov_33_ar)); Eigen::Matrix x_p; x_p = Eigen::Matrix(2); stan::math::fill(x_p, DUMMY_VAR__); @@ -21091,38 +21126,40 @@ class old_integrate_interface_model final : public model_base_crtp( - 0, lp__); + alpha = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ beta; beta = DUMMY_VAR__; current_statement__ = 2; - beta = in__.template read_constrain_lb(0, - lp__); + beta = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ gamma; gamma = DUMMY_VAR__; current_statement__ = 3; - gamma = in__.template read_constrain_lb( - 0, lp__); + gamma = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ delta; delta = DUMMY_VAR__; current_statement__ = 4; - delta = in__.template read_constrain_lb( - 0, lp__); + delta = stan::math::lb_constrain( + in__.template read(), 0, lp__); std::vector z_init; z_init = std::vector(2, DUMMY_VAR__); current_statement__ = 5; - z_init = in__.template read_constrain_lb, jacobian__>( - 0, lp__, 2); + z_init = stan::math::lb_constrain( + in__.template read>(2), 0, + lp__); std::vector sigma; sigma = std::vector(2, DUMMY_VAR__); current_statement__ = 6; - sigma = in__.template read_constrain_lb, jacobian__>( - 0, lp__, 2); + sigma = stan::math::lb_constrain( + in__.template read>(2), 0, + lp__); std::vector> z; z = std::vector>(N, std::vector(2, DUMMY_VAR__)); @@ -21198,40 +21235,42 @@ class old_integrate_interface_model final : public model_base_crtp::quiet_NaN(); current_statement__ = 1; - alpha = in__.template read_constrain_lb( - 0, lp__); + alpha = stan::math::lb_constrain( + in__.template read(), 0, lp__); double beta; beta = std::numeric_limits::quiet_NaN(); current_statement__ = 2; - beta = in__.template read_constrain_lb(0, - lp__); + beta = stan::math::lb_constrain( + in__.template read(), 0, lp__); double gamma; gamma = std::numeric_limits::quiet_NaN(); current_statement__ = 3; - gamma = in__.template read_constrain_lb( - 0, lp__); + gamma = stan::math::lb_constrain( + in__.template read(), 0, lp__); double delta; delta = std::numeric_limits::quiet_NaN(); current_statement__ = 4; - delta = in__.template read_constrain_lb( - 0, lp__); + delta = stan::math::lb_constrain( + in__.template read(), 0, lp__); std::vector z_init; z_init = std::vector(2, std::numeric_limits::quiet_NaN()); current_statement__ = 5; - z_init = in__.template read_constrain_lb, jacobian__>( - 0, lp__, 2); + z_init = stan::math::lb_constrain( + in__.template read>(2), 0, + lp__); std::vector sigma; sigma = std::vector(2, std::numeric_limits::quiet_NaN()); current_statement__ = 6; - sigma = in__.template read_constrain_lb, jacobian__>( - 0, lp__, 2); + sigma = stan::math::lb_constrain( + in__.template read>(2), 0, + lp__); std::vector> z; z = std::vector>(N, std::vector(2, std::numeric_limits::quiet_NaN())); @@ -21288,36 +21327,36 @@ class old_integrate_interface_model final : public model_base_crtp(); - out__.write_free_lb(0, alpha); + out__.write(stan::math::lb_free(alpha, 0)); local_scalar_t__ beta; beta = DUMMY_VAR__; beta = in__.read(); - out__.write_free_lb(0, beta); + out__.write(stan::math::lb_free(beta, 0)); local_scalar_t__ gamma; gamma = DUMMY_VAR__; gamma = in__.read(); - out__.write_free_lb(0, gamma); + out__.write(stan::math::lb_free(gamma, 0)); local_scalar_t__ delta; delta = DUMMY_VAR__; delta = in__.read(); - out__.write_free_lb(0, delta); + out__.write(stan::math::lb_free(delta, 0)); std::vector z_init; z_init = std::vector(2, DUMMY_VAR__); for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { z_init[(sym1__ - 1)] = in__.read(); } - out__.write_free_lb(0, z_init); + out__.write(stan::math::lb_free(z_init, 0)); std::vector sigma; sigma = std::vector(2, DUMMY_VAR__); for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { sigma[(sym1__ - 1)] = in__.read(); } - out__.write_free_lb(0, sigma); + out__.write(stan::math::lb_free(sigma, 0)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -22119,8 +22158,8 @@ class optimize_glm_model final : public model_base_crtp { sigma = DUMMY_VAR__; current_statement__ = 4; - sigma = in__.template read_constrain_lb( - 0, lp__); + sigma = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ alpha; alpha = DUMMY_VAR__; @@ -22742,8 +22781,8 @@ class optimize_glm_model final : public model_base_crtp { sigma = std::numeric_limits::quiet_NaN(); current_statement__ = 4; - sigma = in__.template read_constrain_lb( - 0, lp__); + sigma = stan::math::lb_constrain( + in__.template read(), 0, lp__); double alpha; alpha = std::numeric_limits::quiet_NaN(); @@ -22842,7 +22881,7 @@ class optimize_glm_model final : public model_base_crtp { sigma = DUMMY_VAR__; sigma = in__.read(); - out__.write_free_lb(0, sigma); + out__.write(stan::math::lb_free(sigma, 0)); local_scalar_t__ alpha; alpha = DUMMY_VAR__; @@ -23263,16 +23302,18 @@ class param_constraint_model final : public model_base_crtp>, jacobian__>( - lp__, nt, 2); + L_Omega = stan::math::cholesky_corr_constrain( + in__.template read>>( + nt, ((2 * (2 - 1)) / 2)), 2, lp__); Eigen::Matrix z1; z1 = Eigen::Matrix(NS); stan::math::fill(z1, DUMMY_VAR__); current_statement__ = 2; - z1 = in__.template read_constrain_lb, jacobian__>( + z1 = stan::math::lb_constrain( + in__.template read>(NS), rvalue(L_Omega, "L_Omega", - index_uni(1), index_uni(1), index_uni(2)), lp__, NS); + index_uni(1), index_uni(1), index_uni(2)), lp__); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -23310,16 +23351,18 @@ class param_constraint_model final : public model_base_crtp::quiet_NaN()); current_statement__ = 1; - L_Omega = in__.template read_constrain_cholesky_factor_corr>, jacobian__>( - lp__, nt, 2); + L_Omega = stan::math::cholesky_corr_constrain( + in__.template read>>( + nt, ((2 * (2 - 1)) / 2)), 2, lp__); Eigen::Matrix z1; z1 = Eigen::Matrix(NS); stan::math::fill(z1, std::numeric_limits::quiet_NaN()); current_statement__ = 2; - z1 = in__.template read_constrain_lb, jacobian__>( + z1 = stan::math::lb_constrain( + in__.template read>(NS), rvalue(L_Omega, "L_Omega", - index_uni(1), index_uni(1), index_uni(2)), lp__, NS); + index_uni(1), index_uni(1), index_uni(2)), lp__); for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { for (int sym3__ = 1; sym3__ <= nt; ++sym3__) { @@ -23373,7 +23416,7 @@ class param_constraint_model final : public model_base_crtp z1; z1 = Eigen::Matrix(NS); stan::math::fill(z1, DUMMY_VAR__); @@ -23382,9 +23425,10 @@ class param_constraint_model final : public model_base_crtp(), "assigning variable z1", index_uni(sym1__)); } - out__.write_free_lb( - rvalue(L_Omega, "L_Omega", index_uni(1), index_uni(1), index_uni(2)), - z1); + out__.write( + stan::math::lb_free(z1, + rvalue(L_Omega, "L_Omega", + index_uni(1), index_uni(1), index_uni(2)))); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -30896,6 +30940,492 @@ stan::math::profile_map& get_stan_profile_data() { + $ ../../../../../install/default/bin/stanc --print-cpp scaled-transforms.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace scaled_transforms_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'scaled-transforms.stan', line 6, column 4 to column 50)", + " (in 'scaled-transforms.stan', line 7, column 4 to column 60)", + " (in 'scaled-transforms.stan', line 8, column 4 to column 41)", + " (in 'scaled-transforms.stan', line 9, column 4 to column 58)", + " (in 'scaled-transforms.stan', line 2, column 3 to column 18)", + " (in 'scaled-transforms.stan', line 9, column 36 to column 37)"}; + + + +class scaled_transforms_model final : public model_base_crtp { + + private: + int N; + + + public: + ~scaled_transforms_model() { } + + inline std::string model_name() const final { return "scaled_transforms_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + scaled_transforms_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "scaled_transforms_model_namespace::scaled_transforms_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + current_statement__ = 5; + context__.validate_dims("data initialization","N","int", + std::vector{}); + N = std::numeric_limits::min(); + + current_statement__ = 5; + N = context__.vals_i("N")[(1 - 1)]; + current_statement__ = 5; + check_greater_or_equal(function__, "N", N, 0); + current_statement__ = 6; + validate_non_negative_index("multiplied_ordered", "N", N); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = 3 + 1 + (10 - 1) + N; + + } + + template * = nullptr, + stan::require_vector_like_vt* = nullptr> + inline stan::scalar_type_t log_prob_impl(VecR& params_r__, + VecI& params_i__, + std::ostream* pstream__ = nullptr) const { + using T__ = stan::scalar_type_t; + using local_scalar_t__ = T__; + T__ lp__(0.0); + stan::math::accumulator lp_accum__; + stan::io::deserializer in__(params_r__, params_i__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + static constexpr const char* function__ = "scaled_transforms_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + std::vector loweroffset; + loweroffset = std::vector(3, DUMMY_VAR__); + + current_statement__ = 1; + loweroffset = stan::math::lb_constrain( + stan::math::offset_multiplier_constrain( + in__.template read>(3), + 10, 1, lp__), 0, lp__); + local_scalar_t__ allfour; + allfour = DUMMY_VAR__; + + current_statement__ = 2; + allfour = stan::math::lub_constrain( + stan::math::offset_multiplier_constrain( + in__.template read(), 1, 10, lp__), 0, + 1, lp__); + Eigen::Matrix offset_simplex; + offset_simplex = Eigen::Matrix(10); + stan::math::fill(offset_simplex, DUMMY_VAR__); + + current_statement__ = 3; + offset_simplex = stan::math::simplex_constrain( + stan::math::offset_multiplier_constrain( + in__.template read>( + (10 - 1)), 1, 1, lp__), lp__); + Eigen::Matrix multiplied_ordered; + multiplied_ordered = Eigen::Matrix(N); + stan::math::fill(multiplied_ordered, DUMMY_VAR__); + + current_statement__ = 4; + multiplied_ordered = stan::math::positive_ordered_constrain( + stan::math::offset_multiplier_constrain( + in__.template read>( + N), 0, 10, lp__), lp__); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + template * = nullptr, + stan::require_vector_like_vt* = nullptr, + stan::require_std_vector_vt* = nullptr> + inline void write_array_impl(RNG& base_rng__, VecR& params_r__, + VecI& params_i__, VecVar& vars__, + const bool emit_transformed_parameters__ = true, + const bool emit_generated_quantities__ = true, + std::ostream* pstream__ = nullptr) const { + using local_scalar_t__ = double; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + static constexpr bool propto__ = true; + (void) propto__; + double lp__ = 0.0; + (void) lp__; // dummy to suppress unused var warning + int current_statement__ = 0; + stan::math::accumulator lp_accum__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + constexpr bool jacobian__ = false; + (void) DUMMY_VAR__; // suppress unused var warning + static constexpr const char* function__ = "scaled_transforms_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + std::vector loweroffset; + loweroffset = std::vector(3, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 1; + loweroffset = stan::math::lb_constrain( + stan::math::offset_multiplier_constrain( + in__.template read>(3), + 10, 1, lp__), 0, lp__); + double allfour; + allfour = std::numeric_limits::quiet_NaN(); + + current_statement__ = 2; + allfour = stan::math::lub_constrain( + stan::math::offset_multiplier_constrain( + in__.template read(), 1, 10, lp__), 0, + 1, lp__); + Eigen::Matrix offset_simplex; + offset_simplex = Eigen::Matrix(10); + stan::math::fill(offset_simplex, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 3; + offset_simplex = stan::math::simplex_constrain( + stan::math::offset_multiplier_constrain( + in__.template read>( + (10 - 1)), 1, 1, lp__), lp__); + Eigen::Matrix multiplied_ordered; + multiplied_ordered = Eigen::Matrix(N); + stan::math::fill(multiplied_ordered, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 4; + multiplied_ordered = stan::math::positive_ordered_constrain( + stan::math::offset_multiplier_constrain( + in__.template read>( + N), 0, 10, lp__), lp__); + out__.write(loweroffset); + out__.write(allfour); + out__.write(offset_simplex); + out__.write(multiplied_ordered); + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // write_array_impl() + + template * = nullptr, + stan::require_vector_like_vt* = nullptr> + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, + std::ostream* pstream__ = nullptr) const { + using local_scalar_t__ = double; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + std::vector loweroffset; + loweroffset = std::vector(3, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + loweroffset[(sym1__ - 1)] = in__.read(); + } + out__.write( + stan::math::offset_multiplier_free( + stan::math::lb_free(loweroffset, 0), 10, 1)); + local_scalar_t__ allfour; + allfour = DUMMY_VAR__; + + allfour = in__.read(); + out__.write( + stan::math::offset_multiplier_free( + stan::math::lub_free(allfour, 0, 1), 1, 10)); + Eigen::Matrix offset_simplex; + offset_simplex = Eigen::Matrix(10); + stan::math::fill(offset_simplex, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= 10; ++sym1__) { + assign(offset_simplex, in__.read(), + "assigning variable offset_simplex", index_uni(sym1__)); + } + out__.write( + stan::math::offset_multiplier_free( + stan::math::simplex_free(offset_simplex), 1, 1)); + Eigen::Matrix multiplied_ordered; + multiplied_ordered = Eigen::Matrix(N); + stan::math::fill(multiplied_ordered, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + assign(multiplied_ordered, in__.read(), + "assigning variable multiplied_ordered", index_uni(sym1__)); + } + out__.write( + stan::math::offset_multiplier_free( + stan::math::positive_ordered_free(multiplied_ordered), 0, 10)); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"loweroffset", "allfour", + "offset_simplex", "multiplied_ordered"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{ + static_cast(3) + }, + std::vector{}, std::vector{static_cast(10)}, + std::vector{static_cast(N)}}; + + } // get_dims() + + inline void constrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + param_names__.emplace_back(std::string() + "loweroffset" + '.' + std::to_string(sym1__)); + } + } + param_names__.emplace_back(std::string() + "allfour"); + for (int sym1__ = 1; sym1__ <= 10; ++sym1__) { + { + param_names__.emplace_back(std::string() + "offset_simplex" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "multiplied_ordered" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + + } + + } // constrained_param_names() + + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + param_names__.emplace_back(std::string() + "loweroffset" + '.' + std::to_string(sym1__)); + } + } + param_names__.emplace_back(std::string() + "allfour"); + for (int sym1__ = 1; sym1__ <= (10 - 1); ++sym1__) { + { + param_names__.emplace_back(std::string() + "offset_simplex" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "multiplied_ordered" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"loweroffset\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"allfour\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"offset_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(10) + "},\"block\":\"parameters\"},{\"name\":\"multiplied_ordered\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"loweroffset\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"allfour\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"offset_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string((10 - 1)) + "},\"block\":\"parameters\"},{\"name\":\"multiplied_ordered\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = + (((3 + 1) + 10) + N); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + std::vector params_i; + write_array_impl(base_rng, params_r, params_i, vars_vec, + emit_transformed_parameters, emit_generated_quantities, pstream); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = + (((3 + 1) + 10) + N); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); + } + + template + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + inline void transform_inits(const stan::io::var_context& context, + Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const final { + std::vector params_r_vec(params_r.size()); + std::vector params_i; + transform_inits(context, params_i, params_r_vec, pstream); + params_r = Eigen::Map>( + params_r_vec.data(), params_r_vec.size()); + } + + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + constexpr std::array names__{"loweroffset", "allfour", + "offset_simplex", "multiplied_ordered"}; + const std::array constrain_param_sizes__{3, 1, 10, N}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} + +using stan_model = scaled_transforms_model_namespace::scaled_transforms_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return scaled_transforms_model_namespace::profiles__; +} + +#endif + + + $ ../../../../../install/default/bin/stanc --print-cpp single-argument-lpmf.stan // Code generated by %%NAME%% %%VERSION%% @@ -31483,8 +32013,8 @@ class tilde_block_model final : public model_base_crtp { x = DUMMY_VAR__; current_statement__ = 1; - x = in__.template read_constrain_lb(0, - lp__); + x = stan::math::lb_constrain( + in__.template read(), 0, lp__); { current_statement__ = 4; if (t) { @@ -31547,8 +32077,8 @@ class tilde_block_model final : public model_base_crtp { x = std::numeric_limits::quiet_NaN(); current_statement__ = 1; - x = in__.template read_constrain_lb(0, - lp__); + x = stan::math::lb_constrain( + in__.template read(), 0, lp__); out__.write(x); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { @@ -31583,7 +32113,7 @@ class tilde_block_model final : public model_base_crtp { x = DUMMY_VAR__; x = in__.read(); - out__.write_free_lb(0, x); + out__.write(stan::math::lb_free(x, 0)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -32258,8 +32788,9 @@ class transform_model final : public model_base_crtp { p_1 = std::vector(k, DUMMY_VAR__); current_statement__ = 1; - p_1 = in__.template read_constrain_lb, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__, k); + p_1 = stan::math::lb_constrain( + in__.template read>(k), + rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__); current_statement__ = 1; check_matching_dims("constraint", "p_1", p_1, "lower", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32267,8 +32798,9 @@ class transform_model final : public model_base_crtp { p_2 = std::vector(k, DUMMY_VAR__); current_statement__ = 2; - p_2 = in__.template read_constrain_ub, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__, k); + p_2 = stan::math::ub_constrain( + in__.template read>(k), + rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__); current_statement__ = 2; check_matching_dims("constraint", "p_2", p_2, "upper", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32276,9 +32808,10 @@ class transform_model final : public model_base_crtp { p_3 = std::vector(k, DUMMY_VAR__); current_statement__ = 3; - p_3 = in__.template read_constrain_lub, jacobian__>( + p_3 = stan::math::lub_constrain( + in__.template read>(k), rvalue(ds, "ds", index_uni(1), index_uni(1)), - rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__, k); + rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__); current_statement__ = 3; check_matching_dims("constraint", "p_3", p_3, "lower", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32289,8 +32822,9 @@ class transform_model final : public model_base_crtp { p_4 = std::vector(k, DUMMY_VAR__); current_statement__ = 4; - p_4 = in__.template read_constrain_lub, jacobian__>( - 0, rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__, k); + p_4 = stan::math::lub_constrain( + in__.template read>(k), 0, + rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__); current_statement__ = 4; check_matching_dims("constraint", "p_4", p_4, "upper", rvalue(ds, "ds", index_uni(1), index_uni(2))); @@ -32298,8 +32832,9 @@ class transform_model final : public model_base_crtp { p_5 = std::vector(k, DUMMY_VAR__); current_statement__ = 5; - p_5 = in__.template read_constrain_lub, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, lp__, k); + p_5 = stan::math::lub_constrain( + in__.template read>(k), + rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, lp__); current_statement__ = 5; check_matching_dims("constraint", "p_5", p_5, "lower", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32307,8 +32842,9 @@ class transform_model final : public model_base_crtp { p_6 = std::vector(k, DUMMY_VAR__); current_statement__ = 6; - p_6 = in__.template read_constrain_offset_multiplier, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, lp__, k); + p_6 = stan::math::offset_multiplier_constrain( + in__.template read>(k), + rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, lp__); current_statement__ = 6; check_matching_dims("constraint", "p_6", p_6, "offset", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32316,8 +32852,9 @@ class transform_model final : public model_base_crtp { p_7 = std::vector(k, DUMMY_VAR__); current_statement__ = 7; - p_7 = in__.template read_constrain_offset_multiplier, jacobian__>( - 0, rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__, k); + p_7 = stan::math::offset_multiplier_constrain( + in__.template read>(k), 0, + rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__); current_statement__ = 7; check_matching_dims("constraint", "p_7", p_7, "multiplier", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32325,9 +32862,10 @@ class transform_model final : public model_base_crtp { p_8 = std::vector(k, DUMMY_VAR__); current_statement__ = 8; - p_8 = in__.template read_constrain_offset_multiplier, jacobian__>( + p_8 = stan::math::offset_multiplier_constrain( + in__.template read>(k), rvalue(ds, "ds", index_uni(1), index_uni(1)), - rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__, k); + rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__); current_statement__ = 8; check_matching_dims("constraint", "p_8", p_8, "offset", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32339,8 +32877,9 @@ class transform_model final : public model_base_crtp { current_statement__ = 9; - p_9 = in__.template read_constrain_lub>, jacobian__>( - rvalue(ds, "ds", index_uni(1)), 1, lp__, m, k); + p_9 = stan::math::lub_constrain( + in__.template read>>( + m, k), rvalue(ds, "ds", index_uni(1)), 1, lp__); current_statement__ = 9; check_matching_dims("constraint", "p_9", p_9, "lower", rvalue(ds, "ds", index_uni(1))); @@ -32349,8 +32888,9 @@ class transform_model final : public model_base_crtp { current_statement__ = 10; - p_10 = in__.template read_constrain_lub>>, jacobian__>( - 0, ds, lp__, n, m, k); + p_10 = stan::math::lub_constrain( + in__.template read>>>( + n, m, k), 0, ds, lp__); current_statement__ = 10; check_matching_dims("constraint", "p_10", p_10, "upper", ds); Eigen::Matrix pv_1; @@ -32358,9 +32898,10 @@ class transform_model final : public model_base_crtp { stan::math::fill(pv_1, DUMMY_VAR__); current_statement__ = 11; - pv_1 = in__.template read_constrain_lub, jacobian__>( + pv_1 = stan::math::lub_constrain( + in__.template read>(k), rvalue(dv, "dv", index_uni(1), index_uni(1)), - rvalue(dv, "dv", index_uni(1), index_uni(2)), lp__, k); + rvalue(dv, "dv", index_uni(1), index_uni(2)), lp__); current_statement__ = 11; check_matching_dims("constraint", "pv_1", pv_1, "lower", rvalue(dv, "dv", index_uni(1), index_uni(1))); @@ -32372,8 +32913,9 @@ class transform_model final : public model_base_crtp { stan::math::fill(pv_2, DUMMY_VAR__); current_statement__ = 12; - pv_2 = in__.template read_constrain_lb>, jacobian__>( - rvalue(dv, "dv", index_uni(1)), lp__, m, k); + pv_2 = stan::math::lb_constrain( + in__.template read>>( + m, k), rvalue(dv, "dv", index_uni(1)), lp__); current_statement__ = 12; check_matching_dims("constraint", "pv_2", pv_2, "lower", rvalue(dv, "dv", index_uni(1))); @@ -32382,8 +32924,9 @@ class transform_model final : public model_base_crtp { stan::math::fill(pv_3, DUMMY_VAR__); current_statement__ = 13; - pv_3 = in__.template read_constrain_ub>>, jacobian__>( - dv, lp__, n, m, k); + pv_3 = stan::math::ub_constrain( + in__.template read>>>( + n, m, k), dv, lp__); current_statement__ = 13; check_matching_dims("constraint", "pv_3", pv_3, "upper", dv); Eigen::Matrix pr_1; @@ -32391,9 +32934,10 @@ class transform_model final : public model_base_crtp { stan::math::fill(pr_1, DUMMY_VAR__); current_statement__ = 14; - pr_1 = in__.template read_constrain_lub, jacobian__>( + pr_1 = stan::math::lub_constrain( + in__.template read>(k), rvalue(dr, "dr", index_uni(1), index_uni(1)), - rvalue(dr, "dr", index_uni(1), index_uni(2)), lp__, k); + rvalue(dr, "dr", index_uni(1), index_uni(2)), lp__); current_statement__ = 14; check_matching_dims("constraint", "pr_1", pr_1, "lower", rvalue(dr, "dr", index_uni(1), index_uni(1))); @@ -32405,8 +32949,9 @@ class transform_model final : public model_base_crtp { stan::math::fill(pr_2, DUMMY_VAR__); current_statement__ = 15; - pr_2 = in__.template read_constrain_lb>, jacobian__>( - rvalue(dr, "dr", index_uni(1)), lp__, m, k); + pr_2 = stan::math::lb_constrain( + in__.template read>>( + m, k), rvalue(dr, "dr", index_uni(1)), lp__); current_statement__ = 15; check_matching_dims("constraint", "pr_2", pr_2, "lower", rvalue(dr, "dr", index_uni(1))); @@ -32415,8 +32960,9 @@ class transform_model final : public model_base_crtp { stan::math::fill(pr_3, DUMMY_VAR__); current_statement__ = 16; - pr_3 = in__.template read_constrain_ub>>, jacobian__>( - dr, lp__, n, m, k); + pr_3 = stan::math::ub_constrain( + in__.template read>>>( + n, m, k), dr, lp__); current_statement__ = 16; check_matching_dims("constraint", "pr_3", pr_3, "upper", dr); Eigen::Matrix pm_1; @@ -32424,8 +32970,9 @@ class transform_model final : public model_base_crtp { stan::math::fill(pm_1, DUMMY_VAR__); current_statement__ = 17; - pm_1 = in__.template read_constrain_lb, jacobian__>( - rvalue(dm, "dm", index_uni(1)), lp__, m, k); + pm_1 = stan::math::lb_constrain( + in__.template read>(m, + k), rvalue(dm, "dm", index_uni(1)), lp__); current_statement__ = 17; check_matching_dims("constraint", "pm_1", pm_1, "lower", rvalue(dm, "dm", index_uni(1))); @@ -32434,8 +32981,9 @@ class transform_model final : public model_base_crtp { stan::math::fill(pm_2, DUMMY_VAR__); current_statement__ = 18; - pm_2 = in__.template read_constrain_ub>, jacobian__>( - dm, lp__, n, m, k); + pm_2 = stan::math::ub_constrain( + in__.template read>>( + n, m, k), dm, lp__); current_statement__ = 18; check_matching_dims("constraint", "pm_2", pm_2, "upper", dm); std::vector tp_1; @@ -32850,8 +33398,9 @@ class transform_model final : public model_base_crtp { p_1 = std::vector(k, std::numeric_limits::quiet_NaN()); current_statement__ = 1; - p_1 = in__.template read_constrain_lb, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__, k); + p_1 = stan::math::lb_constrain( + in__.template read>(k), + rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__); current_statement__ = 1; check_matching_dims("constraint", "p_1", p_1, "lower", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32859,8 +33408,9 @@ class transform_model final : public model_base_crtp { p_2 = std::vector(k, std::numeric_limits::quiet_NaN()); current_statement__ = 2; - p_2 = in__.template read_constrain_ub, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__, k); + p_2 = stan::math::ub_constrain( + in__.template read>(k), + rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__); current_statement__ = 2; check_matching_dims("constraint", "p_2", p_2, "upper", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32868,9 +33418,10 @@ class transform_model final : public model_base_crtp { p_3 = std::vector(k, std::numeric_limits::quiet_NaN()); current_statement__ = 3; - p_3 = in__.template read_constrain_lub, jacobian__>( + p_3 = stan::math::lub_constrain( + in__.template read>(k), rvalue(ds, "ds", index_uni(1), index_uni(1)), - rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__, k); + rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__); current_statement__ = 3; check_matching_dims("constraint", "p_3", p_3, "lower", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32881,8 +33432,9 @@ class transform_model final : public model_base_crtp { p_4 = std::vector(k, std::numeric_limits::quiet_NaN()); current_statement__ = 4; - p_4 = in__.template read_constrain_lub, jacobian__>( - 0, rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__, k); + p_4 = stan::math::lub_constrain( + in__.template read>(k), 0, + rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__); current_statement__ = 4; check_matching_dims("constraint", "p_4", p_4, "upper", rvalue(ds, "ds", index_uni(1), index_uni(2))); @@ -32890,8 +33442,9 @@ class transform_model final : public model_base_crtp { p_5 = std::vector(k, std::numeric_limits::quiet_NaN()); current_statement__ = 5; - p_5 = in__.template read_constrain_lub, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, lp__, k); + p_5 = stan::math::lub_constrain( + in__.template read>(k), + rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, lp__); current_statement__ = 5; check_matching_dims("constraint", "p_5", p_5, "lower", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32899,8 +33452,9 @@ class transform_model final : public model_base_crtp { p_6 = std::vector(k, std::numeric_limits::quiet_NaN()); current_statement__ = 6; - p_6 = in__.template read_constrain_offset_multiplier, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, lp__, k); + p_6 = stan::math::offset_multiplier_constrain( + in__.template read>(k), + rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, lp__); current_statement__ = 6; check_matching_dims("constraint", "p_6", p_6, "offset", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32908,8 +33462,9 @@ class transform_model final : public model_base_crtp { p_7 = std::vector(k, std::numeric_limits::quiet_NaN()); current_statement__ = 7; - p_7 = in__.template read_constrain_offset_multiplier, jacobian__>( - 0, rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__, k); + p_7 = stan::math::offset_multiplier_constrain( + in__.template read>(k), 0, + rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__); current_statement__ = 7; check_matching_dims("constraint", "p_7", p_7, "multiplier", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32917,9 +33472,10 @@ class transform_model final : public model_base_crtp { p_8 = std::vector(k, std::numeric_limits::quiet_NaN()); current_statement__ = 8; - p_8 = in__.template read_constrain_offset_multiplier, jacobian__>( + p_8 = stan::math::offset_multiplier_constrain( + in__.template read>(k), rvalue(ds, "ds", index_uni(1), index_uni(1)), - rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__, k); + rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__); current_statement__ = 8; check_matching_dims("constraint", "p_8", p_8, "offset", rvalue(ds, "ds", index_uni(1), index_uni(1))); @@ -32931,8 +33487,9 @@ class transform_model final : public model_base_crtp { current_statement__ = 9; - p_9 = in__.template read_constrain_lub>, jacobian__>( - rvalue(ds, "ds", index_uni(1)), 1, lp__, m, k); + p_9 = stan::math::lub_constrain( + in__.template read>>( + m, k), rvalue(ds, "ds", index_uni(1)), 1, lp__); current_statement__ = 9; check_matching_dims("constraint", "p_9", p_9, "lower", rvalue(ds, "ds", index_uni(1))); @@ -32941,8 +33498,9 @@ class transform_model final : public model_base_crtp { current_statement__ = 10; - p_10 = in__.template read_constrain_lub>>, jacobian__>( - 0, ds, lp__, n, m, k); + p_10 = stan::math::lub_constrain( + in__.template read>>>( + n, m, k), 0, ds, lp__); current_statement__ = 10; check_matching_dims("constraint", "p_10", p_10, "upper", ds); Eigen::Matrix pv_1; @@ -32950,9 +33508,10 @@ class transform_model final : public model_base_crtp { stan::math::fill(pv_1, std::numeric_limits::quiet_NaN()); current_statement__ = 11; - pv_1 = in__.template read_constrain_lub, jacobian__>( + pv_1 = stan::math::lub_constrain( + in__.template read>(k), rvalue(dv, "dv", index_uni(1), index_uni(1)), - rvalue(dv, "dv", index_uni(1), index_uni(2)), lp__, k); + rvalue(dv, "dv", index_uni(1), index_uni(2)), lp__); current_statement__ = 11; check_matching_dims("constraint", "pv_1", pv_1, "lower", rvalue(dv, "dv", index_uni(1), index_uni(1))); @@ -32964,8 +33523,9 @@ class transform_model final : public model_base_crtp { stan::math::fill(pv_2, std::numeric_limits::quiet_NaN()); current_statement__ = 12; - pv_2 = in__.template read_constrain_lb>, jacobian__>( - rvalue(dv, "dv", index_uni(1)), lp__, m, k); + pv_2 = stan::math::lb_constrain( + in__.template read>>( + m, k), rvalue(dv, "dv", index_uni(1)), lp__); current_statement__ = 12; check_matching_dims("constraint", "pv_2", pv_2, "lower", rvalue(dv, "dv", index_uni(1))); @@ -32974,8 +33534,9 @@ class transform_model final : public model_base_crtp { stan::math::fill(pv_3, std::numeric_limits::quiet_NaN()); current_statement__ = 13; - pv_3 = in__.template read_constrain_ub>>, jacobian__>( - dv, lp__, n, m, k); + pv_3 = stan::math::ub_constrain( + in__.template read>>>( + n, m, k), dv, lp__); current_statement__ = 13; check_matching_dims("constraint", "pv_3", pv_3, "upper", dv); Eigen::Matrix pr_1; @@ -32983,9 +33544,10 @@ class transform_model final : public model_base_crtp { stan::math::fill(pr_1, std::numeric_limits::quiet_NaN()); current_statement__ = 14; - pr_1 = in__.template read_constrain_lub, jacobian__>( + pr_1 = stan::math::lub_constrain( + in__.template read>(k), rvalue(dr, "dr", index_uni(1), index_uni(1)), - rvalue(dr, "dr", index_uni(1), index_uni(2)), lp__, k); + rvalue(dr, "dr", index_uni(1), index_uni(2)), lp__); current_statement__ = 14; check_matching_dims("constraint", "pr_1", pr_1, "lower", rvalue(dr, "dr", index_uni(1), index_uni(1))); @@ -32997,8 +33559,9 @@ class transform_model final : public model_base_crtp { stan::math::fill(pr_2, std::numeric_limits::quiet_NaN()); current_statement__ = 15; - pr_2 = in__.template read_constrain_lb>, jacobian__>( - rvalue(dr, "dr", index_uni(1)), lp__, m, k); + pr_2 = stan::math::lb_constrain( + in__.template read>>( + m, k), rvalue(dr, "dr", index_uni(1)), lp__); current_statement__ = 15; check_matching_dims("constraint", "pr_2", pr_2, "lower", rvalue(dr, "dr", index_uni(1))); @@ -33007,8 +33570,9 @@ class transform_model final : public model_base_crtp { stan::math::fill(pr_3, std::numeric_limits::quiet_NaN()); current_statement__ = 16; - pr_3 = in__.template read_constrain_ub>>, jacobian__>( - dr, lp__, n, m, k); + pr_3 = stan::math::ub_constrain( + in__.template read>>>( + n, m, k), dr, lp__); current_statement__ = 16; check_matching_dims("constraint", "pr_3", pr_3, "upper", dr); Eigen::Matrix pm_1; @@ -33016,8 +33580,9 @@ class transform_model final : public model_base_crtp { stan::math::fill(pm_1, std::numeric_limits::quiet_NaN()); current_statement__ = 17; - pm_1 = in__.template read_constrain_lb, jacobian__>( - rvalue(dm, "dm", index_uni(1)), lp__, m, k); + pm_1 = stan::math::lb_constrain( + in__.template read>(m, + k), rvalue(dm, "dm", index_uni(1)), lp__); current_statement__ = 17; check_matching_dims("constraint", "pm_1", pm_1, "lower", rvalue(dm, "dm", index_uni(1))); @@ -33026,8 +33591,9 @@ class transform_model final : public model_base_crtp { stan::math::fill(pm_2, std::numeric_limits::quiet_NaN()); current_statement__ = 18; - pm_2 = in__.template read_constrain_ub>, jacobian__>( - dm, lp__, n, m, k); + pm_2 = stan::math::ub_constrain( + in__.template read>>( + n, m, k), dm, lp__); current_statement__ = 18; check_matching_dims("constraint", "pm_2", pm_2, "upper", dm); std::vector tp_1; @@ -33555,63 +34121,74 @@ class transform_model final : public model_base_crtp { for (int sym1__ = 1; sym1__ <= k; ++sym1__) { p_1[(sym1__ - 1)] = in__.read(); } - out__.write_free_lb(rvalue(ds, "ds", index_uni(1), index_uni(1)), p_1); + out__.write( + stan::math::lb_free(p_1, + rvalue(ds, "ds", index_uni(1), index_uni(1)))); std::vector p_2; p_2 = std::vector(k, DUMMY_VAR__); for (int sym1__ = 1; sym1__ <= k; ++sym1__) { p_2[(sym1__ - 1)] = in__.read(); } - out__.write_free_ub(rvalue(ds, "ds", index_uni(1), index_uni(1)), p_2); + out__.write( + stan::math::ub_free(p_2, + rvalue(ds, "ds", index_uni(1), index_uni(1)))); std::vector p_3; p_3 = std::vector(k, DUMMY_VAR__); for (int sym1__ = 1; sym1__ <= k; ++sym1__) { p_3[(sym1__ - 1)] = in__.read(); } - out__.write_free_lub(rvalue(ds, "ds", index_uni(1), index_uni(1)), - rvalue(ds, "ds", index_uni(1), index_uni(2)), p_3); + out__.write( + stan::math::lub_free(p_3, + rvalue(ds, "ds", index_uni(1), index_uni(1)), + rvalue(ds, "ds", index_uni(1), index_uni(2)))); std::vector p_4; p_4 = std::vector(k, DUMMY_VAR__); for (int sym1__ = 1; sym1__ <= k; ++sym1__) { p_4[(sym1__ - 1)] = in__.read(); } - out__.write_free_lub(0, rvalue(ds, "ds", index_uni(1), index_uni(2)), - p_4); + out__.write( + stan::math::lub_free(p_4, 0, + rvalue(ds, "ds", index_uni(1), index_uni(2)))); std::vector p_5; p_5 = std::vector(k, DUMMY_VAR__); for (int sym1__ = 1; sym1__ <= k; ++sym1__) { p_5[(sym1__ - 1)] = in__.read(); } - out__.write_free_lub(rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, - p_5); + out__.write( + stan::math::lub_free(p_5, + rvalue(ds, "ds", index_uni(1), index_uni(1)), 1)); std::vector p_6; p_6 = std::vector(k, DUMMY_VAR__); for (int sym1__ = 1; sym1__ <= k; ++sym1__) { p_6[(sym1__ - 1)] = in__.read(); } - out__.write_free_offset_multiplier( - rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, p_6); + out__.write( + stan::math::offset_multiplier_free(p_6, + rvalue(ds, "ds", index_uni(1), index_uni(1)), 1)); std::vector p_7; p_7 = std::vector(k, DUMMY_VAR__); for (int sym1__ = 1; sym1__ <= k; ++sym1__) { p_7[(sym1__ - 1)] = in__.read(); } - out__.write_free_offset_multiplier(0, - rvalue(ds, "ds", index_uni(1), index_uni(1)), p_7); + out__.write( + stan::math::offset_multiplier_free(p_7, 0, + rvalue(ds, "ds", index_uni(1), index_uni(1)))); std::vector p_8; p_8 = std::vector(k, DUMMY_VAR__); for (int sym1__ = 1; sym1__ <= k; ++sym1__) { p_8[(sym1__ - 1)] = in__.read(); } - out__.write_free_offset_multiplier( - rvalue(ds, "ds", index_uni(1), index_uni(1)), - rvalue(ds, "ds", index_uni(1), index_uni(2)), p_8); + out__.write( + stan::math::offset_multiplier_free(p_8, + rvalue(ds, "ds", index_uni(1), index_uni(1)), + rvalue(ds, "ds", index_uni(1), index_uni(2)))); std::vector> p_9; p_9 = std::vector>(m, std::vector(k, DUMMY_VAR__)); @@ -33621,7 +34198,8 @@ class transform_model final : public model_base_crtp { p_9[(sym2__ - 1)][(sym1__ - 1)] = in__.read(); } } - out__.write_free_lub(rvalue(ds, "ds", index_uni(1)), 1, p_9); + out__.write( + stan::math::lub_free(p_9, rvalue(ds, "ds", index_uni(1)), 1)); std::vector>> p_10; p_10 = std::vector>>(n, std::vector>(m, std::vector(k, DUMMY_VAR__))); @@ -33634,7 +34212,7 @@ class transform_model final : public model_base_crtp { } } } - out__.write_free_lub(0, ds, p_10); + out__.write(stan::math::lub_free(p_10, 0, ds)); Eigen::Matrix pv_1; pv_1 = Eigen::Matrix(k); stan::math::fill(pv_1, DUMMY_VAR__); @@ -33643,8 +34221,10 @@ class transform_model final : public model_base_crtp { assign(pv_1, in__.read(), "assigning variable pv_1", index_uni(sym1__)); } - out__.write_free_lub(rvalue(dv, "dv", index_uni(1), index_uni(1)), - rvalue(dv, "dv", index_uni(1), index_uni(2)), pv_1); + out__.write( + stan::math::lub_free(pv_1, + rvalue(dv, "dv", index_uni(1), index_uni(1)), + rvalue(dv, "dv", index_uni(1), index_uni(2)))); std::vector> pv_2; pv_2 = std::vector>(m, Eigen::Matrix(k)); stan::math::fill(pv_2, DUMMY_VAR__); @@ -33655,7 +34235,7 @@ class transform_model final : public model_base_crtp { "assigning variable pv_2", index_uni(sym2__), index_uni(sym1__)); } } - out__.write_free_lb(rvalue(dv, "dv", index_uni(1)), pv_2); + out__.write(stan::math::lb_free(pv_2, rvalue(dv, "dv", index_uni(1)))); std::vector>> pv_3; pv_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); stan::math::fill(pv_3, DUMMY_VAR__); @@ -33670,7 +34250,7 @@ class transform_model final : public model_base_crtp { } } } - out__.write_free_ub(dv, pv_3); + out__.write(stan::math::ub_free(pv_3, dv)); Eigen::Matrix pr_1; pr_1 = Eigen::Matrix(k); stan::math::fill(pr_1, DUMMY_VAR__); @@ -33679,8 +34259,10 @@ class transform_model final : public model_base_crtp { assign(pr_1, in__.read(), "assigning variable pr_1", index_uni(sym1__)); } - out__.write_free_lub(rvalue(dr, "dr", index_uni(1), index_uni(1)), - rvalue(dr, "dr", index_uni(1), index_uni(2)), pr_1); + out__.write( + stan::math::lub_free(pr_1, + rvalue(dr, "dr", index_uni(1), index_uni(1)), + rvalue(dr, "dr", index_uni(1), index_uni(2)))); std::vector> pr_2; pr_2 = std::vector>(m, Eigen::Matrix(k)); stan::math::fill(pr_2, DUMMY_VAR__); @@ -33691,7 +34273,7 @@ class transform_model final : public model_base_crtp { "assigning variable pr_2", index_uni(sym2__), index_uni(sym1__)); } } - out__.write_free_lb(rvalue(dr, "dr", index_uni(1)), pr_2); + out__.write(stan::math::lb_free(pr_2, rvalue(dr, "dr", index_uni(1)))); std::vector>> pr_3; pr_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); stan::math::fill(pr_3, DUMMY_VAR__); @@ -33706,7 +34288,7 @@ class transform_model final : public model_base_crtp { } } } - out__.write_free_ub(dr, pr_3); + out__.write(stan::math::ub_free(pr_3, dr)); Eigen::Matrix pm_1; pm_1 = Eigen::Matrix(m, k); stan::math::fill(pm_1, DUMMY_VAR__); @@ -33717,7 +34299,7 @@ class transform_model final : public model_base_crtp { "assigning variable pm_1", index_uni(sym2__), index_uni(sym1__)); } } - out__.write_free_lb(rvalue(dm, "dm", index_uni(1)), pm_1); + out__.write(stan::math::lb_free(pm_1, rvalue(dm, "dm", index_uni(1)))); std::vector> pm_2; pm_2 = std::vector>(n, Eigen::Matrix(m, k)); stan::math::fill(pm_2, DUMMY_VAR__); @@ -33732,7 +34314,7 @@ class transform_model final : public model_base_crtp { } } } - out__.write_free_ub(dm, pm_2); + out__.write(stan::math::ub_free(pm_2, dm)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -34646,8 +35228,8 @@ class truncate_model final : public model_base_crtp { y = DUMMY_VAR__; current_statement__ = 2; - y = in__.template read_constrain_lb(0, - lp__); + y = stan::math::lb_constrain( + in__.template read(), 0, lp__); { current_statement__ = 3; lp_accum__.add(normal_lpdf(x, m, 1)); @@ -34771,8 +35353,8 @@ class truncate_model final : public model_base_crtp { y = std::numeric_limits::quiet_NaN(); current_statement__ = 2; - y = in__.template read_constrain_lb(0, - lp__); + y = stan::math::lb_constrain( + in__.template read(), 0, lp__); out__.write(m); out__.write(y); if (logical_negation((primitive_value(emit_transformed_parameters__) || @@ -34813,7 +35395,7 @@ class truncate_model final : public model_base_crtp { y = DUMMY_VAR__; y = in__.read(); - out__.write_free_lb(0, y); + out__.write(stan::math::lb_free(y, 0)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -35479,8 +36061,8 @@ class user_constrain_model final : public model_base_crtp x = DUMMY_VAR__; current_statement__ = 1; - x = in__.template read_constrain_lb(0, - lp__); + x = stan::math::lb_constrain( + in__.template read(), 0, lp__); { current_statement__ = 2; lp_accum__.add(std_normal_lpdf(x)); @@ -35521,8 +36103,8 @@ class user_constrain_model final : public model_base_crtp x = std::numeric_limits::quiet_NaN(); current_statement__ = 1; - x = in__.template read_constrain_lb(0, - lp__); + x = stan::math::lb_constrain( + in__.template read(), 0, lp__); out__.write(x); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { @@ -35557,7 +36139,7 @@ class user_constrain_model final : public model_base_crtp x = DUMMY_VAR__; x = in__.read(); - out__.write_free_lb(0, x); + out__.write(stan::math::lb_free(x, 0)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } diff --git a/test/integration/good/code-gen/mir.expected b/test/integration/good/code-gen/mir.expected index 403754c040..92f6d3db8e 100644 --- a/test/integration/good/code-gen/mir.expected +++ b/test/integration/good/code-gen/mir.expected @@ -13359,17 +13359,17 @@ (output_vars ((p_real ((out_unconstrained_st SReal) (out_constrained_st SReal) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_upper ((out_unconstrained_st SReal) (out_constrained_st SReal) - (out_block Parameters) + (out_block Parameters) (out_scale Native) (out_trans (Lower ((pattern (Var p_real)) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))))) (p_lower ((out_unconstrained_st SReal) (out_constrained_st SReal) - (out_block Parameters) + (out_block Parameters) (out_scale Native) (out_trans (Upper ((pattern (Var p_upper)) @@ -13384,12 +13384,13 @@ ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (out_block Parameters) - (out_trans + (out_scale (OffsetMultiplier ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (out_trans Identity))) (no_offset_multiplier ((out_unconstrained_st (SArray SReal @@ -13400,10 +13401,11 @@ ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (out_block Parameters) - (out_trans + (out_scale (Multiplier ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (out_trans Identity))) (offset_no_multiplier ((out_unconstrained_st (SArray SReal @@ -13414,10 +13416,11 @@ ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (out_block Parameters) - (out_trans + (out_scale (Offset ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (out_trans Identity))) (p_real_1d_ar ((out_unconstrained_st (SArray SReal @@ -13427,7 +13430,7 @@ (SArray SReal ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) + (out_block Parameters) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -13453,7 +13456,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) + (out_block Parameters) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -13467,7 +13470,7 @@ (SVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) + (out_block Parameters) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -13487,7 +13490,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_3d_vec ((out_unconstrained_st (SArray @@ -13515,7 +13518,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_row_vec ((out_unconstrained_st (SRowVector AoS @@ -13525,7 +13528,7 @@ (SRowVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_1d_row_vec ((out_unconstrained_st (SArray @@ -13541,7 +13544,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_3d_row_vec ((out_unconstrained_st (SArray @@ -13569,7 +13572,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_mat ((out_unconstrained_st (SMatrix AoS @@ -13583,7 +13586,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_ar_mat ((out_unconstrained_st (SArray @@ -13609,7 +13612,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) + (out_block Parameters) (out_scale Native) (out_trans (LowerUpper ((pattern (Lit Int 0)) @@ -13630,7 +13633,7 @@ (SVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Simplex))) + (out_block Parameters) (out_scale Native) (out_trans Simplex))) (p_1d_simplex ((out_unconstrained_st (SArray @@ -13651,7 +13654,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Simplex))) + (out_block Parameters) (out_scale Native) (out_trans Simplex))) (p_3d_simplex ((out_unconstrained_st (SArray @@ -13684,7 +13687,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Simplex))) + (out_block Parameters) (out_scale Native) (out_trans Simplex))) (p_cfcov_54 ((out_unconstrained_st (SVector AoS @@ -13735,7 +13738,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans CholeskyCov))) + (out_block Parameters) (out_scale Native) (out_trans CholeskyCov))) (p_cfcov_33 ((out_unconstrained_st (SVector AoS @@ -13786,7 +13789,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans CholeskyCov))) + (out_block Parameters) (out_scale Native) (out_trans CholeskyCov))) (p_cfcov_33_ar ((out_unconstrained_st (SArray @@ -13845,7 +13848,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans CholeskyCov))) + (out_block Parameters) (out_scale Native) (out_trans CholeskyCov))) (x_p ((out_unconstrained_st (SVector AoS @@ -13855,7 +13858,7 @@ (SVector AoS ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (y_p ((out_unconstrained_st (SVector AoS @@ -13865,7 +13868,7 @@ (SVector AoS ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (tp_real_1d_ar ((out_unconstrained_st (SArray SReal @@ -13875,7 +13878,7 @@ (SArray SReal ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) + (out_block TransformedParameters) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -13901,7 +13904,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) + (out_block TransformedParameters) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -13915,7 +13918,7 @@ (SVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) + (out_block TransformedParameters) (out_scale Native) (out_trans (Upper ((pattern (Lit Int 0)) @@ -13935,7 +13938,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_3d_vec ((out_unconstrained_st (SArray @@ -13963,7 +13967,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_row_vec ((out_unconstrained_st (SRowVector AoS @@ -13973,7 +13978,8 @@ (SRowVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_1d_row_vec ((out_unconstrained_st (SArray @@ -13989,7 +13995,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_3d_row_vec ((out_unconstrained_st (SArray @@ -14017,7 +14024,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_mat ((out_unconstrained_st (SMatrix AoS @@ -14031,7 +14039,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_ar_mat ((out_unconstrained_st (SArray @@ -14057,7 +14066,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) + (out_block TransformedParameters) (out_scale Native) (out_trans (LowerUpper ((pattern (Lit Int 0)) @@ -14078,7 +14087,8 @@ (SVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Simplex))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Simplex))) (tp_1d_simplex ((out_unconstrained_st (SArray @@ -14099,7 +14109,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Simplex))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Simplex))) (tp_3d_simplex ((out_unconstrained_st (SArray @@ -14132,7 +14143,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Simplex))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Simplex))) (tp_cfcov_54 ((out_unconstrained_st (SVector AoS @@ -14183,7 +14195,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans CholeskyCov))) + (out_block TransformedParameters) (out_scale Native) + (out_trans CholeskyCov))) (tp_cfcov_33 ((out_unconstrained_st (SVector AoS @@ -14234,7 +14247,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans CholeskyCov))) + (out_block TransformedParameters) (out_scale Native) + (out_trans CholeskyCov))) (tp_cfcov_33_ar ((out_unconstrained_st (SArray @@ -14293,7 +14307,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans CholeskyCov))) + (out_block TransformedParameters) (out_scale Native) + (out_trans CholeskyCov))) (theta_p ((out_unconstrained_st (SVector AoS @@ -14303,16 +14318,18 @@ (SVector AoS ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_real ((out_unconstrained_st SReal) (out_constrained_st SReal) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (gq_r1 ((out_unconstrained_st SReal) (out_constrained_st SReal) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_r2 ((out_unconstrained_st SReal) (out_constrained_st SReal) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_real_1d_ar ((out_unconstrained_st (SArray SReal @@ -14322,7 +14339,7 @@ (SArray SReal ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) + (out_block GeneratedQuantities) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -14348,7 +14365,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) + (out_block GeneratedQuantities) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -14362,7 +14379,7 @@ (SVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) + (out_block GeneratedQuantities) (out_scale Native) (out_trans (Upper ((pattern (Lit Int 1)) @@ -14382,7 +14399,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_3d_vec ((out_unconstrained_st (SArray @@ -14410,7 +14427,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_row_vec ((out_unconstrained_st (SRowVector AoS @@ -14420,7 +14437,7 @@ (SRowVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_1d_row_vec ((out_unconstrained_st (SArray @@ -14436,7 +14453,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_3d_row_vec ((out_unconstrained_st (SArray @@ -14464,7 +14481,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_ar_mat ((out_unconstrained_st (SArray @@ -14490,7 +14507,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) + (out_block GeneratedQuantities) (out_scale Native) (out_trans (LowerUpper ((pattern (Lit Int 0)) @@ -14511,7 +14528,7 @@ (SVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Simplex))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Simplex))) (gq_1d_simplex ((out_unconstrained_st (SArray @@ -14532,7 +14549,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Simplex))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Simplex))) (gq_3d_simplex ((out_unconstrained_st (SArray @@ -14565,7 +14582,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Simplex))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Simplex))) (gq_cfcov_54 ((out_unconstrained_st (SVector AoS @@ -14616,7 +14633,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans CholeskyCov))) + (out_block GeneratedQuantities) (out_scale Native) + (out_trans CholeskyCov))) (gq_cfcov_33 ((out_unconstrained_st (SVector AoS @@ -14667,7 +14685,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans CholeskyCov))) + (out_block GeneratedQuantities) (out_scale Native) + (out_trans CholeskyCov))) (gq_cfcov_33_ar ((out_unconstrained_st (SArray @@ -14726,7 +14745,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans CholeskyCov))) + (out_block GeneratedQuantities) (out_scale Native) + (out_trans CholeskyCov))) (indices ((out_unconstrained_st (SArray SInt @@ -14736,7 +14756,7 @@ (SArray SInt ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (indexing_mat ((out_unconstrained_st (SArray @@ -14756,7 +14776,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res1 ((out_unconstrained_st (SArray @@ -14776,7 +14796,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res2 ((out_unconstrained_st (SArray @@ -14796,7 +14816,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res3 ((out_unconstrained_st (SArray @@ -14816,7 +14836,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res11 ((out_unconstrained_st (SArray @@ -14836,7 +14856,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res21 ((out_unconstrained_st (SArray @@ -14856,7 +14876,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res31 ((out_unconstrained_st (SArray @@ -14876,7 +14896,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res4 ((out_unconstrained_st (SArray @@ -14892,7 +14912,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res5 ((out_unconstrained_st (SArray @@ -14908,7 +14928,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))))) (prog_name mother_model) (prog_path mother.stan)) Warning in 'mother.stan', line 63, column 4: increment_log_prob(...); is deprecated and will be removed in the future. Use target += ...; instead. Warning in 'mother.stan', line 187, column 15: get_lp() function is deprecated. It will be removed in a future release. Use target() instead. diff --git a/test/integration/good/code-gen/profiling/cpp.expected b/test/integration/good/code-gen/profiling/cpp.expected index 3886ed165b..9c365faf36 100644 --- a/test/integration/good/code-gen/profiling/cpp.expected +++ b/test/integration/good/code-gen/profiling/cpp.expected @@ -167,20 +167,20 @@ class simple_function_model final : public model_base_crtp(0, - lp__); + rho = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ alpha; alpha = DUMMY_VAR__; current_statement__ = 2; - alpha = in__.template read_constrain_lb( - 0, lp__); + alpha = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ sigma; sigma = DUMMY_VAR__; current_statement__ = 3; - sigma = in__.template read_constrain_lb( - 0, lp__); + sigma = stan::math::lb_constrain( + in__.template read(), 0, lp__); { current_statement__ = 4; validate_non_negative_index("cov", "N", N); @@ -276,20 +276,20 @@ class simple_function_model final : public model_base_crtp::quiet_NaN(); current_statement__ = 1; - rho = in__.template read_constrain_lb(0, - lp__); + rho = stan::math::lb_constrain( + in__.template read(), 0, lp__); double alpha; alpha = std::numeric_limits::quiet_NaN(); current_statement__ = 2; - alpha = in__.template read_constrain_lb( - 0, lp__); + alpha = stan::math::lb_constrain( + in__.template read(), 0, lp__); double sigma; sigma = std::numeric_limits::quiet_NaN(); current_statement__ = 3; - sigma = in__.template read_constrain_lb( - 0, lp__); + sigma = stan::math::lb_constrain( + in__.template read(), 0, lp__); out__.write(rho); out__.write(alpha); out__.write(sigma); @@ -326,17 +326,17 @@ class simple_function_model final : public model_base_crtp(); - out__.write_free_lb(0, rho); + out__.write(stan::math::lb_free(rho, 0)); local_scalar_t__ alpha; alpha = DUMMY_VAR__; alpha = in__.read(); - out__.write_free_lb(0, alpha); + out__.write(stan::math::lb_free(alpha, 0)); local_scalar_t__ sigma; sigma = DUMMY_VAR__; sigma = in__.read(); - out__.write_free_lb(0, sigma); + out__.write(stan::math::lb_free(sigma, 0)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } diff --git a/test/integration/good/code-gen/scaled-transforms.stan b/test/integration/good/code-gen/scaled-transforms.stan new file mode 100644 index 0000000000..c256ffb007 --- /dev/null +++ b/test/integration/good/code-gen/scaled-transforms.stan @@ -0,0 +1,10 @@ +data { + int N; +} + +parameters { + array[3] real loweroffset; + real allfour; + simplex[10] offset_simplex; + positive_ordered[N] multiplied_ordered; +} diff --git a/test/integration/good/code-gen/transformed_mir.expected b/test/integration/good/code-gen/transformed_mir.expected index 6440b8f9b5..39b41d7ddb 100644 --- a/test/integration/good/code-gen/transformed_mir.expected +++ b/test/integration/good/code-gen/transformed_mir.expected @@ -11386,7 +11386,8 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) (dims ()) (mem_pattern AoS))) + (FnReadParam (scale Native) (constrain Identity) (outer_dims ()) + (dims ()) (mem_pattern AoS))) ())) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -11399,12 +11400,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam + (FnReadParam (scale Native) (constrain (Lower ((pattern (Var p_real)) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) - (dims ()) (mem_pattern AoS))) + (outer_dims ()) (dims ()) (mem_pattern AoS))) ())) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -11417,12 +11418,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam + (FnReadParam (scale Native) (constrain (Upper ((pattern (Var p_upper)) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) - (dims ()) (mem_pattern AoS))) + (outer_dims ()) (dims ()) (mem_pattern AoS))) ())) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -11441,16 +11442,17 @@ (FunApp (CompilerInternal (FnReadParam - (constrain + (scale (OffsetMultiplier ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (dims + (constrain Identity) + (outer_dims (((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (mem_pattern AoS))) + (dims ()) (mem_pattern AoS))) ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -11469,14 +11471,15 @@ (FunApp (CompilerInternal (FnReadParam - (constrain + (scale (Multiplier ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (dims + (constrain Identity) + (outer_dims (((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (mem_pattern AoS))) + (dims ()) (mem_pattern AoS))) ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -11495,14 +11498,15 @@ (FunApp (CompilerInternal (FnReadParam - (constrain + (scale (Offset ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (dims + (constrain Identity) + (outer_dims (((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (mem_pattern AoS))) + (dims ()) (mem_pattern AoS))) ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -11520,15 +11524,15 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam + (FnReadParam (scale Native) (constrain (Lower ((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (dims + (outer_dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (mem_pattern AoS))) + (dims ()) (mem_pattern AoS))) ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -11552,19 +11556,19 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam + (FnReadParam (scale Native) (constrain (Lower ((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (dims + (outer_dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var M)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (mem_pattern AoS))) + (dims ()) (mem_pattern AoS))) ())) (meta ((type_ (UArray (UArray (UArray UReal)))) (loc ) @@ -11584,11 +11588,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam + (FnReadParam (scale Native) (constrain (Lower ((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (outer_dims ()) (dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -11613,11 +11618,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) + (FnReadParam (scale Native) (constrain Identity) + (outer_dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (dims (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (mem_pattern AoS))) ())) @@ -11647,15 +11653,16 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) - (dims + (FnReadParam (scale Native) (constrain Identity) + (outer_dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var M)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (mem_pattern AoS))) ())) @@ -11677,7 +11684,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) + (FnReadParam (scale Native) (constrain Identity) (outer_dims ()) (dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -11702,11 +11709,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) + (FnReadParam (scale Native) (constrain Identity) + (outer_dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (dims (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (mem_pattern AoS))) ())) @@ -11736,15 +11744,16 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) - (dims + (FnReadParam (scale Native) (constrain Identity) + (outer_dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var M)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (mem_pattern AoS))) ())) @@ -11768,7 +11777,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) + (FnReadParam (scale Native) (constrain Identity) (outer_dims ()) (dims (((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) @@ -11800,19 +11809,20 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam + (FnReadParam (scale Native) (constrain (LowerUpper ((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (dims + (outer_dims (((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -11836,7 +11846,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Simplex) + (FnReadParam (scale Native) (constrain Simplex) (outer_dims ()) (dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -11861,11 +11871,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Simplex) + (FnReadParam (scale Native) (constrain Simplex) + (outer_dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (dims (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (mem_pattern AoS))) ())) @@ -11895,15 +11906,16 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Simplex) - (dims + (FnReadParam (scale Native) (constrain Simplex) + (outer_dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var M)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (mem_pattern AoS))) ())) @@ -11927,7 +11939,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain CholeskyCov) + (FnReadParam (scale Native) (constrain CholeskyCov) (outer_dims ()) (dims (((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) @@ -11953,7 +11965,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain CholeskyCov) + (FnReadParam (scale Native) (constrain CholeskyCov) (outer_dims ()) (dims (((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) @@ -11982,11 +11994,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain CholeskyCov) - (dims + (FnReadParam (scale Native) (constrain CholeskyCov) + (outer_dims (((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -12009,7 +12022,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) + (FnReadParam (scale Native) (constrain Identity) (outer_dims ()) (dims (((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -12031,7 +12044,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) + (FnReadParam (scale Native) (constrain Identity) (outer_dims ()) (dims (((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -14006,7 +14019,8 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) (dims ()) (mem_pattern AoS))) + (FnReadParam (scale Native) (constrain Identity) (outer_dims ()) + (dims ()) (mem_pattern AoS))) ())) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -14019,12 +14033,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam + (FnReadParam (scale Native) (constrain (Lower ((pattern (Var p_real)) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) - (dims ()) (mem_pattern AoS))) + (outer_dims ()) (dims ()) (mem_pattern AoS))) ())) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -14037,12 +14051,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam + (FnReadParam (scale Native) (constrain (Upper ((pattern (Var p_upper)) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) - (dims ()) (mem_pattern AoS))) + (outer_dims ()) (dims ()) (mem_pattern AoS))) ())) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -14061,16 +14075,17 @@ (FunApp (CompilerInternal (FnReadParam - (constrain + (scale (OffsetMultiplier ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (dims + (constrain Identity) + (outer_dims (((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (mem_pattern AoS))) + (dims ()) (mem_pattern AoS))) ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -14089,14 +14104,15 @@ (FunApp (CompilerInternal (FnReadParam - (constrain + (scale (Multiplier ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (dims + (constrain Identity) + (outer_dims (((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (mem_pattern AoS))) + (dims ()) (mem_pattern AoS))) ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -14115,14 +14131,15 @@ (FunApp (CompilerInternal (FnReadParam - (constrain + (scale (Offset ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (dims + (constrain Identity) + (outer_dims (((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (mem_pattern AoS))) + (dims ()) (mem_pattern AoS))) ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -14140,15 +14157,15 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam + (FnReadParam (scale Native) (constrain (Lower ((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (dims + (outer_dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (mem_pattern AoS))) + (dims ()) (mem_pattern AoS))) ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -14172,19 +14189,19 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam + (FnReadParam (scale Native) (constrain (Lower ((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (dims + (outer_dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var M)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (mem_pattern AoS))) + (dims ()) (mem_pattern AoS))) ())) (meta ((type_ (UArray (UArray (UArray UReal)))) (loc ) @@ -14204,11 +14221,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam + (FnReadParam (scale Native) (constrain (Lower ((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (outer_dims ()) (dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -14233,11 +14251,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) + (FnReadParam (scale Native) (constrain Identity) + (outer_dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (dims (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (mem_pattern AoS))) ())) @@ -14267,15 +14286,16 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) - (dims + (FnReadParam (scale Native) (constrain Identity) + (outer_dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var M)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (mem_pattern AoS))) ())) @@ -14297,7 +14317,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) + (FnReadParam (scale Native) (constrain Identity) (outer_dims ()) (dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -14322,11 +14342,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) + (FnReadParam (scale Native) (constrain Identity) + (outer_dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (dims (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (mem_pattern AoS))) ())) @@ -14356,15 +14377,16 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) - (dims + (FnReadParam (scale Native) (constrain Identity) + (outer_dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var M)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (mem_pattern AoS))) ())) @@ -14388,7 +14410,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) + (FnReadParam (scale Native) (constrain Identity) (outer_dims ()) (dims (((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) @@ -14420,19 +14442,20 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam + (FnReadParam (scale Native) (constrain (LowerUpper ((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (dims + (outer_dims (((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -14456,7 +14479,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Simplex) + (FnReadParam (scale Native) (constrain Simplex) (outer_dims ()) (dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -14481,11 +14504,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Simplex) + (FnReadParam (scale Native) (constrain Simplex) + (outer_dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (dims (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (mem_pattern AoS))) ())) @@ -14515,15 +14539,16 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Simplex) - (dims + (FnReadParam (scale Native) (constrain Simplex) + (outer_dims (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var M)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (mem_pattern AoS))) ())) @@ -14547,7 +14572,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain CholeskyCov) + (FnReadParam (scale Native) (constrain CholeskyCov) (outer_dims ()) (dims (((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) @@ -14573,7 +14598,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain CholeskyCov) + (FnReadParam (scale Native) (constrain CholeskyCov) (outer_dims ()) (dims (((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) @@ -14602,11 +14627,12 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain CholeskyCov) - (dims + (FnReadParam (scale Native) (constrain CholeskyCov) + (outer_dims (((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -14629,7 +14655,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) + (FnReadParam (scale Native) (constrain Identity) (outer_dims ()) (dims (((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -14651,7 +14677,7 @@ ((pattern (FunApp (CompilerInternal - (FnReadParam (constrain Identity) + (FnReadParam (scale Native) (constrain Identity) (outer_dims ()) (dims (((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) @@ -14880,7 +14906,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_real)) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) @@ -14889,7 +14915,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_upper)) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) @@ -14898,7 +14924,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_lower)) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) @@ -14907,7 +14933,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var offset_multiplier)) (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) @@ -14916,7 +14942,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var no_offset_multiplier)) (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) @@ -14925,7 +14951,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var offset_no_multiplier)) (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) @@ -14934,7 +14960,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_real_1d_ar)) (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) @@ -14978,7 +15004,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -15039,7 +15066,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_vec)) (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) @@ -15070,7 +15097,7 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Indexed @@ -15166,7 +15193,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -15244,7 +15272,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_row_vec)) (meta ((type_ URowVector) (loc ) (adlevel DataOnly))))))) @@ -15275,7 +15303,7 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Indexed @@ -15371,7 +15399,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -15449,7 +15478,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_mat)) (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) @@ -15508,7 +15537,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -15584,7 +15614,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_simplex)) (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) @@ -15615,7 +15645,7 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Indexed @@ -15711,7 +15741,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -15789,7 +15820,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_cfcov_54)) (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) @@ -15798,7 +15829,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_cfcov_33)) (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) @@ -15842,7 +15873,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -15902,7 +15934,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) @@ -15911,7 +15943,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var y_p)) (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) @@ -16914,7 +16946,7 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var tp_real_1d_ar)) (meta @@ -16963,7 +16995,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -17028,7 +17061,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var tp_vec)) (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) @@ -17061,7 +17094,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -17163,8 +17197,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam - (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -17253,7 +17287,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var tp_row_vec)) (meta @@ -17287,7 +17321,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -17389,8 +17424,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam - (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -17481,7 +17516,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var tp_mat)) (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) @@ -17544,8 +17579,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam - (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -17632,7 +17667,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var tp_simplex)) (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) @@ -17665,7 +17700,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -17767,8 +17803,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam - (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -17859,7 +17895,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var tp_cfcov_54)) (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) @@ -17868,7 +17904,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var tp_cfcov_33)) (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) @@ -17916,7 +17952,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -17978,7 +18015,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var theta_p)) (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) @@ -17987,7 +18024,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var tp_real)) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) @@ -19709,7 +19746,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var gq_r1)) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) @@ -19718,7 +19755,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var gq_r2)) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) @@ -19727,7 +19764,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var gq_real_1d_ar)) (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) @@ -19771,7 +19808,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -19832,7 +19870,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var gq_vec)) (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) @@ -19863,7 +19901,7 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Indexed @@ -19959,7 +19997,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -20037,7 +20076,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var gq_row_vec)) (meta ((type_ URowVector) (loc ) (adlevel DataOnly))))))) @@ -20068,7 +20107,7 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Indexed @@ -20164,7 +20203,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -20292,7 +20332,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -20368,7 +20409,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var gq_simplex)) (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) @@ -20399,7 +20440,7 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Indexed @@ -20495,7 +20536,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -20573,7 +20615,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var gq_cfcov_54)) (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) @@ -20582,7 +20624,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var gq_cfcov_33)) (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) @@ -20626,7 +20668,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -20686,7 +20729,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var indices)) (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))))) @@ -20730,7 +20773,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -20825,7 +20869,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -20920,7 +20965,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -21015,7 +21061,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -21110,7 +21157,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -21205,7 +21253,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -21300,7 +21349,8 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) + (unconstrain Identity) (var ((pattern (Indexed @@ -21382,7 +21432,7 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Indexed @@ -21450,7 +21500,7 @@ (((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt ()) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Indexed @@ -21515,7 +21565,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (Identity)) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_real)) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) @@ -21533,11 +21583,11 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam - (unconstrain_opt - ((Lower - ((pattern (Var p_real)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (FnWriteParam (scale Native) + (unconstrain + (Lower + ((pattern (Var p_real)) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (var ((pattern (Var p_upper)) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) @@ -21555,11 +21605,11 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam - (unconstrain_opt - ((Upper - ((pattern (Var p_upper)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (FnWriteParam (scale Native) + (unconstrain + (Upper + ((pattern (Var p_upper)) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (var ((pattern (Var p_lower)) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) @@ -21600,12 +21650,13 @@ (NRFunApp (CompilerInternal (FnWriteParam - (unconstrain_opt - ((OffsetMultiplier - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (scale + (OffsetMultiplier + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (unconstrain Identity) (var ((pattern (Var offset_multiplier)) (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) @@ -21646,10 +21697,11 @@ (NRFunApp (CompilerInternal (FnWriteParam - (unconstrain_opt - ((Multiplier - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (scale + (Multiplier + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (unconstrain Identity) (var ((pattern (Var no_offset_multiplier)) (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) @@ -21690,10 +21742,11 @@ (NRFunApp (CompilerInternal (FnWriteParam - (unconstrain_opt - ((Offset - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (scale + (Offset + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (unconstrain Identity) (var ((pattern (Var offset_no_multiplier)) (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) @@ -21733,11 +21786,11 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam - (unconstrain_opt - ((Lower - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FnWriteParam (scale Native) + (unconstrain + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (var ((pattern (Var p_real_1d_ar)) (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) @@ -21827,11 +21880,11 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam - (unconstrain_opt - ((Lower - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FnWriteParam (scale Native) + (unconstrain + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (var ((pattern (Var p_real_3d_ar)) (meta @@ -21876,11 +21929,11 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam - (unconstrain_opt - ((Lower - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FnWriteParam (scale Native) + (unconstrain + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (var ((pattern (Var p_vec)) (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) @@ -21947,7 +22000,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (Identity)) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_1d_vec)) (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly))))))) @@ -22067,7 +22120,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (Identity)) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_3d_vec)) (meta @@ -22113,7 +22166,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (Identity)) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_row_vec)) (meta ((type_ URowVector) (loc ) (adlevel DataOnly))))))) @@ -22180,7 +22233,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (Identity)) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_1d_row_vec)) (meta @@ -22301,7 +22354,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (Identity)) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_3d_row_vec)) (meta @@ -22372,7 +22425,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (Identity)) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var p_mat)) (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) @@ -22495,13 +22548,13 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam - (unconstrain_opt - ((LowerUpper - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FnWriteParam (scale Native) + (unconstrain + (LowerUpper + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (var ((pattern (Var p_ar_mat)) (meta @@ -22546,7 +22599,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (Simplex)) + (FnWriteParam (scale Native) (unconstrain Simplex) (var ((pattern (Var p_simplex)) (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) @@ -22613,7 +22666,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (Simplex)) + (FnWriteParam (scale Native) (unconstrain Simplex) (var ((pattern (Var p_1d_simplex)) (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly))))))) @@ -22733,7 +22786,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (Simplex)) + (FnWriteParam (scale Native) (unconstrain Simplex) (var ((pattern (Var p_3d_simplex)) (meta @@ -22804,7 +22857,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (CholeskyCov)) + (FnWriteParam (scale Native) (unconstrain CholeskyCov) (var ((pattern (Var p_cfcov_54)) (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) @@ -22873,7 +22926,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (CholeskyCov)) + (FnWriteParam (scale Native) (unconstrain CholeskyCov) (var ((pattern (Var p_cfcov_33)) (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) @@ -22970,7 +23023,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (CholeskyCov)) + (FnWriteParam (scale Native) (unconstrain CholeskyCov) (var ((pattern (Var p_cfcov_33_ar)) (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly))))))) @@ -23013,7 +23066,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (Identity)) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) @@ -23056,7 +23109,7 @@ ((pattern (NRFunApp (CompilerInternal - (FnWriteParam (unconstrain_opt (Identity)) + (FnWriteParam (scale Native) (unconstrain Identity) (var ((pattern (Var y_p)) (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) @@ -23065,17 +23118,17 @@ (output_vars ((p_real ((out_unconstrained_st SReal) (out_constrained_st SReal) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_upper ((out_unconstrained_st SReal) (out_constrained_st SReal) - (out_block Parameters) + (out_block Parameters) (out_scale Native) (out_trans (Lower ((pattern (Var p_real)) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))))) (p_lower ((out_unconstrained_st SReal) (out_constrained_st SReal) - (out_block Parameters) + (out_block Parameters) (out_scale Native) (out_trans (Upper ((pattern (Var p_upper)) @@ -23090,12 +23143,13 @@ ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (out_block Parameters) - (out_trans + (out_scale (OffsetMultiplier ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (out_trans Identity))) (no_offset_multiplier ((out_unconstrained_st (SArray SReal @@ -23106,10 +23160,11 @@ ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (out_block Parameters) - (out_trans + (out_scale (Multiplier ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (out_trans Identity))) (offset_no_multiplier ((out_unconstrained_st (SArray SReal @@ -23120,10 +23175,11 @@ ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (out_block Parameters) - (out_trans + (out_scale (Offset ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (out_trans Identity))) (p_real_1d_ar ((out_unconstrained_st (SArray SReal @@ -23133,7 +23189,7 @@ (SArray SReal ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) + (out_block Parameters) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -23159,7 +23215,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) + (out_block Parameters) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -23173,7 +23229,7 @@ (SVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) + (out_block Parameters) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -23193,7 +23249,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_3d_vec ((out_unconstrained_st (SArray @@ -23221,7 +23277,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_row_vec ((out_unconstrained_st (SRowVector AoS @@ -23231,7 +23287,7 @@ (SRowVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_1d_row_vec ((out_unconstrained_st (SArray @@ -23247,7 +23303,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_3d_row_vec ((out_unconstrained_st (SArray @@ -23275,7 +23331,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_mat ((out_unconstrained_st (SMatrix AoS @@ -23289,7 +23345,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (p_ar_mat ((out_unconstrained_st (SArray @@ -23315,7 +23371,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) + (out_block Parameters) (out_scale Native) (out_trans (LowerUpper ((pattern (Lit Int 0)) @@ -23336,7 +23392,7 @@ (SVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Simplex))) + (out_block Parameters) (out_scale Native) (out_trans Simplex))) (p_1d_simplex ((out_unconstrained_st (SArray @@ -23357,7 +23413,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Simplex))) + (out_block Parameters) (out_scale Native) (out_trans Simplex))) (p_3d_simplex ((out_unconstrained_st (SArray @@ -23390,7 +23446,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Simplex))) + (out_block Parameters) (out_scale Native) (out_trans Simplex))) (p_cfcov_54 ((out_unconstrained_st (SVector AoS @@ -23441,7 +23497,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans CholeskyCov))) + (out_block Parameters) (out_scale Native) (out_trans CholeskyCov))) (p_cfcov_33 ((out_unconstrained_st (SVector AoS @@ -23492,7 +23548,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans CholeskyCov))) + (out_block Parameters) (out_scale Native) (out_trans CholeskyCov))) (p_cfcov_33_ar ((out_unconstrained_st (SArray @@ -23551,7 +23607,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans CholeskyCov))) + (out_block Parameters) (out_scale Native) (out_trans CholeskyCov))) (x_p ((out_unconstrained_st (SVector AoS @@ -23561,7 +23617,7 @@ (SVector AoS ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (y_p ((out_unconstrained_st (SVector AoS @@ -23571,7 +23627,7 @@ (SVector AoS ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block Parameters) (out_trans Identity))) + (out_block Parameters) (out_scale Native) (out_trans Identity))) (tp_real_1d_ar ((out_unconstrained_st (SArray SReal @@ -23581,7 +23637,7 @@ (SArray SReal ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) + (out_block TransformedParameters) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -23607,7 +23663,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) + (out_block TransformedParameters) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -23621,7 +23677,7 @@ (SVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) + (out_block TransformedParameters) (out_scale Native) (out_trans (Upper ((pattern (Lit Int 0)) @@ -23641,7 +23697,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_3d_vec ((out_unconstrained_st (SArray @@ -23669,7 +23726,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_row_vec ((out_unconstrained_st (SRowVector AoS @@ -23679,7 +23737,8 @@ (SRowVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_1d_row_vec ((out_unconstrained_st (SArray @@ -23695,7 +23754,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_3d_row_vec ((out_unconstrained_st (SArray @@ -23723,7 +23783,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_mat ((out_unconstrained_st (SMatrix AoS @@ -23737,7 +23798,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_ar_mat ((out_unconstrained_st (SArray @@ -23763,7 +23825,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) + (out_block TransformedParameters) (out_scale Native) (out_trans (LowerUpper ((pattern (Lit Int 0)) @@ -23784,7 +23846,8 @@ (SVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Simplex))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Simplex))) (tp_1d_simplex ((out_unconstrained_st (SArray @@ -23805,7 +23868,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Simplex))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Simplex))) (tp_3d_simplex ((out_unconstrained_st (SArray @@ -23838,7 +23902,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Simplex))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Simplex))) (tp_cfcov_54 ((out_unconstrained_st (SVector AoS @@ -23889,7 +23954,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans CholeskyCov))) + (out_block TransformedParameters) (out_scale Native) + (out_trans CholeskyCov))) (tp_cfcov_33 ((out_unconstrained_st (SVector AoS @@ -23940,7 +24006,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans CholeskyCov))) + (out_block TransformedParameters) (out_scale Native) + (out_trans CholeskyCov))) (tp_cfcov_33_ar ((out_unconstrained_st (SArray @@ -23999,7 +24066,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans CholeskyCov))) + (out_block TransformedParameters) (out_scale Native) + (out_trans CholeskyCov))) (theta_p ((out_unconstrained_st (SVector AoS @@ -24009,16 +24077,18 @@ (SVector AoS ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (tp_real ((out_unconstrained_st SReal) (out_constrained_st SReal) - (out_block TransformedParameters) (out_trans Identity))) + (out_block TransformedParameters) (out_scale Native) + (out_trans Identity))) (gq_r1 ((out_unconstrained_st SReal) (out_constrained_st SReal) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_r2 ((out_unconstrained_st SReal) (out_constrained_st SReal) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_real_1d_ar ((out_unconstrained_st (SArray SReal @@ -24028,7 +24098,7 @@ (SArray SReal ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) + (out_block GeneratedQuantities) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -24054,7 +24124,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) + (out_block GeneratedQuantities) (out_scale Native) (out_trans (Lower ((pattern (Lit Int 0)) @@ -24068,7 +24138,7 @@ (SVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) + (out_block GeneratedQuantities) (out_scale Native) (out_trans (Upper ((pattern (Lit Int 1)) @@ -24088,7 +24158,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_3d_vec ((out_unconstrained_st (SArray @@ -24116,7 +24186,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_row_vec ((out_unconstrained_st (SRowVector AoS @@ -24126,7 +24196,7 @@ (SRowVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_1d_row_vec ((out_unconstrained_st (SArray @@ -24142,7 +24212,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_3d_row_vec ((out_unconstrained_st (SArray @@ -24170,7 +24240,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (gq_ar_mat ((out_unconstrained_st (SArray @@ -24196,7 +24266,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) + (out_block GeneratedQuantities) (out_scale Native) (out_trans (LowerUpper ((pattern (Lit Int 0)) @@ -24217,7 +24287,7 @@ (SVector AoS ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Simplex))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Simplex))) (gq_1d_simplex ((out_unconstrained_st (SArray @@ -24238,7 +24308,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Simplex))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Simplex))) (gq_3d_simplex ((out_unconstrained_st (SArray @@ -24271,7 +24341,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Simplex))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Simplex))) (gq_cfcov_54 ((out_unconstrained_st (SVector AoS @@ -24322,7 +24392,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans CholeskyCov))) + (out_block GeneratedQuantities) (out_scale Native) + (out_trans CholeskyCov))) (gq_cfcov_33 ((out_unconstrained_st (SVector AoS @@ -24373,7 +24444,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans CholeskyCov))) + (out_block GeneratedQuantities) (out_scale Native) + (out_trans CholeskyCov))) (gq_cfcov_33_ar ((out_unconstrained_st (SArray @@ -24432,7 +24504,8 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans CholeskyCov))) + (out_block GeneratedQuantities) (out_scale Native) + (out_trans CholeskyCov))) (indices ((out_unconstrained_st (SArray SInt @@ -24442,7 +24515,7 @@ (SArray SInt ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (indexing_mat ((out_unconstrained_st (SArray @@ -24462,7 +24535,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res1 ((out_unconstrained_st (SArray @@ -24482,7 +24555,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res2 ((out_unconstrained_st (SArray @@ -24502,7 +24575,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res3 ((out_unconstrained_st (SArray @@ -24522,7 +24595,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res11 ((out_unconstrained_st (SArray @@ -24542,7 +24615,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res21 ((out_unconstrained_st (SArray @@ -24562,7 +24635,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res31 ((out_unconstrained_st (SArray @@ -24582,7 +24655,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res4 ((out_unconstrained_st (SArray @@ -24598,7 +24671,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))) (idx_res5 ((out_unconstrained_st (SArray @@ -24614,7 +24687,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (out_block GeneratedQuantities) (out_trans Identity))))) + (out_block GeneratedQuantities) (out_scale Native) (out_trans Identity))))) (prog_name mother_model) (prog_path mother.stan)) Warning in 'mother.stan', line 63, column 4: increment_log_prob(...); is deprecated and will be removed in the future. Use target += ...; instead. Warning in 'mother.stan', line 187, column 15: get_lp() function is deprecated. It will be removed in a future release. Use target() instead. diff --git a/test/integration/good/compiler-optimizations/cpp.expected b/test/integration/good/compiler-optimizations/cpp.expected index e6f93fa88c..0a759de5fe 100644 --- a/test/integration/good/compiler-optimizations/cpp.expected +++ b/test/integration/good/compiler-optimizations/cpp.expected @@ -270,20 +270,20 @@ class ad_level_failing_model final : public model_base_crtp(0, - lp__); + beta = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ gamma; current_statement__ = 2; - gamma = in__.template read_constrain_lb( - 0, lp__); + gamma = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ xi; current_statement__ = 3; - xi = in__.template read_constrain_lb(0, - lp__); + xi = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ delta; current_statement__ = 4; - delta = in__.template read_constrain_lb( - 0, lp__); + delta = stan::math::lb_constrain( + in__.template read(), 0, lp__); std::vector> y; { std::vector theta; @@ -439,20 +439,20 @@ class ad_level_failing_model final : public model_base_crtp(0, - lp__); + beta = stan::math::lb_constrain( + in__.template read(), 0, lp__); double gamma; current_statement__ = 2; - gamma = in__.template read_constrain_lb( - 0, lp__); + gamma = stan::math::lb_constrain( + in__.template read(), 0, lp__); double xi; current_statement__ = 3; - xi = in__.template read_constrain_lb(0, - lp__); + xi = stan::math::lb_constrain( + in__.template read(), 0, lp__); double delta; current_statement__ = 4; - delta = in__.template read_constrain_lb( - 0, lp__); + delta = stan::math::lb_constrain( + in__.template read(), 0, lp__); std::vector> y; y = std::vector>(N_t, std::vector(4, std::numeric_limits::quiet_NaN())); @@ -599,16 +599,16 @@ class ad_level_failing_model final : public model_base_crtp(); - out__.write_free_lb(0, beta); + out__.write(stan::math::lb_free(beta, 0)); local_scalar_t__ gamma; gamma = in__.read(); - out__.write_free_lb(0, gamma); + out__.write(stan::math::lb_free(gamma, 0)); local_scalar_t__ xi; xi = in__.read(); - out__.write_free_lb(0, xi); + out__.write(stan::math::lb_free(xi, 0)); local_scalar_t__ delta; delta = in__.read(); - out__.write_free_lb(0, delta); + out__.write(stan::math::lb_free(delta, 0)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -1755,12 +1755,13 @@ class copy_fail_model final : public model_base_crtp { int lcm_sym84__; local_scalar_t__ mean_p; current_statement__ = 1; - mean_p = in__.template read_constrain_lub( - 0, 1, lp__); + mean_p = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); Eigen::Matrix beta; current_statement__ = 2; - beta = in__.template read_constrain_lub, jacobian__>( - 0, 1, lp__, max_age); + beta = stan::math::lub_constrain( + in__.template read>( + max_age), 0, 1, lp__); Eigen::Matrix phi; phi = Eigen::Matrix(nind, (n_occasions - 1)); stan::math::fill(phi, DUMMY_VAR__); @@ -2264,12 +2265,13 @@ class copy_fail_model final : public model_base_crtp { int lcm_sym47__; double mean_p; current_statement__ = 1; - mean_p = in__.template read_constrain_lub( - 0, 1, lp__); + mean_p = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); Eigen::Matrix beta; current_statement__ = 2; - beta = in__.template read_constrain_lub, jacobian__>( - 0, 1, lp__, max_age); + beta = stan::math::lub_constrain( + in__.template read>( + max_age), 0, 1, lp__); Eigen::Matrix phi; phi = Eigen::Matrix(nind, (n_occasions - 1)); stan::math::fill(phi, DUMMY_VAR__); @@ -2664,7 +2666,7 @@ class copy_fail_model final : public model_base_crtp { pos__ = 1; local_scalar_t__ mean_p; mean_p = in__.read(); - out__.write_free_lub(0, 1, mean_p); + out__.write(stan::math::lub_free(mean_p, 0, 1)); Eigen::Matrix beta; beta = Eigen::Matrix(max_age); stan::math::fill(beta, DUMMY_VAR__); @@ -2677,7 +2679,7 @@ class copy_fail_model final : public model_base_crtp { "assigning variable beta", index_uni(sym1__)); } } - out__.write_free_lub(0, 1, beta); + out__.write(stan::math::lub_free(beta, 0, 1)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -3455,28 +3457,28 @@ class dce_fail_model final : public model_base_crtp { int lcm_sym7__; local_scalar_t__ sigma; current_statement__ = 1; - sigma = in__.template read_constrain_lb( - 0, lp__); + sigma = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ sigma_age; current_statement__ = 2; - sigma_age = in__.template read_constrain_lb( - 0, lp__); + sigma_age = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ sigma_edu; current_statement__ = 3; - sigma_edu = in__.template read_constrain_lb( - 0, lp__); + sigma_edu = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ sigma_state; current_statement__ = 4; - sigma_state = in__.template read_constrain_lb( - 0, lp__); + sigma_state = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ sigma_region; current_statement__ = 5; - sigma_region = in__.template read_constrain_lb( - 0, lp__); + sigma_region = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ sigma_age_edu; current_statement__ = 6; - sigma_age_edu = in__.template read_constrain_lb( - 0, lp__); + sigma_age_edu = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ b_0; current_statement__ = 7; b_0 = in__.template read(); @@ -3687,28 +3689,28 @@ class dce_fail_model final : public model_base_crtp { int lcm_sym5__; double sigma; current_statement__ = 1; - sigma = in__.template read_constrain_lb( - 0, lp__); + sigma = stan::math::lb_constrain( + in__.template read(), 0, lp__); double sigma_age; current_statement__ = 2; - sigma_age = in__.template read_constrain_lb( - 0, lp__); + sigma_age = stan::math::lb_constrain( + in__.template read(), 0, lp__); double sigma_edu; current_statement__ = 3; - sigma_edu = in__.template read_constrain_lb( - 0, lp__); + sigma_edu = stan::math::lb_constrain( + in__.template read(), 0, lp__); double sigma_state; current_statement__ = 4; - sigma_state = in__.template read_constrain_lb( - 0, lp__); + sigma_state = stan::math::lb_constrain( + in__.template read(), 0, lp__); double sigma_region; current_statement__ = 5; - sigma_region = in__.template read_constrain_lb( - 0, lp__); + sigma_region = stan::math::lb_constrain( + in__.template read(), 0, lp__); double sigma_age_edu; current_statement__ = 6; - sigma_age_edu = in__.template read_constrain_lb( - 0, lp__); + sigma_age_edu = stan::math::lb_constrain( + in__.template read(), 0, lp__); double b_0; current_statement__ = 7; b_0 = in__.template read(); @@ -3793,22 +3795,22 @@ class dce_fail_model final : public model_base_crtp { pos__ = 1; local_scalar_t__ sigma; sigma = in__.read(); - out__.write_free_lb(0, sigma); + out__.write(stan::math::lb_free(sigma, 0)); local_scalar_t__ sigma_age; sigma_age = in__.read(); - out__.write_free_lb(0, sigma_age); + out__.write(stan::math::lb_free(sigma_age, 0)); local_scalar_t__ sigma_edu; sigma_edu = in__.read(); - out__.write_free_lb(0, sigma_edu); + out__.write(stan::math::lb_free(sigma_edu, 0)); local_scalar_t__ sigma_state; sigma_state = in__.read(); - out__.write_free_lb(0, sigma_state); + out__.write(stan::math::lb_free(sigma_state, 0)); local_scalar_t__ sigma_region; sigma_region = in__.read(); - out__.write_free_lb(0, sigma_region); + out__.write(stan::math::lb_free(sigma_region, 0)); local_scalar_t__ sigma_age_edu; sigma_age_edu = in__.read(); - out__.write_free_lb(0, sigma_age_edu); + out__.write(stan::math::lb_free(sigma_age_edu, 0)); local_scalar_t__ b_0; b_0 = in__.read(); out__.write(b_0); @@ -5039,16 +5041,18 @@ class expr_prop_fail_model final : public model_base_crtp int lcm_sym3__; Eigen::Matrix mu; current_statement__ = 1; - mu = in__.template read_constrain_ordered, jacobian__>( - lp__, 2); + mu = stan::math::ordered_constrain( + in__.template read>(2), + lp__); std::vector sigma; current_statement__ = 2; - sigma = in__.template read_constrain_lb, jacobian__>( - 0, lp__, 2); + sigma = stan::math::lb_constrain( + in__.template read>(2), 0, + lp__); local_scalar_t__ theta; current_statement__ = 3; - theta = in__.template read_constrain_lub( - 0, 1, lp__); + theta = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); { current_statement__ = 4; lp_accum__.add(normal_lpdf(sigma, 0, 2)); @@ -5116,16 +5120,18 @@ class expr_prop_fail_model final : public model_base_crtp int lcm_sym1__; Eigen::Matrix mu; current_statement__ = 1; - mu = in__.template read_constrain_ordered, jacobian__>( - lp__, 2); + mu = stan::math::ordered_constrain( + in__.template read>(2), + lp__); std::vector sigma; current_statement__ = 2; - sigma = in__.template read_constrain_lb, jacobian__>( - 0, lp__, 2); + sigma = stan::math::lb_constrain( + in__.template read>(2), 0, + lp__); double theta; current_statement__ = 3; - theta = in__.template read_constrain_lub( - 0, 1, lp__); + theta = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); out__.write(mu); out__.write(sigma); out__.write(theta); @@ -5168,7 +5174,7 @@ class expr_prop_fail_model final : public model_base_crtp "assigning variable mu", index_uni(2)); } } - out__.write_free_ordered(mu); + out__.write(stan::math::ordered_free(mu)); std::vector sigma; sigma = std::vector(2, DUMMY_VAR__); @@ -5178,10 +5184,10 @@ class expr_prop_fail_model final : public model_base_crtp sigma[(2 - 1)] = in__.read(); } } - out__.write_free_lb(0, sigma); + out__.write(stan::math::lb_free(sigma, 0)); local_scalar_t__ theta; theta = in__.read(); - out__.write_free_lub(0, 1, theta); + out__.write(stan::math::lub_free(theta, 0, 1)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -5532,8 +5538,8 @@ class expr_prop_fail2_model final : public model_base_crtp>(J); local_scalar_t__ tau; current_statement__ = 3; - tau = in__.template read_constrain_lb(0, - lp__); + tau = stan::math::lb_constrain( + in__.template read(), 0, lp__); { current_statement__ = 4; lp_accum__.add(normal_lpdf(theta, mu, tau)); @@ -5582,8 +5588,8 @@ class expr_prop_fail2_model final : public model_base_crtp>(J); double tau; current_statement__ = 3; - tau = in__.template read_constrain_lb(0, - lp__); + tau = stan::math::lb_constrain( + in__.template read(), 0, lp__); out__.write(mu); out__.write(theta); out__.write(tau); @@ -5630,7 +5636,7 @@ class expr_prop_fail2_model final : public model_base_crtp(); - out__.write_free_lb(0, tau); + out__.write(stan::math::lb_free(tau, 0)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -6441,24 +6447,24 @@ class expr_prop_fail3_model final : public model_base_crtp>(5); local_scalar_t__ sigma_a; current_statement__ = 7; - sigma_a = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_a = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); local_scalar_t__ sigma_b; current_statement__ = 8; - sigma_b = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_b = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); local_scalar_t__ sigma_c; current_statement__ = 9; - sigma_c = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_c = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); local_scalar_t__ sigma_d; current_statement__ = 10; - sigma_d = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_d = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); local_scalar_t__ sigma_e; current_statement__ = 11; - sigma_e = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_e = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); Eigen::Matrix y_hat; y_hat = Eigen::Matrix(N); stan::math::fill(y_hat, DUMMY_VAR__); @@ -6590,24 +6596,24 @@ class expr_prop_fail3_model final : public model_base_crtp>(5); double sigma_a; current_statement__ = 7; - sigma_a = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_a = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); double sigma_b; current_statement__ = 8; - sigma_b = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_b = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); double sigma_c; current_statement__ = 9; - sigma_c = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_c = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); double sigma_d; current_statement__ = 10; - sigma_d = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_d = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); double sigma_e; current_statement__ = 11; - sigma_e = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_e = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); Eigen::Matrix y_hat; y_hat = Eigen::Matrix(N); stan::math::fill(y_hat, DUMMY_VAR__); @@ -6802,19 +6808,19 @@ class expr_prop_fail3_model final : public model_base_crtp(); - out__.write_free_lub(0, 100, sigma_a); + out__.write(stan::math::lub_free(sigma_a, 0, 100)); local_scalar_t__ sigma_b; sigma_b = in__.read(); - out__.write_free_lub(0, 100, sigma_b); + out__.write(stan::math::lub_free(sigma_b, 0, 100)); local_scalar_t__ sigma_c; sigma_c = in__.read(); - out__.write_free_lub(0, 100, sigma_c); + out__.write(stan::math::lub_free(sigma_c, 0, 100)); local_scalar_t__ sigma_d; sigma_d = in__.read(); - out__.write_free_lub(0, 100, sigma_d); + out__.write(stan::math::lub_free(sigma_d, 0, 100)); local_scalar_t__ sigma_e; sigma_e = in__.read(); - out__.write_free_lub(0, 100, sigma_e); + out__.write(stan::math::lub_free(sigma_e, 0, 100)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -7391,8 +7397,8 @@ class expr_prop_fail4_model final : public model_base_crtp( - 0, lp__); + tau_phi = stan::math::lb_constrain( + in__.template read(), 0, lp__); Eigen::Matrix phi_std_raw; lcm_sym22__ = (N - 1); phi_std_raw = in__.template read>( @@ -7469,8 +7475,8 @@ class expr_prop_fail4_model final : public model_base_crtp( - 0, lp__); + tau_phi = stan::math::lb_constrain( + in__.template read(), 0, lp__); Eigen::Matrix phi_std_raw; lcm_sym15__ = (N - 1); phi_std_raw = in__.template read>( @@ -7619,7 +7625,7 @@ class expr_prop_fail4_model final : public model_base_crtp(); - out__.write_free_lb(0, tau_phi); + out__.write(stan::math::lb_free(tau_phi, 0)); Eigen::Matrix phi_std_raw; phi_std_raw = Eigen::Matrix((N - 1)); stan::math::fill(phi_std_raw, DUMMY_VAR__); @@ -8700,20 +8706,20 @@ class expr_prop_fail5_model final : public model_base_crtp( - 0, 1, lp__); + mean_phi = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); local_scalar_t__ mean_p; current_statement__ = 2; - mean_p = in__.template read_constrain_lub( - 0, 1, lp__); + mean_p = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); Eigen::Matrix epsilon; current_statement__ = 3; epsilon = in__.template read>( nind); local_scalar_t__ sigma; current_statement__ = 4; - sigma = in__.template read_constrain_lub( - 0, 5, lp__); + sigma = stan::math::lub_constrain( + in__.template read(), 0, 5, lp__); Eigen::Matrix phi; phi = Eigen::Matrix(nind, (n_occasions - 1)); stan::math::fill(phi, DUMMY_VAR__); @@ -9225,20 +9231,20 @@ class expr_prop_fail5_model final : public model_base_crtp( - 0, 1, lp__); + mean_phi = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); double mean_p; current_statement__ = 2; - mean_p = in__.template read_constrain_lub( - 0, 1, lp__); + mean_p = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); Eigen::Matrix epsilon; current_statement__ = 3; epsilon = in__.template read>( nind); double sigma; current_statement__ = 4; - sigma = in__.template read_constrain_lub( - 0, 5, lp__); + sigma = stan::math::lub_constrain( + in__.template read(), 0, 5, lp__); Eigen::Matrix phi; phi = Eigen::Matrix(nind, (n_occasions - 1)); stan::math::fill(phi, DUMMY_VAR__); @@ -9650,10 +9656,10 @@ class expr_prop_fail5_model final : public model_base_crtp(); - out__.write_free_lub(0, 1, mean_phi); + out__.write(stan::math::lub_free(mean_phi, 0, 1)); local_scalar_t__ mean_p; mean_p = in__.read(); - out__.write_free_lub(0, 1, mean_p); + out__.write(stan::math::lub_free(mean_p, 0, 1)); Eigen::Matrix epsilon; epsilon = Eigen::Matrix(nind); stan::math::fill(epsilon, DUMMY_VAR__); @@ -9669,7 +9675,7 @@ class expr_prop_fail5_model final : public model_base_crtp(); - out__.write_free_lub(0, 5, sigma); + out__.write(stan::math::lub_free(sigma, 0, 5)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -11335,27 +11341,28 @@ class expr_prop_fail6_model final : public model_base_crtp lcm_sym194__; local_scalar_t__ mean_phi; current_statement__ = 1; - mean_phi = in__.template read_constrain_lub( - 0, 1, lp__); + mean_phi = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); local_scalar_t__ mean_p; current_statement__ = 2; - mean_p = in__.template read_constrain_lub( - 0, 1, lp__); + mean_p = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); local_scalar_t__ psi; current_statement__ = 3; - psi = in__.template read_constrain_lub(0, - 1, lp__); + psi = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); Eigen::Matrix beta; current_statement__ = 4; - beta = in__.template read_constrain_lb, jacobian__>( - 0, lp__, n_occasions); + beta = stan::math::lb_constrain( + in__.template read>( + n_occasions), 0, lp__); Eigen::Matrix epsilon; current_statement__ = 5; epsilon = in__.template read>(M); local_scalar_t__ sigma; current_statement__ = 6; - sigma = in__.template read_constrain_lub( - 0, 5, lp__); + sigma = stan::math::lub_constrain( + in__.template read(), 0, 5, lp__); Eigen::Matrix phi; phi = Eigen::Matrix(M, (n_occasions - 1)); stan::math::fill(phi, DUMMY_VAR__); @@ -12248,27 +12255,28 @@ class expr_prop_fail6_model final : public model_base_crtp lcm_sym118__; double mean_phi; current_statement__ = 1; - mean_phi = in__.template read_constrain_lub( - 0, 1, lp__); + mean_phi = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); double mean_p; current_statement__ = 2; - mean_p = in__.template read_constrain_lub( - 0, 1, lp__); + mean_p = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); double psi; current_statement__ = 3; - psi = in__.template read_constrain_lub(0, - 1, lp__); + psi = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); Eigen::Matrix beta; current_statement__ = 4; - beta = in__.template read_constrain_lb, jacobian__>( - 0, lp__, n_occasions); + beta = stan::math::lb_constrain( + in__.template read>( + n_occasions), 0, lp__); Eigen::Matrix epsilon; current_statement__ = 5; epsilon = in__.template read>(M); double sigma; current_statement__ = 6; - sigma = in__.template read_constrain_lub( - 0, 5, lp__); + sigma = stan::math::lub_constrain( + in__.template read(), 0, 5, lp__); Eigen::Matrix phi; phi = Eigen::Matrix(M, (n_occasions - 1)); stan::math::fill(phi, std::numeric_limits::quiet_NaN()); @@ -13003,13 +13011,13 @@ class expr_prop_fail6_model final : public model_base_crtp(); - out__.write_free_lub(0, 1, mean_phi); + out__.write(stan::math::lub_free(mean_phi, 0, 1)); local_scalar_t__ mean_p; mean_p = in__.read(); - out__.write_free_lub(0, 1, mean_p); + out__.write(stan::math::lub_free(mean_p, 0, 1)); local_scalar_t__ psi; psi = in__.read(); - out__.write_free_lub(0, 1, psi); + out__.write(stan::math::lub_free(psi, 0, 1)); Eigen::Matrix beta; beta = Eigen::Matrix(n_occasions); stan::math::fill(beta, DUMMY_VAR__); @@ -13022,7 +13030,7 @@ class expr_prop_fail6_model final : public model_base_crtp epsilon; epsilon = Eigen::Matrix(M); stan::math::fill(epsilon, DUMMY_VAR__); @@ -13038,7 +13046,7 @@ class expr_prop_fail6_model final : public model_base_crtp(); - out__.write_free_lub(0, 5, sigma); + out__.write(stan::math::lub_free(sigma, 0, 5)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -13849,12 +13857,14 @@ class expr_prop_fail7_model final : public model_base_crtp pi; current_statement__ = 1; - pi = in__.template read_constrain_simplex, jacobian__>( - lp__, K); + pi = stan::math::simplex_constrain( + in__.template read>( + (K - 1)), lp__); std::vector>> theta; current_statement__ = 2; - theta = in__.template read_constrain_simplex>>, jacobian__>( - lp__, J, K, K); + theta = stan::math::simplex_constrain( + in__.template read>>>( + J, K, (K - 1)), lp__); { current_statement__ = 10; lp_accum__.add(dirichlet_lpdf(pi, alpha)); @@ -14020,12 +14030,14 @@ class expr_prop_fail7_model final : public model_base_crtp pi; current_statement__ = 1; - pi = in__.template read_constrain_simplex, jacobian__>( - lp__, K); + pi = stan::math::simplex_constrain( + in__.template read>( + (K - 1)), lp__); std::vector>> theta; current_statement__ = 2; - theta = in__.template read_constrain_simplex>>, jacobian__>( - lp__, J, K, K); + theta = stan::math::simplex_constrain( + in__.template read>>>( + J, K, (K - 1)), lp__); out__.write(pi); lcm_sym5__ = logical_gte(K, 1); if (lcm_sym5__) { @@ -14215,7 +14227,7 @@ class expr_prop_fail7_model final : public model_base_crtp>> theta; theta = std::vector>>(J, std::vector>(K, Eigen::Matrix(K))); stan::math::fill(theta, DUMMY_VAR__); @@ -14278,7 +14290,7 @@ class expr_prop_fail7_model final : public model_base_crtp(); local_scalar_t__ tau_theta; current_statement__ = 3; - tau_theta = in__.template read_constrain_lb( - 0, lp__); + tau_theta = stan::math::lb_constrain( + in__.template read(), 0, lp__); local_scalar_t__ tau_phi; current_statement__ = 4; - tau_phi = in__.template read_constrain_lb( - 0, lp__); + tau_phi = stan::math::lb_constrain( + in__.template read(), 0, lp__); Eigen::Matrix theta_std; current_statement__ = 5; theta_std = in__.template read>( @@ -14866,12 +14878,12 @@ class expr_prop_fail8_model final : public model_base_crtp(); double tau_theta; current_statement__ = 3; - tau_theta = in__.template read_constrain_lb( - 0, lp__); + tau_theta = stan::math::lb_constrain( + in__.template read(), 0, lp__); double tau_phi; current_statement__ = 4; - tau_phi = in__.template read_constrain_lb( - 0, lp__); + tau_phi = stan::math::lb_constrain( + in__.template read(), 0, lp__); Eigen::Matrix theta_std; current_statement__ = 5; theta_std = in__.template read>( @@ -14942,10 +14954,10 @@ class expr_prop_fail8_model final : public model_base_crtp(); - out__.write_free_lb(0, tau_theta); + out__.write(stan::math::lb_free(tau_theta, 0)); local_scalar_t__ tau_phi; tau_phi = in__.read(); - out__.write_free_lb(0, tau_phi); + out__.write(stan::math::lb_free(tau_phi, 0)); Eigen::Matrix theta_std; theta_std = Eigen::Matrix(N); stan::math::fill(theta_std, DUMMY_VAR__); @@ -16135,12 +16147,13 @@ class fails_test_model final : public model_base_crtp { int lcm_sym84__; local_scalar_t__ mean_p; current_statement__ = 1; - mean_p = in__.template read_constrain_lub( - 0, 1, lp__); + mean_p = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); Eigen::Matrix beta; current_statement__ = 2; - beta = in__.template read_constrain_lub, jacobian__>( - 0, 1, lp__, max_age); + beta = stan::math::lub_constrain( + in__.template read>( + max_age), 0, 1, lp__); Eigen::Matrix phi; phi = Eigen::Matrix(nind, (n_occasions - 1)); stan::math::fill(phi, DUMMY_VAR__); @@ -16644,12 +16657,13 @@ class fails_test_model final : public model_base_crtp { int lcm_sym47__; double mean_p; current_statement__ = 1; - mean_p = in__.template read_constrain_lub( - 0, 1, lp__); + mean_p = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); Eigen::Matrix beta; current_statement__ = 2; - beta = in__.template read_constrain_lub, jacobian__>( - 0, 1, lp__, max_age); + beta = stan::math::lub_constrain( + in__.template read>( + max_age), 0, 1, lp__); Eigen::Matrix phi; phi = Eigen::Matrix(nind, (n_occasions - 1)); stan::math::fill(phi, DUMMY_VAR__); @@ -17044,7 +17058,7 @@ class fails_test_model final : public model_base_crtp { pos__ = 1; local_scalar_t__ mean_p; mean_p = in__.read(); - out__.write_free_lub(0, 1, mean_p); + out__.write(stan::math::lub_free(mean_p, 0, 1)); Eigen::Matrix beta; beta = Eigen::Matrix(max_age); stan::math::fill(beta, DUMMY_VAR__); @@ -17057,7 +17071,7 @@ class fails_test_model final : public model_base_crtp { "assigning variable beta", index_uni(sym1__)); } } - out__.write_free_lub(0, 1, beta); + out__.write(stan::math::lub_free(beta, 0, 1)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -18756,24 +18770,25 @@ class inlining_fail2_model final : public model_base_crtp int lcm_sym207__; local_scalar_t__ mean_phi; current_statement__ = 1; - mean_phi = in__.template read_constrain_lub( - 0, 1, lp__); + mean_phi = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); local_scalar_t__ mean_p; current_statement__ = 2; - mean_p = in__.template read_constrain_lub( - 0, 1, lp__); + mean_p = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); Eigen::Matrix gamma; current_statement__ = 3; - gamma = in__.template read_constrain_lub, jacobian__>( - 0, 1, lp__, n_occasions); + gamma = stan::math::lub_constrain( + in__.template read>( + n_occasions), 0, 1, lp__); Eigen::Matrix epsilon; lcm_sym268__ = (n_occasions - 1); epsilon = in__.template read>( lcm_sym268__); local_scalar_t__ sigma; current_statement__ = 5; - sigma = in__.template read_constrain_lub( - 0, 5, lp__); + sigma = stan::math::lub_constrain( + in__.template read(), 0, 5, lp__); Eigen::Matrix phi; phi = Eigen::Matrix(M, lcm_sym268__); stan::math::fill(phi, DUMMY_VAR__); @@ -19626,24 +19641,25 @@ class inlining_fail2_model final : public model_base_crtp Eigen::Matrix lcm_sym133__; double mean_phi; current_statement__ = 1; - mean_phi = in__.template read_constrain_lub( - 0, 1, lp__); + mean_phi = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); double mean_p; current_statement__ = 2; - mean_p = in__.template read_constrain_lub( - 0, 1, lp__); + mean_p = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); Eigen::Matrix gamma; current_statement__ = 3; - gamma = in__.template read_constrain_lub, jacobian__>( - 0, 1, lp__, n_occasions); + gamma = stan::math::lub_constrain( + in__.template read>( + n_occasions), 0, 1, lp__); Eigen::Matrix epsilon; lcm_sym188__ = (n_occasions - 1); epsilon = in__.template read>( lcm_sym188__); double sigma; current_statement__ = 5; - sigma = in__.template read_constrain_lub( - 0, 5, lp__); + sigma = stan::math::lub_constrain( + in__.template read(), 0, 5, lp__); Eigen::Matrix phi; phi = Eigen::Matrix(M, lcm_sym188__); stan::math::fill(phi, DUMMY_VAR__); @@ -20304,10 +20320,10 @@ class inlining_fail2_model final : public model_base_crtp pos__ = 1; local_scalar_t__ mean_phi; mean_phi = in__.read(); - out__.write_free_lub(0, 1, mean_phi); + out__.write(stan::math::lub_free(mean_phi, 0, 1)); local_scalar_t__ mean_p; mean_p = in__.read(); - out__.write_free_lub(0, 1, mean_p); + out__.write(stan::math::lub_free(mean_p, 0, 1)); Eigen::Matrix gamma; gamma = Eigen::Matrix(n_occasions); stan::math::fill(gamma, DUMMY_VAR__); @@ -20320,7 +20336,7 @@ class inlining_fail2_model final : public model_base_crtp "assigning variable gamma", index_uni(sym1__)); } } - out__.write_free_lub(0, 1, gamma); + out__.write(stan::math::lub_free(gamma, 0, 1)); Eigen::Matrix epsilon; epsilon = Eigen::Matrix((n_occasions - 1)); stan::math::fill(epsilon, DUMMY_VAR__); @@ -20337,7 +20353,7 @@ class inlining_fail2_model final : public model_base_crtp out__.write(epsilon); local_scalar_t__ sigma; sigma = in__.read(); - out__.write_free_lub(0, 5, sigma); + out__.write(stan::math::lub_free(sigma, 0, 5)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -22538,12 +22554,12 @@ class lcm_fails2_model final : public model_base_crtp { int lcm_sym79__; local_scalar_t__ mean_phi; current_statement__ = 1; - mean_phi = in__.template read_constrain_lub( - 0, 1, lp__); + mean_phi = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); local_scalar_t__ mean_p; current_statement__ = 2; - mean_p = in__.template read_constrain_lub( - 0, 1, lp__); + mean_p = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); Eigen::Matrix phi; phi = Eigen::Matrix(nind, (n_occasions - 1)); stan::math::fill(phi, DUMMY_VAR__); @@ -23033,12 +23049,12 @@ class lcm_fails2_model final : public model_base_crtp { int lcm_sym46__; double mean_phi; current_statement__ = 1; - mean_phi = in__.template read_constrain_lub( - 0, 1, lp__); + mean_phi = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); double mean_p; current_statement__ = 2; - mean_p = in__.template read_constrain_lub( - 0, 1, lp__); + mean_p = stan::math::lub_constrain( + in__.template read(), 0, 1, lp__); Eigen::Matrix phi; phi = Eigen::Matrix(nind, (n_occasions - 1)); stan::math::fill(phi, std::numeric_limits::quiet_NaN()); @@ -23423,10 +23439,10 @@ class lcm_fails2_model final : public model_base_crtp { pos__ = 1; local_scalar_t__ mean_phi; mean_phi = in__.read(); - out__.write_free_lub(0, 1, mean_phi); + out__.write(stan::math::lub_free(mean_phi, 0, 1)); local_scalar_t__ mean_p; mean_p = in__.read(); - out__.write_free_lub(0, 1, mean_p); + out__.write(stan::math::lub_free(mean_p, 0, 1)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -25447,16 +25463,16 @@ class off_small_model final : public model_base_crtp { mu_a2 = in__.template read(); local_scalar_t__ sigma_a1; current_statement__ = 6; - sigma_a1 = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_a1 = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); local_scalar_t__ sigma_a2; current_statement__ = 7; - sigma_a2 = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_a2 = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); local_scalar_t__ sigma_y; current_statement__ = 8; - sigma_y = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_y = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); Eigen::Matrix a1; a1 = Eigen::Matrix(J); stan::math::fill(a1, DUMMY_VAR__); @@ -25574,16 +25590,16 @@ class off_small_model final : public model_base_crtp { mu_a2 = in__.template read(); double sigma_a1; current_statement__ = 6; - sigma_a1 = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_a1 = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); double sigma_a2; current_statement__ = 7; - sigma_a2 = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_a2 = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); double sigma_y; current_statement__ = 8; - sigma_y = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_y = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); Eigen::Matrix a1; a1 = Eigen::Matrix(J); stan::math::fill(a1, std::numeric_limits::quiet_NaN()); @@ -25710,13 +25726,13 @@ class off_small_model final : public model_base_crtp { out__.write(mu_a2); local_scalar_t__ sigma_a1; sigma_a1 = in__.read(); - out__.write_free_lub(0, 100, sigma_a1); + out__.write(stan::math::lub_free(sigma_a1, 0, 100)); local_scalar_t__ sigma_a2; sigma_a2 = in__.read(); - out__.write_free_lub(0, 100, sigma_a2); + out__.write(stan::math::lub_free(sigma_a2, 0, 100)); local_scalar_t__ sigma_y; sigma_y = in__.read(); - out__.write_free_lub(0, 100, sigma_y); + out__.write(stan::math::lub_free(sigma_y, 0, 100)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -26264,8 +26280,9 @@ class optimizations_model final : public model_base_crtp { 2); Eigen::Matrix x_cov; current_statement__ = 5; - x_cov = in__.template read_constrain_cov_matrix, jacobian__>( - lp__, 2); + x_cov = stan::math::cov_matrix_constrain( + in__.template read>( + (2 + ((2 * (2 - 1)) / 2))), 2, lp__); { double x; x = std::numeric_limits::quiet_NaN(); @@ -26839,8 +26856,9 @@ class optimizations_model final : public model_base_crtp { 2); Eigen::Matrix x_cov; current_statement__ = 5; - x_cov = in__.template read_constrain_cov_matrix, jacobian__>( - lp__, 2); + x_cov = stan::math::cov_matrix_constrain( + in__.template read>( + (2 + ((2 * (2 - 1)) / 2))), 2, lp__); out__.write(theta); out__.write(phi); out__.write(x_matrix); @@ -26949,7 +26967,7 @@ class optimizations_model final : public model_base_crtp { } } } - out__.write_free_cov_matrix(x_cov); + out__.write(stan::math::cov_matrix_free(x_cov)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -27500,12 +27518,12 @@ class partial_eval_model final : public model_base_crtp { mu_a = in__.template read(); local_scalar_t__ sigma_a; current_statement__ = 4; - sigma_a = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_a = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); local_scalar_t__ sigma_y; current_statement__ = 5; - sigma_y = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_y = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); Eigen::Matrix y_hat; y_hat = Eigen::Matrix(N); stan::math::fill(y_hat, DUMMY_VAR__); @@ -27589,12 +27607,12 @@ class partial_eval_model final : public model_base_crtp { mu_a = in__.template read(); double sigma_a; current_statement__ = 4; - sigma_a = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_a = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); double sigma_y; current_statement__ = 5; - sigma_y = in__.template read_constrain_lub( - 0, 100, lp__); + sigma_y = stan::math::lub_constrain( + in__.template read(), 0, 100, lp__); Eigen::Matrix y_hat; y_hat = Eigen::Matrix(N); stan::math::fill(y_hat, DUMMY_VAR__); @@ -27687,10 +27705,10 @@ class partial_eval_model final : public model_base_crtp { out__.write(mu_a); local_scalar_t__ sigma_a; sigma_a = in__.read(); - out__.write_free_lub(0, 100, sigma_a); + out__.write(stan::math::lub_free(sigma_a, 0, 100)); local_scalar_t__ sigma_y; sigma_y = in__.read(); - out__.write_free_lub(0, 100, sigma_y); + out__.write(stan::math::lub_free(sigma_y, 0, 100)); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -28200,8 +28218,8 @@ class stalled1_failure_model final : public model_base_crtp(); local_scalar_t__ tau; current_statement__ = 5; - tau = in__.template read_constrain_lb(0, - lp__); + tau = stan::math::lb_constrain( + in__.template read(), 0, lp__); std::vector> b; current_statement__ = 6; b = in__.template read>>( @@ -28308,8 +28326,8 @@ class stalled1_failure_model final : public model_base_crtp(); double tau; current_statement__ = 5; - tau = in__.template read_constrain_lb(0, - lp__); + tau = stan::math::lb_constrain( + in__.template read(), 0, lp__); std::vector> b; current_statement__ = 6; b = in__.template read>>( @@ -28434,7 +28452,7 @@ class stalled1_failure_model final : public model_base_crtp(); - out__.write_free_lb(0, tau); + out__.write(stan::math::lb_free(tau, 0)); std::vector> b; b = std::vector>(I, Eigen::Matrix(8)); stan::math::fill(b, DUMMY_VAR__); diff --git a/test/integration/good/pretty.expected b/test/integration/good/pretty.expected index fa52367903..72060c39a6 100644 --- a/test/integration/good/pretty.expected +++ b/test/integration/good/pretty.expected @@ -5728,6 +5728,17 @@ generated quantities { real sd_y = sd(y); } + $ ../../../../install/default/bin/stanc --auto-format scaled-transforms.stan +data { + int N; +} +parameters { + array[3] real loweroffset; + real allfour; + simplex[10] offset_simplex; + positive_ordered[N] multiplied_ordered; +} + $ ../../../../install/default/bin/stanc --auto-format single-arg-conddist.stan functions { real foo_lpdf(real x) { diff --git a/test/integration/good/scaled-transforms.stan b/test/integration/good/scaled-transforms.stan new file mode 100644 index 0000000000..c256ffb007 --- /dev/null +++ b/test/integration/good/scaled-transforms.stan @@ -0,0 +1,10 @@ +data { + int N; +} + +parameters { + array[3] real loweroffset; + real allfour; + simplex[10] offset_simplex; + positive_ordered[N] multiplied_ordered; +} diff --git a/test/unit/Optimize.ml b/test/unit/Optimize.ml index 7c3aaaeb18..24dbcfc0f4 100644 --- a/test/unit/Optimize.ml +++ b/test/unit/Optimize.ml @@ -3462,9 +3462,14 @@ let%expect_test "Mapping acts recursively" = let unpattern p = {Stmt.Fixed.pattern= p; meta= Location_span.empty} in let s = Stmt.Fixed.Pattern.NRFunApp - ( CompilerInternal (FnWriteParam {var= from; unconstrain_opt= None}) + ( CompilerInternal + (FnWriteParam + { var= from + ; unconstrain= Transformation.Identity + ; scale= Scale.Native } ) , [from] ) in let m = Expr.Typed.Map.of_alist_exn [(from, into)] in let s' = expr_subst_stmt_base m s in Fmt.strf "@[%a@]" Stmt.Located.pp (unpattern s') |> print_endline ; - [%expect {| (FnWriteParam(unconstrain_opt())(var y))__(y); |}] + [%expect + {| (FnWriteParam(scale Native)(unconstrain Identity)(var y))__(y); |}] diff --git a/test/unit/Parse_tests.ml b/test/unit/Parse_tests.ml index 88e3cb9cdc..98599bbc86 100644 --- a/test/unit/Parse_tests.ml +++ b/test/unit/Parse_tests.ml @@ -82,9 +82,9 @@ let%expect_test "parse minus unary" = (modelblock (((stmts (((stmt - (VarDecl (decl_type (Sized SReal)) (transformation Identity) - (identifier ((name x) (id_loc ))) (initial_value ()) - (is_global false))) + (VarDecl (decl_type (Sized SReal)) (scale Native) + (transformation Identity) (identifier ((name x) (id_loc ))) + (initial_value ()) (is_global false))) (smeta ((loc )))) ((stmt (Assignment @@ -115,8 +115,8 @@ let%expect_test "parse unary over binary" = (modelblock (((stmts (((stmt - (VarDecl (decl_type (Sized SReal)) (transformation Identity) - (identifier ((name x) (id_loc ))) + (VarDecl (decl_type (Sized SReal)) (scale Native) + (transformation Identity) (identifier ((name x) (id_loc ))) (initial_value (((expr (BinOp @@ -161,8 +161,9 @@ let%expect_test "parse indices, two different colons" = (Sized (SMatrix AoS ((expr (IntNumeral 5)) (emeta ((loc )))) ((expr (IntNumeral 5)) (emeta ((loc ))))))) - (transformation Identity) (identifier ((name x) (id_loc ))) - (initial_value ()) (is_global false))) + (scale Native) (transformation Identity) + (identifier ((name x) (id_loc ))) (initial_value ()) + (is_global false))) (smeta ((loc )))) ((stmt (Print @@ -390,7 +391,8 @@ let%expect_test "parse crazy truncation example" = (SArray (SArray SReal ((expr (IntNumeral 1)) (emeta ((loc ))))) ((expr (IntNumeral 1)) (emeta ((loc ))))))) - (transformation Identity) (identifier ((name T) (id_loc ))) + (scale Native) (transformation Identity) + (identifier ((name T) (id_loc ))) (initial_value (((expr (ArrayExpr