Coverage report: /development/source/library/com/dydra/gitlab/dydra-cgi/ffi/lisp/dydra-ndk/quad.lisp

KindCoveredAll%
expression027 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 (in-package :dydra-ndk)
2
 
3
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4
 
5
 (defcstruct quad
6
   "Quad structure."
7
   (graph-id :int32)
8
   (subject-id :int32)
9
   (predicate-id :int32)
10
   (object-id :int32))
11
 
12
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
13
 
14
 (defun make-quad (&optional (graph-id 0) (subject-id 0) (predicate-id 0) (object-id 0))
15
   "Allocates a new quad structure."
16
   (declare (type fixnum graph-id subject-id predicate-id object-id))
17
   (let ((quad (foreign-alloc 'quad)))
18
     (setf (foreign-slot-value quad 'quad 'graph-id) graph-id
19
           (foreign-slot-value quad 'quad 'subject-id) subject-id
20
           (foreign-slot-value quad 'quad 'predicate-id) predicate-id
21
           (foreign-slot-value quad 'quad 'object-id) object-id)
22
     quad))
23
 
24
 (declaim (inline quad-graph-id))
25
 (defun quad-graph-id (quad)
26
   "Returns a quad's graph identifier."
27
   (declare (type foreign-pointer quad))
28
   (foreign-slot-value quad 'quad 'graph-id))
29
 
30
 (declaim (inline quad-subject-id))
31
 (defun quad-subject-id (quad)
32
   "Returns a quad's subject identifier."
33
   (declare (type foreign-pointer quad))
34
   (foreign-slot-value quad 'quad 'subject-id))
35
 
36
 (declaim (inline quad-predicate-id))
37
 (defun quad-predicate-id (quad)
38
   "Returns a quad's predicate identifier."
39
   (declare (type foreign-pointer quad))
40
   (foreign-slot-value quad 'quad 'predicate-id))
41
 
42
 (declaim (inline quad-object-id))
43
 (defun quad-object-id (quad)
44
   "Returns a quad's object identifier."
45
   (declare (type foreign-pointer quad))
46
   (foreign-slot-value quad 'quad 'object-id))
47
 
48
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
49
 
50
 (defun print-quad (quad &optional (stream *standard-output*))
51
   (declare (type foreign-pointer quad))
52
   (print-unreadable-object (quad stream :type nil :identity t)
53
     (format stream "DYDRA-NDK:QUAD ~s ~s ~s ~s"
54
             (quad-graph-id quad)
55
             (quad-subject-id quad)
56
             (quad-predicate-id quad)
57
             (quad-object-id quad))))