Compare commits
183 Commits
master
...
main-riscv
Author | SHA1 | Date | |
---|---|---|---|
baa5eb7ef6 | |||
f279da55b8 | |||
|
f863cc10a0 | ||
|
740b34cbf7 | ||
|
cf461a4ce3 | ||
|
baab895889 | ||
|
cb2328d174 | ||
|
3faf7c5011 | ||
|
56c284279c | ||
|
351a2e8b62 | ||
|
4cb045c378 | ||
52d7cd2464 | |||
|
e1156ca567 | ||
|
1eaab204eb | ||
|
01bee9cb0e | ||
|
516bf1f343 | ||
|
0a53ef007c | ||
|
c7d7c3cdef | ||
|
b8fdd7a92b | ||
|
91ff691352 | ||
5a443a87bb | |||
|
49a8eacd8c | ||
|
692439c8ba | ||
3b4aca63c6 | |||
|
8c5aed1035 | ||
|
68b28a016c | ||
|
c3f64b1ef1 | ||
570c35d332 | |||
|
d5b5ccd611 | ||
|
05d358e615 | ||
|
6da167f9d4 | ||
|
862b561b07 | ||
|
ae33a35f06 | ||
|
0ef5b08f85 | ||
|
ff91bf73f7 | ||
|
234975dfea | ||
|
51bfda7f71 | ||
|
74155d8d3e | ||
|
d408b4ba6d | ||
|
2c22262810 | ||
|
7337cdc948 | ||
|
9712cb8e3a | ||
|
ac5eaf392b | ||
|
7ca294be74 | ||
|
d935acc476 | ||
|
4cab809d91 | ||
|
65aba07fcd | ||
|
c39dc29e3d | ||
|
b62bbed565 | ||
|
c28dcd4066 | ||
|
3c37bea5fb | ||
|
2eb306a14c | ||
|
c7de077e00 | ||
|
db64e30e8a | ||
|
71eb6ea381 | ||
|
2e4fef3c5c | ||
|
68b05457ea | ||
|
fa370ef10b | ||
|
e01023bb81 | ||
|
5b88d84b24 | ||
|
df7dae1230 | ||
|
91e55b95c4 | ||
|
f93b456955 | ||
|
4efd8e5f1d | ||
|
680bb229b8 | ||
|
cb66a31e64 | ||
|
88be517847 | ||
|
d35a5311f3 | ||
|
ada2d00b4a | ||
|
51b7647b72 | ||
|
33d889aafd | ||
|
93af49f852 | ||
|
a5dd511024 | ||
|
0b5a075df0 | ||
|
4a1a74eac1 | ||
|
5e8bed24a7 | ||
|
0720cfda9f | ||
|
bbef05e95c | ||
|
2606434654 | ||
|
2afedcedb0 | ||
|
81868e9dfd | ||
|
cbab4bcf23 | ||
|
1145c3c9d3 | ||
|
dad5248825 | ||
|
4ab3839177 | ||
|
29c0a1939b | ||
|
bdd650f1a9 | ||
|
1666d847c4 | ||
|
74b11a4842 | ||
|
c8de0336b2 | ||
|
2eaea8c8d9 | ||
|
17957a39d6 | ||
|
6e0e0c0206 | ||
|
a83a7cb5ca | ||
|
be3dfea2df | ||
|
f51f56825c | ||
|
2f74bb099e | ||
|
b9c4a645ba | ||
|
17da42dc05 | ||
|
a12b19ae7b | ||
|
cb2e16db96 | ||
|
d21ee3d013 | ||
|
1ea20352dc | ||
|
741bedec23 | ||
|
e164894ff2 | ||
|
c3687f5e2c | ||
|
e253d58202 | ||
|
24ed9054e6 | ||
|
743d442b43 | ||
|
cf09a67c34 | ||
|
9645be1945 | ||
|
39d86b8af9 | ||
|
fe126458ea | ||
|
e4aecf6a4d | ||
|
1b5941d08d | ||
|
8fee3e3501 | ||
|
411aa4b4f0 | ||
|
00b3630aa4 | ||
|
9abc8ad16a | ||
|
5cba6bd5e0 | ||
|
3494a026c2 | ||
|
b5c1e78c3d | ||
|
457faff280 | ||
|
c834cf6d2b | ||
|
9eea208c79 | ||
|
219133e3ee | ||
|
8bd9c29427 | ||
|
0634fc9786 | ||
|
bf2bc91829 | ||
|
b3437b038f | ||
|
d0a20eb9e3 | ||
|
869c105c82 | ||
|
ad20d020cc | ||
|
d0bddcb1d4 | ||
|
d293ecb508 | ||
|
5ee887765f | ||
|
68a6967f92 | ||
|
6676695f85 | ||
|
c949957b0b | ||
|
412a009d55 | ||
|
8ec405dfc6 | ||
|
471d88f626 | ||
|
3258770087 | ||
|
76748955e1 | ||
|
ff23c78bba | ||
|
751baf77f4 | ||
|
eada8e54da | ||
|
d890f27303 | ||
|
862f4dce3c | ||
|
6a0cc22576 | ||
|
8e2c25f12a | ||
|
48342c7434 | ||
|
4f1a6627ab | ||
|
55957426de | ||
|
a765aa37f9 | ||
|
a7a64a926c | ||
|
f12f75c95b | ||
|
3386a9b6c9 | ||
|
6c55a29a54 | ||
|
9d99770e02 | ||
|
4caff6160d | ||
|
3acb8216a6 | ||
|
f1fb570ad7 | ||
|
7d2e1c843b | ||
|
f8f0dc1d88 | ||
|
6e63e4c22c | ||
|
b7b1cc3950 | ||
|
5192caf8c5 | ||
|
6628f24209 | ||
|
5ed657e6d6 | ||
|
a954b44285 | ||
|
4d56ca7d40 | ||
|
d1274421a2 | ||
|
f020fb3842 | ||
|
c1598ba3a4 | ||
|
51365ed0f9 | ||
|
fcb9e8675e | ||
|
abc714a41f | ||
|
71da664024 | ||
|
9fedc4f4c1 | ||
|
45b8086018 | ||
|
eebca3e02a | ||
|
07fe131dee |
55
.gitignore
vendored
55
.gitignore
vendored
@ -14,3 +14,58 @@
|
||||
/petsc-3.11.1.tar.gz
|
||||
/petsc-3.11.2.tar.gz
|
||||
/petsc-3.11.3.tar.gz
|
||||
/petsc-3.12.0.tar.gz
|
||||
/petsc-3.12.1.tar.gz
|
||||
/petsc-3.12.2.tar.gz
|
||||
/petsc-3.12.3.tar.gz
|
||||
/petsc-3.12.4.tar.gz
|
||||
/petsc-3.13.0.tar.gz
|
||||
/petsc-3.13.1.tar.gz
|
||||
/petsc-3.13.2.tar.gz
|
||||
/petsc-3.13.3.tar.gz
|
||||
/petsc-3.13.4.tar.gz
|
||||
/petsc-3.13.5.tar.gz
|
||||
/petsc-3.14.1.tar.gz
|
||||
/petsc-3.14.2.tar.gz
|
||||
/petsc-3.14.4.tar.gz
|
||||
/petsc-3.14.5.tar.gz
|
||||
/petsc-3.14.6.tar.gz
|
||||
/petsc-with-docs-3.15.0.tar.gz
|
||||
/petsc4py-3.15.0.tar.gz
|
||||
/petsc-with-docs-3.15.1.tar.gz
|
||||
/petsc4py-3.15.1.tar.gz
|
||||
/petsc-with-docs-3.15.2.tar.gz
|
||||
/petsc4py-3.15.2.tar.gz
|
||||
/petsc-with-docs-3.15.3.tar.gz
|
||||
/petsc4py-3.15.3.tar.gz
|
||||
/petsc-with-docs-3.15.4.tar.gz
|
||||
/petsc4py-3.15.4.tar.gz
|
||||
/petsc-with-docs-3.16.0.tar.gz
|
||||
/petsc4py-3.16.0.tar.gz
|
||||
/petsc-with-docs-3.16.3.tar.gz
|
||||
/petsc4py-3.16.3.tar.gz
|
||||
/petsc-with-docs-3.16.4.tar.gz
|
||||
/petsc4py-3.16.4.tar.gz
|
||||
/petsc-with-docs-3.16.5.tar.gz
|
||||
/petsc4py-3.16.5.tar.gz
|
||||
/petsc-with-docs-3.17.0.tar.gz
|
||||
/petsc4py-3.17.0.tar.gz
|
||||
/petsc-with-docs-3.17.1.tar.gz
|
||||
/petsc4py-3.17.1.tar.gz
|
||||
/petsc-with-docs-3.17.2.tar.gz
|
||||
/petsc4py-3.17.2.tar.gz
|
||||
/petsc-with-docs-3.17.3.tar.gz
|
||||
/petsc4py-3.17.3.tar.gz
|
||||
/petsc-with-docs-3.17.4.tar.gz
|
||||
/petsc4py-3.17.4.tar.gz
|
||||
/petsc-with-docs-3.18.5.tar.gz
|
||||
/petsc4py-3.18.5.tar.gz
|
||||
/petsc-with-docs-3.19.4.tar.gz
|
||||
/petsc4py-3.19.4.tar.gz
|
||||
/petsc-with-docs-3.19.6.tar.gz
|
||||
/petsc-with-docs-3.20.0.tar.gz
|
||||
/petsc-with-docs-3.20.1.tar.gz
|
||||
/petsc-with-docs-3.20.2.tar.gz
|
||||
/petsc-with-docs-3.20.4.tar.gz
|
||||
/petsc-with-docs-3.20.5.tar.gz
|
||||
/petsc-with-docs-3.20.6.tar.gz
|
||||
|
29
no-parse_makefile.patch
Normal file
29
no-parse_makefile.patch
Normal file
@ -0,0 +1,29 @@
|
||||
diff --git a/config/gmakegen.py b/config/gmakegen.py
|
||||
index c9c476822c5..f58caab4d71 100644
|
||||
--- a/config/gmakegen.py
|
||||
+++ b/config/gmakegen.py
|
||||
@@ -1,7 +1,6 @@
|
||||
#! /usr/bin/python3 -sP
|
||||
|
||||
import os
|
||||
-from sysconfig import _parse_makefile as parse_makefile
|
||||
import sys
|
||||
import logging
|
||||
sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)))
|
||||
@@ -36,6 +35,16 @@ def getlangsplit(name):
|
||||
def stripsplit(line):
|
||||
return line[len('#requires'):].replace("'","").split()
|
||||
|
||||
+def parse_makefile(fn):
|
||||
+ out = {}
|
||||
+ with open(fn) as f:
|
||||
+ for l in f:
|
||||
+ print(l[:-1])
|
||||
+ if "=" in l:
|
||||
+ a,b = l.split("=", 1)
|
||||
+ out[a.strip()] = b.strip()
|
||||
+ return out
|
||||
+
|
||||
PetscPKGS = 'sys vec mat dm ksp snes ts tao'.split()
|
||||
# the key is actually the language suffix, it won't work for suffixes such as 'kokkos.cxx' so use an _ and replace the _ as needed with .
|
||||
LANGS = dict(kokkos_cxx='KOKKOS', hip_cpp='HIP', sycl_cxx='SYCL', raja_cxx='RAJA', c='C', cxx='CXX', cpp='CPP', cu='CU', F='F', F90='F90')
|
48
no-xdrlib.patch
Normal file
48
no-xdrlib.patch
Normal file
@ -0,0 +1,48 @@
|
||||
diff --git a/config/BuildSystem/RDict.py b/config/BuildSystem/RDict.py
|
||||
index cc90f3e26c5..d68ab095e06 100755
|
||||
--- a/config/BuildSystem/RDict.py
|
||||
+++ b/config/BuildSystem/RDict.py
|
||||
@@ -83,7 +83,7 @@ Arg class, which wraps the usual value.'''
|
||||
def __init__(self, parentAddr = None, parentDirectory = None, load = 1, autoShutdown = 1, readonly = False):
|
||||
import atexit
|
||||
import time
|
||||
- import xdrlib
|
||||
+ #import xdrlib
|
||||
|
||||
self.logFile = None
|
||||
self.setupLogFile()
|
||||
@@ -98,8 +98,8 @@ Arg class, which wraps the usual value.'''
|
||||
self.isServer = 0
|
||||
self.readonly = readonly
|
||||
self.parentDirectory = parentDirectory
|
||||
- self.packer = xdrlib.Packer()
|
||||
- self.unpacker = xdrlib.Unpacker('')
|
||||
+ #self.packer = xdrlib.Packer()
|
||||
+ #self.unpacker = xdrlib.Unpacker('')
|
||||
self.stopCmd = pickle.dumps(('stop',))
|
||||
self.writeLogLine('Greetings')
|
||||
self.connectParent(self.parentAddr, self.parentDirectory)
|
||||
@@ -116,8 +116,8 @@ Arg class, which wraps the usual value.'''
|
||||
if 'parent' in d: del d['parent']
|
||||
if 'saveTimer' in d: del d['saveTimer']
|
||||
if '_setCommandLine' in d: del d['_setCommandLine']
|
||||
- del d['packer']
|
||||
- del d['unpacker']
|
||||
+ #del d['packer']
|
||||
+ #del d['unpacker']
|
||||
del d['logFile']
|
||||
return d
|
||||
|
||||
@@ -126,9 +126,9 @@ Arg class, which wraps the usual value.'''
|
||||
self.logFile = open('RDict.log', 'a')
|
||||
self.writeLogLine('Unpickling RDict')
|
||||
self.__dict__.update(d)
|
||||
- import xdrlib
|
||||
- self.packer = xdrlib.Packer()
|
||||
- self.unpacker = xdrlib.Unpacker('')
|
||||
+ #import xdrlib
|
||||
+ #self.packer = xdrlib.Packer()
|
||||
+ #self.unpacker = xdrlib.Unpacker('')
|
||||
self.connectParent(self.parentAddr, self.parentDirectory)
|
||||
return
|
||||
|
@ -1,38 +0,0 @@
|
||||
From e6de09342ce9c4562cc062ff2c1bac4bd956bda0 Mon Sep 17 00:00:00 2001
|
||||
From: Satish Balay <balay@mcs.anl.gov>
|
||||
Date: Fri, 30 Mar 2018 09:53:12 -0500
|
||||
Subject: [PATCH] hypre: update to version 2.14.0
|
||||
|
||||
Reported-by: Antonio Trande <anto.trande@gmail.com>
|
||||
---
|
||||
config/BuildSystem/config/packages/hypre.py | 2 +-
|
||||
src/mat/impls/hypre/mhypre.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/config/BuildSystem/config/packages/hypre.py b/config/BuildSystem/config/packages/hypre.py
|
||||
index 1249b39..620e516 100644
|
||||
--- a/config/BuildSystem/config/packages/hypre.py
|
||||
+++ b/config/BuildSystem/config/packages/hypre.py
|
||||
@@ -4,7 +4,7 @@ import os
|
||||
class Configure(config.package.GNUPackage):
|
||||
def __init__(self, framework):
|
||||
config.package.GNUPackage.__init__(self, framework)
|
||||
- self.gitcommit = 'v2.12.0'
|
||||
+ self.gitcommit = 'v2.15.1'
|
||||
self.download = ['git://https://github.com/LLNL/hypre','https://github.com/LLNL/hypre/archive/'+self.gitcommit+'.tar.gz']
|
||||
self.functions = ['HYPRE_IJMatrixCreate']
|
||||
self.includes = ['HYPRE.h']
|
||||
diff --git a/src/mat/impls/hypre/mhypre.c b/src/mat/impls/hypre/mhypre.c
|
||||
index 8a51581..65595f2 100644
|
||||
--- a/src/mat/impls/hypre/mhypre.c
|
||||
+++ b/src/mat/impls/hypre/mhypre.c
|
||||
@@ -1450,6 +1450,6 @@ PETSC_EXTERN PetscErrorCode MatCreate_HYPRE(Mat B)
|
||||
static PetscErrorCode hypre_array_destroy(void *ptr)
|
||||
{
|
||||
PetscFunctionBegin;
|
||||
- hypre_TFree(ptr);
|
||||
+ hypre_TFree(ptr,HYPRE_MEMORY_HOST);
|
||||
PetscFunctionReturn(0);
|
||||
}
|
||||
--
|
||||
2.10.5
|
11
petsc-3.14.1-fix_pkgconfig_file.patch
Normal file
11
petsc-3.14.1-fix_pkgconfig_file.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/config/PETSc/Configure.orig.py 2020-03-30 05:33:12.000000000 +0200
|
||||
+++ b/config/PETSc/Configure.py 2020-04-04 22:58:19.770481378 +0200
|
||||
@@ -148,7 +148,7 @@
|
||||
if not os.path.exists(os.path.join(self.petscdir.dir,self.arch.arch,'lib','pkgconfig')):
|
||||
os.makedirs(os.path.join(self.petscdir.dir,self.arch.arch,'lib','pkgconfig'))
|
||||
with open(os.path.join(self.petscdir.dir,self.arch.arch,'lib','pkgconfig',petsc_pc),'w') as fd:
|
||||
- cflags_inc = ['-I${includedir}']
|
||||
+ cflags_inc = ['-I${includedir}/petsc']
|
||||
if self.framework.argDB['prefix']:
|
||||
fd.write('prefix='+self.installdir.dir+'\n')
|
||||
else:
|
13
petsc-3.17.0-avoid_fake_MKL_detection.patch
Normal file
13
petsc-3.17.0-avoid_fake_MKL_detection.patch
Normal file
@ -0,0 +1,13 @@
|
||||
--- a/config/BuildSystem/config/packages/BlasLapack.orig.py 2020-11-03 19:01:59.000000000 +0100
|
||||
+++ b/config/BuildSystem/config/packages/BlasLapack.py 2020-11-09 10:37:06.551705855 +0100
|
||||
@@ -567,8 +567,8 @@
|
||||
'''Check for Intel MKL library'''
|
||||
self.libraries.saveLog()
|
||||
if self.libraries.check(self.dlib, 'mkl_set_num_threads') and not self.libraries.check(self.dlib, 'flexiblas_avail'):
|
||||
- self.mkl = 1
|
||||
- self.addDefine('HAVE_MKL_LIBS',1)
|
||||
+ self.mkl = 0
|
||||
+ self.addDefine('HAVE_MKL_LIBS',0)
|
||||
'''Set include directory for mkl.h and friends'''
|
||||
'''(the include directory is in CPATH if mklvars.sh has been sourced.'''
|
||||
''' if the script hasn't been sourced, we still try to pick up the include dir)'''
|
32
petsc-3.19.4-fix_metis64.patch
Normal file
32
petsc-3.19.4-fix_metis64.patch
Normal file
@ -0,0 +1,32 @@
|
||||
--- a/config/BuildSystem/config/packages/metis.orig.py 2020-03-29 16:29:06.000000000 +0200
|
||||
+++ b/config/BuildSystem/config/packages/metis.py 2020-04-03 18:00:37.013851959 +0200
|
||||
@@ -8,8 +8,8 @@
|
||||
self.download = ['git://https://bitbucket.org/petsc/pkg-metis.git','https://bitbucket.org/petsc/pkg-metis/get/'+self.gitcommit+'.tar.gz']
|
||||
self.downloaddirnames = ['petsc-pkg-metis']
|
||||
self.functions = ['METIS_PartGraphKway']
|
||||
- self.includes = ['metis.h']
|
||||
- self.liblist = [['libmetis.a'],['libmetis.a','libexecinfo.a']]
|
||||
+ self.includes = ['metis64.h']
|
||||
+ self.liblist = [['libmetis64.a'],['libmetis64.a','libexecinfo.a']]
|
||||
self.hastests = 1
|
||||
self.useddirectly = 0
|
||||
self.downloadonWindows = 1
|
||||
@@ -50,7 +50,7 @@
|
||||
config.package.Package.configureLibrary(self)
|
||||
oldFlags = self.compilers.CPPFLAGS
|
||||
self.compilers.CPPFLAGS += ' '+self.headers.toString(self.include)
|
||||
- if not self.checkCompile('#include "metis.h"', '#if (IDXTYPEWIDTH != '+ str(self.getDefaultIndexSize())+')\n#error incompatible IDXTYPEWIDTH\n#endif\n'):
|
||||
+ if not self.checkCompile('#include "metis64.h"', '#if (IDXTYPEWIDTH != '+ str(self.getDefaultIndexSize())+')\n#error incompatible IDXTYPEWIDTH\n#endif\n'):
|
||||
if self.defaultIndexSize == 64:
|
||||
msg= '--with-64-bit-indices option requires a metis build with IDXTYPEWIDTH=64.\n'
|
||||
else:
|
||||
--- a/src/mat/order/metisnd/metisnd.orig.c 2023-11-30 20:14:32.000000000 +0100
|
||||
+++ b/src/mat/order/metisnd/metisnd.c 2024-02-06 21:21:38.011280520 +0100
|
||||
@@ -1,6 +1,6 @@
|
||||
#include <petscmat.h>
|
||||
#include <petsc/private/matorderimpl.h>
|
||||
-#include <metis.h>
|
||||
+#include <metis64.h>
|
||||
|
||||
/*
|
||||
MatGetOrdering_METISND - Find the nested dissection ordering of a given matrix.
|
11
petsc-3.19.4-fix_mumps_includes.patch
Normal file
11
petsc-3.19.4-fix_mumps_includes.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/config/BuildSystem/config/packages/MUMPS.orig.py 2020-03-30 05:33:12.000000000 +0200
|
||||
+++ b/config/BuildSystem/config/packages/MUMPS.py 2020-04-03 17:01:49.237255499 +0200
|
||||
@@ -54,7 +54,7 @@
|
||||
if self.scalartypes.scalartype == 'real': l = 'd'
|
||||
else: l = 'z'
|
||||
self.functions = [l+'mumps_c']
|
||||
- self.includes = [l+'mumps_c.h']
|
||||
+ self.includes = ['MUMPS/dmumps_c.h']
|
||||
liblist_common = [['libmumps_common.a','libpord.a','libpthread.a'],
|
||||
['libmumps_common.a','libpord.a'],
|
||||
['libmumps_common.a','libpord.a','libmpiseq.a'],
|
434
petsc-3.20-PETSc_api_cython3.0.6.h
Normal file
434
petsc-3.20-PETSc_api_cython3.0.6.h
Normal file
@ -0,0 +1,434 @@
|
||||
/* Generated by Cython 3.0.6 */
|
||||
|
||||
#ifndef __PYX_HAVE_API__petsc4py__PETSc
|
||||
#define __PYX_HAVE_API__petsc4py__PETSc
|
||||
#ifdef __MINGW64__
|
||||
#define MS_WIN64
|
||||
#endif
|
||||
#include "Python.h"
|
||||
#include "PETSc.h"
|
||||
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Comm = 0;
|
||||
#define PyPetscComm_Type (*__pyx_ptype_8petsc4py_5PETSc_Comm)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Object = 0;
|
||||
#define PyPetscObject_Type (*__pyx_ptype_8petsc4py_5PETSc_Object)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Viewer = 0;
|
||||
#define PyPetscViewer_Type (*__pyx_ptype_8petsc4py_5PETSc_Viewer)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Random = 0;
|
||||
#define PyPetscRandom_Type (*__pyx_ptype_8petsc4py_5PETSc_Random)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Device = 0;
|
||||
#define PyPetscDevice_Type (*__pyx_ptype_8petsc4py_5PETSc_Device)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_DeviceContext = 0;
|
||||
#define PyPetscDeviceContext_Type (*__pyx_ptype_8petsc4py_5PETSc_DeviceContext)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_IS = 0;
|
||||
#define PyPetscIS_Type (*__pyx_ptype_8petsc4py_5PETSc_IS)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_LGMap = 0;
|
||||
#define PyPetscLGMap_Type (*__pyx_ptype_8petsc4py_5PETSc_LGMap)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_SF = 0;
|
||||
#define PyPetscSF_Type (*__pyx_ptype_8petsc4py_5PETSc_SF)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Vec = 0;
|
||||
#define PyPetscVec_Type (*__pyx_ptype_8petsc4py_5PETSc_Vec)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Space = 0;
|
||||
#define PyPetscSpace_Type (*__pyx_ptype_8petsc4py_5PETSc_Space)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_DualSpace = 0;
|
||||
#define PyPetscDualSpace_Type (*__pyx_ptype_8petsc4py_5PETSc_DualSpace)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_FE = 0;
|
||||
#define PyPetscFE_Type (*__pyx_ptype_8petsc4py_5PETSc_FE)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Quad = 0;
|
||||
#define PyPetscQuad_Type (*__pyx_ptype_8petsc4py_5PETSc_Quad)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Scatter = 0;
|
||||
#define PyPetscScatter_Type (*__pyx_ptype_8petsc4py_5PETSc_Scatter)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Section = 0;
|
||||
#define PyPetscSection_Type (*__pyx_ptype_8petsc4py_5PETSc_Section)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Mat = 0;
|
||||
#define PyPetscMat_Type (*__pyx_ptype_8petsc4py_5PETSc_Mat)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_MatPartitioning = 0;
|
||||
#define PyPetscMatPartitioning_Type (*__pyx_ptype_8petsc4py_5PETSc_MatPartitioning)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_NullSpace = 0;
|
||||
#define PyPetscNullSpace_Type (*__pyx_ptype_8petsc4py_5PETSc_NullSpace)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_PC = 0;
|
||||
#define PyPetscPC_Type (*__pyx_ptype_8petsc4py_5PETSc_PC)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_KSP = 0;
|
||||
#define PyPetscKSP_Type (*__pyx_ptype_8petsc4py_5PETSc_KSP)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_SNES = 0;
|
||||
#define PyPetscSNES_Type (*__pyx_ptype_8petsc4py_5PETSc_SNES)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_TS = 0;
|
||||
#define PyPetscTS_Type (*__pyx_ptype_8petsc4py_5PETSc_TS)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_TAO = 0;
|
||||
#define PyPetscTAO_Type (*__pyx_ptype_8petsc4py_5PETSc_TAO)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_TAOLineSearch = 0;
|
||||
#define PyPetscTAOLineSearch_Type (*__pyx_ptype_8petsc4py_5PETSc_TAOLineSearch)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_AO = 0;
|
||||
#define PyPetscAO_Type (*__pyx_ptype_8petsc4py_5PETSc_AO)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_DM = 0;
|
||||
#define PyPetscDM_Type (*__pyx_ptype_8petsc4py_5PETSc_DM)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_DMPlexTransform = 0;
|
||||
#define PyPetscDMPlexTransform_Type (*__pyx_ptype_8petsc4py_5PETSc_DMPlexTransform)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_DS = 0;
|
||||
#define PyPetscDS_Type (*__pyx_ptype_8petsc4py_5PETSc_DS)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Partitioner = 0;
|
||||
#define PyPetscPartitioner_Type (*__pyx_ptype_8petsc4py_5PETSc_Partitioner)
|
||||
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_DMLabel = 0;
|
||||
#define PyPetscDMLabel_Type (*__pyx_ptype_8petsc4py_5PETSc_DMLabel)
|
||||
|
||||
static int (*__pyx_api_f_8petsc4py_5PETSc_PyPetscError_Set)(PetscErrorCode) = 0;
|
||||
#define PyPetscError_Set __pyx_api_f_8petsc4py_5PETSc_PyPetscError_Set
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscComm_New)(MPI_Comm) = 0;
|
||||
#define PyPetscComm_New __pyx_api_f_8petsc4py_5PETSc_PyPetscComm_New
|
||||
static MPI_Comm (*__pyx_api_f_8petsc4py_5PETSc_PyPetscComm_Get)(PyObject *) = 0;
|
||||
#define PyPetscComm_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscComm_Get
|
||||
static MPI_Comm *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscComm_GetPtr)(PyObject *) = 0;
|
||||
#define PyPetscComm_GetPtr __pyx_api_f_8petsc4py_5PETSc_PyPetscComm_GetPtr
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscObject_New)(PetscObject) = 0;
|
||||
#define PyPetscObject_New __pyx_api_f_8petsc4py_5PETSc_PyPetscObject_New
|
||||
static PetscObject (*__pyx_api_f_8petsc4py_5PETSc_PyPetscObject_Get)(PyObject *) = 0;
|
||||
#define PyPetscObject_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscObject_Get
|
||||
static PetscObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscObject_GetPtr)(PyObject *) = 0;
|
||||
#define PyPetscObject_GetPtr __pyx_api_f_8petsc4py_5PETSc_PyPetscObject_GetPtr
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscViewer_New)(PetscViewer) = 0;
|
||||
#define PyPetscViewer_New __pyx_api_f_8petsc4py_5PETSc_PyPetscViewer_New
|
||||
static PetscViewer (*__pyx_api_f_8petsc4py_5PETSc_PyPetscViewer_Get)(PyObject *) = 0;
|
||||
#define PyPetscViewer_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscViewer_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscRandom_New)(PetscRandom) = 0;
|
||||
#define PyPetscRandom_New __pyx_api_f_8petsc4py_5PETSc_PyPetscRandom_New
|
||||
static PetscRandom (*__pyx_api_f_8petsc4py_5PETSc_PyPetscRandom_Get)(PyObject *) = 0;
|
||||
#define PyPetscRandom_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscRandom_Get
|
||||
static struct PyPetscDeviceObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscDevice_New)(PetscDevice) = 0;
|
||||
#define PyPetscDevice_New __pyx_api_f_8petsc4py_5PETSc_PyPetscDevice_New
|
||||
static PetscDevice (*__pyx_api_f_8petsc4py_5PETSc_PyPetscDevice_Get)(PyObject *) = 0;
|
||||
#define PyPetscDevice_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscDevice_Get
|
||||
static struct PyPetscDeviceContextObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscDeviceContext_New)(PetscDeviceContext) = 0;
|
||||
#define PyPetscDeviceContext_New __pyx_api_f_8petsc4py_5PETSc_PyPetscDeviceContext_New
|
||||
static PetscDeviceContext (*__pyx_api_f_8petsc4py_5PETSc_PyPetscDeviceContext_Get)(PyObject *) = 0;
|
||||
#define PyPetscDeviceContext_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscDeviceContext_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscIS_New)(IS) = 0;
|
||||
#define PyPetscIS_New __pyx_api_f_8petsc4py_5PETSc_PyPetscIS_New
|
||||
static IS (*__pyx_api_f_8petsc4py_5PETSc_PyPetscIS_Get)(PyObject *) = 0;
|
||||
#define PyPetscIS_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscIS_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscLGMap_New)(ISLocalToGlobalMapping) = 0;
|
||||
#define PyPetscLGMap_New __pyx_api_f_8petsc4py_5PETSc_PyPetscLGMap_New
|
||||
static ISLocalToGlobalMapping (*__pyx_api_f_8petsc4py_5PETSc_PyPetscLGMap_Get)(PyObject *) = 0;
|
||||
#define PyPetscLGMap_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscLGMap_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscSF_New)(PetscSF) = 0;
|
||||
#define PyPetscSF_New __pyx_api_f_8petsc4py_5PETSc_PyPetscSF_New
|
||||
static PetscSF (*__pyx_api_f_8petsc4py_5PETSc_PyPetscSF_Get)(PyObject *) = 0;
|
||||
#define PyPetscSF_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscSF_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscVec_New)(Vec) = 0;
|
||||
#define PyPetscVec_New __pyx_api_f_8petsc4py_5PETSc_PyPetscVec_New
|
||||
static Vec (*__pyx_api_f_8petsc4py_5PETSc_PyPetscVec_Get)(PyObject *) = 0;
|
||||
#define PyPetscVec_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscVec_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscScatter_New)(VecScatter) = 0;
|
||||
#define PyPetscScatter_New __pyx_api_f_8petsc4py_5PETSc_PyPetscScatter_New
|
||||
static VecScatter (*__pyx_api_f_8petsc4py_5PETSc_PyPetscScatter_Get)(PyObject *) = 0;
|
||||
#define PyPetscScatter_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscScatter_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscSection_New)(PetscSection) = 0;
|
||||
#define PyPetscSection_New __pyx_api_f_8petsc4py_5PETSc_PyPetscSection_New
|
||||
static PetscSection (*__pyx_api_f_8petsc4py_5PETSc_PyPetscSection_Get)(PyObject *) = 0;
|
||||
#define PyPetscSection_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscSection_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscMat_New)(Mat) = 0;
|
||||
#define PyPetscMat_New __pyx_api_f_8petsc4py_5PETSc_PyPetscMat_New
|
||||
static Mat (*__pyx_api_f_8petsc4py_5PETSc_PyPetscMat_Get)(PyObject *) = 0;
|
||||
#define PyPetscMat_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscMat_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscMatPartitioning_New)(MatPartitioning) = 0;
|
||||
#define PyPetscMatPartitioning_New __pyx_api_f_8petsc4py_5PETSc_PyPetscMatPartitioning_New
|
||||
static MatPartitioning (*__pyx_api_f_8petsc4py_5PETSc_PyPetscMatPartitioning_Get)(PyObject *) = 0;
|
||||
#define PyPetscMatPartitioning_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscMatPartitioning_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscPC_New)(PC) = 0;
|
||||
#define PyPetscPC_New __pyx_api_f_8petsc4py_5PETSc_PyPetscPC_New
|
||||
static PC (*__pyx_api_f_8petsc4py_5PETSc_PyPetscPC_Get)(PyObject *) = 0;
|
||||
#define PyPetscPC_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscPC_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscKSP_New)(KSP) = 0;
|
||||
#define PyPetscKSP_New __pyx_api_f_8petsc4py_5PETSc_PyPetscKSP_New
|
||||
static KSP (*__pyx_api_f_8petsc4py_5PETSc_PyPetscKSP_Get)(PyObject *) = 0;
|
||||
#define PyPetscKSP_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscKSP_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscSNES_New)(SNES) = 0;
|
||||
#define PyPetscSNES_New __pyx_api_f_8petsc4py_5PETSc_PyPetscSNES_New
|
||||
static SNES (*__pyx_api_f_8petsc4py_5PETSc_PyPetscSNES_Get)(PyObject *) = 0;
|
||||
#define PyPetscSNES_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscSNES_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscTS_New)(TS) = 0;
|
||||
#define PyPetscTS_New __pyx_api_f_8petsc4py_5PETSc_PyPetscTS_New
|
||||
static TS (*__pyx_api_f_8petsc4py_5PETSc_PyPetscTS_Get)(PyObject *) = 0;
|
||||
#define PyPetscTS_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscTS_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscTAO_New)(Tao) = 0;
|
||||
#define PyPetscTAO_New __pyx_api_f_8petsc4py_5PETSc_PyPetscTAO_New
|
||||
static Tao (*__pyx_api_f_8petsc4py_5PETSc_PyPetscTAO_Get)(PyObject *) = 0;
|
||||
#define PyPetscTAO_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscTAO_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscTAOLineSearch_New)(TaoLineSearch) = 0;
|
||||
#define PyPetscTAOLineSearch_New __pyx_api_f_8petsc4py_5PETSc_PyPetscTAOLineSearch_New
|
||||
static TaoLineSearch (*__pyx_api_f_8petsc4py_5PETSc_PyPetscTAOLineSearch_Get)(PyObject *) = 0;
|
||||
#define PyPetscTAOLineSearch_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscTAOLineSearch_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscAO_New)(AO) = 0;
|
||||
#define PyPetscAO_New __pyx_api_f_8petsc4py_5PETSc_PyPetscAO_New
|
||||
static AO (*__pyx_api_f_8petsc4py_5PETSc_PyPetscAO_Get)(PyObject *) = 0;
|
||||
#define PyPetscAO_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscAO_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscDM_New)(DM) = 0;
|
||||
#define PyPetscDM_New __pyx_api_f_8petsc4py_5PETSc_PyPetscDM_New
|
||||
static DM (*__pyx_api_f_8petsc4py_5PETSc_PyPetscDM_Get)(PyObject *) = 0;
|
||||
#define PyPetscDM_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscDM_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscDS_New)(PetscDS) = 0;
|
||||
#define PyPetscDS_New __pyx_api_f_8petsc4py_5PETSc_PyPetscDS_New
|
||||
static PetscDS (*__pyx_api_f_8petsc4py_5PETSc_PyPetscDS_Get)(PyObject *) = 0;
|
||||
#define PyPetscDS_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscDS_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscPartitioner_New)(PetscPartitioner) = 0;
|
||||
#define PyPetscPartitioner_New __pyx_api_f_8petsc4py_5PETSc_PyPetscPartitioner_New
|
||||
static PetscPartitioner (*__pyx_api_f_8petsc4py_5PETSc_PyPetscPartitioner_Get)(PyObject *) = 0;
|
||||
#define PyPetscPartitioner_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscPartitioner_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscFE_New)(PetscFE) = 0;
|
||||
#define PyPetscFE_New __pyx_api_f_8petsc4py_5PETSc_PyPetscFE_New
|
||||
static PetscFE (*__pyx_api_f_8petsc4py_5PETSc_PyPetscFE_Get)(PyObject *) = 0;
|
||||
#define PyPetscFE_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscFE_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscQuad_New)(PetscQuadrature) = 0;
|
||||
#define PyPetscQuad_New __pyx_api_f_8petsc4py_5PETSc_PyPetscQuad_New
|
||||
static PetscQuadrature (*__pyx_api_f_8petsc4py_5PETSc_PyPetscQuad_Get)(PyObject *) = 0;
|
||||
#define PyPetscQuad_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscQuad_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscDMLabel_New)(DMLabel) = 0;
|
||||
#define PyPetscDMLabel_New __pyx_api_f_8petsc4py_5PETSc_PyPetscDMLabel_New
|
||||
static DMLabel (*__pyx_api_f_8petsc4py_5PETSc_PyPetscDMLabel_Get)(PyObject *) = 0;
|
||||
#define PyPetscDMLabel_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscDMLabel_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscSpace_New)(PetscSpace) = 0;
|
||||
#define PyPetscSpace_New __pyx_api_f_8petsc4py_5PETSc_PyPetscSpace_New
|
||||
static PetscSpace (*__pyx_api_f_8petsc4py_5PETSc_PyPetscSpace_Get)(PyObject *) = 0;
|
||||
#define PyPetscSpace_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscSpace_Get
|
||||
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscDualSpace_New)(PetscDualSpace) = 0;
|
||||
#define PyPetscDualSpace_New __pyx_api_f_8petsc4py_5PETSc_PyPetscDualSpace_New
|
||||
static PetscDualSpace (*__pyx_api_f_8petsc4py_5PETSc_PyPetscDualSpace_Get)(PyObject *) = 0;
|
||||
#define PyPetscDualSpace_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscDualSpace_Get
|
||||
#ifndef __PYX_HAVE_RT_ImportFunction_3_0_6
|
||||
#define __PYX_HAVE_RT_ImportFunction_3_0_6
|
||||
static int __Pyx_ImportFunction_3_0_6(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
|
||||
PyObject *d = 0;
|
||||
PyObject *cobj = 0;
|
||||
union {
|
||||
void (*fp)(void);
|
||||
void *p;
|
||||
} tmp;
|
||||
d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
|
||||
if (!d)
|
||||
goto bad;
|
||||
cobj = PyDict_GetItemString(d, funcname);
|
||||
if (!cobj) {
|
||||
PyErr_Format(PyExc_ImportError,
|
||||
"%.200s does not export expected C function %.200s",
|
||||
PyModule_GetName(module), funcname);
|
||||
goto bad;
|
||||
}
|
||||
if (!PyCapsule_IsValid(cobj, sig)) {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
|
||||
PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
|
||||
goto bad;
|
||||
}
|
||||
tmp.p = PyCapsule_GetPointer(cobj, sig);
|
||||
*f = tmp.fp;
|
||||
if (!(*f))
|
||||
goto bad;
|
||||
Py_DECREF(d);
|
||||
return 0;
|
||||
bad:
|
||||
Py_XDECREF(d);
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef __PYX_HAVE_RT_ImportType_proto_3_0_6
|
||||
#define __PYX_HAVE_RT_ImportType_proto_3_0_6
|
||||
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
|
||||
#include <stdalign.h>
|
||||
#endif
|
||||
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L
|
||||
#define __PYX_GET_STRUCT_ALIGNMENT_3_0_6(s) alignof(s)
|
||||
#else
|
||||
#define __PYX_GET_STRUCT_ALIGNMENT_3_0_6(s) sizeof(void*)
|
||||
#endif
|
||||
enum __Pyx_ImportType_CheckSize_3_0_6 {
|
||||
__Pyx_ImportType_CheckSize_Error_3_0_6 = 0,
|
||||
__Pyx_ImportType_CheckSize_Warn_3_0_6 = 1,
|
||||
__Pyx_ImportType_CheckSize_Ignore_3_0_6 = 2
|
||||
};
|
||||
static PyTypeObject *__Pyx_ImportType_3_0_6(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_6 check_size);
|
||||
#endif
|
||||
|
||||
#ifndef __PYX_HAVE_RT_ImportType_3_0_6
|
||||
#define __PYX_HAVE_RT_ImportType_3_0_6
|
||||
static PyTypeObject *__Pyx_ImportType_3_0_6(PyObject *module, const char *module_name, const char *class_name,
|
||||
size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_6 check_size)
|
||||
{
|
||||
PyObject *result = 0;
|
||||
char warning[200];
|
||||
Py_ssize_t basicsize;
|
||||
Py_ssize_t itemsize;
|
||||
#if CYTHON_COMPILING_IN_LIMITED_API
|
||||
PyObject *py_basicsize;
|
||||
PyObject *py_itemsize;
|
||||
#endif
|
||||
result = PyObject_GetAttrString(module, class_name);
|
||||
if (!result)
|
||||
goto bad;
|
||||
if (!PyType_Check(result)) {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"%.200s.%.200s is not a type object",
|
||||
module_name, class_name);
|
||||
goto bad;
|
||||
}
|
||||
#if !CYTHON_COMPILING_IN_LIMITED_API
|
||||
basicsize = ((PyTypeObject *)result)->tp_basicsize;
|
||||
itemsize = ((PyTypeObject *)result)->tp_itemsize;
|
||||
#else
|
||||
py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
|
||||
if (!py_basicsize)
|
||||
goto bad;
|
||||
basicsize = PyLong_AsSsize_t(py_basicsize);
|
||||
Py_DECREF(py_basicsize);
|
||||
py_basicsize = 0;
|
||||
if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
|
||||
goto bad;
|
||||
py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
|
||||
if (!py_itemsize)
|
||||
goto bad;
|
||||
itemsize = PyLong_AsSsize_t(py_itemsize);
|
||||
Py_DECREF(py_itemsize);
|
||||
py_itemsize = 0;
|
||||
if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
|
||||
goto bad;
|
||||
#endif
|
||||
if (itemsize) {
|
||||
if (size % alignment) {
|
||||
alignment = size % alignment;
|
||||
}
|
||||
if (itemsize < (Py_ssize_t)alignment)
|
||||
itemsize = (Py_ssize_t)alignment;
|
||||
}
|
||||
if ((size_t)(basicsize + itemsize) < size) {
|
||||
PyErr_Format(PyExc_ValueError,
|
||||
"%.200s.%.200s size changed, may indicate binary incompatibility. "
|
||||
"Expected %zd from C header, got %zd from PyObject",
|
||||
module_name, class_name, size, basicsize+itemsize);
|
||||
goto bad;
|
||||
}
|
||||
if (check_size == __Pyx_ImportType_CheckSize_Error_3_0_6 &&
|
||||
((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) {
|
||||
PyErr_Format(PyExc_ValueError,
|
||||
"%.200s.%.200s size changed, may indicate binary incompatibility. "
|
||||
"Expected %zd from C header, got %zd-%zd from PyObject",
|
||||
module_name, class_name, size, basicsize, basicsize+itemsize);
|
||||
goto bad;
|
||||
}
|
||||
else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_0_6 && (size_t)basicsize > size) {
|
||||
PyOS_snprintf(warning, sizeof(warning),
|
||||
"%s.%s size changed, may indicate binary incompatibility. "
|
||||
"Expected %zd from C header, got %zd from PyObject",
|
||||
module_name, class_name, size, basicsize);
|
||||
if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
|
||||
}
|
||||
return (PyTypeObject *)result;
|
||||
bad:
|
||||
Py_XDECREF(result);
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
static int import_petsc4py__PETSc(void) {
|
||||
PyObject *module = 0;
|
||||
module = PyImport_ImportModule("petsc4py.PETSc");
|
||||
if (!module) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscError_Set", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscError_Set, "int (PetscErrorCode)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscComm_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscComm_New, "PyObject *(MPI_Comm)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscComm_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscComm_Get, "MPI_Comm (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscComm_GetPtr", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscComm_GetPtr, "MPI_Comm *(PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscObject_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscObject_New, "PyObject *(PetscObject)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscObject_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscObject_Get, "PetscObject (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscObject_GetPtr", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscObject_GetPtr, "PetscObject *(PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscViewer_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscViewer_New, "PyObject *(PetscViewer)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscViewer_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscViewer_Get, "PetscViewer (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscRandom_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscRandom_New, "PyObject *(PetscRandom)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscRandom_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscRandom_Get, "PetscRandom (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscDevice_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDevice_New, "struct PyPetscDeviceObject *(PetscDevice)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscDevice_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDevice_Get, "PetscDevice (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscDeviceContext_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDeviceContext_New, "struct PyPetscDeviceContextObject *(PetscDeviceContext)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscDeviceContext_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDeviceContext_Get, "PetscDeviceContext (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscIS_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscIS_New, "PyObject *(IS)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscIS_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscIS_Get, "IS (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscLGMap_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscLGMap_New, "PyObject *(ISLocalToGlobalMapping)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscLGMap_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscLGMap_Get, "ISLocalToGlobalMapping (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscSF_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSF_New, "PyObject *(PetscSF)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscSF_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSF_Get, "PetscSF (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscVec_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscVec_New, "PyObject *(Vec)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscVec_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscVec_Get, "Vec (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscScatter_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscScatter_New, "PyObject *(VecScatter)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscScatter_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscScatter_Get, "VecScatter (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscSection_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSection_New, "PyObject *(PetscSection)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscSection_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSection_Get, "PetscSection (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscMat_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscMat_New, "PyObject *(Mat)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscMat_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscMat_Get, "Mat (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscMatPartitioning_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscMatPartitioning_New, "PyObject *(MatPartitioning)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscMatPartitioning_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscMatPartitioning_Get, "MatPartitioning (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscPC_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscPC_New, "PyObject *(PC)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscPC_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscPC_Get, "PC (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscKSP_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscKSP_New, "PyObject *(KSP)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscKSP_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscKSP_Get, "KSP (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscSNES_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSNES_New, "PyObject *(SNES)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscSNES_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSNES_Get, "SNES (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscTS_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscTS_New, "PyObject *(TS)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscTS_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscTS_Get, "TS (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscTAO_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscTAO_New, "PyObject *(Tao)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscTAO_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscTAO_Get, "Tao (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscTAOLineSearch_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscTAOLineSearch_New, "PyObject *(TaoLineSearch)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscTAOLineSearch_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscTAOLineSearch_Get, "TaoLineSearch (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscAO_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscAO_New, "PyObject *(AO)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscAO_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscAO_Get, "AO (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscDM_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDM_New, "PyObject *(DM)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscDM_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDM_Get, "DM (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscDS_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDS_New, "PyObject *(PetscDS)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscDS_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDS_Get, "PetscDS (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscPartitioner_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscPartitioner_New, "PyObject *(PetscPartitioner)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscPartitioner_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscPartitioner_Get, "PetscPartitioner (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscFE_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscFE_New, "PyObject *(PetscFE)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscFE_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscFE_Get, "PetscFE (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscQuad_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscQuad_New, "PyObject *(PetscQuadrature)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscQuad_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscQuad_Get, "PetscQuadrature (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscDMLabel_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDMLabel_New, "PyObject *(DMLabel)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscDMLabel_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDMLabel_Get, "DMLabel (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscSpace_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSpace_New, "PyObject *(PetscSpace)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscSpace_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSpace_Get, "PetscSpace (PyObject *)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscDualSpace_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDualSpace_New, "PyObject *(PetscDualSpace)") < 0) goto bad;
|
||||
if (__Pyx_ImportFunction_3_0_6(module, "PyPetscDualSpace_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDualSpace_Get, "PetscDualSpace (PyObject *)") < 0) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_Comm = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "Comm", sizeof(struct PyPetscCommObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscCommObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_Comm) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_Object = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "Object", sizeof(struct PyPetscObjectObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscObjectObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_Object) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_Viewer = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "Viewer", sizeof(struct PyPetscViewerObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscViewerObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_Viewer) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_Random = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "Random", sizeof(struct PyPetscRandomObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscRandomObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_Random) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_Device = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "Device", sizeof(struct PyPetscDeviceObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscDeviceObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_Device) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_DeviceContext = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "DeviceContext", sizeof(struct PyPetscDeviceContextObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscDeviceContextObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_DeviceContext) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_IS = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "IS", sizeof(struct PyPetscISObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscISObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_IS) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_LGMap = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "LGMap", sizeof(struct PyPetscLGMapObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscLGMapObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_LGMap) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_SF = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "SF", sizeof(struct PyPetscSFObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscSFObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_SF) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_Vec = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "Vec", sizeof(struct PyPetscVecObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscVecObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_Vec) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_Space = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "Space", sizeof(struct PyPetscSpaceObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscSpaceObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_Space) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_DualSpace = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "DualSpace", sizeof(struct PyPetscDualSpaceObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscDualSpaceObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_DualSpace) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_FE = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "FE", sizeof(struct PyPetscFEObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscFEObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_FE) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_Quad = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "Quad", sizeof(struct PyPetscQuadObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscQuadObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_Quad) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_Scatter = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "Scatter", sizeof(struct PyPetscScatterObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscScatterObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_Scatter) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_Section = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "Section", sizeof(struct PyPetscSectionObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscSectionObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_Section) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_Mat = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "Mat", sizeof(struct PyPetscMatObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscMatObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_Mat) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_MatPartitioning = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "MatPartitioning", sizeof(struct PyPetscMatPartitioningObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscMatPartitioningObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_MatPartitioning) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_NullSpace = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "NullSpace", sizeof(struct PyPetscNullSpaceObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscNullSpaceObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_NullSpace) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_PC = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "PC", sizeof(struct PyPetscPCObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscPCObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_PC) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_KSP = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "KSP", sizeof(struct PyPetscKSPObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscKSPObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_KSP) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_SNES = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "SNES", sizeof(struct PyPetscSNESObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscSNESObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_SNES) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_TS = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "TS", sizeof(struct PyPetscTSObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscTSObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_TS) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_TAO = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "TAO", sizeof(struct PyPetscTAOObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscTAOObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_TAO) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_TAOLineSearch = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "TAOLineSearch", sizeof(struct PyPetscTAOLineSearchObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscTAOLineSearchObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_TAOLineSearch) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_AO = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "AO", sizeof(struct PyPetscAOObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscAOObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_AO) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_DM = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "DM", sizeof(struct PyPetscDMObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscDMObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_DM) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_DMPlexTransform = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "DMPlexTransform", sizeof(struct PyPetscDMPlexTransformObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscDMPlexTransformObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_DMPlexTransform) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_DS = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "DS", sizeof(struct PyPetscDSObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscDSObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_DS) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_Partitioner = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "Partitioner", sizeof(struct PyPetscPartitionerObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscPartitionerObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_Partitioner) goto bad;
|
||||
__pyx_ptype_8petsc4py_5PETSc_DMLabel = __Pyx_ImportType_3_0_6(module, "petsc4py.PETSc", "DMLabel", sizeof(struct PyPetscDMLabelObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_6(struct PyPetscDMLabelObject),__Pyx_ImportType_CheckSize_Warn_3_0_6); if (!__pyx_ptype_8petsc4py_5PETSc_DMLabel) goto bad;
|
||||
Py_DECREF(module); module = 0;
|
||||
return 0;
|
||||
bad:
|
||||
Py_XDECREF(module);
|
||||
return -1;
|
||||
}
|
||||
|
||||
#endif /* !__PYX_HAVE_API__petsc4py__PETSc */
|
563396
petsc-3.20-PETSc_cython3.0.6.c
Normal file
563396
petsc-3.20-PETSc_cython3.0.6.c
Normal file
File diff suppressed because one or more lines are too long
544
petsc-3.20-PETSc_cython3.0.6.h
Normal file
544
petsc-3.20-PETSc_cython3.0.6.h
Normal file
@ -0,0 +1,544 @@
|
||||
/* Generated by Cython 3.0.6 */
|
||||
|
||||
#ifndef __PYX_HAVE__petsc4py__PETSc
|
||||
#define __PYX_HAVE__petsc4py__PETSc
|
||||
|
||||
#include "Python.h"
|
||||
struct PyPetscCommObject;
|
||||
struct PyPetscObjectObject;
|
||||
struct PyPetscViewerObject;
|
||||
struct PyPetscRandomObject;
|
||||
struct PyPetscDeviceObject;
|
||||
struct PyPetscDeviceContextObject;
|
||||
struct PyPetscISObject;
|
||||
struct PyPetscLGMapObject;
|
||||
struct PyPetscSFObject;
|
||||
struct PyPetscVecObject;
|
||||
struct PyPetscSpaceObject;
|
||||
struct PyPetscDualSpaceObject;
|
||||
struct PyPetscFEObject;
|
||||
struct PyPetscQuadObject;
|
||||
struct PyPetscScatterObject;
|
||||
struct PyPetscSectionObject;
|
||||
struct PyPetscMatObject;
|
||||
struct PyPetscMatPartitioningObject;
|
||||
struct PyPetscNullSpaceObject;
|
||||
struct PyPetscPCObject;
|
||||
struct PyPetscKSPObject;
|
||||
struct PyPetscSNESObject;
|
||||
struct PyPetscTSObject;
|
||||
struct PyPetscTAOObject;
|
||||
struct PyPetscTAOLineSearchObject;
|
||||
struct PyPetscAOObject;
|
||||
struct PyPetscDMObject;
|
||||
struct PyPetscDMPlexTransformObject;
|
||||
struct PyPetscDSObject;
|
||||
struct PyPetscPartitionerObject;
|
||||
struct PyPetscDMLabelObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":112
|
||||
* # --------------------------------------------------------------------
|
||||
*
|
||||
* ctypedef public api class Comm [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscComm_Type,
|
||||
* object PyPetscCommObject,
|
||||
*/
|
||||
struct PyPetscCommObject {
|
||||
PyObject_HEAD
|
||||
MPI_Comm comm;
|
||||
int isdup;
|
||||
PyObject *base;
|
||||
};
|
||||
typedef struct PyPetscCommObject PyPetscCommObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":120
|
||||
* cdef object base
|
||||
*
|
||||
* ctypedef public api class Object [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscObject_Type,
|
||||
* object PyPetscObjectObject,
|
||||
*/
|
||||
struct PyPetscObjectObject {
|
||||
PyObject_HEAD
|
||||
struct __pyx_vtabstruct_8petsc4py_5PETSc_Object *__pyx_vtab;
|
||||
PyObject *__weakref__;
|
||||
PyObject *__pyx___dummy__;
|
||||
PetscObject oval;
|
||||
PetscObject *obj;
|
||||
};
|
||||
typedef struct PyPetscObjectObject PyPetscObjectObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":132
|
||||
* cdef object get_dict(self)
|
||||
*
|
||||
* ctypedef public api class Viewer(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscViewer_Type,
|
||||
* object PyPetscViewerObject,
|
||||
*/
|
||||
struct PyPetscViewerObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
PetscViewer vwr;
|
||||
};
|
||||
typedef struct PyPetscViewerObject PyPetscViewerObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":138
|
||||
* cdef PetscViewer vwr
|
||||
*
|
||||
* ctypedef public api class Random(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscRandom_Type,
|
||||
* object PyPetscRandomObject,
|
||||
*/
|
||||
struct PyPetscRandomObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
PetscRandom rnd;
|
||||
};
|
||||
typedef struct PyPetscRandomObject PyPetscRandomObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":144
|
||||
* cdef PetscRandom rnd
|
||||
*
|
||||
* ctypedef public api class Device [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscDevice_Type,
|
||||
* object PyPetscDeviceObject,
|
||||
*/
|
||||
struct PyPetscDeviceObject {
|
||||
PyObject_HEAD
|
||||
PetscDevice device;
|
||||
PyObject *__weakref__;
|
||||
};
|
||||
typedef struct PyPetscDeviceObject PyPetscDeviceObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":151
|
||||
* cdef object __weakref__
|
||||
*
|
||||
* ctypedef public api class DeviceContext(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscDeviceContext_Type,
|
||||
* object PyPetscDeviceContextObject,
|
||||
*/
|
||||
struct PyPetscDeviceContextObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
PetscDeviceContext dctx;
|
||||
};
|
||||
typedef struct PyPetscDeviceContextObject PyPetscDeviceContextObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":157
|
||||
* cdef PetscDeviceContext dctx
|
||||
*
|
||||
* ctypedef public api class IS(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscIS_Type,
|
||||
* object PyPetscISObject,
|
||||
*/
|
||||
struct PyPetscISObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
IS iset;
|
||||
};
|
||||
typedef struct PyPetscISObject PyPetscISObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":163
|
||||
* cdef PetscIS iset
|
||||
*
|
||||
* ctypedef public api class LGMap(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscLGMap_Type,
|
||||
* object PyPetscLGMapObject,
|
||||
*/
|
||||
struct PyPetscLGMapObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
ISLocalToGlobalMapping lgm;
|
||||
};
|
||||
typedef struct PyPetscLGMapObject PyPetscLGMapObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":169
|
||||
* cdef PetscLGMap lgm
|
||||
*
|
||||
* ctypedef public api class SF(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscSF_Type,
|
||||
* object PyPetscSFObject,
|
||||
*/
|
||||
struct PyPetscSFObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
PetscSF sf;
|
||||
};
|
||||
typedef struct PyPetscSFObject PyPetscSFObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":175
|
||||
* cdef PetscSF sf
|
||||
*
|
||||
* ctypedef public api class Vec(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscVec_Type,
|
||||
* object PyPetscVecObject,
|
||||
*/
|
||||
struct PyPetscVecObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
Vec vec;
|
||||
};
|
||||
typedef struct PyPetscVecObject PyPetscVecObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":181
|
||||
* cdef PetscVec vec
|
||||
*
|
||||
* ctypedef public api class Space(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscSpace_Type,
|
||||
* object PyPetscSpaceObject,
|
||||
*/
|
||||
struct PyPetscSpaceObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
PetscSpace space;
|
||||
};
|
||||
typedef struct PyPetscSpaceObject PyPetscSpaceObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":187
|
||||
* cdef PetscSpace space
|
||||
*
|
||||
* ctypedef public api class DualSpace(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscDualSpace_Type,
|
||||
* object PyPetscDualSpaceObject,
|
||||
*/
|
||||
struct PyPetscDualSpaceObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
PetscDualSpace dualspace;
|
||||
};
|
||||
typedef struct PyPetscDualSpaceObject PyPetscDualSpaceObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":193
|
||||
* cdef PetscDualSpace dualspace
|
||||
*
|
||||
* ctypedef public api class FE(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscFE_Type,
|
||||
* object PyPetscFEObject,
|
||||
*/
|
||||
struct PyPetscFEObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
PetscFE fe;
|
||||
};
|
||||
typedef struct PyPetscFEObject PyPetscFEObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":199
|
||||
* cdef PetscFE fe
|
||||
*
|
||||
* ctypedef public api class Quad(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscQuad_Type,
|
||||
* object PyPetscQuadObject,
|
||||
*/
|
||||
struct PyPetscQuadObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
PetscQuadrature quad;
|
||||
};
|
||||
typedef struct PyPetscQuadObject PyPetscQuadObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":205
|
||||
* cdef PetscQuadrature quad
|
||||
*
|
||||
* ctypedef public api class Scatter(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscScatter_Type,
|
||||
* object PyPetscScatterObject,
|
||||
*/
|
||||
struct PyPetscScatterObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
VecScatter sct;
|
||||
};
|
||||
typedef struct PyPetscScatterObject PyPetscScatterObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":211
|
||||
* cdef PetscScatter sct
|
||||
*
|
||||
* ctypedef public api class Section(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscSection_Type,
|
||||
* object PyPetscSectionObject,
|
||||
*/
|
||||
struct PyPetscSectionObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
PetscSection sec;
|
||||
};
|
||||
typedef struct PyPetscSectionObject PyPetscSectionObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":217
|
||||
* cdef PetscSection sec
|
||||
*
|
||||
* ctypedef public api class Mat(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscMat_Type,
|
||||
* object PyPetscMatObject,
|
||||
*/
|
||||
struct PyPetscMatObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
Mat mat;
|
||||
};
|
||||
typedef struct PyPetscMatObject PyPetscMatObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":223
|
||||
* cdef PetscMat mat
|
||||
*
|
||||
* ctypedef public api class MatPartitioning(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscMatPartitioning_Type,
|
||||
* object PyPetscMatPartitioningObject,
|
||||
*/
|
||||
struct PyPetscMatPartitioningObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
MatPartitioning part;
|
||||
};
|
||||
typedef struct PyPetscMatPartitioningObject PyPetscMatPartitioningObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":229
|
||||
* cdef PetscMatPartitioning part
|
||||
*
|
||||
* ctypedef public api class NullSpace(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscNullSpace_Type,
|
||||
* object PyPetscNullSpaceObject,
|
||||
*/
|
||||
struct PyPetscNullSpaceObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
MatNullSpace nsp;
|
||||
};
|
||||
typedef struct PyPetscNullSpaceObject PyPetscNullSpaceObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":235
|
||||
* cdef PetscNullSpace nsp
|
||||
*
|
||||
* ctypedef public api class PC(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscPC_Type,
|
||||
* object PyPetscPCObject,
|
||||
*/
|
||||
struct PyPetscPCObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
PC pc;
|
||||
};
|
||||
typedef struct PyPetscPCObject PyPetscPCObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":241
|
||||
* cdef PetscPC pc
|
||||
*
|
||||
* ctypedef public api class KSP(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscKSP_Type,
|
||||
* object PyPetscKSPObject,
|
||||
*/
|
||||
struct PyPetscKSPObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
KSP ksp;
|
||||
};
|
||||
typedef struct PyPetscKSPObject PyPetscKSPObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":247
|
||||
* cdef PetscKSP ksp
|
||||
*
|
||||
* ctypedef public api class SNES(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscSNES_Type,
|
||||
* object PyPetscSNESObject,
|
||||
*/
|
||||
struct PyPetscSNESObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
SNES snes;
|
||||
};
|
||||
typedef struct PyPetscSNESObject PyPetscSNESObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":253
|
||||
* cdef PetscSNES snes
|
||||
*
|
||||
* ctypedef public api class TS(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscTS_Type,
|
||||
* object PyPetscTSObject,
|
||||
*/
|
||||
struct PyPetscTSObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
TS ts;
|
||||
};
|
||||
typedef struct PyPetscTSObject PyPetscTSObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":259
|
||||
* cdef PetscTS ts
|
||||
*
|
||||
* ctypedef public api class TAO(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscTAO_Type,
|
||||
* object PyPetscTAOObject,
|
||||
*/
|
||||
struct PyPetscTAOObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
Tao tao;
|
||||
};
|
||||
typedef struct PyPetscTAOObject PyPetscTAOObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":265
|
||||
* cdef PetscTAO tao
|
||||
*
|
||||
* ctypedef public api class TAOLineSearch(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscTAOLineSearch_Type,
|
||||
* object PyPetscTAOLineSearchObject,
|
||||
*/
|
||||
struct PyPetscTAOLineSearchObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
TaoLineSearch taols;
|
||||
};
|
||||
typedef struct PyPetscTAOLineSearchObject PyPetscTAOLineSearchObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":272
|
||||
*
|
||||
*
|
||||
* ctypedef public api class AO(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscAO_Type,
|
||||
* object PyPetscAOObject,
|
||||
*/
|
||||
struct PyPetscAOObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
AO ao;
|
||||
};
|
||||
typedef struct PyPetscAOObject PyPetscAOObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":278
|
||||
* cdef PetscAO ao
|
||||
*
|
||||
* ctypedef public api class DM(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscDM_Type,
|
||||
* object PyPetscDMObject,
|
||||
*/
|
||||
struct PyPetscDMObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
DM dm;
|
||||
};
|
||||
typedef struct PyPetscDMObject PyPetscDMObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":284
|
||||
* cdef PetscDM dm
|
||||
*
|
||||
* ctypedef public api class DMPlexTransform(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscDMPlexTransform_Type,
|
||||
* object PyPetscDMPlexTransformObject,
|
||||
*/
|
||||
struct PyPetscDMPlexTransformObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
DMPlexTransform tr;
|
||||
};
|
||||
typedef struct PyPetscDMPlexTransformObject PyPetscDMPlexTransformObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":290
|
||||
* cdef PetscDMPlexTransform tr
|
||||
*
|
||||
* ctypedef public api class DS(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscDS_Type,
|
||||
* object PyPetscDSObject,
|
||||
*/
|
||||
struct PyPetscDSObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
PetscDS ds;
|
||||
};
|
||||
typedef struct PyPetscDSObject PyPetscDSObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":296
|
||||
* cdef PetscDS ds
|
||||
*
|
||||
* ctypedef public api class Partitioner(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscPartitioner_Type,
|
||||
* object PyPetscPartitionerObject,
|
||||
*/
|
||||
struct PyPetscPartitionerObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
PetscPartitioner part;
|
||||
};
|
||||
typedef struct PyPetscPartitionerObject PyPetscPartitionerObject;
|
||||
|
||||
/* "petsc4py/PETSc.pxd":302
|
||||
* cdef PetscPartitioner part
|
||||
*
|
||||
* ctypedef public api class DMLabel(Object) [ # <<<<<<<<<<<<<<
|
||||
* type PyPetscDMLabel_Type,
|
||||
* object PyPetscDMLabelObject,
|
||||
*/
|
||||
struct PyPetscDMLabelObject {
|
||||
struct PyPetscObjectObject __pyx_base;
|
||||
DMLabel dmlabel;
|
||||
};
|
||||
typedef struct PyPetscDMLabelObject PyPetscDMLabelObject;
|
||||
|
||||
#ifndef __PYX_HAVE_API__petsc4py__PETSc
|
||||
|
||||
#ifdef CYTHON_EXTERN_C
|
||||
#undef __PYX_EXTERN_C
|
||||
#define __PYX_EXTERN_C CYTHON_EXTERN_C
|
||||
#elif defined(__PYX_EXTERN_C)
|
||||
#ifdef _MSC_VER
|
||||
#pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.")
|
||||
#else
|
||||
#warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.
|
||||
#endif
|
||||
#else
|
||||
#ifdef __cplusplus
|
||||
#define __PYX_EXTERN_C extern "C"
|
||||
#else
|
||||
#define __PYX_EXTERN_C extern
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef DL_IMPORT
|
||||
#define DL_IMPORT(_T) _T
|
||||
#endif
|
||||
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscComm_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscObject_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscViewer_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscRandom_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscDevice_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscDeviceContext_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscIS_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscLGMap_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscSF_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscVec_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscSpace_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscDualSpace_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscFE_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscQuad_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscScatter_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscSection_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscMat_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscMatPartitioning_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscNullSpace_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscPC_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscKSP_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscSNES_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscTS_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscTAO_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscTAOLineSearch_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscAO_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscDM_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscDMPlexTransform_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscDS_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscPartitioner_Type;
|
||||
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PyPetscDMLabel_Type;
|
||||
|
||||
__PYX_EXTERN_C PetscErrorCode MatPythonGetContext(Mat, void **);
|
||||
__PYX_EXTERN_C PetscErrorCode MatPythonSetContext(Mat, void *);
|
||||
__PYX_EXTERN_C PetscErrorCode PCPythonGetContext(PC, void **);
|
||||
__PYX_EXTERN_C PetscErrorCode PCPythonSetContext(PC, void *);
|
||||
__PYX_EXTERN_C PetscErrorCode KSPPythonGetContext(KSP, void **);
|
||||
__PYX_EXTERN_C PetscErrorCode KSPPythonSetContext(KSP, void *);
|
||||
__PYX_EXTERN_C PetscErrorCode SNESPythonGetContext(SNES, void **);
|
||||
__PYX_EXTERN_C PetscErrorCode SNESPythonSetContext(SNES, void *);
|
||||
__PYX_EXTERN_C PetscErrorCode TSPythonGetContext(TS, void **);
|
||||
__PYX_EXTERN_C PetscErrorCode TSPythonSetContext(TS, void *);
|
||||
__PYX_EXTERN_C PetscErrorCode TaoPythonGetContext(Tao, void **);
|
||||
__PYX_EXTERN_C PetscErrorCode TaoPythonSetContext(Tao, void *);
|
||||
__PYX_EXTERN_C PetscErrorCode PetscPythonRegisterAll(void);
|
||||
|
||||
#endif /* !__PYX_HAVE_API__petsc4py__PETSc */
|
||||
|
||||
/* WARNING: the interface of the module init function changed in CPython 3.5. */
|
||||
/* It now returns a PyModuleDef instance instead of a PyModule instance. */
|
||||
|
||||
#if PY_MAJOR_VERSION < 3
|
||||
PyMODINIT_FUNC initPETSc(void);
|
||||
#else
|
||||
/* WARNING: Use PyImport_AppendInittab("PETSc", PyInit_PETSc) instead of calling PyInit_PETSc directly from Python 3.5 */
|
||||
PyMODINIT_FUNC PyInit_PETSc(void);
|
||||
|
||||
#if PY_VERSION_HEX >= 0x03050000 && (defined(__GNUC__) || defined(__clang__) || defined(_MSC_VER) || (defined(__cplusplus) && __cplusplus >= 201402L))
|
||||
#if defined(__cplusplus) && __cplusplus >= 201402L
|
||||
[[deprecated("Use PyImport_AppendInittab(\"PETSc\", PyInit_PETSc) instead of calling PyInit_PETSc directly.")]] inline
|
||||
#elif defined(__GNUC__) || defined(__clang__)
|
||||
__attribute__ ((__deprecated__("Use PyImport_AppendInittab(\"PETSc\", PyInit_PETSc) instead of calling PyInit_PETSc directly."), __unused__)) __inline__
|
||||
#elif defined(_MSC_VER)
|
||||
__declspec(deprecated("Use PyImport_AppendInittab(\"PETSc\", PyInit_PETSc) instead of calling PyInit_PETSc directly.")) __inline
|
||||
#endif
|
||||
static PyObject* __PYX_WARN_IF_PyInit_PETSc_INIT_CALLED(PyObject* res) {
|
||||
return res;
|
||||
}
|
||||
#define PyInit_PETSc() __PYX_WARN_IF_PyInit_PETSc_INIT_CALLED(PyInit_PETSc())
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* !__PYX_HAVE__petsc4py__PETSc */
|
@ -1,17 +0,0 @@
|
||||
diff --git a/lib/petsc/conf/rules b/lib/petsc/conf/rules
|
||||
index c6cfba4..7491faf 100644
|
||||
--- lib/petsc/conf/rules
|
||||
+++ lib/petsc/conf/rules
|
||||
@@ -37,9 +37,10 @@ chklib_dir: chk_makej
|
||||
@if [ ! -d "${INSTALL_LIB_DIR}" ]; then \
|
||||
echo Making directory ${INSTALL_LIB_DIR} for library; ${MKDIR} ${INSTALL_LIB_DIR} ; fi
|
||||
|
||||
-
|
||||
# 3. Check if the shared libs are out of date
|
||||
-chkopts: chk_upgrade
|
||||
+chkopts:
|
||||
+ @true
|
||||
+chkopts_disabled: chk_upgrade
|
||||
@for LIBNAME in ${SHLIBS}; do \
|
||||
library=${INSTALL_LIB_DIR}/$$LIBNAME.a; \
|
||||
sharedlibrary=${INSTALL_LIB_DIR}/$$LIBNAME.${SL_LINKER_SUFFIX}; \
|
1666
petsc.spec
1666
petsc.spec
File diff suppressed because it is too large
Load Diff
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (petsc-3.11.3.tar.gz) = e545f69e87bc72950939ff3cec3e0ba225a5b3e7f1cb93b0fb6123194eb7240ac1d97ba397235d8ab872c653caab1427673124e5e1e706b796c0ae46ec1bcffa
|
||||
SHA512 (petsc-with-docs-3.20.6.tar.gz) = 9af17dba10fd4d6bc10b767eaddfd2935084f29aa20a2733a9c094e85333e33c217703ea3bcb7343c36421af2b248a46851a61a6a334bd88dadb339cb53bf116
|
||||
|
Loading…
Reference in New Issue
Block a user