diff options
author | Tom Smeding <tom@tomsmeding.com> | 2021-10-10 19:55:59 +0200 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2021-10-10 19:55:59 +0200 |
commit | 1640830bf5dc0630481e698512064215eb3e8249 (patch) | |
tree | 229b5666508e1152b5fff77733e48539591af0ab /test.c | |
parent | ff220bfb4c4c67f666a4701f2514d8de432f1e9a (diff) |
Diffstat (limited to 'test.c')
-rw-r--r-- | test.c | 65 |
1 files changed, 0 insertions, 65 deletions
@@ -1,65 +0,0 @@ -// > import Data.Array.Accelerate.C -// > import qualified Data.Array.Accelerate as A -// > import qualified Data.Array.Accelerate.Interpreter as I -// > let Right (p,_,_) = translateAcc "kaas" $ \(A.T2 a b) -> A.generate (A.I2 2 3) (\(A.I2 i j) -> let A.T2 x y = b A.! A.I1 i in i * j + a A.! A.I2 i j + x * y :: A.Exp Int) in putStr p -// [...this file without main()...] -// > I.run1 (\(A.T2 a b) -> A.generate (A.I2 2 3) (\(A.I2 i j) -> let A.T2 x y = b A.! A.I1 i in i * j + a A.! A.I2 i j + x * y :: A.Exp Int)) (A.fromList (A.Z A.:. (2 :: Int) A.:. (3 :: Int)) [0..], A.fromList (A.Z A.:. (2 :: Int)) [(1,2), (3,4)]) -// Matrix (Z :. 2 :. 3) -// [ 2, 3, 4, -// 15, 17, 19] -// -// Running this program will give the same result. :) - - -#include <stdio.h> -#include <stdlib.h> -#include <stdint.h> -#include <inttypes.h> - -static void expfun_13(int64_t* x14, int64_t* x15) { - x14[(0)] = (2LL); - x15[(0)] = (3LL); -} - -static void expfun_16(int64_t n1, int64_t n2, int64_t* a3, int64_t n4, int64_t* a5, int64_t* a6, int64_t x17, int64_t x18, int64_t* x19) { - int64_t i20; - i20 = ((x17) * (n2)) + (x18); - int64_t x21; - int64_t x22; - int64_t i23; - i23 = x17; - x21 = a5[i23]; - x22 = a6[i23]; - x19[(0)] = (((x17) * (x18)) + (a3[i20])) + ((x21) * (x22)); -} - -void kaas(int64_t n1, int64_t n2, int64_t* a3, int64_t n4, int64_t* a5, int64_t* a6, int64_t* n10, int64_t* n11, int64_t** a12) { - int64_t n7; - int64_t n8; - expfun_13(&(n7), &(n8)); - int64_t* a9 = malloc(((n7) * (n8)) * ((sizeof (int64_t)))); - for (int64_t n25 = (0); n25 < (n7); n25++) { - for (int64_t n26 = (0); n26 < (n8); n26++) { - int64_t x24; - expfun_16(n1, n2, a3, n4, a5, a6, n25, n26, &(x24)); - a9[((n25) * (n8)) + (n26)] = x24; - } - } - n10[(0)] = n7; - n11[(0)] = n8; - a12[(0)] = a9; -} - -int main() { - int64_t a[6] = {0, 1, 2, 3, 4, 5}; - int64_t b1[2] = {1, 3}; - int64_t b2[2] = {2, 4}; - int64_t resn1, resn2; - int64_t *res; - kaas(2, 3, a, 2, b1, b2, &resn1, &resn2, &res); - printf("%" PRIi64 "x%" PRIi64 ":", resn1, resn2); - for (int64_t i = 0; i < resn1; i++) - for (int64_t j = 0; j < resn2; j++) - printf(" %" PRIi64, res[resn2 * i + j]); - printf("\n"); -} |