| #------------------------------------------------------------- |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| #------------------------------------------------------------- |
| |
| # Read matrices X, Y, and operation type |
| X = read($1) |
| Y = read($2) |
| type = $3 |
| |
| # Perform operations |
| # (1) Less |
| if(type==1){ |
| R = abs(X<Y) |
| } |
| else if(type==2){ |
| R = round(X<Y) |
| } |
| else if(type==3){ |
| R = ceil(X<Y) |
| } |
| else if(type==4){ |
| R = floor(X<Y) |
| } |
| else if(type==5){ |
| R = sign(X<Y) |
| } |
| # (2) Less-Equal |
| else if(type==6){ |
| R = abs(X<=Y) |
| } |
| else if(type==7){ |
| R = round(X<=Y) |
| } |
| else if(type==8){ |
| R = ceil(X<=Y) |
| } |
| else if(type==9){ |
| R = floor(X<=Y) |
| } |
| else if(type==10){ |
| R = sign(X<=Y) |
| } |
| # (3) Greater |
| else if(type==11){ |
| R = abs(X>Y) |
| } |
| else if(type==12){ |
| R = round(X>Y) |
| } |
| else if(type==13){ |
| R = ceil(X>Y) |
| } |
| else if(type==14){ |
| R = floor(X>Y) |
| } |
| else if(type==15){ |
| R = sign(X>Y) |
| } |
| # (4) Greater-Equal |
| else if(type==16){ |
| R = abs(X>=Y) |
| } |
| else if(type==17){ |
| R = round(X>=Y) |
| } |
| else if(type==18){ |
| R = ceil(X>=Y) |
| } |
| else if(type==19){ |
| R = floor(X>=Y) |
| } |
| else if(type==20){ |
| R = sign(X>=Y) |
| } |
| # (5) Equal |
| else if(type==21){ |
| R = abs(X==Y) |
| } |
| else if(type==22){ |
| R = round(X==Y) |
| } |
| else if(type==23){ |
| R = ceil(X==Y) |
| } |
| else if(type==24){ |
| R = floor(X==Y) |
| } |
| else if(type==25){ |
| R = sign(X==Y) |
| } |
| # (6) Not-Equal |
| else if(type==26){ |
| R = abs(X!=Y) |
| } |
| else if(type==27){ |
| R = round(X!=Y) |
| } |
| else if(type==28){ |
| R = ceil(X!=Y) |
| } |
| else if(type==29){ |
| R = floor(X!=Y) |
| } |
| else if(type==30){ |
| R = sign(X!=Y) |
| } |
| |
| |
| # Write the result matrix R |
| write(R, $4) |