Home
   News
   About the project
   Language
   Compiler download
   Test suite
   Blog on the programming model
   Zonnon @ OCP Forum
   Collection of examples

TEST: 17EXFILTER-C

category

status

Compilation and execution results for Windows (first) and Mono (second)
PASSED Compiler: 1.2.8.0
Date, time: 2010.08.06, 18:06
Compilation: SUCCESS
Execution: NOT RUN
(31, 15) Use of possibly unassigned local variable 'src'.
(53, 23) Use of possibly unassigned local variable 'src'.
(46, 2) The variable 'k' is assigned but its value is never used.
PASSED Compiler: 1.2.8.0
Date, time: 2010.08.06, 22:22
Compilation: SUCCESS
Execution: NOT RUN
(31, 15) Use of possibly unassigned local variable 'src'.
(53, 23) Use of possibly unassigned local variable 'src'.
(46, 2) The variable 'k' is assigned but its value is never used.
(0, 0) Assembly reference not resolved: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.

code

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  
 module Filter;  
   
 type Matrix = array {math} *,* of cardinal{8};  
 type Vector = array {math} * of cardinal{8};  
   
   
 procedure Darkness(var p: Vector; Amount: integer);  
 begin  
   p := cardinal{8}(p - ((p*Amount) div 255));  
 end Darkness;  
   
 procedure Embossing(var m: Matrix);  
 var   
      ker: array {math} 3, 3 of integer;  
      src: Matrix;  
      i, j, k, height, width: integer;  
 begin  
      height := len(m, 0);  
      width := len(m, 1);  
      src := m;  
   
      ker := [[-1, -1, -1],   
                [-1,  8, -1],   
                [-1, -1, -1]];  
        
      for i := 0 to height - 3  
      do  
           for j := 0 to width - 7       
           do  
                m[i + 1, j + 3] := cardinal{8}(  
                     abs((sum( src[i .. i+2, j .. j+6 by 3] .* ker ) + 127) mod 255));  
           end;  
      end;  
        
 end Embossing;  
   
   
 procedure BoxBlur(var m: Matrix);  
 var   
      src: Matrix;  
      i, j, k, width, height: integer;  
 begin  
      height := len(m, 0);  
      width := len(m, 1);  
      src := m;  
      k := 3;  
             
      for i := 0 to height - 3  
      do  
           for j := 0 to width - 7  
           do       
                m[i+1, j+3] := cardinal{8}(  
                     sum( cardinal{16}(src[i .. i+2, j .. j+6 by 3]) ) div 9);  
           end;  
      end;  
        
 end BoxBlur;  
   
   
 procedure MakeMatrixFromVector(var v: Vector; var m: Matrix);  
 var  
      width, height, i: integer;  
 begin  
      height := len(m, 0);  
      width := len(m, 1);  
      for i := 0 to height - 1   
      do  
           m[i, .. ] := v[i*width..(i+1)*width - 1];  
        
      end;  
        
 end MakeMatrixFromVector;  
   
 procedure MakeVectorFromMatrix(var m: Matrix; var v: Vector);  
 var  
      width, height, i: integer;  
 begin  
      height := len(m, 0);  
      width := len(m, 1);  
      for i := 0 to height - 1   
      do  
           v[i*width..(i+1)*width - 1] := m[i, .. ];  
      end;  
 end MakeVectorFromMatrix;  
   
 begin  
   
 end Filter.  
   
 (***********)  
   
 module Main;  
   
 begin  
   
 end Main.  
   

information

  • PASSED - overall positive decision about the test
  • NOT PASSED - overall negative decision about the test
  • SUCCESS - compilation / execution successful
  • ERROR - compilation failed with normal syntax or semantic error
  • ABORT - compilation failed because of an internal compiler error
  • NOT RUN - the test was not / not supposed to be executed
  • FAIL - execution failed
Copyright © 2010 ETH Zurich, Switzerland