summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCharles Edward Pax <charles.pax@gmail.com>2017-07-30 13:08:19 -0400
committerCharles Edward Pax <charles.pax@gmail.com>2017-07-30 13:08:19 -0400
commit089c2189d5c7d6c68fff5a2669530e953adeea94 (patch)
treeeb09c754f115a1d178084bfa9dbbf958b5bbf3f8 /src
parentd4ae39ddedfbe99e59f6cc774fa045ca29e7afc4 (diff)
Doxygen comments in subtotals.c.
Diffstat (limited to 'src')
-rw-r--r--src/subtotal.c67
1 files changed, 59 insertions, 8 deletions
diff --git a/src/subtotal.c b/src/subtotal.c
index 0853262..759650b 100644
--- a/src/subtotal.c
+++ b/src/subtotal.c
@@ -1,3 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2013-2017, Andrés Martinelli <andmarti@gmail.com *
+ * All rights reserved. *
+ * *
+ * This file is a part of SC-IM *
+ * *
+ * SC-IM is a spreadsheet program that is based on SC. The original authors *
+ * of SC are James Gosling and Mark Weiser, and mods were later added by *
+ * Chuck Martin. *
+ * *
+ * Redistribution and use in source and binary forms, with or without *
+ * modification, are permitted provided that the following conditions are met: *
+ * 1. Redistributions of source code must retain the above copyright *
+ * notice, this list of conditions and the following disclaimer. *
+ * 2. Redistributions in binary form must reproduce the above copyright *
+ * notice, this list of conditions and the following disclaimer in the *
+ * documentation and/or other materials provided with the distribution. *
+ * 3. All advertising materials mentioning features or use of this software *
+ * must display the following acknowledgement: *
+ * This product includes software developed by Andrés Martinelli *
+ * <andmarti@gmail.com>. *
+ * 4. Neither the name of the Andrés Martinelli nor the *
+ * names of other contributors may be used to endorse or promote products *
+ * derived from this software without specific prior written permission. *
+ * *
+ * THIS SOFTWARE IS PROVIDED BY ANDRES MARTINELLI ''AS IS'' AND ANY *
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED *
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
+ * DISCLAIMED. IN NO EVENT SHALL ANDRES MARTINELLI BE LIABLE FOR ANY *
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;*
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND *
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE *
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
+ *******************************************************************************/
+
+/**
+ * \file subtotal.c
+ * \author Andrés Martinelli <andmarti@gmail.com>
+ * \date 2017-07-18
+ * \brief TODO Write a tbrief file description.
+ */
+
#include <wchar.h>
#include "sc.h"
#include "macros.h"
@@ -19,18 +63,25 @@
#include "xmalloc.h" // for scxfree
*/
-/*
- * r, c, rf, cf define the range of the data to be rearranged with subtotals.
- * group_col is the column to be grouped by.
+/**
+ * \brief TODO Document subtotal()
*
- * operation to be done over the group can be one of the following:
- * @sum, @prod, @avg, @count, @stddev, @max, @min
+ * \details Example command: subtotal A @sum C. If you want to replace a presxistant
+ * subtotals, you should use: rsubtotal A @sum C.
*
- * ope_col is the operation column.
+ * \param[in] r used in defining the range of the data to be rearranged with subtotals
+ * \param[in] c used in defining the range of the data to be rearranged with subtotals
+ * \param[in] rf used in defining the range of the data to be rearranged with subtotals
+ * \param[in] cf used in defining the range of the data to be rearranged with subtotals
+ * \param[in] group_col
+ * \param[in] operation the operation to be done over the group can be one of the
+ * following: @sum, @prod, @avg, @count, @stddev, @max, @min
+ * \param[in] ope_col the operation column
+ * \param[in] replace_subtotal
*
- * example command: :subtotal A @sum C
- * if you want to replace a preexistent subtotals you should use: :rsubtotal A @sum C
+ * \return none
*/
+
int subtotal(int r, int c, int rf, int cf, int group_col, char * operation, int ope_col, int replace_subtotals) {
// check ope_col and group_col are valid
if (ope_col < c || ope_col > cf || group_col < c || group_col > cf) return -1;