1 /******************************************************************************
2  * Copyright 1998-2019 Lawrence Livermore National Security, LLC and other
3  * HYPRE Project Developers. See the top-level COPYRIGHT file for details.
4  *
5  * SPDX-License-Identifier: (Apache-2.0 OR MIT)
6  ******************************************************************************/
7 
8 /******************************************************************************
9  *
10  * hypre_IJVector interface
11  *
12  *****************************************************************************/
13 
14 #include "./_hypre_IJ_mv.h"
15 
16 #include "../HYPRE.h"
17 
18 /*--------------------------------------------------------------------------
19  * hypre_IJVectorDistribute
20  *--------------------------------------------------------------------------*/
21 
22 HYPRE_Int
hypre_IJVectorDistribute(HYPRE_IJVector vector,const HYPRE_Int * vec_starts)23 hypre_IJVectorDistribute( HYPRE_IJVector vector, const HYPRE_Int *vec_starts )
24 {
25    hypre_IJVector *vec = (hypre_IJVector *) vector;
26 
27    if (vec == NULL)
28    {
29       hypre_printf("Vector variable is NULL -- hypre_IJVectorDistribute\n");
30       exit(1);
31    }
32 
33    if ( hypre_IJVectorObjectType(vec) == HYPRE_PARCSR )
34 
35       return( hypre_IJVectorDistributePar(vec, vec_starts) );
36 
37    else
38    {
39       hypre_printf("Unrecognized object type -- hypre_IJVectorDistribute\n");
40       exit(1);
41    }
42 
43    return -99;
44 }
45 
46 /*--------------------------------------------------------------------------
47  * hypre_IJVectorZeroValues
48  *--------------------------------------------------------------------------*/
49 
50 HYPRE_Int
hypre_IJVectorZeroValues(HYPRE_IJVector vector)51 hypre_IJVectorZeroValues( HYPRE_IJVector vector )
52 {
53    hypre_IJVector *vec = (hypre_IJVector *) vector;
54 
55    if (vec == NULL)
56    {
57       hypre_printf("Vector variable is NULL -- hypre_IJVectorZeroValues\n");
58       exit(1);
59    }
60 
61    /*  if ( hypre_IJVectorObjectType(vec) == HYPRE_PETSC )
62 
63       return( hypre_IJVectorZeroValuesPETSc(vec) );
64 
65    else if ( hypre_IJVectorObjectType(vec) == HYPRE_ISIS )
66 
67       return( hypre_IJVectorZeroValuesISIS(vec) );
68 
69    else */
70 
71    if ( hypre_IJVectorObjectType(vec) == HYPRE_PARCSR )
72    {
73       return( hypre_IJVectorZeroValuesPar(vec) );
74    }
75    else
76    {
77       hypre_printf("Unrecognized object type -- hypre_IJVectorZeroValues\n");
78       exit(1);
79    }
80 
81    return -99;
82 }
83