Mercurial > hg > octave-lyh
view libcruft/mkf77def.in @ 14535:8150ccfffa22
Apply broadcasting to inputs of line().
* __line__.m: Use broadcasting the match the sizes of inputs.
* line.m: Add demo.
author | Ben Abbott <bpabbott@mac.com> |
---|---|
date | Fri, 06 Apr 2012 19:21:16 -0400 |
parents | 72c96de7a403 |
children |
line wrap: on
line source
#! /bin/sh # # Copyright (C) 2006-2012 John W. Eaton # # This file is part of Octave. # # Octave is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 3 of the License, or (at # your option) any later version. # # Octave is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # You should have received a copy of the GNU General Public License # along with Octave; see the file COPYING. If not, see # <http://www.gnu.org/licenses/>. SED=${SED:-'sed'} AWK=${AWK:-'awk'} F77_TOLOWER="@F77_APPEND_UNDERSCORE@" F77_APPEND_UNDERSCORE="@F77_APPEND_UNDERSCORE@" F77_APPEND_EXTRA_UNDERSCORE="@F77_APPEND_EXTRA_UNDERSCORE@" if $F77_TOLOWER; then case_cmd="tolower"; else case_cmd="toupper"; fi if $F77_APPEND_UNDERSCORE; then uscore="_"; else uscore=""; fi if $F77_APPEND_EXTRA_UNDERSCORE; then awkcmd="$AWK '{ if (\$0 ~ /_/) extra = \"_\"; else extra = \"\"; printf (\"%s%s%s\n\", $case_cmd (\$0), \"$uscore\", extra); }'" else awkcmd="$AWK '{ printf (\"%s%s\n\", tolower (\$0), \"$uscore\"); }'" fi if [ $# -gt 1 ]; then srcdir="$1" shift fi echo EXPORTS for arg do case "$arg" in *.f) ## There are TABS in this sed command. $SED -n -e 'y/ABCDEFGHIJLKMNOPQRSTUVWXYZ/abcdefghijlkmnopqrstuvwxyz/; s/^\( \| \)[ ]*\(.*function\|subroutine\|entry\)[ ]*\([^ (]*\).*$/\3/p' "$srcdir/$arg" | eval $awkcmd ;; esac done