DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T c

⟦7c52c960b⟧ TextFile

    Length: 845 (0x34d)
    Types: TextFile
    Names: »cumulate.c«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦this⟧ »EUUGD11/euug-87hel/sec1/graph/cumulate.c« 

TextFile

/*
 * Copyright (C) 1986   Alan Kent
 *
 * Permission is granted to freely distribute part or
 * all of this code as long as it is not for profit
 * and this message is retained in the code.
 *
 * No resposibility is taken for any damage or incorect
 * results this program generates.
 * 
 */


#include <stdio.h>
#include <math.h>
#include "graph.h"
#include "y.tab.h"




table_st *
cumulate ( table , attr )
table_st *table;
int attr;
{
    double total;
    double *data;
    int i;
    table_st *p;

    total = 0.0;
    p = table;
    if ( attr < 1 )
	abort ( "Cannot CUMULATE on column $0" );
    while ( --attr > 0  &&  p != NULL )
	p = p->next;
    if ( p == NULL )
	abort ( "Illegal column to CUMULATE by" );
    data = p->data;
    for ( i = 0; i < p->size; i++ ) {
	total += data[i];
	data[i] = total;
    }
    return ( table );
}