~ubuntu-branches/debian/squeeze/erlang/squeeze

« back to all changes in this revision

Viewing changes to erts/example/matrix_nif.erl

  • Committer: Bazaar Package Importer
  • Author(s): Sergei Golovan
  • Date: 2010-03-09 17:34:57 UTC
  • mfrom: (10.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20100309173457-4yd6hlcb2osfhx31
Tags: 1:13.b.4-dfsg-3
Manpages in section 1 are needed even if only arch-dependent packages are
built. So, re-enabled them.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
%%
 
2
%% %CopyrightBegin%
 
3
%%
 
4
%% Copyright Ericsson AB 2010. All Rights Reserved.
 
5
%%
 
6
%% The contents of this file are subject to the Erlang Public License,
 
7
%% Version 1.1, (the "License"); you may not use this file except in
 
8
%% compliance with the License. You should have received a copy of the
 
9
%% Erlang Public License along with this software. If not, it can be
 
10
%% retrieved online at http://www.erlang.org/.
 
11
%%
 
12
%% Software distributed under the License is distributed on an "AS IS"
 
13
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 
14
%% the License for the specific language governing rights and limitations
 
15
%% under the License.
 
16
%%
 
17
%% %CopyrightEnd%
 
18
%%
 
19
 
 
20
%%
 
21
%% Purpose: Simple example of NIFs using resource objects to implement functions
 
22
%%          for matrix calculations.
 
23
 
 
24
-module(matrix_nif).
 
25
 
 
26
-export([create/3, pos/3, add/2, size_of/1, to_term/1]).
 
27
 
 
28
-define(nif, nif_error(?LINE)). 
 
29
 
 
30
-on_load(on_load/0).
 
31
 
 
32
on_load() ->
 
33
    erlang:load_nif("./matrix_nif", 0).
 
34
 
 
35
%% NIFs
 
36
create(_Rows, _Cols, _RowList) -> ?nif.
 
37
pos(_Mx, _Row, _Col) -> ?nif.
 
38
add(_MxA, _MxB) -> ?nif.
 
39
size_of(_Mx) -> ?nif.
 
40
to_term(_Mx) -> ?nif.
 
41
 
 
42
nif_error(Line) ->
 
43
    erlang:error({"NIF not implemented in matrix_nif at line", Line}).
 
44