File: and.sci

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (24 lines) | stat: -rw-r--r-- 502 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function [x]=and(a,flag)
// Logical and. A is a matrix of booleans or a real matrix.
// Returns True or non-zero entries.
//!
// Copyright INRIA
[lhs,rhs]=argn(0)
if rhs==1 then flag='*',end
if flag=='*' then
  select type(a)
  case 1 then
    k=find(abs(a)==0)
  case 4 then
    k=find(a==%f)
  case 6 then
    k=find(a)
    if size(k,'*')==size(a,'*') then x=%t,return,end
  else
    error('input must be boolean or real matrix!')
  end
  x=k==[]
else
  a=bool2s(a)
  x=sum(a,flag)==size(a,flag)
end