summaryrefslogtreecommitdiff
path: root/dmagick/c/matrix.d
diff options
context:
space:
mode:
Diffstat (limited to 'dmagick/c/matrix.d')
-rw-r--r--dmagick/c/matrix.d19
1 files changed, 19 insertions, 0 deletions
diff --git a/dmagick/c/matrix.d b/dmagick/c/matrix.d
index db4c5e2..52f2d14 100644
--- a/dmagick/c/matrix.d
+++ b/dmagick/c/matrix.d
@@ -1,13 +1,32 @@
module dmagick.c.matrix;
+import dmagick.c.exception;
import dmagick.c.magickType;
+import dmagick.c.magickVersion;
+
+alias ptrdiff_t ssize_t;
extern(C)
{
+ struct MatrixInfo;
+
double** AcquireMagickMatrix(const size_t, const size_t);
double** RelinquishMagickMatrix(double**, const size_t);
MagickBooleanType GaussJordanElimination(double**, double**, const size_t, const size_t);
+ static if ( MagickLibVersion >= 0x669 )
+ {
+ MagickBooleanType GetMatrixElement(const(MatrixInfo)*, const ssize_t, const ssize_t, void*);
+ MagickBooleanType NullMatrix(MatrixInfo*);
+ MagickBooleanType SetMatrixElement(const(MatrixInfo)*, const ssize_t, const ssize_t, const(void)*);
+
+ MatrixInfo* AcquireMatrixInfo(const size_t, const size_t, const size_t, ExceptionInfo*);
+ MatrixInfo* DestroyMatrixInfo(MatrixInfo*);
+
+ size_t GetMatrixColumns(const(MatrixInfo)*);
+ size_t GetMatrixRows(const(MatrixInfo)*);
+ }
+
void LeastSquaresAddTerms(double**, double**, const(double)*, const(double)*, const size_t, const size_t);
}