/* Example programs from the book Scientific and Engineering Programming in C++: An Introduction with Advanced Techniques and Examples, Addison-Wesley, 1994. (c) COPYRIGHT INTERNATIONAL BUSINESS MACHINES CORPORATION 1994. ALL RIGHTS RESERVED. See README file for further details. */ template void apply(T (*f)(const T&), Array1d& a) { for (Array1d::IteratorType a_i(a); a_i.more(); a_i.advance()) { a_i.current() = f(a_i.current()); } } template void apply(T (*f)(T), Array1d& a) { for (Array1d::IteratorType a_i(a); a_i.more(); a_i.advance()) { a_i.current() = f(a_i.current()); } } template void apply(T (*f)(T), ConcreteArray1dRef a) { for (ConcreteArray1dRef::IteratorType a_i(a); a_i.more(); a_i.advance()) { a_i.current() = f(a_i.current()); } } template void apply(T (*f)(const T&), ConcreteArray1dRef a) { for (ConcreteArray1dRef::IteratorType a_i(a); a_i.more(); a_i.advance()) { a_i.current() = f(a_i.current()); } }