/usr/include/ga-wapi.h is in libga-dev 5.3+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 | #ifndef WAPI_H_
#define WAPI_H_
#include <stdio.h>
#include "gacommon.h"
#include "typesf2c.h"
/* Routines from base.c */
extern logical wnga_allocate(Integer g_a);
extern logical wnga_compare_distr(Integer g_a, Integer g_b);
extern logical wnga_create(Integer type, Integer ndim,
Integer *dims, char* name,
Integer *chunk, Integer *g_a);
extern logical wnga_create_config(Integer type, Integer ndim,
Integer *dims, char* name,
Integer *chunk, Integer p_handle,
Integer *g_a);
extern logical wnga_create_ghosts(Integer type, Integer ndim,
Integer *dims, Integer *width, char* name,
Integer *chunk, Integer *g_a);
extern logical wnga_create_ghosts_irreg(Integer type, Integer ndim,
Integer *dims, Integer *width,
char* name,
Integer *map, Integer *block,
Integer *g_a);
extern logical wnga_create_ghosts_irreg_config(Integer type, Integer ndim,
Integer *dims, Integer *width,
char* name,
Integer *map, Integer *block,
Integer p_handle, Integer *g_a);
extern logical wnga_create_ghosts_config(Integer type, Integer ndim,
Integer *dims, Integer *width,
char* name,
Integer *chunk, Integer p_handle,
Integer *g_a);
extern logical wnga_create_irreg(Integer type, Integer ndim,
Integer *dims, char* name,
Integer *map, Integer *block, Integer *g_a);
extern logical wnga_create_irreg_config(Integer type, Integer ndim,
Integer *dims, char* name,
Integer *map,
Integer *block, Integer p_handle,
Integer *g_a);
extern Integer wnga_create_handle();
extern logical wnga_create_mutexes(Integer num);
extern logical wnga_destroy(Integer g_a);
extern logical wnga_destroy_mutexes();
extern void wnga_distribution(Integer g_a, Integer proc, Integer *lo, Integer *hi);
extern logical wnga_duplicate(Integer g_a, Integer *g_b, char *array_name);
extern void wnga_fill(Integer g_a, void* val);
extern void wnga_get_block_info(Integer g_a, Integer *num_blocks,
Integer *block_dims);
extern logical wnga_get_debug();
extern Integer wnga_get_dimension(Integer g_a);
extern void wnga_get_proc_grid(Integer g_a, Integer *dims);
extern void wnga_get_proc_index(Integer g_a, Integer iproc, Integer *index);
extern logical wnga_has_ghosts(Integer g_a);
extern void wnga_initialize();
extern int wnga_initialized();
extern void wnga_initialize_ltd(Integer limit);
extern void wnga_inquire(Integer g_a, Integer *type, Integer *ndim, Integer *dims);
extern void wnga_inquire_type(Integer g_a, Integer *type);
extern Integer wnga_inquire_memory();
extern void wnga_inquire_name(Integer g_a, char **array_name);
extern logical wnga_is_mirrored(Integer g_a);
extern void wnga_list_nodeid(Integer *list, Integer nprocs);
extern logical wnga_locate(Integer g_a, Integer *subscript, Integer *owner);
extern Integer wnga_locate_num_blocks(Integer g_a, Integer *lo, Integer *hi);
extern logical wnga_locate_nnodes(Integer g_a, Integer *lo, Integer *hi, Integer *np);
extern logical wnga_locate_region(Integer g_a, Integer *lo, Integer *hi,
Integer *map, Integer *proclist, Integer *np);
extern void wnga_lock(Integer mutex);
extern Integer wnga_ndim(Integer g_a);
extern void wnga_mask_sync(Integer begin, Integer end);
extern Integer wnga_memory_avail();
extern logical wnga_memory_limited();
extern void wnga_merge_distr_patch(Integer g_a, Integer *alo, Integer *ahi,
Integer g_b, Integer *blo, Integer *bhi);
extern void wnga_merge_mirrored(Integer g_a);
extern void wnga_nblock(Integer g_a, Integer *nblock);
extern Integer wnga_nnodes();
extern Integer wnga_nodeid();
extern Integer wnga_pgroup_absolute_id(Integer grp, Integer pid);
extern Integer wnga_pgroup_create(Integer *list, Integer count);
extern logical wnga_pgroup_destroy(Integer grp);
extern Integer wnga_pgroup_get_default();
extern Integer wnga_pgroup_get_mirror();
extern Integer wnga_pgroup_get_world();
extern void wnga_pgroup_set_default(Integer grp);
extern Integer wnga_pgroup_split(Integer grp, Integer grp_num);
extern Integer wnga_pgroup_split_irreg(Integer grp, Integer mycolor);
extern Integer wnga_pgroup_nnodes(Integer grp);
extern Integer wnga_pgroup_nodeid(Integer grp);
extern void wnga_proc_topology(Integer g_a, Integer proc, Integer* subscript);
extern void wnga_randomize(Integer g_a, void* val);
extern Integer wnga_get_pgroup(Integer g_a);
extern Integer wnga_get_pgroup_size(Integer grp_id);
extern void wnga_set_array_name(Integer g_a, char *array_name);
extern void wnga_set_block_cyclic(Integer g_a, Integer *dims);
extern void wnga_set_block_cyclic_proc_grid(Integer g_a, Integer *dims, Integer *proc_grid);
extern void wnga_set_chunk(Integer g_a, Integer *chunk);
extern void wnga_set_data(Integer g_a, Integer ndim, Integer *dims, Integer type);
extern void wnga_set_debug(logical flag);
extern void wnga_set_ghosts(Integer g_a, Integer *width);
extern void wnga_set_irreg_distr(Integer g_a, Integer *map, Integer *block);
extern void wnga_set_irreg_flag(Integer g_a, logical flag);
extern void wnga_set_memory_limit(Integer mem_limit);
extern void wnga_set_pgroup(Integer g_a, Integer p_handle);
extern void wnga_set_restricted(Integer g_a, Integer *list, Integer size);
extern void wnga_set_restricted_range(Integer g_a, Integer lo_proc, Integer hi_proc);
extern void wnga_terminate();
extern Integer wnga_total_blocks(Integer g_a);
extern void wnga_unlock(Integer mutex);
extern logical wnga_uses_ma();
extern logical wnga_uses_proc_grid(Integer g_a);
extern logical wnga_valid_handle(Integer g_a);
extern Integer wnga_verify_handle(Integer g_a);
extern void wnga_check_handle(Integer g_a, char *string);
/* Routines from onesided.c */
extern void wnga_acc(Integer g_a, Integer *lo, Integer *hi, void *buf,
Integer *ld, void *alpha);
extern void wnga_access_idx(Integer g_a, Integer *lo, Integer *hi,
AccessIndex *index, Integer *ld);
extern void wnga_access_ptr(Integer g_a, Integer *lo, Integer *hi, void *ptr,
Integer *ld);
extern void wnga_access_block_idx(Integer g_a, Integer idx,
AccessIndex* index, Integer *ld);
extern void wnga_access_block_ptr(Integer g_a, Integer idx, void* ptr,
Integer *ld);
extern void wnga_access_block_grid_idx(Integer g_a, Integer* subscript,
AccessIndex *index, Integer *ld);
extern void wnga_access_block_grid_ptr(Integer g_a, Integer *index, void* ptr,
Integer *ld);
extern void wnga_access_block_segment_idx(Integer g_a, Integer proc,
AccessIndex* index, Integer *len);
extern void wnga_access_block_segment_ptr(Integer g_a, Integer proc,
void* ptr, Integer *len);
extern void wnga_alloc_gatscat_buf(Integer nelems);
extern void wnga_fence();
extern void wnga_free_gatscat_buf();
extern void wnga_gather2d(Integer g_a, void *v, Integer *i, Integer *j,
Integer nv);
extern void wnga_gather(Integer g_a, void* v, void *subscript,
Integer c_flag, Integer nv);
extern void wnga_get(Integer g_a, Integer *lo, Integer *hi,
void *buf, Integer *ld);
extern void wnga_init_fence();
extern void wnga_nbacc(Integer g_a, Integer *lo, Integer *hi, void *buf,
Integer *ld, void *alpha, Integer *nbhndl);
extern void wnga_nbget(Integer g_a, Integer *lo, Integer *hi, void *buf,
Integer *ld, Integer *nbhandle);
extern void wnga_nbput(Integer g_a, Integer *lo, Integer *hi, void *buf,
Integer *ld, Integer *nbhandle);
extern void wnga_nbput_notify(Integer g_a, Integer *lo, Integer *hi, void *buf, Integer *ld, Integer g_b, Integer *ecoords, void *bufn, Integer *nbhandle);
extern void wnga_nbwait_notify(Integer *nbhandle);
extern Integer wnga_nbtest(Integer *nbhandle);
extern void wnga_nbwait(Integer *nbhandle);
extern void wnga_put(Integer g_a, Integer *lo, Integer *hi, void *buf,
Integer *ld);
extern void wnga_pgroup_sync(Integer grp_id);
extern Integer wnga_read_inc(Integer g_a, Integer *subscript, Integer inc);
extern void wnga_release(Integer g_a, Integer *lo, Integer *hi);
extern void wnga_release_block(Integer g_a, Integer iblock);
extern void wnga_release_block_grid(Integer g_a, Integer *index);
extern void wnga_release_block_segment(Integer g_a, Integer iproc);
extern void wnga_release_update(Integer g_a, Integer *lo, Integer *hi);
extern void wnga_release_update_block(Integer g_a, Integer iblock);
extern void wnga_release_update_block_grid(Integer g_a, Integer *index);
extern void wnga_release_update_block_segment(Integer g_a, Integer iproc);
extern void wnga_scatter2d(Integer g_a, void *v, Integer *i, Integer *j, Integer nv);
extern void wnga_scatter(Integer g_a, void *v, void *subscript,
Integer c_flag, Integer nv);
extern void wnga_scatter_acc2d(Integer g_a, void *v, Integer *i, Integer *j,
Integer nv, void *alpha);
extern void wnga_scatter_acc(Integer g_a, void* v, void *subscript,
Integer c_flag, Integer nv, void *alpha);
extern void wnga_strided_acc(Integer g_a, Integer *lo, Integer *hi, Integer *skip,
void *buf, Integer *ld, void *alpha);
extern void wnga_strided_get(Integer g_a, Integer *lo, Integer *hi, Integer *skip,
void *buf, Integer *ld);
extern void wnga_strided_put(Integer g_a, Integer *lo, Integer *hi, Integer *skip,
void *buf, Integer *ld);
extern void wnga_sync();
extern DoublePrecision wnga_wtime();
/* Routines from datatypes.c */
extern Integer wnga_type_f2c(Integer type);
extern Integer wnga_type_c2f(Integer type);
/* Routines from collect.c */
extern void wnga_msg_brdcst(Integer type, void *buffer, Integer len, Integer root);
extern void wnga_brdcst(Integer type, void *buf, Integer len, Integer originator);
extern void wnga_pgroup_brdcst(Integer grp_id, Integer type, void *buf, Integer len, Integer originator);
extern void wnga_msg_sync();
extern void wnga_msg_pgroup_sync(Integer grp_id);
extern void wnga_pgroup_gop(Integer p_grp, Integer type, void *x, Integer n, char *op);
extern void wnga_gop(Integer type, void *x, Integer n, char *op);
/* Routines from elem_alg.c */
extern void wnga_abs_value_patch(Integer g_a, Integer *lo, Integer *hi);
extern void wnga_recip_patch(Integer g_a, Integer *lo, Integer *hi);
extern void wnga_add_constant_patch(Integer g_a, Integer *lo, Integer *hi, void *alpha);
extern void wnga_abs_value(Integer g_a);
extern void wnga_add_constant(Integer g_a, void *alpha);
extern void wnga_recip(Integer g_a);
extern void wnga_elem_multiply(Integer g_a, Integer g_b, Integer g_c);
extern void wnga_elem_divide(Integer g_a, Integer g_b, Integer g_c);
extern void wnga_elem_maximum(Integer g_a, Integer g_b, Integer g_c);
extern void wnga_elem_minimum(Integer g_a, Integer g_b, Integer g_c);
extern void wnga_elem_multiply_patch(Integer g_a,Integer *alo,Integer *ahi,Integer g_b,Integer *blo,Integer *bhi,Integer g_c,Integer *clo,Integer *chi);
extern void wnga_elem_divide_patch(Integer g_a,Integer *alo,Integer *ahi,Integer g_b,Integer *blo,Integer *bhi,Integer g_c,Integer *clo,Integer *chi);
extern void wnga_elem_maximum_patch(Integer g_a,Integer *alo,Integer *ahi,Integer g_b,Integer *blo,Integer *bhi,Integer g_c,Integer *clo,Integer *chi);
extern void wnga_elem_minimum_patch(Integer g_a,Integer *alo,Integer *ahi,Integer g_b,Integer *blo,Integer *bhi,Integer g_c,Integer *clo,Integer *chi);
extern void wnga_elem_step_divide_patch(Integer g_a,Integer *alo,Integer *ahi, Integer g_b,Integer *blo,Integer *bhi,Integer g_c, Integer *clo,Integer *chi);
extern void wnga_elem_stepb_divide_patch(Integer g_a,Integer *alo,Integer *ahi, Integer g_b,Integer *blo,Integer *bhi,Integer g_c, Integer *clo,Integer *chi);
extern void wnga_step_mask_patch(Integer g_a,Integer *alo,Integer *ahi, Integer g_b,Integer *blo,Integer *bhi,Integer g_c, Integer *clo,Integer *chi);
extern void wnga_step_bound_info_patch(Integer g_xx, Integer *xxlo, Integer *xxhi, Integer g_vv, Integer *vvlo, Integer *vvhi, Integer g_xxll, Integer *xxlllo, Integer *xxllhi, Integer g_xxuu, Integer *xxuulo, Integer *xxuuhi, void *boundmin, void* wolfemin, void *boundmax);
extern void wnga_step_max_patch(Integer g_a, Integer *alo, Integer *ahi, Integer g_b, Integer *blo, Integer *bhi, void *result);
extern void wnga_step_max(Integer g_a, Integer g_b, void *retval);
extern void wnga_step_bound_info(Integer g_xx, Integer g_vv, Integer g_xxll, Integer g_xxuu, void *boundmin, void *wolfemin, void *boundmax);
/* Routines from ga_solve_seq.c */
extern void wnga_lu_solve_seq(char *trans, Integer g_a, Integer g_b);
/* Routines from global.util.c */
extern void wnga_print_stats();
extern void wnga_error(char *string, Integer icode);
extern Integer wnga_cluster_nodeid();
extern Integer wnga_cluster_nprocs(Integer node);
extern Integer wnga_cluster_procid(Integer node, Integer loc_proc_id);
extern Integer wnga_cluster_nnodes();
extern Integer wnga_cluster_proc_nodeid(Integer proc);
extern void wnga_print_file(FILE *file, Integer g_a);
extern void wnga_print(Integer g_a);
extern void wnga_print_patch_file2d(FILE *file, Integer g_a, Integer ilo, Integer ihi, Integer jlo, Integer jhi, Integer pretty);
extern void wnga_print_patch2d(Integer g_a, Integer ilo, Integer ihi, Integer jlo, Integer jhi, Integer pretty);
extern void wnga_print_patch_file(FILE *file, Integer g_a, Integer *lo, Integer *hi, Integer pretty);
extern void wnga_print_patch(Integer g_a, Integer *lo, Integer *hi, Integer pretty);
extern void wnga_print_distribution(int fstyle, Integer g_a);
extern void wnga_summarize(Integer verbose);
/* Routines from ghosts.c */
extern void wnga_access_ghost_ptr(Integer g_a, Integer dims[], void* ptr, Integer ld[]);
extern void wnga_access_ghost_element(Integer g_a, AccessIndex* index, Integer subscript[], Integer ld[]);
extern void wnga_access_ghost_element_ptr(Integer g_a, void *ptr, Integer subscript[], Integer ld[]);
extern void wnga_access_ghosts(Integer g_a, Integer dims[], AccessIndex* index, Integer ld[]);
extern void wnga_release_ghost_element(Integer g_a, Integer subscript[]);
extern void wnga_release_update_ghost_element(Integer g_a, Integer subscript[]);
extern void wnga_release_ghosts(Integer g_a);
extern void wnga_release_update_ghosts(Integer g_a);
extern void wnga_get_ghost_block(Integer g_a, Integer *lo, Integer *hi, void *buf, Integer *ld);
extern void wnga_update1_ghosts(Integer g_a);
extern logical wnga_update2_ghosts(Integer g_a);
extern logical wnga_update3_ghosts(Integer g_a);
extern logical wnga_set_update4_info(Integer g_a);
extern logical wnga_update4_ghosts(Integer g_a);
extern logical wnga_update44_ghosts(Integer g_a);
extern logical wnga_update55_ghosts(Integer g_a);
extern logical wnga_update_ghost_dir(Integer g_a, Integer pdim, Integer pdir, logical pflag);
extern logical wnga_update5_ghosts(Integer g_a);
extern logical wnga_set_update5_info(Integer g_a);
extern void wnga_update_ghosts(Integer g_a);
extern void wnga_update_ghosts_nb(Integer g_a, Integer *nbhandle);
extern logical wnga_update6_ghosts(Integer g_a);
extern logical wnga_update7_ghosts(Integer g_a);
extern void wnga_ghost_barrier();
extern void wnga_nbget_ghost_dir(Integer g_a, Integer *mask, Integer *nbhandle);
extern logical wnga_set_ghost_info(Integer g_a);
extern void wnga_set_ghost_corner_flag(Integer g_a, logical flag);
/* Routines from global.nalg.c */
extern void wnga_zero(Integer g_a);
extern void wnga_copy(Integer g_a, Integer g_b);
extern void wnga_dot(int type, Integer g_a, Integer g_b, void *value);
extern void wnga_scale(Integer g_a, void* alpha);
extern void wnga_add(void *alpha, Integer g_a, void* beta, Integer g_b, Integer g_c);
extern void wnga_transpose(Integer g_a, Integer g_b);
/* Routines from global.npatch.c */
extern void wnga_copy_patch(char *trans, Integer g_a, Integer *alo, Integer *ahi, Integer g_b, Integer *blo, Integer *bhi);
extern void wnga_zero_patch(Integer g_a, Integer *lo, Integer *hi);
extern logical wnga_patch_intersect(Integer *lo, Integer *hi, Integer *lop, Integer *hip, Integer ndim);
extern logical wnga_comp_patch(Integer andim, Integer *alo, Integer *ahi, Integer bndim, Integer *blo, Integer *bhi);
extern void wnga_dot_patch(Integer g_a, char *t_a, Integer *alo, Integer *ahi, Integer g_b, char *t_b, Integer *blo, Integer *bhi, void *retval);
extern void wnga_fill_patch(Integer g_a, Integer *lo, Integer *hi, void* val);
extern void wnga_scale_patch(Integer g_a, Integer *lo, Integer *hi, void *alpha);
extern void wnga_add_patch(void *alpha, Integer g_a, Integer *alo, Integer *ahi, void *beta, Integer g_b, Integer *blo, Integer *bhi, Integer g_c, Integer *clo, Integer *chi);
/* Routines from select.c */
extern void wnga_select_elem(Integer g_a, char* op, void* val, Integer *subscript);
/* Routines from ga_malloc.c */
extern Integer wnga_memory_avail_type(Integer datatype);
/* Routines from sparse.c */
extern void wnga_patch_enum(Integer g_a, Integer lo, Integer hi, void* start, void* stride);
extern void wnga_scan_copy(Integer g_a, Integer g_b, Integer g_sbit, Integer lo, Integer hi);
extern void wnga_scan_add(Integer g_a, Integer g_b, Integer g_sbit, Integer lo, Integer hi, Integer excl);
extern void wnga_pack(Integer g_a, Integer g_b, Integer g_sbit, Integer lo, Integer hi, Integer* icount);
extern void wnga_unpack(Integer g_a, Integer g_b, Integer g_sbit, Integer lo, Integer hi, Integer* icount);
extern logical wnga_create_bin_range(Integer g_bin, Integer g_cnt, Integer g_off, Integer *g_range);
extern void wnga_bin_sorter(Integer g_bin, Integer g_cnt, Integer g_off);
extern void wnga_bin_index(Integer g_bin, Integer g_cnt, Integer g_off, Integer *values, Integer *subs, Integer n, Integer sortit);
/* Routines from matrix.c */
extern void wnga_median_patch(Integer g_a, Integer *alo, Integer *ahi, Integer g_b, Integer *blo, Integer *bhi, Integer g_c, Integer *clo, Integer *chi, Integer g_m, Integer *mlo, Integer *mhi);
extern void wnga_median(Integer g_a, Integer g_b, Integer g_c, Integer g_m);
extern void wnga_norm_infinity(Integer g_a, double *nm);
extern void wnga_norm1(Integer g_a, double *nm);
extern void wnga_get_diag(Integer g_a, Integer g_v);
extern void wnga_add_diagonal(Integer g_a, Integer g_v);
extern void wnga_set_diagonal(Integer g_a, Integer g_v);
extern void wnga_shift_diagonal(Integer g_a, void *c);
extern void wnga_zero_diagonal(Integer g_a);
extern void wnga_scale_rows(Integer g_a, Integer g_v);
extern void wnga_scale_cols(Integer g_a, Integer g_v);
/* Routines from ga_symmetr.c */
extern void wnga_symmetrize(Integer g_a);
/* Routines from global.periodic.c */
extern void wnga_periodic(Integer g_a, Integer *lo, Integer *hi, void *buf, Integer *ld, void *alpha, Integer op_code);
/* Routines from matmul.c */
extern void wnga_matmul(char *transa, char *transb, void *alpha, void *beta, Integer g_a, Integer ailo, Integer aihi, Integer ajlo, Integer ajhi, Integer g_b, Integer bilo, Integer bihi, Integer bjlo, Integer bjhi, Integer g_c, Integer cilo, Integer cihi, Integer cjlo, Integer cjhi);
extern void wnga_matmul_mirrored(char *transa, char *transb, void *alpha, void *beta, Integer g_a, Integer ailo, Integer aihi, Integer ajlo, Integer ajhi, Integer g_b, Integer bilo, Integer bihi, Integer bjlo, Integer bjhi, Integer g_c, Integer cilo, Integer cihi, Integer cjlo, Integer cjhi);
extern void wnga_matmul_patch(char *transa, char *transb, void *alpha, void *beta, Integer g_a, Integer alo[], Integer ahi[], Integer g_b, Integer blo[], Integer bhi[], Integer g_c, Integer clo[], Integer chi[]);
/* Routines from ga_diag_seqc.c */
extern void wnga_diag_seq(Integer g_a, Integer g_s, Integer g_v, DoublePrecision *eval);
extern void wnga_diag_std_seq(Integer g_a, Integer g_v, DoublePrecision *eval);
/* Routines from peigstubs.c */
extern void wnga_diag(Integer g_a, Integer g_s, Integer g_v, DoublePrecision *eval);
extern void wnga_diag_std(Integer g_a, Integer g_v, DoublePrecision *eval);
extern void wnga_diag_reuse(Integer reuse, Integer g_a, Integer g_s, Integer g_v, DoublePrecision *eval);
/* Routines from sclstubs.c */
extern void wnga_lu_solve_alt(Integer tran, Integer g_a, Integer g_b);
extern void wnga_lu_solve(char *tran, Integer g_a, Integer g_b);
extern Integer wnga_llt_solve(Integer g_a, Integer g_b);
extern Integer wnga_solve(Integer g_a, Integer g_b);
extern Integer wnga_spd_invert(Integer g_a);
/* Routines from DP.c */
extern void wnga_copy_patch_dp(char *t_a, Integer g_a, Integer ailo, Integer aihi, Integer ajlo, Integer ajhi, Integer g_b, Integer bilo, Integer bihi, Integer bjlo, Integer bjhi);
extern DoublePrecision wnga_ddot_patch_dp(Integer g_a, char *t_a, Integer ailo, Integer aihi, Integer ajlo, Integer ajhi, Integer g_b, char *t_b, Integer bilo, Integer bihi, Integer bjlo, Integer bjhi);
/* Routines from ga_trace.c */
extern double wnga_timer();
/*Routines for types from base.c*/
extern int wnga_register_type(size_t size);
extern int wnga_deregister_type(int type);
/*Routines for field-wise GA operations*/
extern void wnga_get_field(Integer g_a, Integer *lo, Integer *hi, Integer foff, Integer fsize, void *buf, Integer *ld);
extern void wnga_nbget_field(Integer g_a, Integer *lo, Integer *hi, Integer foff, Integer fsize,void *buf, Integer *ld, Integer *nbhandle);
extern void wnga_nbput_field(Integer g_a, Integer *lo, Integer *hi, Integer foff, Integer fsize,void *buf, Integer *ld, Integer *nbhandle);
extern void wnga_put_field(Integer g_a, Integer *lo, Integer *hi, Integer foff, Integer fsize,void *buf, Integer *ld);
#endif /* WAPI_H_ */
|