Lines Matching refs:vals
40 PetscScalar *vals; member
134 static PetscErrorCode PCTFS_gs_gop_local_out(PCTFS_gs_id *gs, PetscScalar *vals);
136 static PetscErrorCode PCTFS_gs_gop_vec_local_out(PCTFS_gs_id *gs, PetscScalar *vals, PetscInt step);
140 static PetscErrorCode PCTFS_gs_gop_vec_local_plus(PCTFS_gs_id *gs, PetscScalar *vals, PetscInt step…
141 static PetscErrorCode PCTFS_gs_gop_vec_local_in_plus(PCTFS_gs_id *gs, PetscScalar *vals, PetscInt s…
142 static PetscErrorCode PCTFS_gs_gop_vec_tree_plus(PCTFS_gs_id *gs, PetscScalar *vals, PetscInt step);
144 static PetscErrorCode PCTFS_gs_gop_local_plus(PCTFS_gs_id *gs, PetscScalar *vals);
145 static PetscErrorCode PCTFS_gs_gop_local_in_plus(PCTFS_gs_id *gs, PetscScalar *vals);
149 static PetscErrorCode PCTFS_gs_gop_tree_plus_hc(PCTFS_gs_id *gs, PetscScalar *vals, PetscInt dim);
222 PetscInt vals[PETSC_STATIC_ARRAY_LENGTH(oprs) - 1]; in gsi_check_args() local
344 vals[2] = vals[1] = vals[0] = nel; in gsi_check_args()
346 vals[3] = unique[0]; in gsi_check_args()
347 vals[4] = unique[gs->nel - 1]; in gsi_check_args()
349 vals[3] = INT_MAX; in gsi_check_args()
350 vals[4] = INT_MIN; in gsi_check_args()
352 vals[5] = level; in gsi_check_args()
353 vals[6] = num_gs_ids; in gsi_check_args()
356 …PetscCallAbort(PETSC_COMM_WORLD, PCTFS_giop(vals, work, PETSC_STATIC_ARRAY_LENGTH(oprs) - 1, oprs)… in gsi_check_args()
360 …if (vals[3] < 0) SETERRABORT(PETSC_COMM_WORLD, PETSC_ERR_PLIB, "gsi_check_args() :: system not sem… in gsi_check_args()
361 …if (vals[4] == INT_MAX) SETERRABORT(PETSC_COMM_WORLD, PETSC_ERR_PLIB, "gsi_check_args() :: system … in gsi_check_args()
363 gs->nel_min = vals[0]; in gsi_check_args()
364 gs->nel_max = vals[1]; in gsi_check_args()
365 gs->nel_sum = vals[2]; in gsi_check_args()
366 gs->gl_min = vals[3]; in gsi_check_args()
367 gs->gl_max = vals[4]; in gsi_check_args()
368 gs->negl = vals[4] - vals[3] + 1; in gsi_check_args()
373 if (vals[5] < 0) vals[5] = 0; in gsi_check_args()
374 else if (vals[5] > PCTFS_num_nodes) vals[5] = PCTFS_num_nodes; in gsi_check_args()
375 gs->level = vals[5]; in gsi_check_args()
818 static PetscErrorCode PCTFS_gs_gop_local_out(PCTFS_gs_id *gs, PetscScalar *vals) in PCTFS_gs_gop_local_out() argument
830 vals[map[1]] = vals[map[0]]; in PCTFS_gs_gop_local_out()
833 vals[map[2]] = vals[map[1]] = vals[map[0]]; in PCTFS_gs_gop_local_out()
836 vals[map[3]] = vals[map[2]] = vals[map[1]] = vals[map[0]]; in PCTFS_gs_gop_local_out()
839 tmp = *(vals + *map++); in PCTFS_gs_gop_local_out()
840 while (*map >= 0) *(vals + *map++) = tmp; in PCTFS_gs_gop_local_out()
847 static PetscErrorCode PCTFS_gs_gop_local_plus(PCTFS_gs_id *gs, PetscScalar *vals) in PCTFS_gs_gop_local_plus() argument
860 vals[map[1]] = vals[map[0]] += vals[map[1]]; in PCTFS_gs_gop_local_plus()
864 vals[map[2]] = vals[map[1]] = vals[map[0]] += (vals[map[1]] + vals[map[2]]); in PCTFS_gs_gop_local_plus()
868 …vals[map[1]] = vals[map[2]] = vals[map[3]] = vals[map[0]] += (vals[map[1]] + vals[map[2]] + vals[m… in PCTFS_gs_gop_local_plus()
872 while (*map >= 0) tmp += *(vals + *map++); in PCTFS_gs_gop_local_plus()
875 while (*map >= 0) *(vals + *map++) = tmp; in PCTFS_gs_gop_local_plus()
882 static PetscErrorCode PCTFS_gs_gop_local_in_plus(PCTFS_gs_id *gs, PetscScalar *vals) in PCTFS_gs_gop_local_in_plus() argument
894 vals[map[0]] += vals[map[1]]; in PCTFS_gs_gop_local_in_plus()
897 vals[map[0]] += (vals[map[1]] + vals[map[2]]); in PCTFS_gs_gop_local_in_plus()
900 vals[map[0]] += (vals[map[1]] + vals[map[2]] + vals[map[3]]); in PCTFS_gs_gop_local_in_plus()
903 base = vals + *map++; in PCTFS_gs_gop_local_in_plus()
904 while (*map >= 0) *base += *(vals + *map++); in PCTFS_gs_gop_local_in_plus()
938 if (gs->vals) free((void *)gs->vals); in PCTFS_gs_free()
971 PetscErrorCode PCTFS_gs_gop_vec(PCTFS_gs_id *gs, PetscScalar *vals, const char *op, PetscInt step) in PCTFS_gs_gop_vec() argument
976 PetscCall(PCTFS_gs_gop_vec_plus(gs, vals, step)); in PCTFS_gs_gop_vec()
981 PetscCall(PCTFS_gs_gop_vec_plus(gs, vals, step)); in PCTFS_gs_gop_vec()
988 static PetscErrorCode PCTFS_gs_gop_vec_plus(PCTFS_gs_id *gs, PetscScalar *vals, PetscInt step) in PCTFS_gs_gop_vec_plus() argument
994 if (gs->num_local) PetscCall(PCTFS_gs_gop_vec_local_plus(gs, vals, step)); in PCTFS_gs_gop_vec_plus()
998 PetscCall(PCTFS_gs_gop_vec_local_in_plus(gs, vals, step)); in PCTFS_gs_gop_vec_plus()
1001 if (gs->num_pairs) PetscCall(PCTFS_gs_gop_vec_pairwise_plus(gs, vals, step)); in PCTFS_gs_gop_vec_plus()
1004 else if (gs->max_left_over) PetscCall(PCTFS_gs_gop_vec_tree_plus(gs, vals, step)); in PCTFS_gs_gop_vec_plus()
1006 PetscCall(PCTFS_gs_gop_vec_local_out(gs, vals, step)); in PCTFS_gs_gop_vec_plus()
1009 if (gs->num_pairs) PetscCall(PCTFS_gs_gop_vec_pairwise_plus(gs, vals, step)); in PCTFS_gs_gop_vec_plus()
1012 else if (gs->max_left_over) PetscCall(PCTFS_gs_gop_vec_tree_plus(gs, vals, step)); in PCTFS_gs_gop_vec_plus()
1018 static PetscErrorCode PCTFS_gs_gop_vec_local_plus(PCTFS_gs_id *gs, PetscScalar *vals, PetscInt step) in PCTFS_gs_gop_vec_local_plus() argument
1027 base = vals + map[0] * step; in PCTFS_gs_gop_vec_local_plus()
1033 PetscCall(PCTFS_rvec_add(base, vals + map[1] * step, step)); in PCTFS_gs_gop_vec_local_plus()
1034 PetscCall(PCTFS_rvec_copy(vals + map[1] * step, base, step)); in PCTFS_gs_gop_vec_local_plus()
1038 PetscCall(PCTFS_rvec_add(base, vals + map[1] * step, step)); in PCTFS_gs_gop_vec_local_plus()
1039 PetscCall(PCTFS_rvec_add(base, vals + map[2] * step, step)); in PCTFS_gs_gop_vec_local_plus()
1040 PetscCall(PCTFS_rvec_copy(vals + map[2] * step, base, step)); in PCTFS_gs_gop_vec_local_plus()
1041 PetscCall(PCTFS_rvec_copy(vals + map[1] * step, base, step)); in PCTFS_gs_gop_vec_local_plus()
1045 PetscCall(PCTFS_rvec_add(base, vals + map[1] * step, step)); in PCTFS_gs_gop_vec_local_plus()
1046 PetscCall(PCTFS_rvec_add(base, vals + map[2] * step, step)); in PCTFS_gs_gop_vec_local_plus()
1047 PetscCall(PCTFS_rvec_add(base, vals + map[3] * step, step)); in PCTFS_gs_gop_vec_local_plus()
1048 PetscCall(PCTFS_rvec_copy(vals + map[3] * step, base, step)); in PCTFS_gs_gop_vec_local_plus()
1049 PetscCall(PCTFS_rvec_copy(vals + map[2] * step, base, step)); in PCTFS_gs_gop_vec_local_plus()
1050 PetscCall(PCTFS_rvec_copy(vals + map[1] * step, base, step)); in PCTFS_gs_gop_vec_local_plus()
1053 while (*++map >= 0) PetscCall(PCTFS_rvec_add(base, vals + *map * step, step)); in PCTFS_gs_gop_vec_local_plus()
1056 while (*++map >= 0) PetscCall(PCTFS_rvec_copy(vals + *map * step, base, step)); in PCTFS_gs_gop_vec_local_plus()
1065 static PetscErrorCode PCTFS_gs_gop_vec_local_in_plus(PCTFS_gs_id *gs, PetscScalar *vals, PetscInt s… in PCTFS_gs_gop_vec_local_in_plus() argument
1074 base = vals + map[0] * step; in PCTFS_gs_gop_vec_local_in_plus()
1079 PetscCall(PCTFS_rvec_add(base, vals + map[1] * step, step)); in PCTFS_gs_gop_vec_local_in_plus()
1082 PetscCall(PCTFS_rvec_add(base, vals + map[1] * step, step)); in PCTFS_gs_gop_vec_local_in_plus()
1083 PetscCall(PCTFS_rvec_add(base, vals + map[2] * step, step)); in PCTFS_gs_gop_vec_local_in_plus()
1086 PetscCall(PCTFS_rvec_add(base, vals + map[1] * step, step)); in PCTFS_gs_gop_vec_local_in_plus()
1087 PetscCall(PCTFS_rvec_add(base, vals + map[2] * step, step)); in PCTFS_gs_gop_vec_local_in_plus()
1088 PetscCall(PCTFS_rvec_add(base, vals + map[3] * step, step)); in PCTFS_gs_gop_vec_local_in_plus()
1091 while (*++map >= 0) PetscCall(PCTFS_rvec_add(base, vals + *map * step, step)); in PCTFS_gs_gop_vec_local_in_plus()
1098 static PetscErrorCode PCTFS_gs_gop_vec_local_out(PCTFS_gs_id *gs, PetscScalar *vals, PetscInt step) in PCTFS_gs_gop_vec_local_out() argument
1107 base = vals + map[0] * step; in PCTFS_gs_gop_vec_local_out()
1112 PetscCall(PCTFS_rvec_copy(vals + map[1] * step, base, step)); in PCTFS_gs_gop_vec_local_out()
1115 PetscCall(PCTFS_rvec_copy(vals + map[1] * step, base, step)); in PCTFS_gs_gop_vec_local_out()
1116 PetscCall(PCTFS_rvec_copy(vals + map[2] * step, base, step)); in PCTFS_gs_gop_vec_local_out()
1119 PetscCall(PCTFS_rvec_copy(vals + map[1] * step, base, step)); in PCTFS_gs_gop_vec_local_out()
1120 PetscCall(PCTFS_rvec_copy(vals + map[2] * step, base, step)); in PCTFS_gs_gop_vec_local_out()
1121 PetscCall(PCTFS_rvec_copy(vals + map[3] * step, base, step)); in PCTFS_gs_gop_vec_local_out()
1124 while (*++map >= 0) PetscCall(PCTFS_rvec_copy(vals + *map * step, base, step)); in PCTFS_gs_gop_vec_local_out()
1225 static PetscErrorCode PCTFS_gs_gop_vec_tree_plus(PCTFS_gs_id *gs, PetscScalar *vals, PetscInt step) in PCTFS_gs_gop_vec_tree_plus() argument
1247 … PetscCallBLAS("BLAScopy", BLAScopy_(&dstep, vals + *in++ * step, &i1, buf + *out++ * step, &i1)); in PCTFS_gs_gop_vec_tree_plus()
1261 … PetscCallBLAS("BLAScopy", BLAScopy_(&dstep, buf + *out++ * step, &i1, vals + *in++ * step, &i1)); in PCTFS_gs_gop_vec_tree_plus()
1267 PetscErrorCode PCTFS_gs_gop_hc(PCTFS_gs_id *gs, PetscScalar *vals, const char *op, PetscInt dim) in PCTFS_gs_gop_hc() argument
1272 PetscCall(PCTFS_gs_gop_plus_hc(gs, vals, dim)); in PCTFS_gs_gop_hc()
1277 PetscCall(PCTFS_gs_gop_plus_hc(gs, vals, dim)); in PCTFS_gs_gop_hc()
1284 static PetscErrorCode PCTFS_gs_gop_plus_hc(PCTFS_gs_id *gs, PetscScalar *vals, PetscInt dim) in PCTFS_gs_gop_plus_hc() argument
1294 if (gs->num_local) PetscCall(PCTFS_gs_gop_local_plus(gs, vals)); in PCTFS_gs_gop_plus_hc()
1298 PetscCall(PCTFS_gs_gop_local_in_plus(gs, vals)); in PCTFS_gs_gop_plus_hc()
1301 if (gs->num_pairs) PetscCall(PCTFS_gs_gop_pairwise_plus_hc(gs, vals, dim)); /* tree only */ in PCTFS_gs_gop_plus_hc()
1302 else if (gs->max_left_over) PetscCall(PCTFS_gs_gop_tree_plus_hc(gs, vals, dim)); in PCTFS_gs_gop_plus_hc()
1304 PetscCall(PCTFS_gs_gop_local_out(gs, vals)); in PCTFS_gs_gop_plus_hc()
1307 if (gs->num_pairs) PetscCall(PCTFS_gs_gop_pairwise_plus_hc(gs, vals, dim)); /* tree */ in PCTFS_gs_gop_plus_hc()
1308 else if (gs->max_left_over) PetscCall(PCTFS_gs_gop_tree_plus_hc(gs, vals, dim)); in PCTFS_gs_gop_plus_hc()
1413 static PetscErrorCode PCTFS_gs_gop_tree_plus_hc(PCTFS_gs_id *gs, PetscScalar *vals, PetscInt dim) in PCTFS_gs_gop_tree_plus_hc() argument
1429 while (*in >= 0) *(buf + *out++) = *(vals + *in++); in PCTFS_gs_gop_tree_plus_hc()
1436 while (*in >= 0) *(vals + *in++) = *(buf + *out++); in PCTFS_gs_gop_tree_plus_hc()